mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
arm64/boot: Move global CPU override variables out of BSS
Accessing BSS will no longer be permitted from the startup code in arch/arm64/kernel/pi, as some of it executes before BSS is cleared. Clearing BSS earlier would involve managing cache coherency explicitly in software, which is a hassle we prefer to avoid. So move some variables that are assigned by the startup code out of BSS and into .data. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Yeoreum Yun <yeoreum.yun@arm.com> Reviewed-by: Yeoreum Yun <yeoreum.yun@arm.com> Link: https://lore.kernel.org/r/20250508114328.2460610-7-ardb+git@google.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
93d0d6f8a6
commit
4afff6cc9a
|
|
@ -758,17 +758,17 @@ static const struct arm64_ftr_bits ftr_raz[] = {
|
|||
#define ARM64_FTR_REG(id, table) \
|
||||
__ARM64_FTR_REG_OVERRIDE(#id, id, table, &no_override)
|
||||
|
||||
struct arm64_ftr_override id_aa64mmfr0_override;
|
||||
struct arm64_ftr_override id_aa64mmfr1_override;
|
||||
struct arm64_ftr_override id_aa64mmfr2_override;
|
||||
struct arm64_ftr_override id_aa64pfr0_override;
|
||||
struct arm64_ftr_override id_aa64pfr1_override;
|
||||
struct arm64_ftr_override id_aa64zfr0_override;
|
||||
struct arm64_ftr_override id_aa64smfr0_override;
|
||||
struct arm64_ftr_override id_aa64isar1_override;
|
||||
struct arm64_ftr_override id_aa64isar2_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64mmfr0_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64mmfr1_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64mmfr2_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64pfr0_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64pfr1_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64zfr0_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64smfr0_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64isar1_override;
|
||||
struct arm64_ftr_override __read_mostly id_aa64isar2_override;
|
||||
|
||||
struct arm64_ftr_override arm64_sw_feature_override;
|
||||
struct arm64_ftr_override __read_mostly arm64_sw_feature_override;
|
||||
|
||||
static const struct __ftr_reg_entry {
|
||||
u32 sys_id;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user