qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/3] explicit VGIC initialization in finalize function
@ 2015-03-04 14:16 Eric Auger
  2015-03-04 14:16 ` [Qemu-devel] [PATCH v4 1/3] update-linux-headers.sh: export virtio_types.h Eric Auger
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Eric Auger @ 2015-03-04 14:16 UTC (permalink / raw)
  To: eric.auger, christoffer.dall, qemu-devel, agraf, pbonzini, mst,
	b.reynal
  Cc: peter.maydell, alex.williamson, patches, kvmarm, eric.auger

With current implementation the vgic is initialized implicitly,
on-demand. This patch forces the init in the vgic finalize function.
At that point all the dimensioning parameters are known.

A new group/attribute in VGIC KVM device is used for that:
KVM_DEV_ARM_VGIC_GRP_CTRL/KVM_DEV_ARM_VGIC_CTRL_INIT.

Among other things, this earlier VGIC initialization allows to
have a simpler handling of VFIO. VFIO platform signaling can be
setup on reset handler, making sure the VGIC is ready, at that time,
to accept injected virtual IRQs.

Tested on Calxeda Midway with VFIO platform use case

Can be found on
http://git.linaro.org/people/eric.auger/qemu.git,
branch early_vgic_init_v4

v3 -> v4:
- now integrates all the header updates of update-linux-headers.sh applied
  on top of 4.0-rc2 kernel (and not a partial export as in v3).
- VIRTIO_TRANSPORT_F_END value needed to be changed to 33 in
  include/hw/virtio/virtio.h to fix a duplicate definition compilation error
  (also defined in virtio_config.h)
- integrates a new patch file that add export of virtio_types.h, now
  included by virtio_ring.h.

v2 -> v3:
- changed to a patch since the kernel dependency was pulled

v1 -> v2:
- The init is not mandated to be done in a machine init done notifier
  anymore since only the number of vcpus and number of IRQs must be known
  at init time.

Eric Auger (3):
  update-linux-headers.sh: export virtio_types.h
  linux-headers: update to 4.0-rc2
  hw/intc/arm_gic: Initialize the vgic in the realize function

 hw/intc/arm_gic_kvm.c               |  6 +++++
 include/hw/virtio/virtio.h          |  4 +--
 linux-headers/asm-arm/kvm.h         |  2 ++
 linux-headers/asm-arm64/kvm.h       |  9 +++++++
 linux-headers/asm-s390/kvm.h        | 37 ++++++++++++++++++++++++++
 linux-headers/asm-x86/hyperv.h      | 11 ++++++++
 linux-headers/linux/kvm.h           | 20 +++++++-------
 linux-headers/linux/vfio.h          |  1 +
 linux-headers/linux/virtio_config.h | 11 ++++++--
 linux-headers/linux/virtio_ring.h   | 52 +++++++++++++++++++++----------------
 linux-headers/linux/virtio_types.h  | 46 ++++++++++++++++++++++++++++++++
 scripts/update-linux-headers.sh     |  2 +-
 12 files changed, 163 insertions(+), 38 deletions(-)
 create mode 100644 linux-headers/linux/virtio_types.h

-- 
1.8.3.2

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

end of thread, other threads:[~2015-03-11 14:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-04 14:16 [Qemu-devel] [PATCH v4 0/3] explicit VGIC initialization in finalize function Eric Auger
2015-03-04 14:16 ` [Qemu-devel] [PATCH v4 1/3] update-linux-headers.sh: export virtio_types.h Eric Auger
2015-03-04 15:37   ` Michael S. Tsirkin
2015-03-04 15:40     ` Eric Auger
2015-03-09  9:26     ` Christian Borntraeger
2015-03-04 14:16 ` [Qemu-devel] [PATCH v4 2/3] linux-headers: update to 4.0-rc2 Eric Auger
2015-03-04 14:16 ` [Qemu-devel] [PATCH v4 3/3] hw/intc/arm_gic: Initialize the vgic in the realize function Eric Auger
2015-03-11 14:56   ` Peter Maydell

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).