Alle,
Ich habe mich mit der Weitergabe von Daten zwischen dem gemeinsamen Speicher eines Hosts und dem gemeinsamen Speicher des Gastbetriebssystems beschäftigt und bin auf Folgendes gestoßen:dieser Link. Ich konnte die unter dem Link angezeigte Ausgabe erfolgreich reproduzieren, indem ich eine Ubuntu 20.04-VM verwendet und sie mit gestartet habe qemu-system-x86_64
. Ich bin neugierig, wofür die entsprechenden Befehle qemu-system-sparc
bei einem Solaris 8-Gast gelten könnten.
Ich habe den folgenden Befehl ausprobiert:
./qemu-system-sparc -M SS-5 -m 128 -bios ./ss5.bin -drive file=sol8.qcow2,bus=0,unit=0,media=disk -object memory-backend-file,size=16M,share=on,mem-path=/dev/shm/shm1,id=shm1 -device ivshmem-plain,memdev=shm1,bus=pci.0,addr=0x10,master=on
Dies schlägt aus folgendem Grund fehl:
qemu-system-sparc: -device ivshmem-plain,memdev=shm1,bus=pci.0,addr=0x10,master=on: 'ivshmem-plain' is not a valid device model name
Ist dieser Wunsch der Datenübertragung mit gemeinsam genutztem Speicher qemu-system-sparc
möglich?
Antwort1
Dies scheint nicht möglich zu sein.QEMU-System-Sparcunterstützt kein PCI und dieAbonnierenGeräte werden als PCI-Geräte emuliert.qemu-system-sparc64andererseitstutunterstützt PCI, erfüllt jedoch möglicherweise nicht dieMSI_NONBROKENZustand inhw/Verschiedenes/Kconfig(LINUXUndIVSHMEMhängen vom Host ab, nicht vom Gastsystem):
config IVSHMEM_DEVICE
bool
default y if PCI_DEVICES
depends on PCI && LINUX && IVSHMEM && MSI_NONBROKEN
Ich konnte nicht schlüssig herausfinden, was genau MSI_NONBROKEN
auf x86/64 eingestellt ist, möglicherweise ein Systemperipheriegerät.
So können Sie schnell nach unterstützten Geräten in Ihrem speziellen QEMU-Emulator suchen:
qemu-system-sparc -device help
qemu-system-sparc64 -device help
Sie werden sehen, dass der SPARC-Emulator … nun ja, nichts unterstützt. SPARC64 unterstützt etwas mehr, indem es PCI unterstützt.
So wie ich das sehe, ist es am besten, wenn Sie versuchen, eine gemeinsam genutzte virtuelle Festplatte mit Lese- und Schreibzugriff zu verwenden. Ich weiß allerdings nicht, wie das in der Praxis funktionieren würde. Versuchen Sie es vielleicht mit einer kleinen RAW-Bilddatei (nicht QCOW2 oder ähnliches). Der Ausgangspunkt ist dokumentiertHier(Sperre deaktivieren usw.), aber ich bin mir nicht sicher, wie ich von dort aus weitermachen soll. Sie müssen es irgendwie als virtuelle SCSI-Festplatte zu Ihrer VM hinzufügen.