1# Copyright (C) 2018 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16# arm64 emulator specific definitions
17TARGET_ARCH := arm64
18TARGET_ARCH_VARIANT := armv8-a
19TARGET_CPU_VARIANT := generic
20TARGET_CPU_ABI := arm64-v8a
21
22TARGET_2ND_ARCH := arm
23TARGET_2ND_CPU_ABI := armeabi-v7a
24TARGET_2ND_CPU_ABI2 := armeabi
25
26ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk vts10,$(MAKECMDGOALS)),)
27# DO NOT USE
28# DO NOT USE
29#
30# This architecture / CPU variant must NOT be used for any 64 bit
31# platform builds. It is the lowest common denominator required
32# to build an unbundled application or cts for all supported 32 and 64 bit
33# platforms.
34#
35# If you're building a 64 bit platform (and not an application) the
36# ARM-v8 specification allows you to assume all the features available in an
37# armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant:
38#
39# TARGET_2ND_ARCH_VARIANT := armv8-a
40# TARGET_2ND_CPU_VARIANT := generic
41#
42# DO NOT USE
43# DO NOT USE
44TARGET_2ND_ARCH_VARIANT := armv7-a-neon
45# DO NOT USE
46# DO NOT USE
47TARGET_2ND_CPU_VARIANT := generic
48# DO NOT USE
49# DO NOT USE
50else
51TARGET_2ND_ARCH_VARIANT := armv8-a
52TARGET_2ND_CPU_VARIANT := generic
53endif
54
55include build/make/target/board/BoardConfigGsiCommon.mk
56
57TARGET_NO_KERNEL := false
58TARGET_NO_VENDOR_BOOT := true
59BOARD_USES_RECOVERY_AS_BOOT := true
60
61BOARD_KERNEL-5.4_BOOTIMAGE_PARTITION_SIZE := 67108864
62BOARD_KERNEL-5.4-GZ_BOOTIMAGE_PARTITION_SIZE := 47185920
63BOARD_KERNEL-5.4-LZ4_BOOTIMAGE_PARTITION_SIZE := 53477376
64BOARD_KERNEL-MAINLINE_BOOTIMAGE_PARTITION_SIZE := 67108864
65BOARD_KERNEL-MAINLINE-GZ_BOOTIMAGE_PARTITION_SIZE := 47185920
66BOARD_KERNEL-MAINLINE-LZ4_BOOTIMAGE_PARTITION_SIZE := 53477376
67
68BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
69
70BOARD_BOOT_HEADER_VERSION := 3
71BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
72
73BOARD_KERNEL_BINARIES := kernel-5.4 kernel-5.4-gz kernel-5.4-lz4 \
74    kernel-mainline kernel-mainline-gz kernel-mainline-lz4
75
76# Some vendors still haven't cleaned up all device specific directories under
77# root!
78
79# TODO(b/111434759, b/111287060) SoC specific hacks
80BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
81BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist
82BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware
83
84# TODO(b/36764215): remove this setting when the generic system image
85# no longer has QCOM-specific directories under /.
86BOARD_SEPOLICY_DIRS += build/make/target/board/generic_arm64/sepolicy
87