On 09/26/2013 08:18 AM, Alexey Kardashevskiy wrote:
Yet another try with XICS and XICS-KVM.
Thanks, applied to ppc-next. Alex
v4->v5: Rebased onto upstream; Put few "reviewed-by: Andreas"; Added IRQFD enablement patches. v3->v4: Addressed multiple comments from Alex; Split out many tiny patches to make them easier to review; Fixed xics_cpu_setup not to call the parent; And many, many small changes. v2->v3: Addressed multiple comments from Andreas; Added 2 patches for XICS from Ben - I included them into the series as they are about XICS and they won't rebase automatically if moved before XICS rework so it seemed to me that it would be better to carry them toghether. If it is wrong, please let me know, I'll repost them separately. v1->v2: The main change is this adds "xics-common" parent for emulated XICS and XICS-KVM. And many, many small changes, mostly to address Andreas comments. Migration from XICS to XICS-KVM and vice versa still works. Alexey Kardashevskiy (10): xics: move reset and cpu_setup spapr: move cpu_setup after kvmppc_set_papr xics: replace fprintf with error_report xics: add pre_save/post_load dispatchers xics: convert init() to realize() xics: add missing const specifiers to TypeInfo xics: split to xics and xics-common xics: add cpu_setup callback xics-kvm: enable irqfd for MSI spapr-pci: enable irqfd for INTx Benjamin Herrenschmidt (2): xics: Implement H_IPOLL xics: Implement H_XIRR_X David Gibson (2): target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN xics-kvm: Support for in-kernel XICS interrupt controller default-configs/ppc64-softmmu.mak | 1 + hw/intc/Makefile.objs | 1 + hw/intc/xics.c | 331 ++++++++++++++++++++----- hw/intc/xics_kvm.c | 494 ++++++++++++++++++++++++++++++++++++++ hw/ppc/spapr.c | 27 ++- hw/ppc/spapr_pci.c | 13 + include/hw/ppc/spapr.h | 1 + include/hw/ppc/xics.h | 57 +++++ target-ppc/kvm.c | 14 ++ target-ppc/kvm_ppc.h | 7 + 10 files changed, 884 insertions(+), 62 deletions(-) create mode 100644 hw/intc/xics_kvm.c