qemu-system-sparc: gemeinsam genutzter Speicher zwischen Host und Gast

qemu-system-sparc: gemeinsam genutzter Speicher zwischen Host und Gast

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-sparcbei 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-sparcmö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_NONBROKENauf 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.

verwandte Informationen