aboutsummaryrefslogtreecommitdiff
path: root/telephony
AgeCommit message (Collapse)Author
2015-01-05Fix emulator on Mac sending message crash issueQin Chao
Clang uses standard C99 semantics for the "inline" keyword. It is different from those in GNU C89 mode. In C99, inline means that a function's definition is provided only for inlining, and that there is another definition (without inline) somewhere else in the program. That means that this program is incomplete, because if the function isn't inlined (for example, when compiling without optimization), it will be compiled as an external undefined symbol, so as to cause runtime unresolved symbol error. As the http://clang.llvm.org/compatibility.html suggested, change the inline function to "static inline". Change-Id: I0d1d03650c380d8bbfe55ee23cbbe7a0813fd671 Signed-off-by: Xu Zhang <xu.u.zhang@intel.com> (cherry picked from commit dd5fa4cc9d2e4e5a7f55ff551f96c807cdb23d8b)
2014-09-09Move android/config-file.h to android/utils/aconfig-file.hDavid 'Digit' Turner
This patch moves the content of android/config-file.[hc] to android/utils/ since the content doesn't depend on anything that is really Android or QEMU specific. This will allow refactoring the android/skin/ code to later not depend on anything from android/ except android/utils/ Change-Id: If4dd49ef10a7dc0fb01c2886a404627352ce36ac
2014-04-28Support building with newest Mingw64 cross-toolchain.David 'Digit' Turner
This modifies android-configure.sh to detect the new Mingw64-based cross toolchain (i.e. x86_64-w64-mingw32-gcc) and use it when it is in the user's path. Note that this only builds a 32-bit Windows binary, it just uses a different toolchain to do it. A future patch will add support for building both Win32 and Win64 binaries at the same time (which the new toolchain supports). Since this switches from GCC 4.2 to 4.8, this introduces a ton of new warnings that require some cleanups in the sources too. Only the most important warnings are fixed here. Change-Id: Iec8c9b8332d4a38a2cb8acf368c8aa5341cf77be
2014-03-06savevm.c: Getting closer to upstream.David 'Digit' Turner
This patch refactors savevm.c considerably to get much closer to upstream. The main benefit is the introduction of savevm_register() and savevm_unregister() functions, which allow the client to provide a description of the state through a VMStateDescription structure. The 'legacy' register_savevm() and unregister_savevm() are still provided (just like upstream does). Future patches will 'upgrade' our virtual devices to the new interface. NOTE: Since DeviceState is not implemented properly yet, qdev_get_path() is stubbed to always return NULL. Change-Id: I7bfa201da40a0e470fafde6ccc002a4216ecd9c1
2014-02-17qemu-timer.c: Use upstream version.David 'Digit' Turner
This completely modifies the implementation of timers to match upstream, the only difference is that the oddly-placed qemu_gpoll_ns() function is disabled (it's not used yet). Most of the changes here (but not all), were applied through the following sed script: s|qemu_get_clock\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ns\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock_ns\s*(\s*rt_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ms\s*(\s*vm_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock_ms\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ms\s*(\s*host_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_HOST)|g s|qemu_get_clock_ms\s*(\s*SHAPER_CLOCK\s*)|qemu_clock_get_ms(SHAPER_CLOCK)|g s|qemu_mod_timer\s*(|timer_mod(|g s|qemu_del_timer\s*(|timer_del(|g s|qemu_free_timer\s*(|timer_free(|g s|qemu_new_timer_ms\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*SHAPER_CLOCK\s*,|timer_new(SHAPER_CLOCK, SCALE_MS,|g s|qemu_put_timer\s*(|timer_put(|g s|qemu_get_timer\s*(|timer_get(|g s|qemu_timer_pending\s*(|timer_pending(|g s|qemu_clock_next_deadline\s*(\s*vm_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL|g s|qemu_clock_next_deadline\s*(\s*rt_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_REALTIME|g s|qemu_clock_next_deadline\s*(\s*host_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_HOST|g + Disable icount-based clock warping/adjustments. It will be re-enabled in the future after cpu emulation has been completely refactored. Change-Id: Ifbcf4a52654eed3a08dfe59b0546a75d4627f758
2014-02-11Rename android/config.h to android/config-file.hDavid 'Digit' Turner
This is to avoid naming conflicts later when including "config.h" in android/main.c to get the correct definition of TARGET_X86 and other macros. Change-Id: I4743bf207597721612386213208efe0c7e2f41c5
2014-02-11Cleanup: Remove 100+ compiler warnings.David 'Digit' Turner
This is a big cleanup that removes compiler warnings by performing the following: - Remove unused functions or variables. - Change pointer cast to be alias safe using unions. - Use __attribute__((unused)) on some local variable definitions when their usage depends on conditional defines that are not always true when compiling the same source several times. - Fix a couple array indexing bugs. There are still a few warnings from the JSON lexer, libjpeg and the TCG helpers though, but the overall compilation is much cleaner. BUG=NONE Change-Id: Ic4483e6402b266ecfd7bca8c92a73d8fcf392a1f
2014-01-08qemu-char.h -> include/sysemu/char.hDavid 'Digit' Turner
Change-Id: I8e3d6e9a73a347978789a98035e89ea1e03b59aa
2014-01-08Move net.h to include/net/David 'Digit' Turner
+ Move net-android.c and net.c to net/ + Rename net-checksum.c to net/checksum.c + Move sockets.h and shaper.h to include/android/ and sockets.c + shaper.c to android/ + Move vgafont.h to ui/ Change-Id: I2659a919a316d3f95aac0f9924833eeee4cb5592
2014-01-08Move qemu-timer.h to include/qemu/timer.hDavid 'Digit' Turner
Note: upstream still puts qemu-timer.c in the top-level directory, so no need to move it Change-Id: I475309d6f0040b4fd2277e52a2526825c112e91f
2012-08-09external/qemu: Support for Signal Strength in emulatorUma Maheswari Ramalingam
Change-Id: Ia62ef338b64739d50eeb55d33d15227a0047d8d0
2011-06-01qemu-timer.c: rename qemu_timer_new_scale()David 'Digit' Turner
Get rid of qemu_timer_new() implementation, and update all callers to use qemu_timer_new_ms() or qemu_timer_new_ns() instead. Rename qemu_new_timer_scale() to qemu_new_timer() to follow upstream conventions. Change-Id: Id2c04f8597ec5026e02f87b3e2c5507920eb688e
2011-03-01Remove CONFIG_ANDROID_SNAPSHOTS macro.David 'Digit' Turner
The feature is no longer optional. Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
2011-02-04Improve telephony emulation support.David 'Digit' Turner
This patch fixes a few minor bugs in our emulated GSM modem. - Mixup between the answers for +CGDCONT=? and +CGDCONT? - Return our IP address as part of +CGDCONT=? now - Ensure the area code and cell id are no more than 4 hexadecimal digits Change-Id: I4fc0b333ed0f7df88a9874490d3b3e0b4a09a7d3
2011-01-17Serialise GSM call status to snapshotTim Baverstock
Change-Id: I54491e3e9910591aedcd700a9a350dc7a6fa7127
2010-12-15Add 'gsm signal' command, to set rssi and berTim Baverstock
Change-Id: I24d4738f6e5135437af25d22e2fa68617f5632fa
2010-12-14Send unsolicited time response to first signal strength query after loadvmTim Baverstock
Change-Id: I9c6260493d42564ee3aa34799313368bb2de7d4d
2010-10-21Fix linux-x86_64 build.David 'Digit' Turner
Fix various 64-bitness issues in the source code to make the --try-64 option work again on Linux. Note that the generated binary is not faster than its 32-bit variant when it comes to benchmarking the boot sequence. Change-Id: Iad248e033757d4cd25524a438a5dbe1cf3aca6cf
2010-10-08qemu: Multimode supportJaime Lopez
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
2010-09-22Remove compiler warnings when building the emulator.David 'Digit' Turner
This forces -Wall during the build. Note that this patch doesn't remove all warnings, but most of the remaining ones are from upstream anyway. Change-Id: I8808d8495e99866e156ce5780d2e3c305eab491f
2010-09-08Add new "qemu monitor" command to the console.David 'Digit' Turner
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
2010-07-27Make the GSM simulator more realisticMarc Petit-Huguenin
- The phone number of the phone is now built by concatenating "1555521" to the console port. - Convert number in remote call by concatenating "1555521" to the port number. - Convert called number to a number starting with "1555521". - Fixed a bug in sms_address_to_str where the length returned is incorrect is the length of the phone number to convert is odd. Change-Id: Iefbdd866b6e41f6086c6e0cc33026551e3d5ae8f
2010-05-11Upstream: integrate timer/clock management changes.David 'Digit' Turner
Change-Id: I24acbdebe58d207352548f54dda1abf5be01e7d4
2010-03-25Fix Win32 socket error handling.David 'Digit' Turner
This also fixes -http-proxy support on Windows. Change-Id: I741b224511c064412ac39351ed4f1b9146a313a5
2009-05-14This fixes sock_address_init_resolv() to properly parse the linked-list ↵David 'Digit' Turner
returned by getaddrinfo(). The previous implementation simply took the first entry, which could be an IPv6 address instead of an IPv4 one in certain OS setups. This created problems when "localhost" resolved to :::1 instead of 127.0.0.1. For example, when implementing inter-emulator telephony or SMS, since the caller would try to connect to localhost:5556, which was resolved to :::1:5556 while the received is listening on 127.0.0.1:5556 Also disable debugging traces that should not be activated. And make the error messages in sockets.c only dumped to the terminal when -debug-socket is active.
2009-04-15AI 146315: am: CL 146314 modify GSM emulation to accomodate 1.0 and 1.1 ↵David Turner
system images. without this, networking doesn't work well when using the 1.1 add-on with the cupcake sdk Original author: digit Merged from: //branches/cupcake/... Automated import of CL 146315
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-02-10auto import from //branches/cupcake/...@130745The Android Open Source Project
2009-01-09auto import from //branches/cupcake/...@125939The Android Open Source Project
2008-12-17Code drop from //branches/cupcake/...@124589The Android Open Source Project
2008-10-21Initial Contributionandroid-1.0release-1.0The Android Open Source Project