Ich habe auf den folgenden Links zu Benutzern lesen, I/O: http://www.hep.by/gnu/kernel/uio-howto/Kernel User-I/O-Anwendungsentwicklung
und http://nairobi-embedded.org/uio_example.html gefolgt.
Ich verwende das ivshmem-Gerät, um Speicher vom Host auf den Gast abzubilden (in QEmu). Der Client-Treiber, den ich verwende, ist kernel_module/uio/uio_ivshmem.c von https://www.gitorious.org/nahanni/guest-code.
Ich hatte Erfolg, den Speicher zwischen mehreren Gästen zu teilen, und ich kann auch Interrupts vom Host zum Gast ausgeben, indem ich den ivshmem-Server aus dem obigen Git-Repository verwende.
Aber ich kann nicht herausfinden, wie ich von dem Gast "unterbrechen" kann, um zu bemerken, dass das Schreiben in den Speicher abgeschlossen ist. I.e. signalisieren Sie dem anderen Gast, dass er lesen sollte, was der erste Gast geschrieben hat.
Was mache ich falsch? Gibt es eine Möglichkeit, Interrupts mit UIO zu senden oder kann ich nur empfangen? Wie sollte ich sonst bemerken, dass ich fertig mit dem Schreiben/Lesen bin?
Was? Es ist kein Interprozess, sondern Inter-VM. Nicht sicher, was du meinst, aber könnte es falsch verstehen. – netigger