Commit graph

3895 commits

Author SHA1 Message Date
Jeff Brown
d010d7df29 am f87d9c86: am 9cec175c: Remove a stray newline in the backtrace output.
* commit 'f87d9c86982f8873b7f449029d702ba33569e629':
  Remove a stray newline in the backtrace output.
2012-06-08 15:33:30 -07:00
Jeff Brown
f87d9c8698 am 9cec175c: Remove a stray newline in the backtrace output.
* commit '9cec175c66100d9edbb1054f3f2977a5c3f80af2':
  Remove a stray newline in the backtrace output.
2012-06-08 15:30:33 -07:00
Jeff Brown
aff4466118 am 536b81af: resolved conflicts for merge of 053b8654 to jb-dev-plus-aosp
* commit '536b81afed42ba6be1f824cf90d9a1e17a913c9c':
  Enhance native stack dumps.
2012-06-08 15:30:28 -07:00
Jeff Brown
536b81afed resolved conflicts for merge of 053b8654 to jb-dev-plus-aosp
Change-Id: Idfef8c26b7a9e1a1a202e21dc5d34022bbaa92cc
2012-06-08 15:27:01 -07:00
Jeff Brown
9cec175c66 Remove a stray newline in the backtrace output.
Bug: 6615693
Change-Id: I1ac1746286afb77c3f5c4042c4592333ebb08a51
2012-06-08 14:21:51 -07:00
Colin Cross
38547c3a54 Merge "libsuspend: always unblock early suspend" 2012-06-08 14:14:20 -07:00
Jeff Brown
053b865412 Enhance native stack dumps.
Provides a new mechanism for dumpstate (while running as root)
to request that debuggerd dump the stacks of native processes that
we care about in bug reports.  In this mode, the backtrace
is formatted to look similar to a Dalvik backtrace.

Moved the tombstone generating code into a separate file to
make it easier to maintain.

Fixed a bug where sometimes the stack traces would be incomplete
because we were not waiting for each thread to stop after issuing
PTRACE_ATTACH, only the main thread.  So sometimes we were missing
traces for some threads.

Refactored the logging code to prevent accidentally writing data
to logcat when explicitly dumping a tombstone or backtrace from the
console.

Only root or system server can request to dump backtraces but
only root can dump tombstones.

Bug: 6615693
Change-Id: Ib3edcc16f9f3a687e414e3f2d250d9500566123b
2012-06-08 13:29:23 -07:00
Colin Cross
2146b7f2d7 libsuspend: always unblock early suspend
SurfaceFlinger and PowerManagerService manage their synchronization
without the help of early suspend, and SurfaceFlinger no longer unblocks
early suspend.  Add a new thread when early suspend is detected that will
immediately unblock early suspend.

Change-Id: I87ef4984a2ab34cbbb3af8b7762236b9a92dc2ea
2012-06-07 17:15:17 -07:00
JP Abgrall
51d827aab0 Merge "fastboot: Let "fastboot devices" work in all cases" 2012-06-07 09:32:53 -07:00
The Android Open Source Project
3b8f00c9d3 am d96544ff: Reconcile with jb-release
* commit 'd96544ff69601fe2990245e10e054480f0bd341f':
2012-06-07 07:55:49 -07:00
The Android Open Source Project
d96544ff69 Reconcile with jb-release
Change-Id: Ida4b92a5bf99e33e3162186f823b410317d9f6b1
2012-06-07 07:51:38 -07:00
Arve Hjønnevåg
6ba76f0190 Merge "init.rc: Set owner for /sys/power/autosleep" 2012-06-06 16:42:07 -07:00
Benoit Goby
c29569c5d3 Merge "FunctionFS: initial implementation" 2012-06-06 15:51:07 -07:00
JP Abgrall
a032dedefe fastboot: Let "fastboot devices" work in all cases
Ignore ANDROID_SERIAL when requesting to list devices, or else it is
impossible to list devices without unsetting the env var. Even
  ANDROID_SERIAL=  fastboot devices
or
  fastboot -s "" devices
won't work.

Change-Id: Ie92f35bda852c6ecea4ebaefb75b8f18c10b6d0c
2012-06-06 11:53:33 -07:00
Scott Anderson
845f106a93 am 1b7a7e81: adb: Use bionic\'s strtok_r() for Windows
* commit '1b7a7e81195ff06a7482f81cb92b094bb3481cb1':
  adb: Use bionic's strtok_r() for Windows
2012-06-05 18:17:37 -07:00
Scott Anderson
1b7a7e8119 adb: Use bionic's strtok_r() for Windows
A recent change use strtok_r which broke the Windows build.
Clear this potential landmine by adding adb_strtok_r to sysdeps.h
in the typical fashion.  For Windows, the actual implementation
in sysdeps_win32.c was copied from bionic/libc/string/strtok.c.

Change-Id: Ibb71555bc429f7058c07c3d39e0b62859c79635c
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 17:54:27 -07:00
Scott Anderson
dd32794a29 am 866b1bd5: fastboot: Make the format of "devices -l" match adb\'s
* commit '866b1bd5051db4f22b634df1f8a06bc1c9aa2e26':
  fastboot: Make the format of "devices -l" match adb's
2012-06-05 16:21:04 -07:00
Scott Anderson
0e9e13eb46 am 2ca3e6b3: adb: Generalizing -s to take qualifiers.
* commit '2ca3e6b35f79136418ebc32fef57580698dbd045':
  adb: Generalizing -s to take qualifiers.
2012-06-05 16:21:04 -07:00
Scott Anderson
3fef581bc7 am e82c2db0: adb: Transmit key properties in banner of connect message
* commit 'e82c2db05cae70a0490a1f84b7211ef42c329671':
  adb: Transmit key properties in banner of connect message
2012-06-05 16:21:03 -07:00
Scott Anderson
866b1bd505 fastboot: Make the format of "devices -l" match adb's
Change-Id: Iec7b02fee8298a4437d1827623e9f61688a73f42
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 11:13:45 -07:00
Scott Anderson
2ca3e6b35f adb: Generalizing -s to take qualifiers.
Prior to this change, -s could take either a serial number or a
device path (e.g. "-s 01498B1F02015015" or "-s usb:1-4.2").  This
change extends -s to also allow product, model or device names
(e.g. "-s product:mysid").  These new qualifiers will only be
available on devices that are running an adb daemon that provides
properties in the connect message per Change-Id:
    I09200decde4facb8fc9b4056fdae910155f2bcb9

The product, model and device are derived from the
ro.product.name, ro.product.model and ro.product.device
properties respectively.  They are prefixed with "product:",
"model:" or "device:" as appropriate.  In addition, any
non-alphanumerics in the model are changed to underscores.

If the -s parameter matches multiple devices, the result will be
the same as when multiple devices are connected but no -d, -e or
-s option is specified.  In general, this means the user will get
"error: more than one device".  However for get-state,
get-devpath and get-serialno, they will get "unknown".

The format of "devices -l" was changed to list all of the
qualifiers that are available.  The following example output
(with the last digits of the serial numbers replaced with X's) is
with a Galaxy Prime with an older adb daemon and another Galaxy
Prime and Galaxy S both with the enhanced adb daemons:

List of devices attached
016B75D60A0060XX       device usb:2-5 product:mysid model:Galaxy_Nexus device:toro
3731B535FAC200XX       device usb:1-4.2 product:soju model:Nexus_S device:crespo
01498B1F020150XX       device usb:1-4.1

Note that the serial number and state are now column oriented
instead of tab delimited.  After the serial number and state, all
qualifiers are listed with each preceded by a space.  The output
of the original devices command (without -l) is unchanged.

Change-Id: Iceeb2789874effc25a630d514a375d6f1889dc56
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 11:13:40 -07:00
Scott Anderson
e82c2db05c adb: Transmit key properties in banner of connect message
protocol.txt says that the connect message should have three
fields:

        <systemtype>:<serialno>:<banner>

In reality, what is transmitted is simply:

        <systemtype>::

The serialno is obtained via other means so doesn't really need
to be a part of the connect message.  This change puts the
ro.product.name, ro.product.model and ro.product.device
properties in the <banner> for devices.  Each property is
terminated by a semicolon (;) with the key and value separated by
an equals sign (=).  Example message:

device::ro.product.name=<prd>;ro.product.model=<mdl>;ro.product.device=<dev>;

Making this change will enable the device list to provide more
information to the user and to give the potential for being able
to select which device to talk to with the -s option.

Change-Id: I09200decde4facb8fc9b4056fdae910155f2bcb9
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 11:04:55 -07:00
Dima Zavin
ba4cf5d099 am 779b12fc: am 5f2d00b0: rootdir: init.rc: remove audio app/sys groups, merge to fg
* commit '779b12fc3511bd241c206a49e85ec1b19fdd681c':
  rootdir: init.rc: remove audio app/sys groups, merge to fg
2012-06-05 09:54:57 -07:00
Dima Zavin
7fa30fb0ab am 2b628a3c: am 29319a67: cutils: sched_policy: remove audio app/sys groups, merge into fg
* commit '2b628a3c2ee7d8411b76d37c3db30a0b7da24d73':
  cutils: sched_policy: remove audio app/sys groups, merge into fg
2012-06-05 09:54:57 -07:00
Dima Zavin
ed60e86a1a am 38160c06: am df44b886: core: init.rc: create apps cgroup for fg tasks, move bg under it
* commit '38160c06cabe35330f49eb0f6e0cfcc3f9823f0d':
  core: init.rc: create apps cgroup for fg tasks, move bg under it
2012-06-05 09:54:56 -07:00
Dima Zavin
1a0b4c44ac am 2449c83a: am 13ed76bf: cutils: sched_policy: make bg group be nested under fg
* commit '2449c83a09fe1a5b87f89bd55925a11e79efb2ef':
  cutils: sched_policy: make bg group be nested under fg
2012-06-05 09:54:56 -07:00
The Android Automerger
e545c5341f merge in jb-release history after reset to jb-dev 2012-06-05 06:59:47 -07:00
Dima Zavin
779b12fc35 am 5f2d00b0: rootdir: init.rc: remove audio app/sys groups, merge to fg
* commit '5f2d00b0677cbe9ad42ea0394def0a51aef7bdda':
  rootdir: init.rc: remove audio app/sys groups, merge to fg
2012-06-05 00:33:34 -07:00
Dima Zavin
2b628a3c2e am 29319a67: cutils: sched_policy: remove audio app/sys groups, merge into fg
* commit '29319a6753569fb3ef160c2de2f1c4d9d1398178':
  cutils: sched_policy: remove audio app/sys groups, merge into fg
2012-06-05 00:33:33 -07:00
Dima Zavin
38160c06ca am df44b886: core: init.rc: create apps cgroup for fg tasks, move bg under it
* commit 'df44b88621f60e933d7d31090bf0bb892e88142c':
  core: init.rc: create apps cgroup for fg tasks, move bg under it
2012-06-05 00:33:31 -07:00
Dima Zavin
2449c83a09 am 13ed76bf: cutils: sched_policy: make bg group be nested under fg
* commit '13ed76bfbce8e96604e781f88808b4d883891dde':
  cutils: sched_policy: make bg group be nested under fg
2012-06-05 00:33:30 -07:00
Dima Zavin
5f2d00b067 rootdir: init.rc: remove audio app/sys groups, merge to fg
With this change, the audio rr/fifo threads will just run in
the fg cgroup.

Also, the RR budget for the apps fg/bg threads has been bumped
to 80%. Ideally, the bg budget would be much smaller but there
are legacy libraries that seem to be very sensitive to this so
for now keep it at this value.

Bug: 6528015
Change-Id: I08f295e7ba195a449b96cd79d954b0529cee8636
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 15:11:33 -07:00
Dima Zavin
29319a6753 cutils: sched_policy: remove audio app/sys groups, merge into fg
Bug: 6528015
Change-Id: I6c2658b62442d811b53c6d18476fbd6cd45f9e3f
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 13:20:17 -07:00
Jeff Brown
6249b9009f Make sdcard daemon multi-threaded.
The essential idea here is that a handler thread only needs to
hold a lock on the global node table while it is manipulating
nodes.  The actual I/O operation is then performed without
holding any locks.

By default, we use 2 threads but this can be configured on the
command-line.  Work is sheduled somewhat arbitrarily by the
handler threads.  Whichever thread happens to read() the next
request first wins the right process it.  This policy is very
simple but potentially wastes threads when there isn't much
work to be done.  We can always improve this later if needed.

Change-Id: Id27a27c2c9b40d4f8e35a6bef9dd84f0dfacf337
2012-06-04 13:15:04 -07:00
Jeff Brown
fc1e1a0ab4 Refactor request opcode handlers.
This is mostly a structural change.  The handlers have been moved
into individual functions, which will help with upcoming changes.

Change-Id: I774739d859e177d6b5d4186d2771444166b734fa
2012-06-04 13:14:16 -07:00
Jeff Brown
7729d2450f Move buffers into a handler structure.
Also use PATH_MAX instead of PATH_BUFFER to determine the
maximum path length.

Change-Id: Ic78f731d339a2a97766d29d222dd27cac4e620ce
2012-06-04 13:14:04 -07:00
Jeff Brown
6fd921ae03 Implement FUSE_FSYNC request.
This request is needed for application correctness, without which
data corruption may result.

Bug: 6488845
Change-Id: I3d676c2e40f6e6b37d5d270c7cb40f1bf8c1fa47
2012-06-04 13:13:57 -07:00
Jeff Brown
847158476c More code cleanup.
Use constants to specify MAX_READ and MAX_WRITE buffer sizes and
use that to determine the size of the buffers that we need.

Be more careful about how the request header and data payload are
extracted.  For example, the old code did len -= hdr->len, but
since len == hdr->len, this value was always 0.  It turns out we
didn't use len thereafter, but we might want to for sanity checking
incoming requests.

Use const to make it clearer what data is coming out of the request.

Removed spurious error reply from FUSE_WRITE.  It serves no purpose
and is ignored by the kernel.

Bug: 6488845
Change-Id: Ia328532979868f0aaea43744a49662f2f4511bfe
2012-06-04 13:13:48 -07:00
Jeff Brown
2656735f51 Code cleanup.
Removed references to unsupported command-line arguments.

Fixed compiler warnings.

Bug: 6488845
Change-Id: I50cb865609ea0fa5824ae2741b831cd886033055
2012-06-04 13:13:39 -07:00
Dima Zavin
df44b88621 core: init.rc: create apps cgroup for fg tasks, move bg under it
Bug: 6538553
Change-Id: I7c29975aa376bcdda9d6bbd1fd3e04fdb1c1b1fe
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 13:02:44 -07:00
Dima Zavin
13ed76bfbc cutils: sched_policy: make bg group be nested under fg
Adds an apps cgroup which will contain fg tasks. Move the bg group
nested underneath it.

Bug: 6538553
Change-Id: I55279415da625e15a5bb061c2b45fbe7f7a4c047
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 10:42:40 -07:00
Scott Anderson
e5867141c9 am 3608d832: adb: Fix two problems with device path implementation.
* commit '3608d832425ca3a6d00c4040f3bb979c5aa49899':
  adb: Fix two problems with device path implementation.
2012-06-01 11:08:08 -07:00
Scott Anderson
a1020825fb am c7993af6: adb: Fix compiler warning
* commit 'c7993af64baec271a238646bc20aaa846866c4a9':
  adb: Fix compiler warning
2012-06-01 11:06:17 -07:00
Andrzej Pietrasiewicz
fd96db17b7 FunctionFS: initial implementation
This is the second version of a patch which demonstrates the possibility
of using adbd (Android Debug Bridge daemon) with a generic FunctionFS gadget
instead of a custom adb usb gadget in the Linux kernel. It contains changes
introduced after Benoit's review - thank you Benoit.

The patch adds a new usb access layer to adbd using FunctionFS. The former
usb access method is still available. The method is chosen at runtime
depending if /dev/usb-ffs/adb/ep0 or /dev/android_adb is accessible.

How to use on the target device:

$ insmod g_ffs.ko idVendor=<vendor ID> iSerialNumber=<some string>
$ mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000
$ ./adbd

This patch requires a patch to bionic which adds <linux/usb_functionfs.h>
which is an exact copy of the relevant file in the linux kernel.

Change-Id: I4b42eb267ffa50fca7a5fba46f388a2f083e8b2d
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[benoit@android.com: detect at runtime if functionfs is mounted
or fallback using f_adb]
Signed-off-by: Benoit Goby <benoit@android.com>
2012-05-31 15:00:41 -07:00
Scott Anderson
3608d83242 adb: Fix two problems with device path implementation.
The commands that use "host-serial:<serial-number>:<request>"
service did not handle "-s usb:<path>".  The -s parameter is
passed as the serial number in the protocol and then matched
against either the serial number or device path.  However,
skip_host_serial() in sockets.c did not know about the usb:
syntax, the serial number was parsed incorrectly.  Before this
change:
	$ adb -s usb:1-4.1 get-state
	error: unknown host service
After:
	$ adb -s usb:1-4.1 get-state
	device

Code was added in find_transport() in transport.c to match device
paths, but find_transport() is only used for socket connections
so matching device paths is not needed.

Change-Id: I922cec963659dafadd0fbc8fa36dee3b55fe366c
Signed-off-by: Scott Anderson <saa@android.com>
2012-05-31 14:06:07 -07:00
Scott Anderson
c7993af64b adb: Fix compiler warning
system/core/adb/adb.c: In function 'connect_device':
system/core/adb/adb.c:1001: warning: comparison between signed and unsigned integer expressions

Change-Id: I206f85395e1d7ad8d6ef130a26c95dcf0f498696
Signed-off-by: Scott Anderson <saa@android.com>
2012-05-31 11:29:49 -07:00
Robert Greenwalt
a1cd8b94fb am 6f523cda: am 7bb1b958: am ff856a2b: Merge "Add error handling to SocketClient::sendData"
* commit '6f523cda13094bf493cdf37e7ecc480bb5a37a2b':
  Add error handling to SocketClient::sendData
2012-05-30 15:33:20 -07:00
Robert Greenwalt
6f523cda13 am 7bb1b958: am ff856a2b: Merge "Add error handling to SocketClient::sendData"
* commit '7bb1b9585d2d61beaf05c997971aee27f87ad3f7':
  Add error handling to SocketClient::sendData
2012-05-30 15:29:07 -07:00
Robert Greenwalt
7bb1b9585d am ff856a2b: Merge "Add error handling to SocketClient::sendData"
* commit 'ff856a2b927aaadb189181d2cd9dd08dc98456a4':
  Add error handling to SocketClient::sendData
2012-05-30 15:23:29 -07:00
Robert Greenwalt
ff856a2b92 Merge "Add error handling to SocketClient::sendData" 2012-05-30 14:57:50 -07:00