diff --git a/target/board/generic_x86_arm/BoardConfig.mk b/target/board/generic_x86_arm/BoardConfig.mk index d1e488408..8e70b2589 100644 --- a/target/board/generic_x86_arm/BoardConfig.mk +++ b/target/board/generic_x86_arm/BoardConfig.mk @@ -1,4 +1,4 @@ -# Copyright (C) 2016 The Android Open Source Project +# Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,11 +13,7 @@ # limitations under the License. # -# Configuration for generic_x86 + arm libraries needed by binary translation. - -# The generic product target doesn't have any hardware-specific pieces. -TARGET_NO_BOOTLOADER := true -TARGET_NO_KERNEL := true +# x86 emulator specific definitions TARGET_CPU_ABI := x86 TARGET_ARCH := x86 TARGET_ARCH_VARIANT := x86 @@ -28,39 +24,27 @@ TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_ARCH_VARIANT := armv7-a TARGET_2ND_CPU_VARIANT := generic -# Tell the build system this isn't a typical 64bit+32bit multilib configuration. +TARGET_CPU_ABI_LIST := x86 armeabi-v7a armeabi TARGET_TRANSLATE_2ND_ARCH := true BUILD_BROKEN_DUP_RULES := true -# no hardware camera -USE_CAMERA_STUB := true -# Enable dex-preoptimization to speed up the first boot sequence -# of an SDK AVD. Note that this operation only works on Linux for now -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := false - endif -endif +include build/make/target/board/BoardConfigEmuCommon.mk +include build/make/target/board/BoardConfigGsiCommon.mk -TARGET_USES_HWC2 := true -NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +# Resize to 4G to accomodate ASAN and CTS +BOARD_USERDATAIMAGE_PARTITION_SIZE := 4294967296 -# Build OpenGLES emulation host and guest libraries -BUILD_EMULATOR_OPENGL := true +BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86 -# Build and enable the OpenGL ES View renderer. When running on the emulator, -# the GLES renderer disables itself if host GL acceleration isn't available. -USE_OPENGL_RENDERER := true - -TARGET_USERIMAGES_USE_EXT4 := true -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1879048192 # 1.75 GB -BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 -BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016 -BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_FLASH_BLOCK_SIZE := 512 -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true - -BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/common +# Wifi. +BOARD_WLAN_DEVICE := emulator +BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated +WPA_SUPPLICANT_VERSION := VER_0_8_X +WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" +WIFI_DRIVER_FW_PATH_STA := "/dev/null" +WIFI_DRIVER_FW_PATH_AP := "/dev/null" diff --git a/target/board/generic_x86_arm/README.txt b/target/board/generic_x86_arm/README.txt new file mode 100644 index 000000000..05f7ca2d3 --- /dev/null +++ b/target/board/generic_x86_arm/README.txt @@ -0,0 +1,10 @@ +The "generic_x86_arm" product defines a non-hardware-specific IA target +without a kernel or bootloader. + +It can be used to build the entire user-level system, and +will work with the IA version of the emulator, + +It is not a product "base class"; no other products inherit +from it or use it in any way. + +Third party arm to x86 translator has to be installed as well diff --git a/target/board/generic_x86_arm/device.mk b/target/board/generic_x86_arm/device.mk new file mode 100644 index 000000000..0a3241511 --- /dev/null +++ b/target/board/generic_x86_arm/device.mk @@ -0,0 +1,24 @@ +# +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# NFC: +# Provide default libnfc-nci.conf file for devices that does not have one in +# vendor/etc because aosp system image (of aosp_$arch products) is going to +# be used as GSI. +# May need to remove the following for newly launched devices in P since this +# NFC configuration file should be in vendor/etc, instead of system/etc +PRODUCT_COPY_FILES += \ + device/generic/common/nfc/libnfc-nci.conf:system/etc/libnfc-nci.conf diff --git a/target/board/generic_x86_arm/system.prop b/target/board/generic_x86_arm/system.prop new file mode 100644 index 000000000..64829f3ce --- /dev/null +++ b/target/board/generic_x86_arm/system.prop @@ -0,0 +1,5 @@ +# +# system.prop for generic sdk +# + +rild.libpath=/vendor/lib/libreference-ril.so diff --git a/target/product/aosp_x86_arm.mk b/target/product/aosp_x86_arm.mk index 19f57e867..b921c979e 100644 --- a/target/product/aosp_x86_arm.mk +++ b/target/product/aosp_x86_arm.mk @@ -17,27 +17,32 @@ # aosp_x86 with arm libraries needed by binary translation. +# The system image of aosp_x86-userdebug is a GSI for the devices with: +# - x86 32 bits user space +# - 64 bits binder interface +# - system-as-root +# - VNDK enforcement +# - compatible property override enabled + +-include device/generic/goldfish/x86-vendor.mk + include $(SRC_TARGET_DIR)/product/full_x86.mk -# arm libraries. This is the list of shared libraries included in the NDK. -# Their dependency libraries will be automatically pulled in. +# Enable dynamic partition size +PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true + +# Enable A/B update +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := system PRODUCT_PACKAGES += \ - libandroid_arm \ - libaaudio_arm \ - libc_arm \ - libdl_arm \ - libEGL_arm \ - libGLESv1_CM_arm \ - libGLESv2_arm \ - libGLESv3_arm \ - libjnigraphics_arm \ - liblog_arm \ - libm_arm \ - libmediandk_arm \ - libOpenMAXAL_arm \ - libstdc++_arm \ - libOpenSLES_arm \ - libz_arm \ + update_engine \ + update_verifier + +# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI +PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true + +# Support addtional P vendor interface +PRODUCT_EXTRA_VNDK_VERSIONS := 28 PRODUCT_NAME := aosp_x86_arm PRODUCT_DEVICE := generic_x86_arm