summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-04-16 06:27:39 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-16 06:27:39 +0000
commit38c79e7d7b5c3cf27fe2eb6554ec50c19f7bfcc8 (patch)
tree16c59f353e513472b06e7297d374bf290d06fa9d
parentc40951bed047a1fdff84b4bd2869c86475029f1d (diff)
parent52579d1a3f6d906369912db2c0c901b426143282 (diff)
downloadgoldfish-38c79e7d7b5c3cf27fe2eb6554ec50c19f7bfcc8.tar.gz
Merge "Revert "Retire x86_64 16k boards"" into main
-rw-r--r--64bitonly/product/sdk_phone16k_x86_64.mk60
-rw-r--r--AndroidProducts.mk1
-rw-r--r--board/emu64x16k/BoardConfig.mk24
-rw-r--r--board/emu64x16k/README.txt10
-rw-r--r--board/emu64x16k/details.mk34
-rw-r--r--board/emu64xa16k/BoardConfig.mk29
-rw-r--r--board/emu64xa16k/README.txt11
-rw-r--r--board/kernel/x86_64_16k.mk51
8 files changed, 220 insertions, 0 deletions
diff --git a/64bitonly/product/sdk_phone16k_x86_64.mk b/64bitonly/product/sdk_phone16k_x86_64.mk
new file mode 100644
index 00000000..379763be
--- /dev/null
+++ b/64bitonly/product/sdk_phone16k_x86_64.mk
@@ -0,0 +1,60 @@
+#
+# Copyright (C) 2023 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.
+#
+PRODUCT_USE_DYNAMIC_PARTITIONS := true
+
+# 1.5G + 8M
+BOARD_SUPER_PARTITION_SIZE ?= 1619001344
+BOARD_EMULATOR_DYNAMIC_PARTITIONS_SIZE ?= 1610612736
+
+#
+# All components inherited here go to system image
+#
+$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
+
+# Enable mainline checking for excat this product name
+ifeq (sdk_phone64_x86_64,$(TARGET_PRODUCT))
+PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := relaxed
+endif
+
+#
+# All components inherited here go to system_ext image
+#
+$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
+
+#
+# All components inherited here go to product image
+#
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
+
+PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP := \
+ development/sys-img/images_x86_64_source.prop_template
+
+PRODUCT_PACKAGES += \
+ GoldfishSkinConfig
+
+#
+# All components inherited here go to vendor image
+#
+$(call inherit-product, device/generic/goldfish/board/emu64x16k/details.mk)
+$(call inherit-product, device/generic/goldfish/64bitonly/product/emulator64_vendor.mk)
+
+# Overrides
+PRODUCT_BRAND := Android
+PRODUCT_NAME := sdk_phone16k_x86_64
+PRODUCT_DEVICE := emu64x16k
+PRODUCT_MODEL := Android SDK built for 16KB page-size x86_64
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index be179f9b..28b1e22a 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,5 +1,6 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/64bitonly/product/sdk_phone64_x86_64.mk \
+ $(LOCAL_DIR)/64bitonly/product/sdk_phone16k_x86_64.mk \
$(LOCAL_DIR)/64bitonly/product/sdk_phone64_x86_64_riscv64.mk \
$(LOCAL_DIR)/64bitonly/product/sdk_tablet_arm64.mk \
$(LOCAL_DIR)/64bitonly/product/sdk_tablet_x86_64.mk \
diff --git a/board/emu64x16k/BoardConfig.mk b/board/emu64x16k/BoardConfig.mk
new file mode 100644
index 00000000..7ac58287
--- /dev/null
+++ b/board/emu64x16k/BoardConfig.mk
@@ -0,0 +1,24 @@
+# Copyright (C) 2023 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.
+#
+
+# x86_64 emulator specific definitions
+TARGET_CPU_ABI := x86_64
+TARGET_ARCH := x86_64
+TARGET_ARCH_VARIANT := x86_64
+TARGET_2ND_ARCH_VARIANT := x86_64
+
+include device/generic/goldfish/board/BoardConfigCommon.mk
+
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
diff --git a/board/emu64x16k/README.txt b/board/emu64x16k/README.txt
new file mode 100644
index 00000000..62aa3d30
--- /dev/null
+++ b/board/emu64x16k/README.txt
@@ -0,0 +1,10 @@
+The "emu64x16k" product defines a non-hardware-specific IA target
+without a kernel or bootloader.
+
+This only supports 64bit 16KB pagesize abi: x86_64_16k
+
+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.
diff --git a/board/emu64x16k/details.mk b/board/emu64x16k/details.mk
new file mode 100644
index 00000000..d80838cc
--- /dev/null
+++ b/board/emu64x16k/details.mk
@@ -0,0 +1,34 @@
+#
+# Copyright (C) 2023 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.
+#
+
+include device/generic/goldfish/board/kernel/x86_64_16k.mk
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ vendor.rild.libpath=/vendor/lib64/libgoldfish-ril.so
+
+ADVANCED_FEATURES_FILE := advancedFeatures.ini
+ifneq ($(filter %_minigbm, $(TARGET_PRODUCT)),)
+ADVANCED_FEATURES_FILE := advancedFeatures.ini.minigbm
+endif
+
+PRODUCT_COPY_FILES += \
+ device/generic/goldfish/data/etc/config.ini.xl:config.ini \
+ device/generic/goldfish/data/etc/$(ADVANCED_FEATURES_FILE):advancedFeatures.ini \
+ $(EMULATOR_KERNEL_FILE):kernel-ranchu \
+ device/generic/goldfish/board/fstab/x86:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \
+ device/generic/goldfish/board/fstab/x86:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \
+
+$(call inherit-product, device/generic/goldfish/board/16k.mk)
diff --git a/board/emu64xa16k/BoardConfig.mk b/board/emu64xa16k/BoardConfig.mk
new file mode 100644
index 00000000..1ba32259
--- /dev/null
+++ b/board/emu64xa16k/BoardConfig.mk
@@ -0,0 +1,29 @@
+# Copyright (C) 2023 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.
+#
+
+# x86_64 16K emulator specific definitions
+TARGET_CPU_ABI := x86_64
+TARGET_ARCH := x86_64
+TARGET_ARCH_VARIANT := x86_64
+TARGET_2ND_ARCH_VARIANT := x86_64
+
+TARGET_NATIVE_BRIDGE_ARCH := arm64
+TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv8-a
+TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic
+TARGET_NATIVE_BRIDGE_ABI := arm64-v8a
+
+include device/generic/goldfish/board/BoardConfigCommon.mk
+
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
diff --git a/board/emu64xa16k/README.txt b/board/emu64xa16k/README.txt
new file mode 100644
index 00000000..be6670b1
--- /dev/null
+++ b/board/emu64xa16k/README.txt
@@ -0,0 +1,11 @@
+The "emu64xa16k" product defines a non-hardware-specific IA target
+without a kernel or bootloader.
+
+This only supports 64bit 16KB pagesize abi: x86_64_16k
+and ndk-translated arm64_16k abi
+
+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.
diff --git a/board/kernel/x86_64_16k.mk b/board/kernel/x86_64_16k.mk
new file mode 100644
index 00000000..4b8ee9be
--- /dev/null
+++ b/board/kernel/x86_64_16k.mk
@@ -0,0 +1,51 @@
+#
+# Copyright (C) 2023 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.
+#
+
+# we do NOT support OTA - suppress the build warning
+PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
+
+# Use 16K page size kernel
+TARGET_KERNEL_USE := 6.1
+TARGET_KERNEL_ARCH := x86_64
+KERNEL_ARTIFACTS_PATH := kernel/prebuilts/$(TARGET_KERNEL_USE)/$(TARGET_KERNEL_ARCH)/16k
+VIRTUAL_DEVICE_KERNEL_MODULES_PATH := \
+ kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/$(subst _,-,$(TARGET_KERNEL_ARCH))/16k
+
+# The list of modules to reach the second stage. For performance reasons we
+# don't want to put all modules into the ramdisk.
+RAMDISK_KERNEL_MODULES := \
+ virtio_blk.ko \
+ virtio_console.ko \
+ virtio_dma_buf.ko \
+ virtio_pci.ko \
+ virtio_pci_legacy_dev.ko \
+ virtio_pci_modern_dev.ko \
+ virtio-rng.ko \
+ vmw_vsock_virtio_transport.ko \
+
+BOARD_SYSTEM_KERNEL_MODULES := $(wildcard $(KERNEL_ARTIFACTS_PATH)/*.ko)
+
+BOARD_VENDOR_RAMDISK_KERNEL_MODULES := \
+ $(patsubst %,$(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/%,$(RAMDISK_KERNEL_MODULES))
+
+BOARD_VENDOR_KERNEL_MODULES := \
+ $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES),\
+ $(wildcard $(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/*.ko))
+
+BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := \
+ device/generic/goldfish/board/kernel/kernel_modules.blocklist
+
+EMULATOR_KERNEL_FILE := $(KERNEL_ARTIFACTS_PATH)/kernel-$(TARGET_KERNEL_USE)