[GIT PULL] LoongArch changes for v6.1
From: Huacai Chen
Date: Wed Oct 12 2022 - 10:51:03 EST
The following changes since commit 4fe89d07dcc2804c8b562f6c7896a45643d34b2f:
Linux 6.0 (2022-10-02 14:09:07 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-6.1
for you to fetch changes up to 2c8577f5e455b149f3ecb24e9a9f48f372a5d71a:
LoongArch: Update Loongson-3 default config file (2022-10-12 16:36:23 +0800)
----------------------------------------------------------------
LoongArch changes for v6.1
1, Use EXPLICIT_RELOCS (ABIv2.0);
2, Use generic BUG() handler;
3, Refactor TLB/Cache operations;
4, Add qspinlock support;
5, Add perf events support;
6, Add kexec/kdump support;
7, Add BPF JIT support;
8, Add ACPI-based laptop driver;
9, Update the default config file.
----------------------------------------------------------------
Colin Ian King (1):
LoongArch: Kconfig: Fix spelling mistake "delibrately" -> "deliberately"
Huacai Chen (10):
Merge tag 'efi-next-for-v6.1' into loongarch-next
LoongArch: Flush TLB earlier at initialization
LoongArch: Mark __xchg() and __cmpxchg() as __always_inline
LoongArch: Refactor cache probe and flush methods
LoongArch: Support access filter to /dev/mem interface
LoongArch: Use TLB for ioremap()
LoongArch: Add qspinlock support
LoongArch: Add perf events support
LoongArch: Add SysRq-x (TLB Dump) support
LoongArch: Update Loongson-3 default config file
Jianmin Lv (2):
LoongArch: Fix cpu name after CPU-hotplug
LoongArch: Add ACPI-based generic laptop driver
Rui Wang (1):
LoongArch: mm: Refactor TLB exception handlers
Tiezhu Yang (4):
LoongArch: Do not create sysfs control file for io master CPUs
LoongArch: Move {signed,unsigned}_imm_check() to inst.h
LoongArch: Add some instruction opcodes and formats
LoongArch: Add BPF JIT support
Xi Ruoyao (5):
LoongArch: Add Kconfig option AS_HAS_EXPLICIT_RELOCS
LoongArch: Adjust symbol addressing for AS_HAS_EXPLICIT_RELOCS
LoongArch: Define ELF relocation types added in ABIv2.0
LoongArch: Support PC-relative relocations in modules
LoongArch: Support R_LARCH_GOT_PC_{LO12,HI20} in modules
Youling Tang (3):
LoongArch: Use generic BUG() handler
LoongArch: Add kexec support
LoongArch: Add kdump support
Documentation/arm/uefi.rst | 4 -
arch/arm/include/asm/efi.h | 3 +-
arch/arm/kernel/efi.c | 79 ++
arch/arm/kernel/setup.c | 2 +-
arch/arm64/Makefile | 9 +-
arch/arm64/boot/.gitignore | 1 +
arch/arm64/boot/Makefile | 6 +
arch/arm64/kernel/image-vars.h | 13 -
arch/loongarch/Kbuild | 1 +
arch/loongarch/Kconfig | 74 +-
arch/loongarch/Makefile | 40 +-
arch/loongarch/boot/.gitignore | 1 +
arch/loongarch/boot/Makefile | 14 +-
arch/loongarch/configs/loongson3_defconfig | 63 +-
arch/loongarch/include/asm/Kbuild | 5 +-
arch/loongarch/include/asm/bootinfo.h | 7 +-
arch/loongarch/include/asm/bug.h | 58 +-
arch/loongarch/include/asm/cacheflush.h | 87 +-
arch/loongarch/include/asm/cacheops.h | 36 +-
arch/loongarch/include/asm/cmpxchg.h | 8 +-
arch/loongarch/include/asm/cpu-features.h | 5 -
arch/loongarch/include/asm/cpu-info.h | 21 +-
arch/loongarch/include/asm/efi.h | 11 +-
arch/loongarch/include/asm/elf.h | 37 +
arch/loongarch/include/asm/fixmap.h | 15 +
arch/loongarch/include/asm/inst.h | 410 +++++++-
arch/loongarch/include/asm/io.h | 73 +-
arch/loongarch/include/asm/kexec.h | 60 ++
arch/loongarch/include/asm/loongarch.h | 33 +-
arch/loongarch/include/asm/module.h | 27 +-
arch/loongarch/include/asm/module.lds.h | 1 +
arch/loongarch/include/asm/percpu.h | 9 +
arch/loongarch/include/asm/perf_event.h | 4 +-
arch/loongarch/include/asm/pgtable-bits.h | 3 +
arch/loongarch/include/asm/setup.h | 2 +
arch/loongarch/include/asm/spinlock.h | 12 +
arch/loongarch/include/asm/spinlock_types.h | 11 +
arch/loongarch/include/uapi/asm/bpf_perf_event.h | 9 +
arch/loongarch/include/uapi/asm/perf_regs.h | 40 +
arch/loongarch/kernel/Makefile | 7 +
arch/loongarch/kernel/cacheinfo.c | 98 +-
arch/loongarch/kernel/cpu-probe.c | 4 +-
arch/loongarch/kernel/crash_dump.c | 23 +
arch/loongarch/kernel/efi-header.S | 99 ++
arch/loongarch/kernel/efi.c | 33 +-
arch/loongarch/kernel/env.c | 13 +-
arch/loongarch/kernel/head.S | 40 +-
arch/loongarch/kernel/image-vars.h | 27 +
arch/loongarch/kernel/machine_kexec.c | 304 ++++++
arch/loongarch/kernel/mem.c | 3 -
arch/loongarch/kernel/module-sections.c | 61 +-
arch/loongarch/kernel/module.c | 105 +-
arch/loongarch/kernel/perf_event.c | 887 ++++++++++++++++
arch/loongarch/kernel/perf_regs.c | 53 +
arch/loongarch/kernel/relocate_kernel.S | 112 ++
arch/loongarch/kernel/setup.c | 91 +-
arch/loongarch/kernel/smp.c | 5 -
arch/loongarch/kernel/sysrq.c | 65 ++
arch/loongarch/kernel/topology.c | 3 +-
arch/loongarch/kernel/traps.c | 33 +-
arch/loongarch/kernel/vmlinux.lds.S | 5 +
arch/loongarch/mm/cache.c | 211 ++--
arch/loongarch/mm/init.c | 64 ++
arch/loongarch/mm/mmap.c | 29 +
arch/loongarch/mm/tlb.c | 5 +-
arch/loongarch/mm/tlbex.S | 537 +++++-----
arch/loongarch/net/Makefile | 7 +
arch/loongarch/net/bpf_jit.c | 1179 ++++++++++++++++++++++
arch/loongarch/net/bpf_jit.h | 282 ++++++
arch/loongarch/pci/acpi.c | 76 +-
arch/loongarch/pci/pci.c | 7 +-
arch/riscv/Makefile | 6 +-
arch/riscv/boot/.gitignore | 1 +
arch/riscv/boot/Makefile | 6 +
arch/riscv/kernel/image-vars.h | 9 -
arch/x86/platform/efi/efi_64.c | 18 +-
arch/x86/platform/efi/efi_thunk_64.S | 13 +-
drivers/firmware/efi/Kconfig | 45 +-
drivers/firmware/efi/efi-init.c | 61 +-
drivers/firmware/efi/efi.c | 15 +
drivers/firmware/efi/libstub/Makefile | 32 +-
drivers/firmware/efi/libstub/Makefile.zboot | 70 ++
drivers/firmware/efi/libstub/arm64-stub.c | 27 +-
drivers/firmware/efi/libstub/efi-stub-helper.c | 290 +++---
drivers/firmware/efi/libstub/efi-stub.c | 118 +--
drivers/firmware/efi/libstub/efistub.h | 69 +-
drivers/firmware/efi/libstub/fdt.c | 175 ++--
drivers/firmware/efi/libstub/file.c | 23 +-
drivers/firmware/efi/libstub/intrinsics.c | 30 +
drivers/firmware/efi/libstub/loongarch-stub.c | 102 ++
drivers/firmware/efi/libstub/mem.c | 93 +-
drivers/firmware/efi/libstub/randomalloc.c | 25 +-
drivers/firmware/efi/libstub/relocate.c | 21 +-
drivers/firmware/efi/libstub/systable.c | 8 +
drivers/firmware/efi/libstub/x86-stub.c | 33 +-
drivers/firmware/efi/libstub/zboot-header.S | 143 +++
drivers/firmware/efi/libstub/zboot.c | 302 ++++++
drivers/firmware/efi/libstub/zboot.lds | 44 +
drivers/platform/Kconfig | 2 +
drivers/platform/Makefile | 1 +
drivers/platform/loongarch/Kconfig | 31 +
drivers/platform/loongarch/Makefile | 1 +
drivers/platform/loongarch/loongson-laptop.c | 624 ++++++++++++
include/linux/efi.h | 35 +
include/linux/pe.h | 2 +
105 files changed, 6991 insertions(+), 1246 deletions(-)
create mode 100644 arch/loongarch/include/asm/kexec.h
create mode 100644 arch/loongarch/include/asm/spinlock.h
create mode 100644 arch/loongarch/include/asm/spinlock_types.h
create mode 100644 arch/loongarch/include/uapi/asm/bpf_perf_event.h
create mode 100644 arch/loongarch/include/uapi/asm/perf_regs.h
create mode 100644 arch/loongarch/kernel/crash_dump.c
create mode 100644 arch/loongarch/kernel/efi-header.S
create mode 100644 arch/loongarch/kernel/image-vars.h
create mode 100644 arch/loongarch/kernel/machine_kexec.c
create mode 100644 arch/loongarch/kernel/perf_event.c
create mode 100644 arch/loongarch/kernel/perf_regs.c
create mode 100644 arch/loongarch/kernel/relocate_kernel.S
create mode 100644 arch/loongarch/kernel/sysrq.c
create mode 100644 arch/loongarch/net/Makefile
create mode 100644 arch/loongarch/net/bpf_jit.c
create mode 100644 arch/loongarch/net/bpf_jit.h
create mode 100644 drivers/firmware/efi/libstub/Makefile.zboot
create mode 100644 drivers/firmware/efi/libstub/intrinsics.c
create mode 100644 drivers/firmware/efi/libstub/loongarch-stub.c
create mode 100644 drivers/firmware/efi/libstub/systable.c
create mode 100644 drivers/firmware/efi/libstub/zboot-header.S
create mode 100644 drivers/firmware/efi/libstub/zboot.c
create mode 100644 drivers/firmware/efi/libstub/zboot.lds
create mode 100644 drivers/platform/loongarch/Kconfig
create mode 100644 drivers/platform/loongarch/Makefile
create mode 100644 drivers/platform/loongarch/loongson-laptop.c