[RFC] ARM VM System Sepcification
Rob Herring
robherring2 at gmail.com
Wed Feb 26 17:49:01 EST 2014
On Wed, Feb 26, 2014 at 1:55 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Wednesday 26 February 2014 10:34:54 Christoffer Dall wrote:
>> ARM VM System Specification
>> ===========================
>>
>> Goal
>> ----
>> The goal of this spec is to allow suitably-built OS images to run on
>> all ARM virtualization solutions, such as KVM or Xen.
>>
>> Recommendations in this spec are valid for aarch32 and aarch64 alike, and
>> they aim to be hypervisor agnostic.
>>
>> Note that simply adhering to the SBSA [2] is not a valid approach,
>> for example because the SBSA mandates EL2, which will not be available
>> for VMs. Further, the SBSA mandates peripherals like the pl011, which
>> may be controversial for some ARM VM implementations to support.
>> This spec also covers the aarch32 execution mode, not covered in the
>> SBSA.
>
> I would prefer if we can stay as close as possible to SBSA for individual
> hardware components, and only stray from it when there is a strong reason.
> pl011-subset doesn't sound like a significant problem to implement,
> especially as SBSA makes the DMA part of that optional. Can you
> elaborate on what hypervisor would have a problem with that?
The SBSA only spec's a very minimal pl011 subset which is only
suitable for early serial output. Not only is there no DMA, but there
are no interrupts and maybe no input. I think it also assumes the uart
is enabled and configured already by firmware. It is all somewhat
pointless because the location is still not known or discoverable by
early code. Just mandating a real pl011 would have been better, but I
guess uart IP is value add for some. There is a downside to the pl011
which is the tty name is different from x86 uarts which gets exposed
to users and things like libvirt.
I think the VM image just has to support pl011, virtio-console, and
xen console. Arguably, an 8250 should also be included in interest of
making things just work.
Rob
More information about the linux-arm-kernel
mailing list