Skip to content
Snippets Groups Projects
Commit 9bcbb610 authored by Lokesh Vutla's avatar Lokesh Vutla Committed by Marc Zyngier
Browse files

KVM: arm64: Flush hyp bss section after initialization of variables in bss


To determine CPU features during initialization, the nVHE hypervisor
utilizes sanitized values of the host's CPU features registers. These
values, stored in u64 idaa64*_el1_sys_val variables are updated by the
kvm_hyp_init_symbols() function at EL1. To ensure EL2 visibility with
the MMU off, the data cache needs to be flushed after these updates.
However, individually flushing each variable using
kvm_flush_dcache_to_poc() is inefficient.

These cpu feature variables would be part of the bss section of
the hypervisor. Hence, flush the entire bss section of hypervisor
once the initialization is complete.

Fixes: 6c30bfb1 ("KVM: arm64: Add handlers for protected VM System Registers")
Suggested-by: default avatarFuad Tabba <tabba@google.com>
Signed-off-by: default avatarLokesh Vutla <lokeshvutla@google.com>
Link: https://lore.kernel.org/r/20250121044016.2219256-1-lokeshvutla@google.com


Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent 01009b06
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment