qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] when we add EL2 to QEMU TCG ARM emulation and the virt board, should it default on or off?
@ 2016-11-01 17:16 Peter Maydell
  2016-11-02 10:54 ` Edgar E. Iglesias
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Peter Maydell @ 2016-11-01 17:16 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Edgar E. Iglesias, Andrew Jones

I'm working on turning on EL2 support in our TCG ARM emulation,
and one area I'm not sure about is whether it should default to
on or off.

We have a few precedents:

For EL3 support:
 * the CPU property is enabled by default but can be disabled by the board
 * 'virt' defaults it to disabled, with a -machine secure=on property
   which turns it on (barfing if KVM is enabled) and also does some other
   stuff like wiring up secure-only memory and devices and making sure
   the GIC has security enabled
 * if the user does -cpu has_el3=yes things will probably not go
   too well and that's unsupported

For PMU support:
 * the CPU property is enabled by default
 * 'virt' defaults it to enabled (except for virt-2.6 and earlier)
 * we do expect the user to be able to turn it on and off with
   a -cpu pmu=yes/no option (and the board model changes behaviour
   based on whether the CPU claims to have the feature)

So what about EL2? Some background facts that are probably relevant:
 * at the moment KVM can't support it, but eventually machines with
   the nested virtualization hardware support will appear (this is
   an ARMv8.3 feature), at which point it ought to work there too
 * if you just enable EL2 then some currently working setups stop
   working (basically any code that was written to assume it was
   entered in EL1); notably this includes kvm-unit-tests (patches
   pending from Drew that fix that). Linux is fine though as it
   checks and handles both.

Disabled-by-default has the advantage that (a) a command line
will work the same for TCG and KVM and (b) nothing that used to
work will break. The disadvantage is that anybody who wants to
be able to run nested KVM will now have to specify a command line
option of some kind.

So:
 (1) should we default on or off? (both at the board level,
     and for the cpu object itself)
 (2) directly user-set cpu property, or board property ?

thanks
-- PMM

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-12-12 13:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-01 17:16 [Qemu-devel] when we add EL2 to QEMU TCG ARM emulation and the virt board, should it default on or off? Peter Maydell
2016-11-02 10:54 ` Edgar E. Iglesias
2016-11-02 13:59 ` Andrew Jones
2016-12-12 12:48   ` Peter Maydell
2016-12-12 13:22     ` Andrew Jones
2016-12-12 13:30       ` Peter Maydell
2016-11-02 22:04 ` Laszlo Ersek
2016-11-03 13:46   ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).