diff options
author | David 'Digit' Turner <digit@google.com> | 2009-05-25 18:01:03 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2009-05-26 17:23:25 +0200 |
commit | 318e4f294c181df33cf2541763904565b29bcccb (patch) | |
tree | 35b5085c9e35e91967e2d4a4db80e28ec086e1d3 /android/hw-qemud.c | |
parent | 0d47fe5756b1f243e8d65968cd73c0119363f909 (diff) | |
download | external_qemu-318e4f294c181df33cf2541763904565b29bcccb.zip external_qemu-318e4f294c181df33cf2541763904565b29bcccb.tar.gz external_qemu-318e4f294c181df33cf2541763904565b29bcccb.tar.bz2 |
This adds the '-prop <name>=<value>' option which is used to set
boot-time system properties from the command line. This is done
by implementing a new 'boot-properties' qemud service in the emulator.
This is to be used by the 'qemu-props' helper program that will be
invoked by /system/etc/init.goldfish.rc to read a list of system
properties from the emulator and set them in the emulated system
during boot.
Diffstat (limited to 'android/hw-qemud.c')
-rw-r--r-- | android/hw-qemud.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/android/hw-qemud.c b/android/hw-qemud.c index ba4ab42..efe6a99 100644 --- a/android/hw-qemud.c +++ b/android/hw-qemud.c @@ -545,7 +545,7 @@ qemud_client_recv( void* opaque, uint8_t* msg, int msglen ) /* no framing, things are simple */ if (!c->framing) { if (c->clie_recv) - c->clie_recv( c->clie_opaque, msg, msglen ); + c->clie_recv( c->clie_opaque, msg, msglen, c ); return; } @@ -566,7 +566,7 @@ qemud_client_recv( void* opaque, uint8_t* msg, int msglen ) if (c->clie_recv) c->clie_recv( c->clie_opaque, msg+FRAME_HEADER_SIZE, - msglen-FRAME_HEADER_SIZE); + msglen-FRAME_HEADER_SIZE, c ); return; } } @@ -606,7 +606,7 @@ qemud_client_recv( void* opaque, uint8_t* msg, int msglen ) if (c->clie_recv) - c->clie_recv( c->clie_opaque, c->payload->buff, c->payload->size ); + c->clie_recv( c->clie_opaque, c->payload->buff, c->payload->size, c ); AFREE(c->payload->buff); c->need_header = 1; @@ -893,9 +893,10 @@ qemud_multiplexer_disconnect( QemudMultiplexer* m, * (i.e. msg[msglen] is a valid memory read that returns '\0') */ static void -qemud_multiplexer_control_recv( void* opaque, - uint8_t* msg, - int msglen ) +qemud_multiplexer_control_recv( void* opaque, + uint8_t* msg, + int msglen, + QemudClient* client ) { QemudMultiplexer* mult = opaque; uint8_t* msgend = msg + msglen; @@ -1226,7 +1227,8 @@ typedef struct { * this simply sends the message through the charpipe to the user. */ static void -_qemud_char_client_recv( void* opaque, uint8_t* msg, int msglen ) +_qemud_char_client_recv( void* opaque, uint8_t* msg, int msglen, + QemudClient* client ) { CharDriverState* cs = opaque; qemu_chr_write(cs, msg, msglen); |