16k: core: Add flag to make AOSP page size agnostic
The new boolean flag will be PRODUCT_PAGE_SIZE_AGNOSTIC.
When PRODUCT_PAGE_SIZE_AGNOSTIC is true:
- AOSP will use getpagesize() to retrieve the page size.
- The flag `TARGET_MAX_PAGE_SIZE_SUPPORTED` has to be equals to `65536`.
- AOSP will be able to use 4k/16k page size Linux kernels
When PRODUCT_PAGE_SIZE_AGNOSTIC is false:
- AOSP will only support 4k page size kernels.
Test: source build/envsetup.sh
lunch aosp_raven_64-userdebug
get_build_var TARGET_PAGE_SIZE_AGNOSTIC
get_build_var PRODUCT_MAX_PAGE_SIZE_SUPPORTED
65536
source build/envsetup.sh
lunch aosp_raven_64-userdebug
build/make/core/config.mk:414: error: TARGET_MAX_PAGE_SIZE_SUPPORTED has to be 65536 to support page size agnostic.
10:32:55 dumpvars failed with: exit status 1
Bug: 289419664
Change-Id: If8fc243a3e2cad77414a53a29805c7b6d349d4dd
diff --git a/core/product.mk b/core/product.mk
index 99b3dea..b66f1e2 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -33,6 +33,10 @@
# 4096, 16384 and 65536.
_product_single_value_vars += PRODUCT_MAX_PAGE_SIZE_SUPPORTED
+# Indicates that AOSP can use a kernel configured with 4k/16k/64k page sizes.
+# The possible values are true or false.
+_product_single_value_vars += PRODUCT_PAGE_SIZE_AGNOSTIC
+
# The resource configuration options to use for this product.
_product_list_vars += PRODUCT_LOCALES
_product_list_vars += PRODUCT_AAPT_CONFIG