aboutsummaryrefslogtreecommitdiffstats
path: root/android/console.c
Commit message (Collapse)AuthorAgeFilesLines
* 64-bit emulatorAndrew Hsieh2012-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to allow emulator searches for emulator64-${ARCH} first on 64-bit OS. If none is found, the original behavior which searchs for 32-bit emulator-${ARCH} is performed as usual. 64-bit emulator (which still emulates Android built in 32-bit) offers up to 20% speedup compared to its 32-bit counterpart. Details: android/main-emulator.c 1) search emulator64 based on the OS 2) dlopen lib64OpenglRender in 64-bit Makefile.* 1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries emulator64-{libui,libqemu,target-i386,target-arm,libelff,common} 2) remove -Wa,-32 3) Changes prebuit toolchain path android-configure.h android/build/common.h 1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc can now handle 64-bit 2) set ANDROID_PREBUILTS to correctly locate ccache android/config/*/config-host.h 1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386 Misc 64-bit porting clean-up 1) use %zx to print variable of type size_t in hex 2) use %zu to print variable of type size_t in dec 3) Initialize query_parm to NULL 4) use PRIu64 to replace PDUd64 5) use PRId64/PRIu64/PRIX64 to print 64-bit 6) drop PRUx64 because PRIx64 does the same 7) cast pointer arith to intptr_t before casting to int 8) fixed 1ULL<<63 Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
* Sensor Command Line Interface implementation.Tim Wan2011-06-081-0/+199
| | | | | | | Implement an unified sensor command line interface(CLI) on emulator to check all available sensors, and get/set specified sensor data. Change-Id: Ibb3c3522dc6c88e42fa1c7dffa32fbb675596b08
* savevm: Remove OutputBuffer hack.David 'Digit' Turner2011-06-011-28/+28
| | | | | | It's easier to provide a fake Monitor object instead. Change-Id: Ia45267061d489b147497add6120d3caa9234ac11
* console: Fix 'event send' handling.David 'Digit' Turner2011-05-091-2/+4
| | | | | | | | | | | | | | | This patch fixes two bugs in the implementation of the 'event send' command: 1/ It prevents a crash when using the '0:0:0' event triple (note that the equivalent EV_SYNC:0:0 used in testing didn't crash) 2/ If fixes the parser to correctly handle several event triples on the same line, as in: event send <type1>:<code1>:<value1> <type2>:<code2>:<value2> ... Change-Id: I26cb55dd2feb75fda4f50ba0d49c7c8ad8a9dcca
* Fix "avd name" bug.David 'Digit' Turner2011-05-051-4/+1
| | | | | | | | | | | | | | The console's 'avd name' command returned "unknown" incorrectly. This was due to a missing option when invoking the core, even in the standalone case. Fixes bug 3454261 Change-Id: I5d4e346591e13bd7f525ad81953fd2d17c8f27b7 NOTE: This is similar to the tools_r10 quick fix at https://review.source.android.com/#change,22735, only simpler.
* Correct fix for snapshot saving speedDavid 'Digit' Turner2011-05-041-0/+18
| | | | | | | | | | | | | | | QEMU is a weird animal. The "snapshot" property speeds-up snapshot saving but also redirect all stores to a temporary file which is deleted when the emulator exit. Use a different property to get the desired speed-up. Note that using "writeback" instead of "unsafe" forces the use of fdatasync() which will still be horribly slow. + Argument checking in avd snapshot commands in the console. (trying to load a name-less snapshot actually crashes the emulator). Change-Id: Ie61f110f037bbb3539c7f9892cb03bee8bfec6bd
* Remove CONFIG_ANDROID_SNAPSHOTS macro.David 'Digit' Turner2011-03-011-6/+0
| | | | | | The feature is no longer optional. Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
* Simplify core framebuffer management.David 'Digit' Turner2011-02-021-39/+7
| | | | | | | | | | | | | | | | | | | | | | | Remove one layer of indirection between the core's DisplayState and a ProxyFramebuffer object. The main ideas behind this patch are that: - We don't need a QFrameBuffer object when in the core process, each proxy can receive display updates directly from QEMU. - The DisplayChangeListener is really lame: its can't dissociate between several listeners that use the same callback pointers, so introduce DisplayUpdateListener in console.h to work around this. This is preferably to modifying DisplayChangeListener which is going to introduce conflicts with upstream. - Simplify a lot the console code and display-core. Note that we can have several framebuffer clients at the same time now. Note that QFrameBuffer is still used by both the UI program and the standalone emulator. Change-Id: I6d5ad6ecd9b34b9d9d1a30ea5000e875c285e84e
* Refactor attach-UI serviceVladimir Chtchetkine2011-01-311-8/+16
| | | | Change-Id: Ia68ceb57ee5b5a66fa76b837fe3b990eb12e7188
* Refactor the framebuffer serviceVladimir Chtchetkine2011-01-311-6/+6
| | | | Change-Id: I8ac4580af65b8d58976c97b77b309dd202e75003
* Refactored user-events protocolVladimir Chtchetkine2011-01-281-8/+4
| | | | Change-Id: I08afb96ef17a52c3795f5029acfc244a93ab57c7
* Refactored ui-core-control and core-ui-control protocolsVladimir Chtchetkine2011-01-281-7/+25
| | | | | | | Also cleaned the code up from obsolete ui-core-protocol.* and core-ui-protocol.* Change-Id: I194bec669d25b68a10c32b2be50bc9da50c52ebb
* Remove spaces in the console service namesVladimir Chtchetkine2011-01-261-4/+4
| | | | Change-Id: I339449214ab951aba40abfe2a5b3e3ebfb222311
* Implement UI control service and clientVladimir Chtchetkine2011-01-251-2/+96
| | | | Change-Id: Iecc1b5bb9ddcdaf9f22c500a5195718db3f25354
* Fix framebuffer and user events service disconnection bug.Vladimir Chtchetkine2011-01-201-0/+16
| | | | | | | | | | | FB and UE services overwrite the socket's read callbacks, making the console unavare of the fact that console client gets disconnected. As the result, console clients for FB and UE stays alive after UI has exited, making it impossible to attach another UI. To fix this, we add socket read callbacks to the FB and UE service that monitor the disconnection event and destroy their console clients on such events. Change-Id: I82e714f33ccc81bc04ca47eda6fbb8fab4a313f9
* Implement user event transmission between the UI and the coreVladimir Chtchetkine2011-01-191-0/+42
| | | | Change-Id: I503aa691cada5250b76167a923d4a226d20ee41d
* Make "qwerty2" the default charmap.David 'Digit' Turner2011-01-191-2/+2
| | | | | | | | | | | | | | | This patch makes "qwerty2" the default charmap for skins that don't specifiy one explicitely. Note that the "qwerty" charmap is here for historical reasons only. All skins provided by all SDK Android platforms explicitely mention "qwerty2", so this patch will mainly impact "magic skins" like those created by an option like "-skin 1024x768". This gets rid of the obsolete "qwerty" charmap (it was never used by any of the skins provided by the SDK, and is incorrect). + Simplify android/charmap.[hc] code. + Lazy-load the charmap name in hw/goldfish_events_device.c
* Refining main-ui.c to better separate UI and core related initializationVladimir Chtchetkine2011-01-131-1/+4
| | | | | | | | | | | The main reason for this is to clarify initialization for UI that starts core, and UI that attaches to an existing core. In this CL I did: - Removed -initdata option that seems obsolete (doesn't affect anything in the code) - Passed through -timezone option that doesn't affect anything in the UI, and is needed only in the core. - Removed dependency on AVD info from the core (core needed only virtual device name) Change-Id: Ie631249848a1b5b8d837c0c7b201a40ee7e4a367
* Pass bits per pixel tu UI when it gets attached to core framebufferVladimir Chtchetkine2010-12-211-2/+6
| | | | | | | Instead of passing bits per pixel property in each and every framebuffer notification message, do it once when UI attaches to the core's framebuffer service. Change-Id: Ic1f6d9796b64d40518f09f5a5341f8359ff817b7
* Resubmit framebuffer service implementationVladimir Chtchetkine2010-12-201-1/+76
| | | | Change-Id: I184e27a1e8d88835bc9f0502eccfa3f64a7aaf9e
* Add 'gsm signal' command, to set rssi and berTim Baverstock2010-12-151-0/+65
| | | | Change-Id: I24d4738f6e5135437af25d22e2fa68617f5632fa
* Submit mergedVladimir Chtchetkine2010-12-061-6/+44
| | | | | | | | | | | | | | Squashed commit of the following: commit aeefab810c6331e2f96e81f20e4408b39dd3a2ca Author: Vladimir Chtchetkine <vchtchetkine@google.com> Date: Thu Dec 2 07:40:34 2010 -0800 Implement -attach-core UI option Change-Id: I4168e2d707cab1b4873ee16d86d5126c1a316abf Change-Id: I2da1ef5d53641f3c60d83d8d5ddf3aff34b0c6c7
* Correct command arguments for 'geo fix', but support backward compatible use.Tim Baverstock2010-12-011-17/+21
| | | | Change-Id: Id4f427dfb918d69e3fb52725cbe88bce1666dddc
* Control state snapshots from Android console.Ot ten Thije2010-10-281-9/+126
| | | | | | | | | | | | | This patch exposes Qemu's save, load, delete and list commands for state snapshots on the Android console. A level of indirection is added by means of the OutputChannel construct. This allows us to show the output of the Qemu commands on the console rather than on the monitor, while minimizing the differences with the upstream codebase. The new commands are exposed only when the configuration constant CONFIG_ANDROID_SNAPSHOTS is not 0. Change-Id: I558d5cd505d321fe2da5835713d341d151f60534
* Fix invalid "geo fix" formatting bug.David 'Digit' Turner2010-10-271-2/+2
| | | | | | | See http://code.google.com/p/android/issues/detail?id=2928 for details. Change-Id: If192fe2f8dba9e5bd11f0f7fdc6a7445a8573623
* Fix incorrect orientation at boot.David 'Digit' Turner2010-10-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goldfish kernel's event driver is very picky about the state of the virtual device it talks to. Essentially, it can only listen to h/w events if the corresponding IRQ is raised _after_ it has completed some initial setup. If the IRQ is raised before, the driver will refuse to listen to events, and any interaction becomes impossible. We changed the way our UI windows are built and managed previously, and this had the unfortunate effect of sending one h/w event too soon, which, in the old code, would raise the IRQ prematurely. This resulted in an input freeze. To work around this the UI code was modified to not send the initial h/w event, but this resulted in bad orientation of the home screen at the end of the boot sequence. This change allows the virtual device to wait for the kernel driver before raising the IRQ, in the case any h/w event has been buffered. It also removes the hack in the UI code, allowing the send of the initial h/w event at startup. BONUS MINOR CHANGES: EsounD probe: fix error message. console: fix compiler warnings libpng: proper handling of MMX support. android-configure.sh: fix --ignore-audio handling The option didn't do anything if the audio development packages are properly installed on the system. Change-Id: Ib134158873d5cb72290c9676d92d20233226c889
* qemu: Multimode supportJaime Lopez2010-10-081-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | Preliminary implementation of a Multimode modem - Added the +CTEC AT command which allows querying and setting the current technology - Added preliminary NVRAM file support Add cdma subscription source support - Add support to save the subscription source preference to nv. - Add command 'cdma ssource' to switch subscription source from the emulator console Implement AT+WRMP command Implement the AT+WRMP command to set and get the roaming preference Implement Emergency Callback Mode Implement the +WSOS command and unsol to notify Emergency Callback Mode status Implement +WPRL AT Command Enable PRL update notification by implementing the AT+WPRL query command Implement a console command to send +WPRL unsolicited response Change-Id: I5c036c1b0832b94c0b7675931f6a18b5d9ca7436
* Add new "qemu monitor" command to the console.David 'Digit' Turner2010-09-081-70/+89
| | | | | | | | | | | | | | | | | | | This allows you to access the QEMU virtual machine monitor directly from the console (instead of playing with the command-line to do it). The implementation of the 'quit' command has been modified to simply close the connection, instead of stopping the emulator program. This patch introduces changes that allow a console session to be detached and redirected at runtime to other internal services of the emulator program. This will be useful in the future to implement other features. + doc typo + add proper definitions for CONFIG_ANDROID on config-host.h + remove obsolete sysdeps.h dependency in android/console.c Change-Id: If16cfe41c12a26eb8f56e3a9c24452eafa5efab4
* GPS: Fixed the "geo fix" console command, and added satellite count emulation.David 'Digit' Turner2010-07-231-13/+43
| | | | Change-Id: I27626c5ede2b0ed354ee780fa00caf4778ff690f
* Remove UI dependency from goldfish_event_device.cVladimir Chtchetkine2010-07-221-1/+1
| | | | Change-Id: Iea5edfbae0caff45161c814d631d35d2e6d61d1c
* Moved dependency on android_ui_set_window_scale to ui-core-protocol.hVladimir Chtchetkine2010-07-161-3/+2
| | | | | | Also cleaned up dependency on android_base_port variable Change-Id: I8c1675a859e3d24e9bb174471dd03556c696aff1
* Move key event generation out of the UI realm into neutral space.Vladimir Chtchetkine2010-07-071-9/+15
| | | | | | | Abstracted keycode event array into keycode_array.[hc], Moved key to keycode translation into charmap.c Change-Id: I4de0c9853fa93d675895fc361e62ee36c1c0a652
* Add small user-event abstraction interface.David 'Digit' Turner2010-05-251-1/+2
| | | | | | | | | | | | | | | | Preparation for future UI frontend/backend separation. This is done to ensure that the code under android/skin/ does not depend on any QEMU-specific header. We achieve this by adding a new abstract header "user-events.h" and one QEMU-specific implementations for the functions defined here. This also modifies console.h and vl-android.c to make them closer to upstream (by removing Android-specific changes). + fix Makefile.android to always build SDL from sources in standalone mode. Change-Id: I0d152741e7bb2c9cd283f5c35bd054385c7c1eb3
* Revert previous patch to fix SD Card emulationDavid 'Digit' Turner2010-04-151-135/+0
| | | | | | | | | | | The previous patch modifies SD Card hardware emulation in a way that is not backwards compatible with previous SDK platform releases. This has the unfortunate effect of making SD Card emulation not work properly when running existing AVDs. Reverting the patch until we get a better one. Change-Id: I82dac87709d88aa3bd292bf2ed0008ae74d95853
* Fix Win32 socket error handling.David 'Digit' Turner2010-03-251-2/+2
| | | | | | This also fixes -http-proxy support on Windows. Change-Id: I741b224511c064412ac39351ed4f1b9146a313a5
* qemu: android: Add control console support for managing sdcardsSan Mehat2009-12-071-0/+135
| | | | | | | | Signed-off-by: San Mehat <san@google.com> qemu: goldfish: Fix compile error introduced in refactoring Signed-off-by: San Mehat <san@google.com>
* Merge upstream QEMU 10.0.50 into the Android source tree.David 'Digit' Turner2009-09-141-5/+4
| | | | | | | | | | | | | | | | | | | This change integrates many changes from the upstream QEMU sources. Its main purpose is to enable correct ARMv6 and ARMv7 support to the Android emulator. Due to the nature of the upstream code base, this unfortunately also required changes to many other parts of the source. Note that to ensure easier integrations in the future, some source files and directories that have heavy Android-specific customization have been renamed with an -android suffix. The original files are still there for easier integration tracking, but *never* compiled. For example: net.c net-android.c qemu-char.c qemu-char-android.c slirp/ slirp-android/ etc... Tested on linux-x86, darwin-x86 and windows host machines.
* AI 146183: am: CL 145975 am: CL 145805 Fix a bug in android/console.c that ↵David Turner2009-04-141-1/+1
| | | | | | | | | | | prevented the console "redir add" command from working properly Fix a bug in sock_address_init_resolve which caused a crashed when getaddrinfo() returned an error. Original author: digit Merged from: //branches/cupcake/... Original author: android-build Automated import of CL 146183
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+2190
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-2190/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-101-0/+2190