Message ID | 20210130015227.4071332-4-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support disabling TCG on ARM (part 2) | expand |
On 1/30/21 2:52 AM, Philippe Mathieu-Daudé wrote: > KVM requires a cpu based on (at least) the ARMv7 architecture. > > Only enable the following ARMv4 CPUs when TCG is available: > > - StrongARM (SA1100/1110) > - OMAP1510 (TI925T) > > The following machines are no more built when TCG is disabled: > > - cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) > - sx1 Siemens SX1 (OMAP310) V2 > - sx1-v1 Siemens SX1 (OMAP310) V1 > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > default-configs/devices/arm-softmmu.mak | 2 -- > hw/arm/Kconfig | 8 ++++++++ > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak > index 341d439de6f..8a53e637d23 100644 > --- a/default-configs/devices/arm-softmmu.mak > +++ b/default-configs/devices/arm-softmmu.mak > @@ -14,8 +14,6 @@ CONFIG_INTEGRATOR=y > CONFIG_FSL_IMX31=y > CONFIG_MUSICPAL=y > CONFIG_MUSCA=y > -CONFIG_CHEETAH=y > -CONFIG_SX1=y > CONFIG_NSERIES=y > CONFIG_STELLARIS=y > CONFIG_REALVIEW=y > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 223016bb4e8..7126d82f6ce 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -1,3 +1,7 @@ > +config ARM_V4 > + bool > + depends on TCG > + > config ARM_VIRT > bool > imply PCI_DEVICES > @@ -31,6 +35,8 @@ config ARM_VIRT > > config CHEETAH > bool > + default y if TCG This doesn't work as being added to all targets... > + select ARM_V4 > select OMAP > select TSC210X
On Sat, 30 Jan 2021 at 01:52, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > KVM requires a cpu based on (at least) the ARMv7 architecture. These days it requires ARMv8, because we dropped 32-bit host support, and all 64-bit host CPUs are v8. thanks -- PMM
Hi Peter, On 1/30/21 4:37 PM, Peter Maydell wrote: > On Sat, 30 Jan 2021 at 01:52, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: >> >> KVM requires a cpu based on (at least) the ARMv7 architecture. > > These days it requires ARMv8, because we dropped 32-bit host > support, and all 64-bit host CPUs are v8. Oh, this comment is about the target, to justify it is pointless to include pre-v7 target cpus/machines in a KVM-only binary. I'll update as: "KVM requires the target cpu based on (at least) the ARMv7 architecture." Is that OK? Thanks, Phil.
On Sat, 30 Jan 2021 at 18:36, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > Hi Peter, > > On 1/30/21 4:37 PM, Peter Maydell wrote: > > On Sat, 30 Jan 2021 at 01:52, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > >> > >> KVM requires a cpu based on (at least) the ARMv7 architecture. > > > > These days it requires ARMv8, because we dropped 32-bit host > > support, and all 64-bit host CPUs are v8. > > Oh, this comment is about the target, to justify it is pointless to > include pre-v7 target cpus/machines in a KVM-only binary. > > I'll update as: > > "KVM requires the target cpu based on (at least) the ARMv7 > architecture." KVM requires the target CPU to be at least ARMv8, because we only support the "host" cpu type, and all KVM host CPUs are v8, which means you can't pass a v7 CPU as the target CPU. (This used to not be true when we still supported running KVM on a v7 CPU like the Cortex-A15, in which case you could pass it to the guest.) thanks -- PMM
On 1/30/21 7:54 PM, Peter Maydell wrote: > On Sat, 30 Jan 2021 at 18:36, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: >> >> Hi Peter, >> >> On 1/30/21 4:37 PM, Peter Maydell wrote: >>> On Sat, 30 Jan 2021 at 01:52, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: >>>> >>>> KVM requires a cpu based on (at least) the ARMv7 architecture. >>> >>> These days it requires ARMv8, because we dropped 32-bit host >>> support, and all 64-bit host CPUs are v8. >> >> Oh, this comment is about the target, to justify it is pointless to >> include pre-v7 target cpus/machines in a KVM-only binary. >> >> I'll update as: >> >> "KVM requires the target cpu based on (at least) the ARMv7 >> architecture." > > KVM requires the target CPU to be at least ARMv8, because > we only support the "host" cpu type, and all KVM host CPUs > are v8, which means you can't pass a v7 CPU as the target CPU. > (This used to not be true when we still supported running > KVM on a v7 CPU like the Cortex-A15, in which case you could > pass it to the guest.) Indeed: $ qemu-system-aarch64 -M xilinx-zynq-a9 qemu-system-aarch64: KVM is not supported for this guest CPU type qemu-system-aarch64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument
diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak index 341d439de6f..8a53e637d23 100644 --- a/default-configs/devices/arm-softmmu.mak +++ b/default-configs/devices/arm-softmmu.mak @@ -14,8 +14,6 @@ CONFIG_INTEGRATOR=y CONFIG_FSL_IMX31=y CONFIG_MUSICPAL=y CONFIG_MUSCA=y -CONFIG_CHEETAH=y -CONFIG_SX1=y CONFIG_NSERIES=y CONFIG_STELLARIS=y CONFIG_REALVIEW=y diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 223016bb4e8..7126d82f6ce 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -1,3 +1,7 @@ +config ARM_V4 + bool + depends on TCG + config ARM_VIRT bool imply PCI_DEVICES @@ -31,6 +35,8 @@ config ARM_VIRT config CHEETAH bool + default y if TCG + select ARM_V4 select OMAP select TSC210X @@ -249,6 +255,8 @@ config COLLIE config SX1 bool + default y if TCG + select ARM_V4 select OMAP config VERSATILE
KVM requires a cpu based on (at least) the ARMv7 architecture. Only enable the following ARMv4 CPUs when TCG is available: - StrongARM (SA1100/1110) - OMAP1510 (TI925T) The following machines are no more built when TCG is disabled: - cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) - sx1 Siemens SX1 (OMAP310) V2 - sx1-v1 Siemens SX1 (OMAP310) V1 Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- default-configs/devices/arm-softmmu.mak | 2 -- hw/arm/Kconfig | 8 ++++++++ 2 files changed, 8 insertions(+), 2 deletions(-)