2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 22:24:09 +08:00
linux-next/arch/mips/loongson64
WANG Xuerui f06da27eb8 MIPS: Expose Loongson CPUCFG availability via HWCAP
The point is to allow userspace to probe for CPUCFG without possibly
triggering invalid instructions. In addition to that, future Loongson
feature bits could all be stuffed into CPUCFG bit fields (or "leaves"
in x86-speak) if Loongson does not make mistakes, so ELF HWCAP bits are
conserved.

Userspace can determine native CPUCFG availability by checking the LCSRP
(Loongson CSR Present) bit in CPUCFG output after seeing CPUCFG bit in
HWCAP. Native CPUCFG always sets the LCSRP bit, as CPUCFG is part of the
Loongson CSR ASE, while the emulation intentionally leaves this bit
clear.

The other existing Loongson-specific HWCAP bits are, to my best
knowledge, unused, as

(1) they are fairly recent additions,
(2) Loongson never back-ported the patch into their kernel fork, and
(3) Loongson's existing installed base rarely upgrade, if ever;

However, they are still considered userspace ABI, hence unfortunately
unremovable. But hopefully at least we could stop adding new Loongson
HWCAP bits in the future.

Cc: Paul Burton <paulburton@kernel.org>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Huacai Chen <chenhc@lemote.com>
Signed-off-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-31 10:53:56 +02:00
..
cop2-ex.c MIPS: Fix build warning about "PTR_STR" redefinition 2020-05-30 10:58:30 +02:00
cpucfg-emul.c MIPS: Expose Loongson CPUCFG availability via HWCAP 2020-05-31 10:53:56 +02:00
dma.c MIPS: Loongson: Add DMA support for LS7A 2020-05-08 12:00:07 +02:00
env.c MIPS: Loongson: Add DMA support for LS7A 2020-05-08 12:00:07 +02:00
hpet.c MIPS: Replace setup_irq() by request_irq() 2020-03-05 16:47:35 +01:00
init.c MIPS: Loongson64: Define PCI_IOBASE 2020-05-28 09:38:18 +02:00
Kconfig MIPS: Loongson64: Mark RS780 HPET as broken 2020-04-20 19:37:01 +02:00
Makefile MIPS: Loongson64: Switch to generic PCI driver 2020-05-27 13:01:56 +02:00
numa.c MIPS: Loongson: Do not initialise statics to 0 2020-03-19 13:17:14 +01:00
Platform MIPS: Only include the platform file needed 2020-05-13 00:17:18 +02:00
platform.c MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() 2020-01-10 14:10:24 -08:00
pm.c MIPS: Loongson64: Move files to the top-level directory 2019-11-01 14:31:28 -07:00
reset.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
setup.c MIPS: Loongson64: Load built-in dtbs 2020-03-25 16:07:12 +01:00
smp.c mips: loongsoon2ef: remove private clk api 2020-04-16 17:34:23 +02:00
smp.h MIPS: Loongson64: Move files to the top-level directory 2019-11-01 14:31:28 -07:00
time.c MIPS: Loongson64: Remove dead RTC code 2020-04-20 19:36:21 +02:00
vbios_quirk.c MIPS: Loongson64: Switch to generic PCI driver 2020-05-27 13:01:56 +02:00