summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't pass in empty arg to dex2oat.Mathieu Chartier2014-03-051-1/+1
| | | | | | | We would occassionally pass in an empty arg "" instead of a NULL. This caused problems since dex2oat isn't made to handle empty args. Change-Id: Ibb1aed64a4aa17459b2a75a5a2abcf13c7fa8ac7
* Merge "Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags"Brian Carlstrom2014-03-051-10/+15
|\
| * Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flagsBrian Carlstrom2014-03-041-10/+15
|/ | | | Change-Id: Ic048ed654ea0ae38c9684e5fa5b14742b6b83305
* Merge "gui: Fix return code assert in CpuConsumer_test."Igor Murashkin2014-03-041-1/+1
|\
| * gui: Fix return code assert in CpuConsumer_test.Alistair Strachan2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | The CpuConsumer error code was changed recently from INVALID_OPERATION to NOT_ENOUGH_DATA, however the CpuConsumer_test was not updated. This change fixes the return code checked by CpuConsumer_test so the test no longer fails. Change-Id: Ie548ddcb313fa34c130ac63355090cb44ac15ebf
* | Merge "hwc test: 64-bit compilation error"Mark Salyzyn2014-03-041-2/+2
|\ \
| * | hwc test: 64-bit compilation errorMark Salyzyn2014-03-041-2/+2
|/ / | | | | | | | | | | * cast 1u to size_t in max() argument lists Change-Id: I02f711c89e96e4cfc348f1c7bac455339bec2fa1
* | Merge "Fix misuse of $(my-dir)."Ying Wang2014-03-011-2/+0
|\ \
| * | Fix misuse of $(my-dir).Ying Wang2014-02-281-2/+0
|/ / | | | | | | Change-Id: I8b24f60826abe4b541de646cbc3df66929203301
* | Merge "Correcting include path in installd test project's Android.mk"Narayan Kamath2014-02-281-1/+1
|\ \
| * | Correcting include path in installd test project's Android.mkRamin Zaghi2014-02-281-1/+1
|/ / | | | | | | | | | | | | | | installd project has moved from frameworks/base to frameworks/native and so its test project's c_include path defined in Android.mk has to match the change. Change-Id: I597125ff659f51edbd9fc95371790e2d567c78be
* | Merge "AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY"Narayan Kamath2014-02-272-3/+2
|\ \
| * | AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAYAshok Bhat2014-02-262-3/+2
|/ / | | | | | | | | | | | | | | | | This will allow eglGetDisplay(int) to work on both 32-bit and 64-bit systems when EGL_DEFAULT_DISPLAY is passed as a parameter. Change-Id: I0d7e9ca5410b0dd893eacc02aac40956908e4f25 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Merge "Virtual Display async mode is overridden"Jesse Hall2014-02-251-10/+10
|\ \
| * | Virtual Display async mode is overriddenJohn Dong2014-02-211-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Virtual Display async setting is overridden by eglApi.c causing stall during composition. Set the async mode after eglCreateWindowSurface() b/13139121 Change-Id: I336ca145552e387217cd8bea6e4b7f5f490a274d Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
* | | Merge "Use reinterpret_cast when an integer is cast to a pointer"Narayan Kamath2014-02-256-6/+8
|\ \ \
| * | | Use reinterpret_cast when an integer is cast to a pointerAshok Bhat2014-02-246-6/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: I5adcd59f58c029f7b2b596f4826d8ea69fb9bba6 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | | Merge "Use long for pointers in opengl/EGL classes"Narayan Kamath2014-02-2514-40/+203
|\ \ \ \
| * | | | Use long for pointers in opengl/EGL classesAshok Bhat2014-02-2414-40/+203
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EGL classes in frameworks/base have to be updated to support 64-bit platforms. Key changes in the EGL classes include [x] EGLObjectHandle class - EGLObjectHandle class has two public methods (constructor and getHandle) that assume handles are 32-bit. They have not been changed. Instead, two new hidden methods (EGLObjectHandle(long) and getNativeHandle) have been added. [x] EG14 class - Two public methods eglGetDisplay and eglCreatePbufferFromClientBuffer assume that handles are 32-bit. They have been changed to throw unsupported operation exception on non 32-bit machines. Two new methods eglGetDisplay(long) and eglCreatePbufferFromClientBuffer(...long buffer..) have been added to support 64-bit handles. To allow the above changes in frameworks/base EGL classes, corresponding code generation mechanism in frameworks/native has been updated. Change-Id: I5d0a62e10c20ccf05f610d6608b8dfb6414b5116 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | | Merge "Binder: Make sure binder objects do not overlap"Arve Hjønnevåg2014-02-251-0/+12
|\ \ \ \ | |/ / / |/| | |
| * | | Binder: Make sure binder objects do not overlapArve Hjønnevåg2014-02-241-0/+12
|/ / / | | | | | | | | | | | | | | | | | | Fixes crashing part of bug 11355082. The driver still leaks references. Change-Id: Ibc6a63b151c1fc1f7666237f25255ba781e02071
* | | Merge changes I3432d9d3,I90fcf538,I64398603Arve Hjønnevåg2014-02-212-1/+11
|\ \ \ | |/ / |/| | | | | | | | | | | | | | * changes: Binder: Fix some valgrind errors. Binder: Don't cast directly from a pointer to binder_uintptr_t Binder: Disable attemptIncStrongHandle
| * | Binder: Fix some valgrind errors.Arve Hjønnevåg2014-02-182-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When using 64 bit binder pointers, only initializing the 32 bit handle, in a stack allocated struct, will pass uninitialized stack data to the kernel and other processes. Change-Id: I3432d9d36bb251d8ddb0a863661aeb80aabb3d92
| * | Binder: Don't cast directly from a pointer to binder_uintptr_tArve Hjønnevåg2014-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When using the 64 bit binder interface from a 32 bit process the pointer may get sign extended and cause the kernel to fail to read from it. Change-Id: I90fcf53880e2aa92e230a9723f9b3f7696170e32
| * | Binder: Disable attemptIncStrongHandleArve Hjønnevåg2014-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | The driver does not support BC_ATTEMPT_ACQUIRE and will return an error. IPCThreadState does not handle driver errors, and will resend the failed command blocking all other commands. Change-Id: I643986037341821b27b62dc82df933844f4842b8
* | | Merge "Update EGL codegen to be in sync with frameworks/base"Narayan Kamath2014-02-211-1/+1
|\ \ \
| * | | Update EGL codegen to be in sync with frameworks/baseAshok Bhat2014-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Takeshi Aimi with commit-id f9337377 changed core/jni/android_opengl_EGL14.cpp in the frameworks/base. However the corresponding code snippet in frameworks/ native was not updated. This patch addresses the issue. Change-Id: I40bcc43d36d7ab4e0db4a73556a4f7480c7431c1 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | | Merge "Update GLES codegen to be in sync with frameworks/base"Narayan Kamath2014-02-211-1/+1
|\ \ \ \
| * | | | Update GLES codegen to be in sync with frameworks/baseAshok Bhat2014-02-201-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from synergydev with commit-id 01994c79 changed core/jni/com_google_android_gles_jni_GLImpl.cpp in the frameworks/base. However the corresponding code snippet in frameworks/native was not updated. This patch addresses the issue. Change-Id: I89c3d88de832efc8cbbe682c8a7ff7dfbef99db3 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | | Merge "surfaceflinger: add BoardConfig.mk variable to force 32-bit"Colin Cross2014-02-211-0/+4
|\ \ \ \ | |/ / / |/| | |
| * | | surfaceflinger: add BoardConfig.mk variable to force 32-bitColin Cross2014-02-201-0/+4
|/ / / | | | | | | | | | | | | | | | | | | Individual devices may need to force surfaceflinger to compile for 32-bit if they don't have 64-bit GL libraries. Change-Id: I3703b2f8e36e90cf125d9ed5e6318c3506861948
* | | Merge "libagl: support multilib build"Colin Cross2014-02-181-11/+7
|\ \ \
| * | | libagl: support multilib buildColin Cross2014-02-141-11/+7
| |/ / | | | | | | | | | | | | | | | | | | Use LOCAL_SRC_FILES_arch and LOCAL_CFLAGS_arch to support building for multiple architectures. Change-Id: I829c1bea880739bf8184df4006d0a481ffccc5c2
* | | Merge "Use /(vendor|system)/lib64/egl for 64-bit EGL libraries"Colin Cross2014-02-181-0/+14
|\ \ \ | |/ / |/| |
| * | Use /(vendor|system)/lib64/egl for 64-bit EGL librariesDan Willemsen2014-02-161-0/+14
|/ / | | | | | | Change-Id: Ie64806bfe4ba60a3167b84685cf983d4ada1042d
* | Merge "frameworks/native: move idmap to frameworks/base"Dianne Hackborn2014-02-146-1056/+0
|\ \
| * | frameworks/native: move idmap to frameworks/baseColin Cross2014-02-116-1056/+0
| | | | | | | | | | | | | | | | | | idmap depends on libandroidfw, so it should go in frameworks/base. Change-Id: Ieee30ba9d8170d3118acc89f0617981228a6974b
* | | Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."Nick Kralevich2014-02-123-4/+4
|\ \ \ | |/ / |/| |
| * | Convert all selinux_android_restorecon and _setfilecon calls to new API.Stephen Smalley2014-02-073-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libselinux selinux_android_restorecon API is changing to the more general interface with flags and dropping the older variants. Also get rid of the old, no longer used selinux_android_setfilecon API and rename selinux_android_setfilecon2 to it as it is the only API in use. Change-Id: I1e71ec398ccdc24cac4ec76f1b858d0f680f4925 Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
* | | Merge "Runtime resource overlay, iteration 2"Dianne Hackborn2014-02-113-10/+129
|\ \ \
| * | | Runtime resource overlay, iteration 2Mårten Kongstad2014-02-033-10/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "New command line tool 'idmap'"Dianne Hackborn2014-02-116-0/+1056
|\ \ \ \ | |/ / / | | / / | |/ / |/| |
| * | New command line tool 'idmap'Mårten Kongstad2014-02-036-0/+1056
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new tool 'idmap' to handle generation and verification of idmap files. The tool is modelled on 'dexopt', and is intended to be used similarly, notably by 'installd'. See cmds/idmap/idmap.cpp for further documentation on 'idmap'. Note: this commit is interdependent on a commit in project build/ to add 'idmap' to PRODUCT_PACKAGES. Note: the changes to androidfw are only stubs. The actual implementation will be provided in Runtime resource overlay, iteration 2. Change-Id: I7131b74ece1e46c8a9c0a31d103e686aa07da2bb
* | | Merge "binder: fix all warnings"Colin Cross2014-02-068-36/+39
|\ \ \
| * | | binder: fix all warningsColin Cross2014-02-058-36/+39
|/ / / | | | | | | | | | | | | | | | | | | Fix warnings related to casting pointers to ints, using %d or %ld to print size_t/ssize_t, and unused parameters. Change-Id: I7a13ba83d402952989c1f795cd9e880a95b98d9e
* | | Merge "Fixed apparent copy/paste mistake Bug: 11634373"Andrew Hsieh2014-02-051-1/+1
|\ \ \
| * | | Fixed apparent copy/paste mistakeDavid Friedman2014-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 11634373 Change-Id: I9b0ac4d3b4a9a2999b2013abd39465a062ec51ea
* | | | Merge "GLES_trace: fix compile errors on 64 bit architectures"Siva Velusamy2014-02-042-638/+640
|\ \ \ \ | |/ / / |/| | |
| * | | GLES_trace: fix compile errors on 64 bit architecturesSiva Velusamy2014-01-282-638/+640
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GLES_trace passes some pointers back to the host. Encode them using int64's rather than int32's This fix requires an update to the host tool to look at pointers as 64 bit, and if not found, then fall back to 32 bit integers. Change-Id: I11ff2ca51290f05913c1b9143cecee1caf015543
* | | | Merge "Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ ↵Arve Hjønnevåg2014-02-042-0/+6
|\ \ \ \ | | | | | | | | | | | | | | | TARGET_IS_64_BIT is set."