linux/arch
Heiko Carstens a51324c430 s390/cmma: rework no-dat handling
Rework the way physical pages are set no-dat / dat:

The old way is:

- Rely on that all pages are initially marked "dat"
- Allocate page tables for the kernel mapping
- Enable dat
- Walk the whole kernel mapping and set PG_arch_1 bit in all struct pages
  that belong to pages of kernel page tables
- Walk all struct pages and test and clear the PG_arch_1 bit. If the bit is
  not set, set the page state to no-dat
- For all subsequent page table allocations, set the page state to dat
  (remove the no-dat state) on allocation time

Change this rather complex logic to a simpler approach:

- Set the whole physical memory (all pages) to "no-dat"
- Explicitly set those page table pages to "dat" which are part of the
  kernel image (e.g. swapper_pg_dir)
- For all subsequent page table allocations, set the page state to dat
  (remove the no-dat state) on allocation time

In result the code is simpler, and this also allows to get rid of one
odd usage of the PG_arch_1 bit.

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2023-11-05 22:34:58 +01:00
..
alpha Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
arc fs: create helper file_user_path() for user displayed mapped file path 2023-10-19 11:03:15 +02:00
arm As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
arm64 As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
csky c-sky: Remove now superfluous sentinel element from ctl_talbe array 2023-10-10 15:22:02 -07:00
hexagon hexagon: Remove unusable symbols from the ptrace.h uapi 2023-10-25 15:54:24 +02:00
loongarch As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
m68k Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
microblaze asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
mips As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
nios2
openrisc
parisc asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
powerpc powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
riscv As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
s390 s390/cmma: rework no-dat handling 2023-11-05 22:34:58 +01:00
sh As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
sparc This update includes the following changes: 2023-11-02 16:15:30 -10:00
um um,ethertap: Replace deprecated strncpy() with strscpy() 2023-09-29 11:37:50 -07:00
x86 As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
xtensa asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
.gitignore
Kconfig