Use 4.9 mips64el toolchain for both 64- and 32-bit builds.
Tell ld when 32-bit links are required.
Override 4.9's changed defaults for mips floating point
register use, to get same assembler rules as 4.8 and earlier.
Also: drop unused soft-fp build targets, cleanout redundant
compiler options, and remove extraneous Android.mk file.
(cherry picked from commit 6670e24aed)
Change-Id: I34d2f8fc6113c9d1670e3acff1aff48634b9fe1b
Add mips64r6 target and corresponding mips32r6 target.
Defaults remain as mips64r2 and mips32r2.
Apply -FP64A codegen subsetting to mips32r6 only.
Access FR=0 odd-numbered 32-bit float regs only via
double-prec even-numbered regs, not by single-prec ops.
Change-Id: I1740a6c658304b6c41242be58d68753e6f171658
Use 4.9 mips64el toolchain for both 64- and 32-bit builds.
Tell ld when 32-bit links are required.
Override 4.9's changed defaults for mips floating point
register use, to get same assembler rules as 4.8 and earlier.
Also: drop unused soft-fp build targets, cleanout redundant
compiler options, and remove extraneous Android.mk file.
Change-Id: I86f1075266349edb2b08a7709b9f5472d8cfda32
We originally forked a complete copy of generic/sepolicy into
generic_x86/sepolicy, but we can instead inherit from it and
merely add rules as needed under generic_x86/sepolicy.
Change-Id: I21e1a1425ce08676a8ea69685a4761db3bfde628
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
I87d0976800557d73064e2da038315b0d019d7a60 removed zygote.te from
generic/sepolicy and generic/BoardConfig.mk but also incorrectly
removed it from generic_x86/BoardConfig.mk, even though
generic_x86/sepolicy/zygote.te still exists and contains rules
needed on the x86 emulator. Otherwise the zygote fails with
execmem denials on the x86 emulator.
(x86 emulator is also broken currently due to yaffs2 /cache yielding
unlabeled denials, but that is unrelated to this change).
Change-Id: Ie36ed4ed7ba478a377f9a0d4383d006b49bde5cc
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
A sensible default for the 32bit CPU_VARIANT of an ARM64 build is
cortex-a15. Please note that the AArch32 execution state of ARMv8
is a superset of ARMv7.
Change-Id: Id2b655172750e04609ae9ba22d621fe83cd69b1a
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
x86 just bit me. I did manage to build mips today, but I assume it
can't be long before we hit the limit there too if every other target
has hit it already.
Change-Id: I28dfe3b4f9565cb79e0bf6b0ffc55a9d6e64a9b0
Also siezes the opportunity to remove the hardcoded
TARGET_PREFER_32_BIT_APPS directing in core_64_bit.mk.
This avoids the need for further hacks but needs supporting
changes to a few apps to force them to 32 bit.
Change-Id: I36ba9e5f5b08dd87d6a4afc27961a436306eed99
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
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
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
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>
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>
Following the new vibrator hardware module implementation, the
goldfish vibrator module is no longer integrated in the default
vibrator implementation and therefore needs to be explicitly built
for the emulator.
This patch is related to others in:
- hardware/libhardware
- hardware/libhardware_legacy
- frameworks/base
- device/generic/goldfish
Change-Id: I844279f5535289f079d412fdc44c5cb3c9c1130c
Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 94611
Since 558477c0b2a5a7db679c1ad7551d43e6364d1df2 in
external/wpa_supplicant_8 we don't need those modules if
WPA_SUPPLICANT_VERSION is not set by the BoardConfig.mk.
Actually the generic devices don't need them.
Change-Id: Iff7c1fbf483bd16d5f898836c4e7401d56def80f
Conflicts:
target/product/core_tiny.mk
Since 558477c0b2a5a7db679c1ad7551d43e6364d1df2 in
external/wpa_supplicant_8 we don't have WPA_SUPPLICANT_VERSION default
to VER_0_8_X.
This fixes the SDK build.
Change-Id: Ib7a8e10705dc6b987b60b1308405e89eaa2a47c9
Add x86_64 Android builds. Compiler is expected to be able to understand
-m64 code generation option.
Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Don't bother going through the source tree in more circumstances:
all cleaning goals, helping goals, no-deps goals.
Bug: 10244578
Change-Id: Id53a249085c62838e4193962a85e0ac34f46954f
- BOOTCLASSPATH now is product-configurable;
- No need to maintain the duplicate values in core/dex_preopt.mk.
- clean up some legacy ALL_PREBUILTs.
Bug: 9990214
Change-Id: Ie3953e66d282e335bb7782b0ebd56102c35ec10e
Adding this since all arm builds will require TARGET_CPU_VARIANT
to be set to a valid value in the near future.
Merge from internal master.
Change-Id: I2b73f9dbdd04cd8ac47035875c714bd0e75920e7
Adding this since all arm builds will require TARGET_CPU_VARIANT
to be set to a valid value in the near future.
Bug: 8005082
Change-Id: I5b945a36c10e0095bccbe453f7652da08ebc6162
Change TARGET_ARCH_VARIANT from x86-atom to x86, for the reason
that atom-specific instruciton like "movbe" isn't "generic" to
x86 Android devices and x86 host running emulator-x86, which may
crash non-atom host in VT because "movbe" isn't supported natively.
Also revert previous fix in TARGET_linux-x86.mk which conservatively
disable "movbe" across the board
Change-Id: Ief93a3585566ffae558fcdc29741e6213a048d7d
That can gain better memory performance than 8-byte alignment
Change-Id: Ibcc5bf7b96ed10166038357dd0c86c9171768f3e
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Having the copy of default audio_policy.conf file in generic_no_telephony.mk
doesn't work because of multiple inheritance on certain products.
Move it to board/generic/device.mk to be consistent with how the audio HAL
modules are managed.
Issue 6333980.
Change-Id: If6053ad596b6f693f43c72ba9cc54cb7a7cfa233
-- remove local copy of init.rc (start using system/core/rootdir/init.rc)
-- sync init.vbox_x86.rc with init.goldfish.rc (at SHA
a503456526359767ffb383a06835308f62172dde)
-- Make the following changes:
a) add mount calls
b) remove call to init.goldfish.sh
c) enable service netcfg
-- inherit frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk
Change-Id: Ic5f6b2da32dc79de85f3d7b93dffb483e480e098
Signed-off-by: Iliyan Malchev <malchev@google.com>
Adds a python script which checks the version of each radio image
added with the new add-radio-file-checked macro against a file
containing sha-1 -> version string mappings and the contents of
board-info.txt, so that the build can fail if board-info.txt and the
OTA images are out of sync.
Change-Id: Icb61dc2adefc240ced9059941582c23b629089c0
Bug: 6015755
We don't need to support ARMv5 in cts for master going forward.
cts is the only component that needs generic_armv5 config.
Change-Id: Iad35f78737dc30faeed247fda0e77d74cb8f815b
Add boot property enabling ADBD over QEMU
Emulator and system image now support ADBD communication over QEMUD pipe rather
than over a TCP port forwarding. However, emulator has to know ahead of time
(before system starts booting) whether or not the system image supports ADBD
over pipe to properly setup the communication. For that, we introduce a boot
property "ro.adb.qemu" that is readable by the emulator early enough for the
proper ADB communication setup.
Change-Id: I978489c5acf46177b520e775d745bcc78f469837
Emulator and system image now support ADBD communication over QEMUD pipe rather
than over a TCP port forwarding. However, emulator has to know ahead of time
(before system starts booting) whether or not the system image supports ADBD
over pipe to properly setup the communication. For that, we introduce a boot
property "ro.adb.qemu" that is readable by the emulator early enough for the
proper ADB communication setup.
Change-Id: I978489c5acf46177b520e775d745bcc78f469837
If the emulator is run without GL acceleration enabled, the OpenGL
renderer will disable itself at runtime.
Change-Id: Ie40c7895120f51bb6a817c2f3cf7fab0a3dda292
This is dependent on having a kernel that uses CONFIG_HAS_TLS_REG=y
which is enabled in change Ic497e41270a4ad78ca55ab5674b5342e8d939e56
Change-Id: I456c270dd5b4d8fedfb423ac8e363fd37b77f8ce
This patch re-enables dex preoptimization in emulator-specific
builds. This considerably speeds up the first-boot of SDK AVDs
since the dex optimization pass is performed during the build
instead.
This was enabled in a previous patch, then reverted due to a
bug in the build system that has been fixed since.
This patch doesn't affect any device build.
Change-Id: I3be8a9c7f51a86029fde30b7d37584cb40b4db69
The file is required by the camera framework to properly set it up to work with
emulated camera devices.
Change-Id: I39686841030d21ef23775972aa4ee0ecd7a91c02
Bug 5267392
After coming across another place where I would have to use
package.apk.unaligned, I decided maybe it is best to just
disable dexpreopt as was previously suggested.
Use package.apks in the CTS Makefile task.
Change-Id: Iec839a72f4b53441337523b8a9cccda657eec8e8
Bug 5267392
Copied the prior generic product but tried to include
Makefiles from the generic product when possible to
avoid drifting.
Change-Id: I7893adb65c37c1257bcb5224848f4cd7cd93d2f9
This patch enables the build of OpenGLES emulation libraries
(both in the guest and the host) for any emulator-specific
product config.
+ update core/main.mk to ensure that the right path is parsed
when building the Windows SDK
Change-Id: Ifde047f8c0ef922504a7286c8c5b57f7c79c71f8
Backport from AOSP master.
This enables the Dex pre-optimization for emulator-specific builds.
The idea is to speed up the initial boot sequence of an SDK AVD by
avoiding the costly on-device preopt pass that is performed otherwise
the first time the AVD is launched.
Benchmarking shows reductions in first boot time from 1m30s to 40s
on a 2.4GHz Xeon when emulating the AOSP master ToT.
Change-Id: Ibf5ebe68aa4d363c9df05d2ffe7cb828ef99f922
Orig-Change-Id: I67a9ce9791220c202817864c6e83dc8fd9cbc027
Backport from AOSP master.
Now that the emulator supports proper ARMv7 emulation, switch to
building all emulator-specific platform images using this instruction
set, in order to benefit from the noticeable speed boost provided by
Thumb-2 instructions.
Note that we don't build with NEON support because emulated NEON
instructions are currently slow, though they work.
IMPORTANT: You need to have the following emulator patch in your tree
in order to start these platform builds easily:
https://review.source.android.com//#change,23798
Otherwise, the alternative is to do these things:
1/ Telling the emulator to emulate an ARMv7-A CPU, instead of
an ARMv5TE one. This is normally done with "-qemu cortex-a8"
2/ Using an ARMv7-A capable kernel image, which is available and
usable with -kernel prebuilt/android-arm/kernel-qemu-armv7
Note that the emulator has a special hack that automatically enables
1/ if 2/ is being used (i.e. if the kernel image name ends with -armv7,
then emulate an ARMv7-A CPU automatically).
So in reality, only 2/ is required.
Change-Id: Id3ac7cdbda892e519af98aff1f02136f344406b8
Orig-Change-Id: I5c0245ba5e6a2bc34d0d49b2c024fffd317a5eed
This splits the existing full.mk in two parts:
-One is the device-independent full_base.mk
-The other is the emulator-specific device.mk
This way we'll be able to inherit from full_base.mk
for on-device builds without any emulator-specific
files getting in the way.
Change-Id: I7f8254bf8c1177594fbdfbdb082bdc429a4a5b25
Orig-Change-Id: Ieb1f4ed47988c8fff119ff53f1f374032da3752d
This enables the Dex pre-optimization for emulator-specific builds.
The idea is to speed up the initial boot sequence of an SDK AVD by
avoiding the costly on-device preopt pass that is performed otherwise
the first time the AVD is launched.
Benchmarking shows reductions in first boot time from 1m30s to 40s
on a 2.4GHz Xeon when emulating the AOSP master ToT.
Change-Id: I67a9ce9791220c202817864c6e83dc8fd9cbc027
Now that the emulator supports proper ARMv7 emulation, switch to
building all emulator-specific platform images using this instruction
set, in order to benefit from the noticeable speed boost provided by
Thumb-2 instructions.
Note that we don't build with NEON support because emulated NEON
instructions are currently slow, though they work.
IMPORTANT: You need to have the following emulator patch in your tree
in order to start these platform builds easily:
https://review.source.android.com//#change,23798
Otherwise, the alternative is to do these things:
1/ Telling the emulator to emulate an ARMv7-A CPU, instead of
an ARMv5TE one. This is normally done with "-qemu cortex-a8"
2/ Using an ARMv7-A capable kernel image, which is available and
usable with -kernel prebuilt/android-arm/kernel-qemu-armv7
Note that the emulator has a special hack that automatically enables
1/ if 2/ is being used (i.e. if the kernel image name ends with -armv7,
then emulate an ARMv7-A CPU automatically).
So in reality, only 2/ is required.
Change-Id: I5c0245ba5e6a2bc34d0d49b2c024fffd317a5eed
Switch the emulator builds to ash to make sure it still
works, in case we find that we need to go back to using ash.
Change-Id: Id5641940b63cc4225011be1c375f4c86ec4d21cc
Added an instruction to copy init.vbox_x86.rc to the output's root.
This is required to properly setup networking and other stuff inside
the emulator.
Change-Id: I84b11b048120a59109aa95d4f18d496a3c874911
Change-Id: I1fc3cb491d593d3e28f90278cfc8de5d77852932
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Change-Id: I1fc3cb491d593d3e28f90278cfc8de5d77852932
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.
The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.
LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.
Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
We are deprecating use of AndroidBoard.mk. To move add-radio-file to
Android.mk, cleaning INSTALLED_RADIOIMAGE_TARGET may clean the radio
target set by other Android.mks that get included before
target/board/Android.mk.
Bug: 3500660
Change-Id: Iee19c40c18f0e9ec23bad4b6ab0e600756af615a
It was defaulting to 128M which was slightly too small for all the
applications. Increasing to 150M fits the resulting image.
Change-Id: I55957c54fbdb77090487c08ed3948988621978b3
Split telephony into its own product, so that we can easily
add telephony support to any configuration without pulling
anything else. Use it from generic.
Split the "full" family between a (no-telephony) base,
a telephony version of the same (both of which can be used
as a starting point for on-device builds), and the true classic
full which is an emulator build.
Change-Id: I616d34f2a29415b8ec997173f8e893c312ade5c2
This splits the existing full.mk in two parts:
-One is the device-independent full_base.mk
-The other is the emulator-specific device.mk
This way we'll be able to inherit from full_base.mk
for on-device builds without any emulator-specific
files getting in the way.
Change-Id: Ieb1f4ed47988c8fff119ff53f1f374032da3752d
A long time ago, Android.mk in devices had the same semantics
as the current AndroidBoard.mk. This eventually caused problems
(as it didn't allow having a true Android.mk there) so we switched,
and left an error behind in case people were still using the old
semantics (i.e. having an Android.mk but no AndroidBoard.mk).
Fast forward a few years to the present: we're finding that we want
to get rid of AndroidBoard.mk, so there are devices that will have
Android.mk but not AndroidBoard.mk. As this is becoming a legitimate
case, the error for it is removed, and the include for AndroidBoard.mk
is made optional.
Change-Id: Ic683419d4aaab122259715e0112660d2a6359e91
Merge commit '85fd5030b11d412f345b0ed039aa9912c7973aea' into gingerbread-plus-aosp
* commit '85fd5030b11d412f345b0ed039aa9912c7973aea':
Revert "Fixed problem with keymap files copied to target"
Merge commit 'a160e3169e6624610fd05b2edd14b674ffb54e44' into gingerbread-plus-aosp
* commit 'a160e3169e6624610fd05b2edd14b674ffb54e44':
Fixed problem with keymap files copied to target
Moved Android.mk and keymap files except AVRCP.kl from sdk/emulator/keymaps
to build/target/board/generic. This causes the keymap files to copied into
the system image of generic and sdk products, but not into the system image
of HW products. Originally the qwerty.kl was copied to target no matter
if the target had a qwerty keyboard or not, which is the case for e.g.
the Nexus One.
Change-Id: I7cd80497632fb3b9e7ce2f3a7888d4924a355f52
Added "TARGET_CPU_SMP := true" to simulator configuration, since it's
likely the simulator will be running on SMP hardware.
Change-Id: I7527895abe70ffaece5c52fd3ffcfe4b0d698fd2
Add in Makefiles and support files for x86 builds
Based on changes by: wonjong.lee <wonjong.lee@windriver.com>
Additional changes by: Mark Gross <mark.gross@intel.com>
Additional changes by: Bruce Beare <brucex.j.beare@intel.com>
Change-Id: Id087411b282b1b68a0251e7f9cbbdde183549787
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
Non-HTC devices may have multiple files constituting their "radio
image". Generalize the INSTALLED_RADIOIMAGE_TARGET variable a bit:
initially define it as empty, then let AndroidBoard.mk files add to
it. Provide a convenience function add-radio-image for them to call
to add files. Put all those files into the target_files zip for use
in OTA and fastboot package construction.
Note that for HTC devices, this changes the name of the radio image in
the target_files zip: instead of "RADIO/image" it will be
"RADIO/radio.img". Tools that use the target_files zip will need to
be changed.