diff --git a/Makefile b/Makefile index 932fb3b54..e00159a30 100644 --- a/Makefile +++ b/Makefile @@ -385,6 +385,7 @@ $(eval $(call assert_boolean,ENABLE_PSCI_STAT)) $(eval $(call assert_boolean,ENABLE_RUNTIME_INSTRUMENTATION)) $(eval $(call assert_boolean,ERROR_DEPRECATED)) $(eval $(call assert_boolean,GENERATE_COT)) +$(eval $(call assert_boolean,HW_ASSISTED_COHERENCY)) $(eval $(call assert_boolean,LOAD_IMAGE_V2)) $(eval $(call assert_boolean,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,PL011_GENERIC_UART)) @@ -419,6 +420,7 @@ $(eval $(call add_define,ENABLE_PMF)) $(eval $(call add_define,ENABLE_PSCI_STAT)) $(eval $(call add_define,ENABLE_RUNTIME_INSTRUMENTATION)) $(eval $(call add_define,ERROR_DEPRECATED)) +$(eval $(call add_define,HW_ASSISTED_COHERENCY)) $(eval $(call add_define,LOAD_IMAGE_V2)) $(eval $(call add_define,LOG_LEVEL)) $(eval $(call add_define,NS_TIMER_SWITCH)) diff --git a/docs/user-guide.md b/docs/user-guide.md index 091aeba04..4ed0e2017 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -328,6 +328,15 @@ performed. * `HANDLE_EA_EL3_FIRST`: When defined External Aborts and SError Interrupts will be always trapped in EL3 i.e. in BL31 at runtime. +* `HW_ASSISTED_COHERENCY`: On most ARM systems to-date, platform-specific + software operations are required for CPUs to enter and exit coherency. + However, there exists newer systems where CPUs' entry to and exit from + coherency is managed in hardware. Such systems require software to only + initiate the operations, and the rest is managed in hardware, minimizing + active software management. In such systems, this boolean option enables ARM + Trusted Firmware to carry out build and run-time optimizations during boot + and power management operations. This option defaults to 0. + * `LOAD_IMAGE_V2`: Boolean option to enable support for new version (v2) of image loading, which provides more flexibility and scalability around what images are loaded and executed during boot. Default is 0. diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk index b47ea46e3..de506be5b 100644 --- a/make_helpers/defaults.mk +++ b/make_helpers/defaults.mk @@ -105,6 +105,10 @@ FWU_FIP_NAME := fwu_fip.bin # For Chain of Trust GENERATE_COT := 0 +# Whether system coherency is managed in hardware, without explicit software +# operations. +HW_ASSISTED_COHERENCY := 0 + # Flag to enable new version of image loading LOAD_IMAGE_V2 := 0