1#
2# Copyright 2020 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17PRODUCT_SHIPPING_API_LEVEL := 29
18PRODUCT_USE_DYNAMIC_PARTITIONS := true
19PRODUCT_FULL_TREBLE_OVERRIDE := true
20PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
21
22#
23# All components inherited here go to system image
24#
25$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
26$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
27
28#
29# All components inherited here go to system_ext image
30#
31$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
32$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
33
34#
35# All components inherited here go to product image
36#
37$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
38
39#
40# All components inherited here go to vendor image
41#
42$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk)
43$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
44
45PRODUCT_SOONG_NAMESPACES += device/generic/goldfish
46
47PRODUCT_PACKAGES += \
48    android.hardware.audio.service \
49    android.hardware.audio@6.0-impl:32 \
50    android.hardware.audio.effect@6.0-impl:32 \
51    audio.primary.default \
52    audio.r_submix.default \
53    android.hardware.drm@1.0-service \
54    android.hardware.drm@1.0-impl \
55    android.hardware.drm-service.clearkey \
56    android.hardware.gatekeeper@1.0-service.software \
57    android.hardware.graphics.allocator@2.0-service \
58    android.hardware.graphics.allocator@2.0-impl \
59    android.hardware.graphics.composer@2.1-service \
60    android.hardware.graphics.mapper@2.0-impl \
61    android.hardware.health@2.0-service \
62    android.hardware.neuralnetworks@1.3-service-sample-all \
63    android.hardware.neuralnetworks@1.3-service-sample-limited \
64    android.hardware.keymaster@4.0-service \
65    android.hardware.keymaster@4.0-impl \
66    gralloc.minigbm \
67    hwcomposer.drm_minigbm \
68    libEGL_angle \
69    libGLESv1_CM_angle \
70    libGLESv2_angle \
71    vulkan.pastel \
72
73PRODUCT_HOST_PACKAGES += bind_to_localhost
74
75PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/fvpbase/overlay
76
77PRODUCT_NAME := fvp
78PRODUCT_DEVICE := fvpbase
79PRODUCT_BRAND := Android
80PRODUCT_MODEL := AOSP on FVP
81
82PRODUCT_COPY_FILES += \
83    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
84    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
85    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
86    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
87    device/generic/goldfish/fvpbase/fstab.fvpbase:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.fvpbase \
88    device/generic/goldfish/fvpbase/fstab.qemu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.qemu \
89    device/generic/goldfish/fvpbase/fstab.initrd:$(TARGET_COPY_OUT_RAMDISK)/fstab.fvpbase \
90    device/generic/goldfish/fvpbase/fstab.initrd:$(TARGET_COPY_OUT_RAMDISK)/fstab.qemu \
91    device/generic/goldfish/fvpbase/init.fvpbase.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.fvpbase.rc \
92    device/generic/goldfish/fvpbase/init.qemu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.qemu.rc \
93    device/generic/goldfish/fvpbase/required_images:required_images \
94    device/generic/goldfish/fvpbase/ueventd.fvp.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
95    frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
96    frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
97    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
98    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
99    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
100    frameworks/av/services/audiopolicy/config/surround_sound_configuration_5_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/surround_sound_configuration_5_0.xml \
101
102PRODUCT_BUILD_BOOT_IMAGE := true
103
104PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
105    qemu.hw.mainkeys=0 \
106    ro.hw_timeout_multiplier=50 \
107    debug.sf.nobootanimation=1 \
108    ro.hardware.egl=angle \
109    ro.hardware.vulkan=pastel \
110
111PRODUCT_REQUIRES_INSECURE_EXECMEM_FOR_SWIFTSHADER := true
112
113# It's almost always faster to dexopt on the host even in eng builds.
114WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := false
115
116DEVICE_MANIFEST_FILE += device/generic/goldfish/fvpbase/manifest.xml
117
118# Use a multilib setup (see fvpbase/BoardConfig.mk).
119FVP_MULTILIB_BUILD := true
120
121