Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Claudio Imbrenda and committed by
Alexander Gordeev
712c5d5f 3e93d491

+5 -3
+5 -3
arch/s390/include/asm/pgtable.h
··· 268 268 #define _REGION3_ENTRY (_REGION_ENTRY_TYPE_R3 | _REGION_ENTRY_LENGTH) 269 269 #define _REGION3_ENTRY_EMPTY (_REGION_ENTRY_TYPE_R3 | _REGION_ENTRY_INVALID) 270 270 271 + #define _REGION3_ENTRY_HARDWARE_BITS 0xfffffffffffff6ffUL 272 + #define _REGION3_ENTRY_HARDWARE_BITS_LARGE 0xffffffff8001073cUL 271 273 #define _REGION3_ENTRY_ORIGIN_LARGE ~0x7fffffffUL /* large page address */ 272 274 #define _REGION3_ENTRY_DIRTY 0x2000 /* SW region dirty bit */ 273 275 #define _REGION3_ENTRY_YOUNG 0x1000 /* SW region young bit */ ··· 286 284 #define _REGION_ENTRY_BITS 0xfffffffffffff22fUL 287 285 288 286 /* Bits in the segment table entry */ 289 - #define _SEGMENT_ENTRY_BITS 0xfffffffffffffe33UL 290 - #define _SEGMENT_ENTRY_HARDWARE_BITS 0xfffffffffffffe30UL 291 - #define _SEGMENT_ENTRY_HARDWARE_BITS_LARGE 0xfffffffffff00730UL 287 + #define _SEGMENT_ENTRY_BITS 0xfffffffffffffe3fUL 288 + #define _SEGMENT_ENTRY_HARDWARE_BITS 0xfffffffffffffe3cUL 289 + #define _SEGMENT_ENTRY_HARDWARE_BITS_LARGE 0xfffffffffff1073cUL 292 290 #define _SEGMENT_ENTRY_ORIGIN_LARGE ~0xfffffUL /* large page address */ 293 291 #define _SEGMENT_ENTRY_ORIGIN ~0x7ffUL/* page table origin */ 294 292 #define _SEGMENT_ENTRY_PROTECT 0x200 /* segment protection bit */