Skip to content

Commit 712c5d5

Browse files
Claudio ImbrendaAlexander Gordeev
authored andcommitted
s390/pgtable: Add missing hardware bits for puds, pmds
Add the table type and ACCF validity bits to _SEGMENT_ENTRY_BITS and _SEGMENT_ENTRY_HARDWARE_BITS{,_LARGE}. For completeness, introduce _REGION3_ENTRY_HARDWARE_BITS_LARGE and _REGION3_ENTRY_HARDWARE_BITS, containing the hardware bits used for large puds and normal puds. Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Link: https://lore.kernel.org/r/20240429143409.49892-3-imbrenda@linux.ibm.com Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
1 parent 3e93d49 commit 712c5d5

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

arch/s390/include/asm/pgtable.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@ static inline int is_module_addr(void *addr)
268268
#define _REGION3_ENTRY (_REGION_ENTRY_TYPE_R3 | _REGION_ENTRY_LENGTH)
269269
#define _REGION3_ENTRY_EMPTY (_REGION_ENTRY_TYPE_R3 | _REGION_ENTRY_INVALID)
270270

271+
#define _REGION3_ENTRY_HARDWARE_BITS 0xfffffffffffff6ffUL
272+
#define _REGION3_ENTRY_HARDWARE_BITS_LARGE 0xffffffff8001073cUL
271273
#define _REGION3_ENTRY_ORIGIN_LARGE ~0x7fffffffUL /* large page address */
272274
#define _REGION3_ENTRY_DIRTY 0x2000 /* SW region dirty bit */
273275
#define _REGION3_ENTRY_YOUNG 0x1000 /* SW region young bit */
@@ -284,9 +286,9 @@ static inline int is_module_addr(void *addr)
284286
#define _REGION_ENTRY_BITS 0xfffffffffffff22fUL
285287

286288
/* Bits in the segment table entry */
287-
#define _SEGMENT_ENTRY_BITS 0xfffffffffffffe33UL
288-
#define _SEGMENT_ENTRY_HARDWARE_BITS 0xfffffffffffffe30UL
289-
#define _SEGMENT_ENTRY_HARDWARE_BITS_LARGE 0xfffffffffff00730UL
289+
#define _SEGMENT_ENTRY_BITS 0xfffffffffffffe3fUL
290+
#define _SEGMENT_ENTRY_HARDWARE_BITS 0xfffffffffffffe3cUL
291+
#define _SEGMENT_ENTRY_HARDWARE_BITS_LARGE 0xfffffffffff1073cUL
290292
#define _SEGMENT_ENTRY_ORIGIN_LARGE ~0xfffffUL /* large page address */
291293
#define _SEGMENT_ENTRY_ORIGIN ~0x7ffUL/* page table origin */
292294
#define _SEGMENT_ENTRY_PROTECT 0x200 /* segment protection bit */

0 commit comments

Comments
 (0)