Commit graph

1058 commits

Author SHA1 Message Date
Ji-Hwan Lee
93e450767f Allow qemu_device read-write access to various processes
Basically, allow access of qemu_device where gpu_device is allowed, for the
case when the emulator runs with OpenGL/ES emulation.  Most noticably,
surfaceflinger crashes without qemu_device access.

Bug: 15052949
Change-Id: Ib891365a6d503309bced64e2512c4d8f29d9a07e
2014-05-19 20:49:17 +09:00
Ji-Hwan Lee
c89e1826ba Increase system image size to 650M for generic_arm64
Change-Id: I7969ec54dc4225bbe36651c4d9c6a09de1eb89f4
2014-05-18 02:42:14 +09:00
Ji-Hwan Lee
f942e496a3 Increase system image size to 650M for generic_x86
Change-Id: I4457796bdaff8c2626eb0788199be75f3ab4cd47
2014-05-16 08:03:21 +09:00
Sreeram Ramachandran
a280216494 Introduce netd_client, a dynamic library that talks to netd.
(cherry picked from commit 440de6b9f715cb18b8ee888c58d5c7a659ff5073)

Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
2014-05-14 11:21:01 -07:00
Ying Wang
a93102d411 Disable DEXPREOPT until we have multilib support
Bug: 14694978
Change-Id: I31d0f1c78a668435646c99e659cec46cd2f3ddf7
2014-05-13 09:46:23 -07:00
David 'Digit' Turner
f6e2694dd2 Disable emulator from platform builds.
Now that emulator prebuilts are available under prebuilts/android-emulator/,
disable building the emulator from source in all platform builds, except
if one defines BUILD_EMULATOR to 'true' in its environment.

NOTE: This patch should be applied after this one to avoid issues
      with the GPU emulation libraries:
            https://android-review.googlesource.com/93980

Change-Id: I53b2ada9ca0c2e159dccee7cdca7f55f6b0d1d42
2014-05-09 15:32:39 +02:00
Xavier Ducrohet
afe444a564 Merge "Remove SDK Tools from platform builds." 2014-05-09 00:46:45 +00:00
Xavier Ducrohet
51e303a281 Remove SDK Tools from platform builds.
(cherry picked from commit edf30221b4890673dc714a1efef3b5faf4ae1522)

Change-Id: Ia74c2ece1528adca10a4eec24e73b4ce361af1a9
2014-05-08 14:50:15 -07:00
Tsu Chiang Chuang
27a026c802 Bump userdata image size from 200 MB to 550 MB
Change-Id: Ibdf319091a7187dc894f4a923d40868cec4b7b41
2014-05-06 17:40:23 -07:00
Ying Wang
b7e0bdc02b Merge "Increase system image size of generic_x86_64 to 750MB." 2014-05-06 02:01:58 +00:00
Ying Wang
ff4aa89db8 Increase system image size of generic_x86_64 to 750MB.
Change-Id: I0c3264c7f629bc4d8c30539590de00967188807b
2014-05-05 19:01:28 -07:00
Colin Cross
5128237ad3 Merge "build: set TARGET_SUPPORTS_64_BIT_APPS in 64-bit config" 2014-05-05 23:02:45 +00:00
Colin Cross
772c216e71 build: set TARGET_SUPPORTS_64_BIT_APPS in 64-bit config
Set TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS,
TARGET_PREFERS_32_BIT_APPS is enough to get apps to build for
32-bit only, and leaving TARGET_SUPPORTS_64_BIT_APPS unset
confuses zygote64 because it finds an empty 64-bit ABI list.

Change-Id: Iadea7f2b42c216710b54aeac6011a4e30e0f2eaa
2014-05-05 15:25:41 -07:00
Colin Cross
2ff8919de3 Merge changes I7e809264,I504cea21,Ibd2165e6
* changes:
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:11:28 +00:00
Ying Wang
edf99a23ee Increase system image size of generic_x86_64 to 650MB.
Change-Id: Iacf6dcd00d78039d1b19595db6f293f8f202ac5a
2014-05-05 11:34:30 -07:00
Colin Cross
75b29ae078 build: add core_64_bit.mk
Add a new product, core_64_bit.mk, that products can inherit from
to configure zygote and the rest of the build system for a standard
64-bit product.

Make the 64-bit emulator targets for arm64, mips64, and x86_64
inherit from it.

Change-Id: I7e809264db39472f554cd5290529f3d6499345d4
2014-05-01 10:56:12 -07:00
Ian Rogers
d4186e8c1f Make the zygote 64-bit for the x86-64 emulator.
Change-Id: I4ad5d1ef2406e947176c8e180822b25c04fc83f0
2014-04-18 17:09:33 -07:00
Ying Wang
e948255ac6 Remove libGLES_android from non-emulator builds; Remove screenrecord from SDK build.
Bug: 11368415
Bug: 14087863
Change-Id: I05d406d174ea1d1bf67c7922c03950e700978baa
2014-04-15 14:42:27 -07:00
Steve Moyer
b9d6f6f15c Merge "DO NOT MERGE: Combine emulator test projects into a single apk" 2014-04-04 16:32:06 +00:00
Steve Moyer
0ced06ea0f DO NOT MERGE: Combine emulator test projects into a single apk
SmsTest, GpsLocationTest, ConnectivityTest -> EmulatorSmokeTests

Conflicts:
	target/product/sdk.mk

Change-Id: Ia5add1bc6360c27f84aab8f32b30c312435b1871
2014-04-03 16:01:06 -07:00
Greg Hackmann
f175087608 Merge "Revert "HACK: disable emulator on x86_64"" 2014-04-02 22:53:45 +00:00
Colin Cross
45db0e058a Merge "aosp_arm64: increase userdata image size" 2014-04-02 17:28:22 +00:00
Colin Cross
d46c7381c8 aosp_arm64: increase userdata image size
Increase userdata image size to allow make tests to builds with
extra tests to fit.

Change-Id: I2fea99d5a39816e78595215481b60ee51eb9182f
2014-04-02 09:17:29 -07:00
Greg Hackmann
dc01136bea Revert "HACK: disable emulator on x86_64"
This reverts commit 4562c5bcb3.
2014-03-31 16:54:52 -07:00
Narayan Kamath
39fd21a2df Add a default value for ro.zygote.
Also makes sure the correct init config file is
copied across.

Change-Id: I281d00dab17f780bda21bf3fbc35418df18dffb1
2014-03-31 12:33:45 +01:00
Ying Wang
c6848b398d Remove the redundant DISABLE_DEXPREOPT
To disable dexpreopt, use just:
WITH_DEXPREOPT=false

Change-Id: I5804f3774f8ec50eb16c5336776dbce0c28b16d9
2014-03-20 13:01:31 -07:00
Ying Wang
8c7e74ee05 Fix embedded build
1) Disable dexpreopt if DALVIK_VM_LIB isn't set up by the product.
2) DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES is moved to config.mk,
for it's only decided by target arch.
3) Move Java module input from embedded.mk to base.mk.

Change-Id: Ife70b0cd8cee2e5c92f356c808affa56f494b49a
2014-03-20 12:13:10 -07:00
Nick Kralevich
f2fd6d9af2 Merge "Allow shell serial_device read-write access" 2014-03-19 16:37:40 +00:00
Nick Kralevich
b20966f803 Allow shell serial_device read-write access
When starting the emulator, the system console writes entries
to /dev/ttyS2. We need to allow the writes, otherwise this generates
denials when you run "emulator -verbose -logcat '*:v' -show-kernel"

Addresses the following denial:
type=1400 audit(1395076594.320:446): avc:  denied  { read write } for  pid=5600 comm="sh" path="/dev/ttyS2" dev="tmpfs" ino=1487 scontext=u:r:shell:s0 tcontext=u:object_r:serial_device:s0 tclass=chr_file

Bug: 13506702
Change-Id: I3729537cabb0bf8e8b2905d3def43a293bb1081f
2014-03-18 15:17:35 -07:00
Greg Hackmann
4562c5bcb3 HACK: disable emulator on x86_64
The build system and qemu disagree about where the x86_64 kernel should
live; disable the emulator until that's resolved

Change-Id: Ia7a2745ee8f3f4211ce39f8d851d5d860acbf62b
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-03-18 11:13:37 -07:00
Tim Murray
b5f333bbef Work in progress to enable build system support for Clang.
Change-Id: I278b48bcd976afcbde8d86261da9b9b9efc9002c
2014-03-14 00:39:03 -07:00
Victoria Lease
8da3a02c1f Add external/google-fonts/*/fonts.mk.
Bug: 12384866
Change-Id: I30abb9fb962a59b46be1cb9f12b099ea29850a50
2014-02-28 15:35:07 -08:00
Ying Wang
cd07521f46 Merge "Revert "generic_x86: toggle 64bit binder ABI"" 2014-02-27 17:19:34 +00:00
Ying Wang
32d35a71ff Revert "generic_x86: toggle 64bit binder ABI"
This reverts commit e2525ade32.

Change-Id: Ibaec151084ce4f00194a5a22c4be7531710b4a9f
2014-02-27 17:19:13 +00:00
Mark Salyzyn
7fc3a06d7f Merge "build: add logd" 2014-02-27 16:03:58 +00:00
Nick Kralevich
1884833c3a build: add logd
Original-Change-Id: I1b96d7e6dd823a83b07b312bf07792482e883789
Signed-off-by: Nick Kralevich <nnk@google.com>

* merge conflicts
* rename syslog to logd to avert confusion with bionic syslog

Signed-off-by: Mark Salyzyn <salyzyn@google.com>

Change-Id: I137fb639a80dd28d2f0042b3ae9b7d6eb5eb5bc4
2014-02-26 15:39:38 -08:00
Stephen Smalley
1c0e1cde7b Add policy for MIPS emulator, fix x86 policy.
The qemud and /dev/qemu_pipe policy bits copied to generic
and generic_x86 by I620d4aef84a5d4565abb1695db54ce1653612bce
are required for generic_mips as well.  In testing, we
further saw other denials for generic_mips that correspond
exactly to what is already allowed in the generic sepolicy, so
just inherit the sepolicy files from generic for now.
We could do likewise for the generic_x86 sepolicy for the files that are
identical with generic if desired, but that is not done by this change.

The generic_x86 sepolicy was missing a rule for /sys/qemu_trace
moved to the generic sepolicy by the prior change, so fix that omission.

The generic*64 variants will need something similar, either by inheriting
from one of the existing sepolicy directories as in the MIPS
case or by forking their own copies as in the x86 case.

Change-Id: Iec7c8825734a3f96f7db8ae1d10dce1f30b22bdf
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-26 09:12:55 -05:00
Stephen Smalley
768ff518f0 Move qemud and /dev/qemu policy bits to emulator-specific sepolicy.
Change-Id: I620d4aef84a5d4565abb1695db54ce1653612bce
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-25 13:49:57 -05:00
Ying Wang
0e0c48796d Merge "generic_x86: toggle 64bit binder ABI" 2014-02-24 18:05:34 +00:00
Colin Cross
15b1c8377d arm64: don't build emulator
There is no emulator kernel yet, so don't try to build the emulator.

Change-Id: I714f5717f439b4e48a973f4355f2c6684af79764
2014-02-20 14:39:09 -08:00
Stephen Hines
816b86f759 Add bcc to the list of PRODUCT_PACKAGES to install.
Bug: 7342767

As part of the process of sandboxing the online RenderScript compiler, we
need to install bcc.

Change-Id: Ia650bdcb760246f3f1e15ebb867f07d9802cdfbe
2014-02-18 14:21:39 -08:00
Colin Cross
381435353d add linker64 and debuggerd64 to all products
Add linker64 and debuggerd64 to embedded.mk.  They will be silently
ignored on 32-bit builds, and filtered out on 32-bit sdk builds.

Change-Id: I8c30ea65e2b7e224ee73cc9fbbcb7555d3be04b5
2014-02-13 16:23:33 -08:00
Colin Cross
930b5fbcb9 make 64-bit builds into multiarch builds
Also enable the 64-bit binder interface and make them only use ART.

Change-Id: I05de41ce348c14722c84a658f745659bde5ba423
2014-02-12 19:49:47 -08:00
Ying Wang
d18e570fba Clean up dangling module names
Those modules have disappeared from the source tree.

https://code.google.com/p/android/issues/detail?id=61210

Change-Id: Iab369d2f591f46eb86b9fccf2087515edf974662
2014-02-11 17:28:30 -08:00
Ying Wang
ba46260f8d Merge "Runtime resource overlay, iteration 2" 2014-02-11 19:27:59 +00:00
Octavian Purdila
e2525ade32 generic_x86: toggle 64bit binder ABI
Change-Id: I60b8d98ff1f1ba5f242d256279e27d780b5dabf9
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
2014-02-11 13:32:15 +08:00
David 'Digit' Turner
145562fcef Merge "Add missing font files to SDK system images." 2014-02-10 11:31:18 +00:00
Chris Dearman
1efd9e462a [MIPS64] Add mips64 target
Change-Id: Ice1621101c0d5a3314db288542ca8020e3f406bf
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-05 19:07:57 -08:00
David 'Digit' Turner
b0dac93412 Add missing font files to SDK system images.
This adds a few missing font families to SDK system images.
This allows, in particular, support for the Korean language.

Note that this depends on other patches under device/generic/
to fix some board and product configuration files, otherwise
this change will have no effect.

See http://b.android.com/40340

Change-Id: Idba6471de32232833f511a4da97fd652906fec51
2014-02-04 14:49:23 +01:00
Mårten Kongstad
2e1ade925c Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-01-31 14:44:07 +01:00