Commit graph

1377 commits

Author SHA1 Message Date
Andy McFadden
8dfa47da8c Atomic/SMP update, part 2.
Added new atomic functions, renamed some old ones.  Some #defines have
been added for backward compatibility.

Merged the pre- and post-ARMv6 implementations into a single file.

Renamed the semi-private __android_membar_full_smp to USE_SCREAMING_CAPS
since that's more appropriate for a macro.

Added lots of comments.

Note Mac OS X primitives have not been tested.

Change-Id: If827260750aeb61ad5c2b760e30658e29dbb26f2
2010-05-27 15:29:38 -07:00
Jeff Brown
dc5942840e Merge "Fix kernel panics in fastboot on OS X." into kraken 2010-05-21 14:06:04 -07:00
Jeff Brown
b64063737e Fix kernel panics in fastboot on OS X.
The kernel panic seems to be related to the driver trying to allocate
too many pages from the IO mapper.  That may be caused by the fact
that we try to perform a 100+ MiB transfer in a single IO operation.
This change breaks the transfer down into 1 MiB chunks.

So far after a day of testing, no kernel panics have occurred compared
to 5 in the previous 24 hours!

Change-Id: I8d27a546e0c0bf4fe2f0fc7fcad65a88d3e6bee0
2010-05-21 13:24:25 -07:00
Andy McFadden
ac322da69e Atomic/SMP update.
Added atomic-inline.h.  Added a platform-specific memory barrier call
there.

Added android_atomic_acquire_cmpxchg() and android_atomic_release_store().
Not tested on Mac OS X or SH.

Added memory barrier calls to linux-x86 atomics.  Mac OS X has barrier
functions already.  sh isn't really SMP-ready.  linux-arm needs work
(to be done in a separate change).

Updated the makefile to make the SMP state visible to the code here.
Note that host binaries are NOT built with SMP enabled; while our hosts
are very likely SMP, it's not worth figuring out e.g. whether it's okay
to use the SSE2 mfence instruction or have to use something else.  We
haven't had barriers enabled in host tools before, so there's probably
no need to stat now.

Removed quasiatomic 64-bit calls (now part of Dalvik).

Change-Id: I49e5e6c8abe70f304cdedb9d7b8e6e65f8925815
2010-05-20 21:40:33 -07:00
The Android Open Source Project
53a79a841b am 49337b27: merge from open-source master
Merge commit '49337b27d9a90d7c3f703f618e7c6bfaffc2a96d' into kraken

* commit '49337b27d9a90d7c3f703f618e7c6bfaffc2a96d':
  Fix "route add default dev <iface>" behaviour
2010-05-19 11:33:56 -07:00
The Android Open Source Project
49337b27d9 merge from open-source master
Change-Id: I77e33ce567b9682f51785cc574e37dc2cd15028f
2010-05-19 11:28:01 -07:00
Jean-Baptiste Queru
5099d3447d Merge "Fix "route add default dev <iface>" behaviour" 2010-05-19 11:24:50 -07:00
Mike Lockwood
c0d8fb5842 DO NOT MERGE resolved conflicts for merge of e95aad61 to kraken
this change is already in master

Change-Id: Ica43eae28b50d89d50217851aff7e62978abfa27
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-17 14:24:36 -04:00
The Android Open Source Project
e95aad61d8 merge from open-source master
Change-Id: I414c9479f4f913c777ef18b7ff27e410f49d35b9
2010-05-17 08:54:31 -07:00
Mike Lockwood
93ac1559b8 init: Add support for /dev/bus/usb/ file system and add new unix group AID_USB.
init now creates files in /dev/bus/usb/ for user access to USB devices.
Files are chmod 660 with group AID_USB.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-16 16:04:51 -04:00
Dima Zavin
509f7399b8 fastboot: Add more vendor usb ids
Change-Id: Ied48302b50412f27dcf49d40913e4b900f3bd153
Signed-off-by: Dima Zavin <dima@android.com>
2010-05-14 14:48:39 -07:00
Jean-Baptiste Queru
80bdda4235 Merge "Added a move flag for init's mount command that maps to MS_MOVE." 2010-05-14 14:18:43 -07:00
The Android Open Source Project
156b9f3d12 am 538e5778: merge from open-source master
Merge commit '538e5778be15382669b0058de5bafa9f4961247e' into kraken

* commit '538e5778be15382669b0058de5bafa9f4961247e':
  sys_signame[] was added to libc, remove conflicting definition
2010-05-14 13:40:11 -07:00
The Android Open Source Project
538e5778be merge from open-source master
Change-Id: Ia81df7e22e563b01091778043bba65dee1699e83
2010-05-14 13:38:07 -07:00
Jean-Baptiste Queru
34ed47a378 Merge "sys_signame[] was added to libc, remove conflicting definition" 2010-05-14 12:34:51 -07:00
Nick Kralevich
a523b5b2ca Merge "Get rid of warnings when compiled with -Wformat-security" into kraken 2010-05-14 10:08:29 -07:00
Nick Kralevich
4f55adc323 Get rid of warnings when compiled with -Wformat-security
Change-Id: Ib38b2c152474ed83be1a5716457d0b374c0e5c68
2010-05-13 16:10:23 -07:00
Nick Kralevich
dd26bb3a00 Get rid of warnings when compiled with -Wformat-security
Change-Id: I2bfc6582a8198b22af08e4b8d58f532dc138cc02
2010-05-13 15:38:49 -07:00
The Android Open Source Project
0253ffdee4 am d00eba45: merge from open-source master
Merge commit 'd00eba458706a38f6c072ed90c5da35f3e3f1bba' into kraken

* commit 'd00eba458706a38f6c072ed90c5da35f3e3f1bba':
  Add a printf format.
2010-05-12 10:54:09 -07:00
The Android Open Source Project
d00eba4587 merge from open-source master
Change-Id: I8e7903bcd3fe7ddf88b63462dc9123f12b779c64
2010-05-12 09:32:54 -07:00
christian.bejram
28a8dab590 Add a printf format.
This makes sure that data sent through logwrapper
is interpreted as strings

Change-Id: Ifafa7c3a39433743250aeb76da3c4d9cce05a13f
2010-05-10 14:47:56 -07:00
Nick Kralevich
42d38127d2 Merge "Allow pixelflinger to work when NX (No Execute) is enabled." into kraken 2010-05-10 10:28:56 -07:00
Brad Fitzpatrick
b20e98511d am 25ffaff6: am 86b12152: fix windows SDK build
Merge commit '25ffaff6b1eb8706a893cf255db123d0644b4a7d' into kraken

* commit '25ffaff6b1eb8706a893cf255db123d0644b4a7d':
  fix windows SDK build
2010-05-10 09:49:48 -07:00
Brad Fitzpatrick
c279d3c542 am 218faa30: am e43c2483: More fixes to Binder perf regression from Eclair
Merge commit '218faa30d547e549c1efbf9bacf23cc56c8bf481' into kraken

* commit '218faa30d547e549c1efbf9bacf23cc56c8bf481':
  More fixes to Binder perf regression from Eclair
2010-05-10 09:49:46 -07:00
Brad Fitzpatrick
25ffaff6b1 am 86b12152: fix windows SDK build
Merge commit '86b121523d7d3634bf5ac07b6e238b36b3e75f0a' into froyo-plus-aosp

* commit '86b121523d7d3634bf5ac07b6e238b36b3e75f0a':
  fix windows SDK build
2010-05-10 09:43:55 -07:00
Brad Fitzpatrick
218faa30d5 am e43c2483: More fixes to Binder perf regression from Eclair
Merge commit 'e43c248316d0faa7bdc23de823b068c2aa3520ab' into froyo-plus-aosp

* commit 'e43c248316d0faa7bdc23de823b068c2aa3520ab':
  More fixes to Binder perf regression from Eclair
2010-05-10 09:43:44 -07:00
Brad Fitzpatrick
86b121523d fix windows SDK build
Change-Id: I2c563b20197803cafa91214aeff2c06fc0c75580
2010-05-08 11:51:13 -07:00
Nick Kralevich
beeeee705b Allow pixelflinger to work when NX (No Execute) is enabled.
Instead of allocating memory from the (non executable) heap,
allocate memory using mspace and ensure that we use mprotect
to mark it as PROT_EXEC.  This allows pixelflinger to
continue to work even when NX protections are enabled.

Testing: Using the ApiDemos market app, verify that
Apidemos -> Graphics -> OpenGL ES -> GLSurfaceView
works when "adb shell setprop debug.egl.hw 0" is set.

Change-Id: Ib569cd2543c6fa25688ee76325a712bc2347450b
2010-05-07 16:35:52 -07:00
Brad Fitzpatrick
e43c248316 More fixes to Binder perf regression from Eclair
Re-use the file descriptor to change the cgroups.  There's a fast path
in the kernel for the case where the value's already uncahnged.  Also,
this is okay because the kernel ignores the write offset.  This is
essentially a ioctl-ish/datagram interface, despite being a fd we're
writing to.

This reduces Dalvik->Dalvik void/void Binder calls on Sapphire from
~1.2 to ~0.8 ms.  This is a bit slower than the ~0.7 ms we get
avoiding the write altogether.

strace confirms:

[pid  1557] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1556] <... ioctl resumed> , 0x45399cd0) = 0
[pid  1556] write(22, "1556", 4)        = 4
[pid  1556] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1555] <... ioctl resumed> , 0x45299cd0) = 0
[pid  1555] write(22, "1555", 4)        = 4
[pid  1555] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1554] <... ioctl resumed> , 0x45199cd0) = 0
[pid  1554] write(22, "1554", 4)        = 4

BUG=2660235

Change-Id: Ia9f9e1d5b792eaebc9560f89931faf6df0cf9c0d
2010-05-07 15:57:44 -07:00
Dima Zavin
7f2ad58a6d adb: Add Qualcomm USB id
Change-Id: I044a77f14d7a90e9dff191919e4aeb39723ea429
Signed-off-by: Dima Zavin <dima@android.com>
2010-05-07 10:05:21 -07:00
Brad Fitzpatrick
4e226a5006 am ba9025ce: am 253e27ac: Optimize set_sched_policy(), which gets called in every binder call.
Merge commit 'ba9025ce958bf07f843c2301fa60b6a5499f20ca' into kraken

* commit 'ba9025ce958bf07f843c2301fa60b6a5499f20ca':
  Optimize set_sched_policy(), which gets called in every binder call.
2010-05-06 12:43:07 -07:00
Brad Fitzpatrick
ba9025ce95 am 253e27ac: Optimize set_sched_policy(), which gets called in every binder call.
Merge commit '253e27acb6c9e3e0b03c59f25cdf9ecbd64bcdad' into froyo-plus-aosp

* commit '253e27acb6c9e3e0b03c59f25cdf9ecbd64bcdad':
  Optimize set_sched_policy(), which gets called in every binder call.
2010-05-06 12:39:30 -07:00
Brad Fitzpatrick
253e27acb6 Optimize set_sched_policy(), which gets called in every binder call.
- use static /dev/cpuctl filenames, rather than sprintf() on the fly
- use a custom formatter instead of sprintf() for the tid number

This is a simplified version of Dan's original
Ifc9c81f74fe65f0695ead53b30194bc6adf00da0 to be less risky for Froyo.

Bug: 2660235
Change-Id: I744bbc2ec01fd2569612c814a497df40a933b622
2010-05-06 11:14:09 -07:00
Dan Bornstein
7a9f4c2690 am 83b97a6a: am 458f0633: For issue #2651381, allow library prelinking.
Merge commit '83b97a6a267a4ed9806191277289870156b2c372' into kraken

* commit '83b97a6a267a4ed9806191277289870156b2c372':
  For issue #2651381, allow library prelinking.
2010-05-05 17:51:53 -07:00
Dan Bornstein
83b97a6a26 am 458f0633: For issue #2651381, allow library prelinking.
Merge commit '458f06335a73438865bf633aeff399cbaedb71e1' into froyo-plus-aosp

* commit '458f06335a73438865bf633aeff399cbaedb71e1':
  For issue #2651381, allow library prelinking.
2010-05-05 17:50:07 -07:00
The Android Open Source Project
cc42a2d6f4 am 44bce0fb: merge from open-source master
Merge commit '44bce0fb572b0513025e4cfd4bf2c58f5ddef2b3' into kraken

* commit '44bce0fb572b0513025e4cfd4bf2c58f5ddef2b3':
  cpu-features.h is only available for ARM
2010-05-05 16:05:53 -07:00
The Android Open Source Project
44bce0fb57 merge from open-source master
Change-Id: Ic4cfffc3c8d465224b062cef7bcfe5827441057c
2010-05-05 16:03:52 -07:00
Dan Bornstein
458f06335a For issue #2651381, allow library prelinking.
Change-Id: I4933c968b84eaca2441c76c4b5a29de48fa093ef
2010-05-05 09:39:27 -07:00
Bruce Beare
2bef93cc20 cpu-features.h is only available for ARM
Change-Id: I1e8001a1875bfd9cebfe18dfd757556b55c8213c
2010-05-04 15:35:09 -07:00
The Android Open Source Project
3b9255e3f5 am e57d8918: merge from open-source master
Merge commit 'e57d89186def9dfabe39cec7a91397079514dc2a' into kraken

* commit 'e57d89186def9dfabe39cec7a91397079514dc2a':
  fix sim build
  Fix LDM addressing mode disassembly
  Add documentation for some adb environmental variables.
  NEON shortcut for flat colour blending into 16-bit
  Adds UXTB16 support to Pixelflinger
2010-05-03 16:33:47 -07:00
The Android Open Source Project
e57d89186d merge from open-source master
Change-Id: Ibc1c58aa757910f2b00acf6883127dd027f01d73
2010-05-03 16:32:46 -07:00
Jean-Baptiste Queru
9b6c850d24 fix sim build
Change-Id: Ide300eafbcbbc6dfae25fe86188302c6676c4a3b
2010-05-03 12:31:13 -07:00
Martyn Capewell
f42d2fac2b Fix LDM addressing mode disassembly
The Pixelflinger disassembler does not handle LDM addressing modes correctly,
assuming that the P and U bits in the instruction mean the same in both LDM and
STM. This results in the disassembler producing sequences like:

  stmfd r13!, {r4-r11, r14}
  ...
  ...
  ...
  ldmea r13!, {r4-r11, r14}

This small patch fixes it by EORing the P and U bits with the Load/Store bit.

Change-Id: Ic7a1556642c4e29415fc3697019f1239b6c26fc2
2010-04-29 09:13:48 -07:00
Jean-Baptiste Queru
86abd5fcab Merge "Adds UXTB16 support to Pixelflinger" 2010-04-29 09:11:37 -07:00
Jean-Baptiste Queru
8ecf93485f Merge "NEON shortcut for flat colour blending into 16-bit" 2010-04-29 08:47:51 -07:00
Tim
cd64315f72 Add documentation for some adb environmental variables.
The ADB_TRACE one is particularly important.

Change-Id: I125a5930c43065c8cf505eea40d20e3f209bc858
2010-04-29 07:41:50 -07:00
The Android Open Source Project
7e113e396d am 9a22c68e: merge from open-source master
Merge commit '9a22c68e8697a2ec86cd238a87a32ea42d7f8d39' into kraken

* commit '9a22c68e8697a2ec86cd238a87a32ea42d7f8d39':
  Fixing spelling errors in adb docs
  Make adb's daemon-port on the host machine configurable.
  adb: remove obsolete adb.connected system property.
  Add Pantech's USB vendor ID to adb.
  Added Kyocera's VID (0x0482), upon their request.
  adb: Add five second timeout for USB writes on Linux host.
  Add missing newlines to adb usage message
  adb: do not mix printf() with write() when writing to stdout.
  Added ZTE's USB Vendor ID (0x19D2) upon ZTE's request.
  Added USB vendor id of Sharp, based on Sharp's request.
2010-04-28 13:01:23 -07:00
The Android Open Source Project
9a22c68e86 merge from open-source master
Change-Id: Id824d3427cb4808a8768f14e7b46c0eaf5e02e73
2010-04-28 12:58:12 -07:00
Brian Carlstrom
26bb6e92ba Fixing spelling errors in adb docs
Change-Id: I9376717165a01e207034f84a31f85335d3740f18
2010-04-28 11:38:39 -04:00
Stefan Hilzinger
a84a42eb20 Make adb's daemon-port on the host machine configurable.
This is the first CL of a somewhat larger effort which, among other things,
will involve changing the emulator and ddms to talk to adb running on a
configurable port.

The port can be configured using environment variable ANDROID_ADB_SERVER_PORT.

Further CLs will also address the set of ports used for the local transport.

Change-Id: Ib2f431801f0adcd9f2dd290a28005644a36a780a
2010-04-28 11:38:34 -04:00