[PATCH v8 00/43] arm64: Add support for LPA2 and WXN at stage 1
Catalin Marinas
catalin.marinas at arm.com
Fri Feb 16 09:35:34 PST 2024
On Wed, 14 Feb 2024 13:28:46 +0100, Ard Biesheuvel wrote:
> This v8 covers the remaining changes that implement support for LPA2 and
> WXN at stage 1, now that some of the prerequisites are in place.
>
> v4: https://lore.kernel.org/r/20230912141549.278777-63-ardb@google.com/
> v5: https://lore.kernel.org/r/20231124101840.944737-41-ardb@google.com/
> v6: https://lore.kernel.org/r/20231129111555.3594833-43-ardb@google.com/
> v7: https://lore.kernel.org/r/20240123145258.1462979-52-ardb%2Bgit%40google.com/
>
> [...]
I queued this series via the arm64 tree (for-next/stage1-lpa2). I tried
a couple of releases ago but for some reason my tests started failing at
it was very close to the merging window, so dropped. This time around,
if anything goes wrong, we have a bit of time to fix (it might as well
have been my test scripts and nothing to do with these patches).
The last patch introducing WXN has ABI implications but it's default
off. I think we should keep the patch as certain markets will likely
turn it on.
Surprisingly, there are no conflicts with Ryan's contpte series AFAICT
(I did a merge locally).
Thanks.
[01/43] arm64: kernel: Manage absolute relocations in code built under pi/
https://git.kernel.org/arm64/c/48157aa39286
[02/43] arm64: kernel: Don't rely on objcopy to make code under pi/ __init
https://git.kernel.org/arm64/c/a86aa72eb3b0
[03/43] arm64: head: move relocation handling to C code
https://git.kernel.org/arm64/c/734958ef0b54
[04/43] arm64: idreg-override: Move to early mini C runtime
https://git.kernel.org/arm64/c/e223a4491255
[05/43] arm64: kernel: Remove early fdt remap code
https://git.kernel.org/arm64/c/9c4cd2a7d12c
[06/43] arm64: head: Clear BSS and the kernel page tables in one go
https://git.kernel.org/arm64/c/aa99aad798a8
[07/43] arm64: Move feature overrides into the BSS section
https://git.kernel.org/arm64/c/30687dec5ed5
[08/43] arm64: head: Run feature override detection before mapping the kernel
https://git.kernel.org/arm64/c/dcfe969a6419
[09/43] arm64: head: move dynamic shadow call stack patching into early C runtime
https://git.kernel.org/arm64/c/8a6e40e1f68e
[10/43] arm64: cpufeature: Add helper to test for CPU feature overrides
https://git.kernel.org/arm64/c/35876f35f482
[11/43] arm64: kaslr: Use feature override instead of parsing the cmdline again
https://git.kernel.org/arm64/c/af73b9a2dd39
[12/43] arm64: idreg-override: Create a pseudo feature for rodata=off
https://git.kernel.org/arm64/c/9ddd9baa42a0
[13/43] arm64: Add helpers to probe local CPU for PAC and BTI support
https://git.kernel.org/arm64/c/a669c6a49356
[14/43] arm64: head: allocate more pages for the kernel mapping
https://git.kernel.org/arm64/c/8d47b8e5c74a
[15/43] arm64: head: move memstart_offset_seed handling to C code
https://git.kernel.org/arm64/c/aa6a52b2470c
[16/43] arm64: mm: Make kaslr_requires_kpti() a static inline
https://git.kernel.org/arm64/c/293d865f0af5
[17/43] arm64: mmu: Make __cpu_replace_ttbr1() out of line
https://git.kernel.org/arm64/c/82ca151da7d5
[18/43] arm64: head: Move early kernel mapping routines into C code
https://git.kernel.org/arm64/c/97a6f43bb049
[19/43] arm64: mm: Use 48-bit virtual addressing for the permanent ID map
https://git.kernel.org/arm64/c/e6128a8e523c
[20/43] arm64: pgtable: Decouple PGDIR size macros from PGD/PUD/PMD levels
https://git.kernel.org/arm64/c/34b98e55f684
[21/43] arm64: kernel: Create initial ID map from C code
https://git.kernel.org/arm64/c/84b04d3e6bdb
[22/43] arm64: mm: avoid fixmap for early swapper_pg_dir updates
https://git.kernel.org/arm64/c/567a70c181df
[23/43] arm64: mm: omit redundant remap of kernel image
https://git.kernel.org/arm64/c/ba5b0333a847
[24/43] arm64: Revert "mm: provide idmap pointer to cpu_replace_ttbr1()"
https://git.kernel.org/arm64/c/e0f92f0d1b51
[25/43] arm64: mm: Handle LVA support as a CPU feature
https://git.kernel.org/arm64/c/9cce9c6c2c3b
[26/43] arm64: mm: Add feature override support for LVA
https://git.kernel.org/arm64/c/68aec33f8f5a
[27/43] arm64: Avoid #define'ing PTE_MAYBE_NG to 0x0 for asm use
https://git.kernel.org/arm64/c/60d043c10176
[28/43] arm64: Add ESR decoding for exceptions involving translation level -1
https://git.kernel.org/arm64/c/7ac8d5b2423c
[29/43] arm64: mm: Wire up TCR.DS bit to PTE shareability fields
https://git.kernel.org/arm64/c/db95ea787bd1
[30/43] arm64: mm: Add LPA2 support to phys<->pte conversion routines
https://git.kernel.org/arm64/c/925a0eb48044
[31/43] arm64: mm: Add definitions to support 5 levels of paging
https://git.kernel.org/arm64/c/a6bbf5d4d9d1
[32/43] arm64: mm: add LPA2 and 5 level paging support to G-to-nG conversion
https://git.kernel.org/arm64/c/2b6c8f96cc47
[33/43] arm64: Enable LPA2 at boot if supported by the system
https://git.kernel.org/arm64/c/9684ec186f8f
[34/43] arm64: mm: Add 5 level paging support to fixmap and swapper handling
https://git.kernel.org/arm64/c/6ed8a3a094b4
[35/43] arm64: kasan: Reduce minimum shadow alignment and enable 5 level paging
https://git.kernel.org/arm64/c/0383808e4d99
[36/43] arm64: mm: Add support for folding PUDs at runtime
https://git.kernel.org/arm64/c/0dd4f60a2c76
[37/43] arm64: ptdump: Disregard unaddressable VA space
https://git.kernel.org/arm64/c/16f22981b6d7
[38/43] arm64: ptdump: Deal with translation levels folded at runtime
https://git.kernel.org/arm64/c/d40900fcb397
[39/43] arm64: kvm: avoid CONFIG_PGTABLE_LEVELS for runtime levels
https://git.kernel.org/arm64/c/95e059b5db60
[40/43] arm64: Enable 52-bit virtual addressing for 4k and 16k granule configs
https://git.kernel.org/arm64/c/352b0395b505
[41/43] arm64: defconfig: Enable LPA2 support
https://git.kernel.org/arm64/c/5d101654226d
[42/43] mm: add arch hook to validate mmap() prot flags
https://git.kernel.org/arm64/c/cb1a393c40ee
[43/43] arm64: mm: add support for WXN memory translation attribute
https://git.kernel.org/arm64/c/50e3ed0f93f4
--
Catalin
More information about the linux-arm-kernel
mailing list