On Wed, Oct 30, 2024 at 11:40:57AM +1000, Alistair Francis wrote: > On Fri, Oct 11, 2024 at 9:19 PM Daniel Henrique Barboza ... > > In case someone tries it out with multiple -accel options, this doesn't > > work. Only > > the first '-accel <type>' are parsed. This happens due to a known command > > line > > parsing/accel globals issue that I tried to fix in [1] and [2]. > > > > For now, using the existing 'riscv-aia' string option: > > > > -accel kvm,riscv-aia=emul -accel kvm,riscv-aia=hwaccel -accel > > kvm,riscv-aia=auto > > > > This will set riscv-aia to "emul" because all other "-accel kvm" options > > aren't > > being parsed. You can do silly stuff like: > > > > -accel kvm,riscv-aia=emul -accel kvm,riscv-aia=this_is_not_an_option > > > > And the guest will boot normally, setting riscv-aia to 'emul'. > > Both of those are unfortunate, but I do at least feel that reading > them it's clear that something is wrong as the user has listed `-accel > kvm...` multiple times. >
I wish that multiple '-accel kvm...' would work since scripts can be written to set reasonable defaults, e.g. qemu-script.sh: qemu-system-riscv64 -cpu max -accel kvm,riscv-aia=auto ... $@ but then anything the user tacks on through $@ would override those defaults. For example, 'qemu-script.sh -cpu max,some-ext=off' overrides the '-cpu max' in the script, disabling an extension. However, 'qemu-script.sh -accel kvm,riscv-aia=emul' will not force KVM to use use AIA=emul mode since the tacked on '-accel' is ignored. Thanks, drew