From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com,
peter.maydell@linaro.org, qemu-arm@nongnu.org,
qemu-devel@nongnu.org, p.fedin@samsung.com
Cc: shlomopongratz@gmail.com, diana.craciun@freescale.com,
tn@semihalf.com, shannon.zhao@linaro.org,
christoffer.dall@linaro.org, drjones@redhat.com
Subject: [Qemu-devel] [RFC v5 0/7] vITS support
Date: Tue, 2 Aug 2016 20:07:20 +0200 [thread overview]
Message-ID: <1470161247-10251-1-git-send-email-eric.auger@redhat.com> (raw)
This series introduces support for in-kernel GICv3 ITS emulation.
It is based on a kernel API which is not yet released.
Tested on Cavium ThunderX with virtio-net-pci and vhost-net with both dt
and ACPI guests
Host Kernel dependencies:
- [PATCH v10 00/17] KVM: arm64: GICv3 ITS emulation
http://www.spinics.net/lists/kvm/msg135687.html
- [RFC v9 0/6] KVM: arm/arm64: gsi routing support
http://www.spinics.net/lists/kvm/msg136083.html
Guest Kernel dependencies for resp. ACPI ITS and PCIe support:
- [PATCH V7 0/8] Introduce ACPI world to ITS,
https://lkml.org/lkml/2016/6/20/321
- Support for ARM64 ACPI based PCI host controller,
https://lwn.net/Articles/690995/
Host kernel series can be found at:
https://github.com/eauger/linux/tree/v4.7-its-emul-v10-gsi-routing-v9
This QEMU series can be found at:
v5: https://github.com/eauger/qemu/tree/v2.6.0-vITS-v5
Previous versions are available at:
v4: https://github.com/eauger/qemu/tree/v2.6.0-vITS-v4
v3: https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg05197.html
History:
v4 => v5:
- fix compilation issue with arm-softmmu target
- rebase on target-arm: Fix unreachable code in gicv3_class_name()
- add ACPI support
- kernel ITS init sequence is not yet similar to GICv2/V3 ones. This will
be addressed in a subsequent respin.
v3 => v4:
- Took into account Peter's comments (at the exception of sub-class
operation changes)
- rebase on Andre's kernel ITS emulation series v8
- rework KVM init sequence and KVM device creation/settings overall.
I do not use kvm_arm_register_device due to the way the kernel
API is devises (see discussion on the kernel ML)
- change the computation of the GITS_TRANSLATER base address
- fix compilation issues
- new "arget-arm: move gicv3_class_name from machine to kvm_arm.h"
v2 => v3:
- Really added unmigratable flag, was overlooked in v2
- Fixed checkpatch issue with initializing static variable to zero
/bin/bash: indent : commande introuvabledded registers and reset method
- Added unmigratable flag
- Rebased on top of current master, use kvm_arch_fixup_msi_route() now
Pavel Fedin (5):
hw/intc: Implement ITS base class
kernel: Add vGICv3 ITS definitions
kvm_arm: Pass requester ID to MSI routing functions
kvm_arm: Implement support for ITS emulation by KVM
arm/virt: Add ITS to the virt board
Eric Auger (2):
target-arm: move gicv3_class_name from machine to kvm_arm.h
hw/arm/virt-acpi-build: Add ITS description in ACPI MADT table
Pavel Fedin (5):
hw/intc/arm_gicv3_its: Implement ITS base class
linux-headers: update to 4.7-rc6 + ITS emulation and GSI routing
target-arm/kvm: Pass requester ID to MSI routing functions
hw/intc/arm_gicv3_its: Implement support for in-kernel ITS emulation
arm/virt: Add ITS to the virt board
hw/arm/virt-acpi-build.c | 7 +
hw/arm/virt.c | 47 ++++++-
hw/intc/Makefile.objs | 2 +
hw/intc/arm_gicv3_its_common.c | 155 +++++++++++++++++++++
hw/intc/arm_gicv3_its_kvm.c | 145 +++++++++++++++++++
include/hw/acpi/acpi-defs.h | 13 +-
include/hw/intc/arm_gicv3_its_common.h | 75 ++++++++++
include/standard-headers/linux/input-event-codes.h | 31 +++++
include/standard-headers/linux/input.h | 1 +
linux-headers/asm-arm64/kvm.h | 2 +
linux-headers/linux/kvm.h | 12 +-
target-arm/kvm.c | 6 +
target-arm/kvm_arm.h | 38 ++++-
target-arm/machine.c | 15 --
14 files changed, 524 insertions(+), 25 deletions(-)
create mode 100644 hw/intc/arm_gicv3_its_common.c
create mode 100644 hw/intc/arm_gicv3_its_kvm.c
create mode 100644 include/hw/intc/arm_gicv3_its_common.h
--
2.5.5
next reply other threads:[~2016-08-02 18:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-02 18:07 Eric Auger [this message]
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 1/7] hw/intc/arm_gicv3_its: Implement ITS base class Eric Auger
2016-08-12 14:12 ` Peter Maydell
2016-08-17 16:03 ` Auger Eric
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 2/7] target-arm: move gicv3_class_name from machine to kvm_arm.h Eric Auger
2016-08-12 14:01 ` Peter Maydell
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 3/7] linux-headers: update to 4.7-rc6 + ITS emulation and GSI routing Eric Auger
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 4/7] target-arm/kvm: Pass requester ID to MSI routing functions Eric Auger
2016-08-12 14:19 ` Peter Maydell
2016-08-17 16:05 ` Auger Eric
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 5/7] hw/intc/arm_gicv3_its: Implement support for in-kernel ITS emulation Eric Auger
2016-08-12 14:03 ` Peter Maydell
2016-08-17 15:59 ` Auger Eric
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 6/7] arm/virt: Add ITS to the virt board Eric Auger
2016-08-02 18:07 ` [Qemu-devel] [RFC v5 7/7] hw/arm/virt-acpi-build: Add ITS description in ACPI MADT table Eric Auger
2016-08-03 0:56 ` Shannon Zhao
2016-08-03 7:22 ` Auger Eric
2016-08-03 8:50 ` Shannon Zhao
2016-08-03 9:02 ` Auger Eric
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1470161247-10251-1-git-send-email-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=christoffer.dall@linaro.org \
--cc=diana.craciun@freescale.com \
--cc=drjones@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=p.fedin@samsung.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shannon.zhao@linaro.org \
--cc=shlomopongratz@gmail.com \
--cc=tn@semihalf.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.