|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2] arm: Fix PT_PT table descriptor value and comment
Per ARMv7-A/ARMv8-A ARM, bits [11:2] of table descriptors are ignored by hardware. The original comment incorrectly described block/page descriptor fields (nG, SH, AP, NS, ATTR) which do not exist in the table descriptor format. Set PT_PT to 0x403: - Bit 0 (P): Valid bit (required) - Bit 1 (T): Table descriptor type (required) - Bit 10 (AF): Access flag (future-proof for FEAT_HAFT) Hardware ignores bits [11:2] but setting AF prepares for ARMv9's FEAT_HAFT. Using 0x403 rather than minimal 0x3 provides forward compatibility while avoiding unnecessary reserved bits. This updates both arm32 and arm64 for consistency. Signed-off-by: Gabriel Quintáns Souto <gabi.qs.mail@xxxxxxxxx> --- Changes in v2: - Apply fix to both arm32 and arm64 - Use 0x403 instead of 0x743 --- xen/arch/arm/arm32/mmu/head.S | 2 +- xen/arch/arm/arm64/mmu/head.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S index 5032e6c075..cab7be0621 100644 --- a/xen/arch/arm/arm32/mmu/head.S +++ b/xen/arch/arm/arm32/mmu/head.S @@ -8,7 +8,7 @@ #include <asm/page.h> #include <asm/early_printk.h> -#define PT_PT 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */ +#define PT_PT 0x403 /* AF=1 T=1 P=1 (bits [11:2] ignored in table descriptors) */ #define PT_MEM 0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */ #define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */ #define PT_DEV 0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */ diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S index c3cb262e88..375d703d9b 100644 --- a/xen/arch/arm/arm64/mmu/head.S +++ b/xen/arch/arm/arm64/mmu/head.S @@ -8,7 +8,7 @@ #include <asm/page.h> #include <asm/early_printk.h> -#define PT_PT 0x743 /* AF=1 RES=11 SKL=1 IGN=0000 T=1 P=1 */ +#define PT_PT 0x403 /* AF=1 T=1 P=1 (bits [11:2] ignored in table descriptors) */ #define PT_MEM 0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */ #define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */ #define PT_DEV 0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */ -- 2.54.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |