Skip to content

refactor(policy): centralize shared execution policy state#369

Merged
prashymh merged 1 commit into
ARM-software:mainfrom
prashymh:main
Apr 25, 2026
Merged

refactor(policy): centralize shared execution policy state#369
prashymh merged 1 commit into
ARM-software:mainfrom
prashymh:main

Conversation

@prashymh

Copy link
Copy Markdown
Contributor

Move shared execution-policy knobs out of scattered globals into a dedicated acs_execution_policy_t with explicit reset and accessor APIs. This keeps execution policy separate from run-request selection state, routes defaults and overrides through one place, and removes direct global and header coupling across VAL, PAL, baremetal, and UEFI paths.

  • add acs_execution_policy.[ch] as the canonical shared policy object for print, PCIe, timeout, crypto, SLC, and EL1 trap settings
  • replace direct policy g_* globals across VAL, PAL, test pool, baremetal, and UEFI code with policy fields or acs_policy_get_*() accessors
  • update baremetal and UEFI entry paths to reset, populate, and consume execution policy explicitly
  • split generic policy reset defaults from baremetal target overrides, and expose target defaults through acs_get_platform_execution_policy_defaults()
  • update compile-time and EL3 override helpers to write execution policy separately from run-request filtering state
  • remove duplicated policy declarations from PAL and UEFI headers and keep the shared policy API in one canonical header
  • wire acs_execution_policy.c into the relevant VAL build files for baremetal and UEFI flows
  • keep headers self-contained with shared fixed-width types and drop local scalar typedef wrappers that no longer add value
  • retain documentation for sys_last_lvl_cache values and el1skiptrap_mask usage in the canonical policy definition

Change-Id: I1e320c46aaab9a6479b189d433a0a3d8f7a62258

Move shared execution-policy knobs out of scattered globals into a
dedicated acs_execution_policy_t with explicit reset and accessor APIs.
This keeps execution policy separate from run-request selection state,
routes defaults and overrides through one place, and removes direct
global and header coupling across VAL, PAL, baremetal, and UEFI paths.

- add acs_execution_policy.[ch] as the canonical shared policy object
  for print, PCIe, timeout, crypto, SLC, and EL1 trap settings
- replace direct policy g_* globals across VAL, PAL, test pool,
  baremetal, and UEFI code with policy fields or acs_policy_get_*()
  accessors
- update baremetal and UEFI entry paths to reset, populate, and consume
  execution policy explicitly
- split generic policy reset defaults from baremetal target overrides,
  and expose target defaults through
  acs_get_platform_execution_policy_defaults()
- update compile-time and EL3 override helpers to write execution
  policy separately from run-request filtering state
- remove duplicated policy declarations from PAL and UEFI headers and
  keep the shared policy API in one canonical header
- wire acs_execution_policy.c into the relevant VAL build files for
  baremetal and UEFI flows
- keep headers self-contained with shared fixed-width types and drop
  local scalar typedef wrappers that no longer add value
- retain documentation for sys_last_lvl_cache values and
  el1skiptrap_mask usage in the canonical policy definition

Change-Id: I1e320c46aaab9a6479b189d433a0a3d8f7a62258
@prashymh prashymh merged commit 4072557 into ARM-software:main Apr 25, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant