[GIT PULL] Please pull powerpc/linux.git powerpc-6.7-1 tag
From: Michael Ellerman
Date: Fri Nov 03 2023 - 01:38:55 EST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hi Linus,
Please pull powerpc updates for 6.7.
There's one conflict, where we added Documentation/powerpc/kvm-nested.rst while
upstream moved Documentation/powerpc to Documentation/arch/powerpc. Resolution
is just to add it in the new location.
cheers
The following changes since commit ce9ecca0238b140b88f43859b211c9fdfd8e5b70:
Linux 6.6-rc2 (2023-09-17 14:40:24 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git tags/powerpc-6.7-1
for you to fetch changes up to 303d77a6e1707498f09c9d8ee91b1dc07ca315a5:
Merge branch 'topic/ppc-kvm' into next (2023-10-27 20:58:03 +1100)
- ------------------------------------------------------------------
powerpc updates for 6.7
- Add support for KVM running as a nested hypervisor under development versions
of PowerVM, using the new PAPR nested virtualisation API.
- Add support for the BPF prog pack allocator.
- A rework of the non-server MMU handling to support execute-only on all platforms.
- Some optimisations & cleanups for the powerpc qspinlock code.
- Various other small features and fixes.
Thanks to: Aboorva Devarajan, Aditya Gupta, Amit Machhiwal, Benjamin Gray,
Christophe Leroy, Dr. David Alan Gilbert, Gaurav Batra, Gautam Menghani, Geert
Uytterhoeven, Haren Myneni, Hari Bathini, Joel Stanley, Jordan Niethe, Julia
Lawall, Kautuk Consul, Kuan-Wei Chiu, Michael Neuling, Minjie Du, Muhammad
Muzammil, Naveen N Rao, Nicholas Piggin, Nick Child, Nysal Jan K.A, Peter
Lafreniere, Rob Herring, Sachin Sant, Sebastian Andrzej Siewior, Shrikanth
Hegde, Srikar Dronamraju, Stanislav Kinsburskii, Vaibhav Jain, Wang Yufen, Yang
Yingliang, Yuan Tan.
- ------------------------------------------------------------------
Aditya Gupta (2):
powerpc: add `cur_cpu_spec` symbol to vmcoreinfo
powerpc/vmcore: Add MMU information to vmcoreinfo
Benjamin Gray (12):
powerpc/configs: Set more PPC debug configs
powerpc/xive: Fix endian conversion size
powerpc: Explicitly reverse bytes when checking for byte reversal
powerpc: Use NULL instead of 0 for null pointers
powerpc: Remove extern from function implementations
powerpc: Annotate endianness of various variables and functions
powerpc/kvm: Force cast endianness of KVM shared regs
powerpc/opal: Annotate out param endianness
powerpc/uaccess: Cast away __user annotation after verification
powerpc: Cast away __iomem in low level IO routines
powerpc/eeh: Remove unnecessary cast
powerpc/fadump: Annotate endianness cast with __force
Christophe Leroy (38):
powerpc: Only define __parse_fpscr() when required
powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro
powerpc: Remove pte_ERROR()
powerpc: Deduplicate prototypes of ptep_set_access_flags() and phys_mem_access_prot()
powerpc: Refactor update_mmu_cache_range()
powerpc: Untangle fixmap.h and pgtable.h and mmu.h
powerpc/nohash: Remove {pte/pmd}_protnone()
powerpc/nohash: Refactor declaration of {map/unmap}_kernel_page()
powerpc/nohash: Move 8xx version of pte_update() into pte-8xx.h
powerpc/nohash: Replace #ifdef CONFIG_44x by IS_ENABLED(CONFIG_44x) in pgtable.h
powerpc/nohash: Refactor pte_update()
powerpc/nohash: Refactor checking of no-change in pte_update()
powerpc/nohash: Deduplicate _PAGE_CHG_MASK
powerpc/nohash: Deduplicate pte helpers
powerpc/nohash: Refactor ptep_test_and_clear_young()
powerpc/nohash: Deduplicate ptep_set_wrprotect() and ptep_get_and_clear()
powerpc/nohash: Refactor pte_clear()
powerpc/nohash: Refactor __ptep_set_access_flags()
powerpc/e500: Simplify pte_mkexec()
powerpc: Implement and use pgprot_nx()
powerpc: Fail ioremap() instead of silently ignoring flags when PAGE_USER is set
powerpc: Remove pte_mkuser() and pte_mkpriviledged()
powerpc: Rely on address instead of pte_user()
powerpc: Refactor permission masks used for __P/__S table and kernel memory flags
powerpc/8xx: Use generic permission masks
powerpc/64s: Use generic permission masks
powerpc/nohash: Add _PAGE_WRITE to supplement _PAGE_RW
powerpc/nohash: Replace pte_user() by pte_read()
powerpc/e500: Introduce _PAGE_READ and remove _PAGE_USER
powerpc/44x: Introduce _PAGE_READ and remove _PAGE_USER
powerpc/40x: Introduce _PAGE_READ and remove _PAGE_USER
powerpc/32s: Add _PAGE_WRITE to supplement _PAGE_RW
powerpc/32s: Introduce _PAGE_READ and remove _PAGE_USER
powerpc/ptdump: Display _PAGE_READ and _PAGE_WRITE
powerpc: Finally remove _PAGE_USER
powerpc: Support execute-only on all powerpc
powerpc: Remove cpm_dp...() macros
powerpc/code-patching: Perform hwsync in __patch_instruction() in case of failure
Dr. David Alan Gilbert (1):
powerpc: Use shared font data
Gaurav Batra (1):
powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device
Geert Uytterhoeven (1):
powerpc: Replace GPL 2.0+ README.legal boilerplate with SPDX
Haren Myneni (1):
powerpc/vas: Limit open window failure messages in log bufffer
Hari Bathini (7):
vmcore: remove dependency with is_kdump_kernel() for exporting vmcore
powerpc/fadump: make is_kdump_kernel() return false when fadump is active
powerpc/code-patching: introduce patch_instructions()
powerpc/bpf: implement bpf_arch_text_copy
powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack
powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data
powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]
Jordan Niethe (10):
KVM: PPC: Always use the GPR accessors
KVM: PPC: Introduce FPR/VR accessor functions
KVM: PPC: Rename accessor generator macros
KVM: PPC: Use accessors for VCPU registers
KVM: PPC: Use accessors for VCORE registers
KVM: PPC: Book3S HV: Use accessors for VCPU registers
KVM: PPC: Book3S HV: Introduce low level MSR accessor
KVM: PPC: Add helper library for Guest State Buffers
KVM: PPC: Book3s HV: Hold LPIDs in an unsigned long
KVM: PPC: Add support for nestedv2 guests
Julia Lawall (2):
powerpc/powermac: add missing of_node_put
powerpc/kexec_file: add missing of_node_put
Kuan-Wei Chiu (1):
powerpc/perf: Optimize find_alternatives_list() using binary search
Michael Ellerman (5):
Merge branch fixes into next
powerpc: Hide empty pt_regs at base of the stack
powerpc/32s: Implement local_flush_tlb_page_psize()
Revert "powerpc: add `cur_cpu_spec` symbol to vmcoreinfo"
Merge branch 'topic/ppc-kvm' into next
Michael Neuling (1):
docs: powerpc: Document nested KVM on POWER
Minjie Du (1):
powerpc/pseries: use kfree_sensitive() in plpks_gen_password()
Muhammad Muzammil (1):
powerpc/bpf: Fixed 'instead' typo in bpf_jit_build_body()
Naveen N Rao (2):
powerpc/tools: Pass -mabi=elfv2 to gcc-check-mprofile-kernel.sh
powerpc/trace: Add support for HAVE_FUNCTION_ARG_ACCESS_API
Nicholas Piggin (6):
powerpc/perf: Fix disabling BHRB and instruction sampling
powerpc/qspinlock: stop queued waiters trying to set lock sleepy
powerpc/qspinlock: propagate owner preemptedness rather than CPU number
powerpc/qspinlock: don't propagate the not-sleepy state
powerpc/qspinlock: Propagate sleepy if previous waiter is preempted
powerpc/qspinlock: Rename yield_propagate_owner tunable
Nick Child (1):
powerpc/boot: Add version to install filenames
Peter Lafreniere (1):
powerpc/configs: Remove ReiserFS from defconfig
Rob Herring (1):
powerpc/fsl_msi: Use device_get_match_data()
Sebastian Andrzej Siewior (1):
powerpc/imc-pmu: Use the correct spinlock initializer.
Srikar Dronamraju (1):
powerpc/paravirt: Improve vcpu_is_preempted
Stanislav Kinsburskii (1):
powerpc/io: Expect immutable pointer in virt_to_phys() prototype
Wang Yufen (1):
powerpc/pseries: fix potential memory leak in init_cpu_associativity()
Yang Yingliang (1):
macintosh/macio-adb: add missing iounmap() on error in macio_init()
Yuan Tan (2):
powerpc/32: Add dependencies of POWER_RESET for pmac32
powerpc/32: Enable POWER_RESET in pmac32_defconfig
Documentation/arch/powerpc/index.rst | 1 +
Documentation/arch/powerpc/kvm-nested.rst | 634 +++++++++++++
arch/powerpc/Kconfig | 1 +
arch/powerpc/Kconfig.debug | 14 +
arch/powerpc/boot/install.sh | 16 +-
arch/powerpc/configs/44x/sam440ep_defconfig | 1 -
arch/powerpc/configs/debug.config | 4 +
arch/powerpc/configs/g5_defconfig | 4 -
arch/powerpc/configs/pmac32_defconfig | 2 +-
arch/powerpc/configs/ppc64e_defconfig | 4 -
arch/powerpc/configs/ppc6xx_defconfig | 5 -
arch/powerpc/include/asm/book3s/32/pgtable.h | 83 +-
arch/powerpc/include/asm/book3s/32/tlbflush.h | 2 +-
arch/powerpc/include/asm/book3s/64/pgtable.h | 37 +-
arch/powerpc/include/asm/book3s/pgtable.h | 33 -
arch/powerpc/include/asm/code-patching.h | 1 +
arch/powerpc/include/asm/cpm1.h | 5 -
arch/powerpc/include/asm/cpm2.h | 4 -
arch/powerpc/include/asm/fixmap.h | 16 +-
arch/powerpc/include/asm/guest-state-buffer.h | 995 ++++++++++++++++++++
arch/powerpc/include/asm/hvcall.h | 30 +
arch/powerpc/include/asm/imc-pmu.h | 16 +-
arch/powerpc/include/asm/io.h | 2 +-
arch/powerpc/include/asm/kexec.h | 8 +-
arch/powerpc/include/asm/kvm_book3s.h | 220 ++++-
arch/powerpc/include/asm/kvm_book3s_64.h | 8 +-
arch/powerpc/include/asm/kvm_booke.h | 10 +
arch/powerpc/include/asm/kvm_host.h | 22 +-
arch/powerpc/include/asm/kvm_ppc.h | 110 ++-
arch/powerpc/include/asm/nohash/32/mmu-8xx.h | 1 -
arch/powerpc/include/asm/nohash/32/pgtable.h | 201 +---
arch/powerpc/include/asm/nohash/32/pte-40x.h | 21 +-
arch/powerpc/include/asm/nohash/32/pte-44x.h | 20 +-
arch/powerpc/include/asm/nohash/32/pte-85xx.h | 20 +-
arch/powerpc/include/asm/nohash/32/pte-8xx.h | 92 +-
arch/powerpc/include/asm/nohash/64/pgtable.h | 120 +--
arch/powerpc/include/asm/nohash/pgtable.h | 217 +++--
arch/powerpc/include/asm/nohash/pte-e500.h | 41 +-
arch/powerpc/include/asm/opal.h | 2 +-
arch/powerpc/include/asm/paravirt.h | 47 +-
arch/powerpc/include/asm/pgtable-masks.h | 32 +
arch/powerpc/include/asm/pgtable.h | 35 +
arch/powerpc/include/asm/plpar_wrappers.h | 267 +++++-
arch/powerpc/include/asm/ptrace.h | 17 +
arch/powerpc/include/asm/uaccess.h | 2 +-
arch/powerpc/kernel/btext.c | 360 +------
arch/powerpc/kernel/crash_dump.c | 12 +
arch/powerpc/kernel/eeh_driver.c | 4 +-
arch/powerpc/kernel/head_40x.S | 19 +-
arch/powerpc/kernel/head_44x.S | 40 +-
arch/powerpc/kernel/head_85xx.S | 12 +-
arch/powerpc/kernel/head_book3s_32.S | 63 +-
arch/powerpc/kernel/io.c | 12 +-
arch/powerpc/kernel/iommu.c | 8 +-
arch/powerpc/kernel/process.c | 26 +-
arch/powerpc/kernel/prom_init.c | 2 +-
arch/powerpc/kernel/ptrace/ptrace.c | 5 +-
arch/powerpc/kernel/setup_64.c | 2 +-
arch/powerpc/kernel/signal.c | 5 +-
arch/powerpc/kernel/signal.h | 7 +-
arch/powerpc/kernel/traps.c | 6 +-
arch/powerpc/kexec/core.c | 3 +
arch/powerpc/kexec/core_64.c | 4 +-
arch/powerpc/kexec/file_load_64.c | 14 +-
arch/powerpc/kvm/Makefile | 4 +
arch/powerpc/kvm/book3s.c | 38 +-
arch/powerpc/kvm/book3s_64_mmu_hv.c | 7 +-
arch/powerpc/kvm/book3s_64_mmu_radix.c | 31 +-
arch/powerpc/kvm/book3s_64_vio.c | 12 +-
arch/powerpc/kvm/book3s_hv.c | 358 ++++---
arch/powerpc/kvm/book3s_hv.h | 76 ++
arch/powerpc/kvm/book3s_hv_builtin.c | 11 +-
arch/powerpc/kvm/book3s_hv_nested.c | 44 +-
arch/powerpc/kvm/book3s_hv_nestedv2.c | 994 +++++++++++++++++++
arch/powerpc/kvm/book3s_hv_p9_entry.c | 4 +-
arch/powerpc/kvm/book3s_hv_ras.c | 4 +-
arch/powerpc/kvm/book3s_hv_rm_mmu.c | 8 +-
arch/powerpc/kvm/book3s_hv_rm_xics.c | 4 +-
arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +-
arch/powerpc/kvm/book3s_xive.c | 12 +-
arch/powerpc/kvm/book3s_xive_native.c | 2 +-
arch/powerpc/kvm/emulate_loadstore.c | 6 +-
arch/powerpc/kvm/guest-state-buffer.c | 621 ++++++++++++
arch/powerpc/kvm/powerpc.c | 76 +-
arch/powerpc/kvm/test-guest-state-buffer.c | 328 +++++++
arch/powerpc/lib/code-patching.c | 146 ++-
arch/powerpc/lib/qspinlock.c | 122 +--
arch/powerpc/mm/book3s32/hash_low.S | 32 +-
arch/powerpc/mm/book3s32/mmu.c | 6 +-
arch/powerpc/mm/book3s64/pgtable.c | 10 +-
arch/powerpc/mm/drmem.c | 2 +-
arch/powerpc/mm/fault.c | 9 +-
arch/powerpc/mm/init_32.c | 1 +
arch/powerpc/mm/ioremap.c | 6 +-
arch/powerpc/mm/mem.c | 1 +
arch/powerpc/mm/nohash/40x.c | 19 +-
arch/powerpc/mm/nohash/8xx.c | 2 +
arch/powerpc/mm/nohash/book3e_pgtable.c | 2 +-
arch/powerpc/mm/nohash/e500.c | 6 +-
arch/powerpc/mm/nohash/e500_hugetlbpage.c | 3 +-
arch/powerpc/mm/pgtable.c | 26 +-
arch/powerpc/mm/ptdump/8xx.c | 5 -
arch/powerpc/mm/ptdump/shared.c | 14 +-
arch/powerpc/net/bpf_jit.h | 18 +-
arch/powerpc/net/bpf_jit_comp.c | 149 ++-
arch/powerpc/net/bpf_jit_comp32.c | 15 +-
arch/powerpc/net/bpf_jit_comp64.c | 10 +-
arch/powerpc/perf/core-book3s.c | 5 +-
arch/powerpc/perf/hv-24x7.c | 2 +-
arch/powerpc/perf/imc-pmu.c | 13 +-
arch/powerpc/perf/power6-pmu.c | 46 +-
arch/powerpc/platforms/4xx/soc.c | 2 +-
arch/powerpc/platforms/83xx/misc.c | 2 +
arch/powerpc/platforms/8xx/cpm1.c | 1 +
arch/powerpc/platforms/book3s/vas-api.c | 34 +-
arch/powerpc/platforms/powermac/Kconfig | 1 +
arch/powerpc/platforms/powermac/feature.c | 3 +-
arch/powerpc/platforms/powermac/low_i2c.c | 4 +-
arch/powerpc/platforms/powermac/smp.c | 4 +-
arch/powerpc/platforms/powernv/opal-fadump.h | 2 +-
arch/powerpc/platforms/pseries/hotplug-memory.c | 3 +-
arch/powerpc/platforms/pseries/iommu.c | 8 +-
arch/powerpc/platforms/pseries/lpar.c | 12 +-
arch/powerpc/platforms/pseries/plpks.c | 4 +-
arch/powerpc/platforms/pseries/vas.c | 4 +-
arch/powerpc/sysdev/fsl_msi.c | 10 +-
arch/powerpc/sysdev/mpic.c | 2 +-
arch/powerpc/sysdev/xive/native.c | 2 +-
arch/powerpc/tools/gcc-check-mprofile-kernel.sh | 11 +-
drivers/macintosh/macio-adb.c | 1 +
drivers/soc/fsl/qe/qe_common.c | 4 +-
include/linux/crash_dump.h | 8 +-
lib/fonts/Kconfig | 2 +-
133 files changed, 5788 insertions(+), 1675 deletions(-)
create mode 100644 Documentation/arch/powerpc/kvm-nested.rst
create mode 100644 arch/powerpc/include/asm/guest-state-buffer.h
create mode 100644 arch/powerpc/include/asm/pgtable-masks.h
create mode 100644 arch/powerpc/kvm/book3s_hv_nestedv2.c
create mode 100644 arch/powerpc/kvm/guest-state-buffer.c
create mode 100644 arch/powerpc/kvm/test-guest-state-buffer.c
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAmVEhrwACgkQUevqPMjh
pYD5KxAAnpC38GWKIx4JDjiRfptiCT61/H+Ezs4au/wyr4JzH57kwQrYAbbsb+w6
1pDnXeLURUCuXPu6fyMmcSziTGeMKnC3LaEp6jbl9nCFp6+12Vwn0pn0fk6VuKTs
yMxz+85S8Ehzg/ym89VLRvLmaj5q3Ycgp0i6U/cXbblMmO0HIqHmiJYgBtNk35I1
RTJIEE14zRzJansGZ3FkMDvHlmr1XFyggid/Z9nh+dvhkSHygfImrpNrO+JB6wlu
fTj+1cM+udOFFs7fY3zbFvv/oZ57K321or3RMDsiqiWcUG3IqFFNXdw0Vdigy6Rl
Zu7Di8vE3GQZJe91mUR/SZJq1avPWftoOWFaNWkyFnbaRM/D2LWdr5VPXagx8IjP
qgXvA4xHeosa7s6YcLPVrO3DbW/UHIhpmONGoeAxx/OD+TSXqZckdOthyaCjfHHA
9lDVWGWrzh8op5gTIHaI39lZbwMAq5yherZ1thIj264yKQN83sS4K5XQL62MsE1Q
P7d3h1vRt4ajUOjmTYvESTRM4rx5MKuKBIk47MGvtsbrkyTZQCQIFrbwNXhbz9Dp
OmfpBEXtui9kmmWR9agdkNcCMDd3bYbUr4qEQULmqLat4TgPlZA5MVf5o+fcMCPu
89jyJTck6slAxtqsso9MjbJv+6eR66Y3+cg7mayZMNQhwx7jhzU=
=L+Ar
-----END PGP SIGNATURE-----