[PATCH 0/3] hw/arm/virt: Support Cortex-A57

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset wires up our new Cortex-A57 emulation into
the "virt" machine model. Rather than the somewhat hacky
approach in the previous system emulation patchsets, I've
decided that our best approach is to have the board model
create the GIC itself. This essentially corresponds to
modelling a board with a standalone GIC -- you can see
this in some real hardware which uses a GIC-400. I think
this makes more sense than either borrowing the a15mpcore_priv
device, or creating an a57mpcore_priv device (since the A57
does not actually have a built-in GICv2).

To handle hosts with 64K pages in KVM mode, we need to
amke sure our GIC puts its GICC and GICD at 64K boundaries
(so that the host kernel can map a 64K host page with the
host GICV in as the guest GICC).

For consistency, we make the 'virt' machine's GIC the
same for all supported CPUs; 32 bit CPUs don't need
the 64K spacing, but they don't object to it either, and
it's simpler to use the same memory map for everything
rather than fiddle with it based on CPU features.

Peter Maydell (3):
  hw/arm/virt: Create the GIC ourselves rather than (ab)using
    a15mpcore_priv
  hw/arm/virt: Put GIC register banks on 64K boundaries
  hw/arm/virt: Add support for Cortex-A57

 hw/arm/virt.c | 93 +++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 61 insertions(+), 32 deletions(-)

-- 
1.9.2

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux