forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kern…
…el/git/arm64/linux Pull arm64 updates from Catalin Marinas: "Apart from some new arm64 features and clean-ups, this also contains the core mmu_gather changes for tracking the levels of the page table being cleared and a minor update to the generic compat_sys_sigaltstack() introducing COMPAT_SIGMINSKSZ. Summary: - Core mmu_gather changes which allow tracking the levels of page-table being cleared together with the arm64 low-level flushing routines - Support for the new ARMv8.5 PSTATE.SSBS bit which can be used to mitigate Spectre-v4 dynamically without trapping to EL3 firmware - Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack - Optimise emulation of MRS instructions to ID_* registers on ARMv8.4 - Support for Common Not Private (CnP) translations allowing threads of the same CPU to share the TLB entries - Accelerated crc32 routines - Move swapper_pg_dir to the rodata section - Trap WFI instruction executed in user space - ARM erratum 1188874 workaround (arch_timer) - Miscellaneous fixes and clean-ups" * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (78 commits) arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work arm64: cpufeature: Trap CTR_EL0 access only where it is necessary arm64: cpufeature: Fix handling of CTR_EL0.IDC field arm64: cpufeature: ctr: Fix cpu capability check for late CPUs Documentation/arm64: HugeTLB page implementation arm64: mm: Use __pa_symbol() for set_swapper_pgd() arm64: Add silicon-errata.txt entry for ARM erratum 1188873 Revert "arm64: uaccess: implement unsafe accessors" arm64: mm: Drop the unused cpu parameter MAINTAINERS: fix bad sdei paths arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c arm64: xen: Use existing helper to check interrupt status arm64: Use daifflag_restore after bp_hardening arm64: daifflags: Use irqflags functions for daifflags arm64: arch_timer: avoid unused function warning arm64: Trap WFI executed in userspace arm64: docs: Document SSBS HWCAP arm64: docs: Fix typos in ELF hwcaps arm64/kprobes: remove an extra semicolon in arch_prepare_kprobe ...
- Loading branch information
Showing
71 changed files
with
1,511 additions
and
591 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
HugeTLBpage on ARM64 | ||
==================== | ||
|
||
Hugepage relies on making efficient use of TLBs to improve performance of | ||
address translations. The benefit depends on both - | ||
|
||
- the size of hugepages | ||
- size of entries supported by the TLBs | ||
|
||
The ARM64 port supports two flavours of hugepages. | ||
|
||
1) Block mappings at the pud/pmd level | ||
-------------------------------------- | ||
|
||
These are regular hugepages where a pmd or a pud page table entry points to a | ||
block of memory. Regardless of the supported size of entries in TLB, block | ||
mappings reduce the depth of page table walk needed to translate hugepage | ||
addresses. | ||
|
||
2) Using the Contiguous bit | ||
--------------------------- | ||
|
||
The architecture provides a contiguous bit in the translation table entries | ||
(D4.5.3, ARM DDI 0487C.a) that hints to the MMU to indicate that it is one of a | ||
contiguous set of entries that can be cached in a single TLB entry. | ||
|
||
The contiguous bit is used in Linux to increase the mapping size at the pmd and | ||
pte (last) level. The number of supported contiguous entries varies by page size | ||
and level of the page table. | ||
|
||
|
||
The following hugepage sizes are supported - | ||
|
||
CONT PTE PMD CONT PMD PUD | ||
-------- --- -------- --- | ||
4K: 64K 2M 32M 1G | ||
16K: 2M 32M 1G | ||
64K: 2M 512M 16G |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9712,6 +9712,19 @@ S: Maintained | |
F: arch/arm/boot/dts/mmp* | ||
F: arch/arm/mach-mmp/ | ||
|
||
MMU GATHER AND TLB INVALIDATION | ||
M: Will Deacon <[email protected]> | ||
M: "Aneesh Kumar K.V" <[email protected]> | ||
M: Andrew Morton <[email protected]> | ||
M: Nick Piggin <[email protected]> | ||
M: Peter Zijlstra <[email protected]> | ||
L: [email protected] | ||
L: [email protected] | ||
S: Maintained | ||
F: arch/*/include/asm/tlb.h | ||
F: include/asm-generic/tlb.h | ||
F: mm/mmu_gather.c | ||
|
||
MN88472 MEDIA DRIVER | ||
M: Antti Palosaari <[email protected]> | ||
L: [email protected] | ||
|
@@ -13502,8 +13515,8 @@ L: [email protected] | |
S: Maintained | ||
F: Documentation/devicetree/bindings/arm/firmware/sdei.txt | ||
F: drivers/firmware/arm_sdei.c | ||
F: include/linux/sdei.h | ||
F: include/uapi/linux/sdei.h | ||
F: include/linux/arm_sdei.h | ||
F: include/uapi/linux/arm_sdei.h | ||
|
||
SOFTWARE RAID (Multiple Disks) SUPPORT | ||
M: Shaohua Li <[email protected]> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.