aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorVladimir Chtchetkine <vchtchetkine@google.com>2011-08-05 10:15:04 -0700
committerVladimir Chtchetkine <vchtchetkine@google.com>2011-08-08 12:52:34 -0700
commit7ffddd66de46c27c4e24d9af9b47fc0b9a8da8d1 (patch)
treeee57a024626cde31054e1a62501768ea98be46ec /docs
parenteddbb5040e396080a89828bfeb55b1c7f849f992 (diff)
downloadexternal_qemu-7ffddd66de46c27c4e24d9af9b47fc0b9a8da8d1.zip
external_qemu-7ffddd66de46c27c4e24d9af9b47fc0b9a8da8d1.tar.gz
external_qemu-7ffddd66de46c27c4e24d9af9b47fc0b9a8da8d1.tar.bz2
Fic minor bug, and update docs.
Change-Id: Ifdc2b019c499d995c8dc493dd4684dd21d0cf995
Diffstat (limited to 'docs')
-rw-r--r--docs/ANDROID-QEMUD.TXT17
1 files changed, 15 insertions, 2 deletions
diff --git a/docs/ANDROID-QEMUD.TXT b/docs/ANDROID-QEMUD.TXT
index 7841399..8b4f8d6 100644
--- a/docs/ANDROID-QEMUD.TXT
+++ b/docs/ANDROID-QEMUD.TXT
@@ -6,7 +6,9 @@ I. Overview:
The Android system image includes a small daemon program named "qemud"
which is started at boot time. Its purpose is to provide a multiplexing
communication channel between the emulated system and the emulator program
-itself.
+itself. Another way to support communication between the emulated system and
+the emulator program is using qemu pipes (see ANDROID-QEMU-PIPE.TXT for details
+on qemu pipes).
Its goal is to allow certain parts of the system to talk directly to the
emulator without requiring special kernel support; this simplifies a lot of
@@ -169,6 +171,17 @@ Since the "cupcake" platform, this works as follows:
Certain services do not need it at all (GSM, GPS) so it is optional and
must be used depending on which service you talk to by clients.
+- QEMU pipe communication model works similarly to the serial port multiplexing,
+ but also has some differences as far as connecting client with the service is
+ concerned:
+
+ emulator <-+--> /dev/qemu_pipe/qemud:srv1 <---> client1
+ |
+ +--> /dev/qemu_pipe/qemud:srv2 <---> client2
+
+ In the pipe model each client gets connected to the emulator through a unique
+ handle to /dev/qemu_pipe (a "pipe"), so there is no need for multiplexing the
+ channels.
III. Legacy 'qemud':
--------------------
@@ -254,7 +267,7 @@ only uses a single socket and allows concurrent clients for a all services.
IV. State snapshots:
--------------------
-Support for snapshots relies on the symmetric qemud_*_save and qemud_*_load
+Support for snapshots relies on the symmetric qemud_*_save and qemud_*_load
functions which save the state of the various Qemud* structs defined in
android/hw-qemud.c. The high-level process is as follows.