qemu/hw
Pierrick Bouvier 132f8ec799 target/arm: change default pauth algorithm to impdef
Pointer authentication on aarch64 is pretty expensive (up to 50% of
execution time) when running a virtual machine with tcg and -cpu max
(which enables pauth=on).

The advice is always: use pauth-impdef=on.
Our documentation even mentions it "by default" in
docs/system/introduction.rst.

Thus, we change the default to use impdef by default. This does not
affect kvm or hvf acceleration, since pauth algorithm used is the one
from host cpu.

This change is retro compatible, in terms of cli, with previous
versions, as the semantic of using -cpu max,pauth-impdef=on, and -cpu
max,pauth-qarma3=on is preserved.
The new option introduced in previous patch and matching old default is
-cpu max,pauth-qarma5=on.
It is retro compatible with migration as well, by defining a backcompat
property, that will use qarma5 by default for virt machine <= 9.2.
Tested by saving and restoring a vm from qemu 9.2.0 into qemu-master
(10.0) for cpus neoverse-n2 and max.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241219183211.3493974-3-pierrick.bouvier@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2025-01-13 12:35:34 +00:00
..
9pfs Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
acpi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
adc include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
alpha alpha: switch boards to "default y" 2024-05-03 15:47:47 +02:00
arm hw/core/loader: Use ssize_t for efi zboot unpacker 2025-01-09 14:12:24 +08:00
audio Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
avr Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
block hw/block/virtio-blk: Replaces request free function with g_free 2024-12-31 21:21:34 +01:00
char Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
core target/arm: change default pauth algorithm to impdef 2025-01-13 12:35:34 +00:00
cpu Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
cxl Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
display hw/display/qxl: Do not use C99 // comments 2024-12-31 21:21:34 +01:00
dma Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
fsi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
gpio Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
hppa include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hyperv Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
i2c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
i386 QOM & QDev patches 2025-01-10 10:30:51 -05:00
ide Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
input Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
intc hw/intc/loongarch_extioi: Add irq routing support from physical id 2025-01-09 14:13:41 +08:00
ipack include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
ipmi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
isa Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
loongarch hw/intc/loongarch_extioi: Remove num-cpu property 2025-01-09 14:13:31 +08:00
m68k next-cube: add my copyright to the top of the file 2024-12-29 07:13:47 +01:00
mem Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
microblaze hw/microblaze: Propagate CPU endianness to microblaze_load_kernel() 2024-12-31 21:21:34 +01:00
mips hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
misc hw/misc: cast rpm to uint64_t 2025-01-13 12:35:32 +00:00
net hw/net/xilinx_ethlite: Rename rxbuf -> port_index 2024-12-31 21:21:34 +01:00
nubus include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
nvme Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
nvram fw_cfg: Don't set callback_opaque NULL in fw_cfg_modify_bytes_read() 2024-12-31 21:21:34 +01:00
openrisc hw/openrisc: Mark devices as big-endian 2024-12-31 21:21:34 +01:00
pci hw/pci: Use -1 as the default value for rombar 2025-01-09 18:16:18 +01:00
pci-bridge Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pci-host hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
ppc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
remote Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
riscv hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
rtc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
rx Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
s390x s390x: Fix CSS migration 2025-01-09 17:40:03 -03:00
scsi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
sd Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
sensor hw/sensor: Replace type_register() with type_register_static() 2024-12-10 18:49:25 +01:00
sh4 include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
smbios include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sparc hw/sparc: Mark devices as big-endian 2024-12-31 21:21:34 +01:00
sparc64 hw/sparc: Mark devices as big-endian 2024-12-31 21:21:34 +01:00
ssi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
timer hw/timer/hpet: Fix comment about capabilities register 2024-12-28 14:42:52 +03:00
tpm Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
tricore hw/tricore: Mark devices as little-endian 2024-12-31 21:21:34 +01:00
ufs Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
usb hw/usb/hcd-xhci: Unimplemented/guest error logging for port MMIO 2024-12-31 21:21:34 +01:00
vfio hw/pci: Use -1 as the default value for rombar 2025-01-09 18:16:18 +01:00
virtio qmp: update vhost-user protocol feature maps 2024-12-28 14:42:53 +03:00
watchdog Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xen hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
xenpv include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xtensa hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
Kconfig hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00
meson.build hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00