diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/ANDROID-KERNEL.TXT (renamed from docs/KERNEL.TXT) | 11 | ||||
-rw-r--r-- | docs/ANDROID-QEMUD.TXT | 17 |
2 files changed, 23 insertions, 5 deletions
diff --git a/docs/KERNEL.TXT b/docs/ANDROID-KERNEL.TXT index 35d1f1f..d5a1930 100644 --- a/docs/KERNEL.TXT +++ b/docs/ANDROID-KERNEL.TXT @@ -7,14 +7,19 @@ I. Helper script: We now provide a helper script to rebuild the kernel, it is under distrib/rebuild-kernel.sh. -You need the sources in android.git.kernel.org/kernel/common.git, -in branch origin/archive/android-gldfish-2.6.29 (note the typo!) +You need the sources in android.git.kernel.org/kernel/qemu.git, +in branch origin/android-goldfish-2.6.29 -To rebuild the ARM kernel: +To rebuild the ARMv5TE kernel: cd $KERNEL_SOURCES /path/to/rebuild-kernel.sh --out=$ANDROID/prebuilt/android-arm/kernel +To rebuild the ARMv7-A one: + + cd $KERNEL_SOURCES + /path/to/rebuild-kernel.sh --armv7 --out=$ANDROID/prebuilt/android-arm/kernel + To rebuild the x86 kernel: cd $KERNEL_SOURCES 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. |