On Thu, Dec 8, 2011 at 11:52, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: > Changes in v4: > - rebased of current uq/master > - fixed stupid bugs that broke bisectability and user space irqchip mode > - integrated NMI-over-LINT1 injection logic I had comments to one patch, others look fine. Overall, string based subtype selection does not somehow seem to be a hot idea, but this could be used as a starting point which should be cleaned up later when we have proper device composition. APIC and x86 interrupt handling need more cleanup anyway. > CC: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> > > Jan Kiszka (15): > msi: Generalize msix_supported to msi_supported > kvm: Move kvmclock into hw/kvm folder > apic: Stop timer on reset > apic: Inject external NMI events via LINT1 > apic: Introduce backend/frontend infrastructure for KVM reuse > apic: Open-code timer save/restore > i8259: Introduce backend/frontend infrastructure for KVM reuse > ioapic: Introduce backend/frontend infrastructure for KVM reuse > memory: Introduce memory_region_init_reservation > kvm: Introduce core services for in-kernel irqchip support > kvm: x86: Establish IRQ0 override control > kvm: x86: Add user space part for in-kernel APIC > kvm: x86: Add user space part for in-kernel i8259 > kvm: x86: Add user space part for in-kernel IOAPIC > kvm: Arm in-kernel irqchip support > > Makefile.objs | 2 +- > Makefile.target | 6 +- > configure | 1 + > hw/apic.c | 309 ++++----------------------------------- > hw/apic.h | 1 + > hw/apic_common.c | 312 ++++++++++++++++++++++++++++++++++++++++ > hw/apic_internal.h | 122 ++++++++++++++++ > hw/i8259.c | 127 ++-------------- > hw/i8259_common.c | 173 ++++++++++++++++++++++ > hw/i8259_internal.h | 82 +++++++++++ > hw/ioapic.c | 130 ++--------------- > hw/ioapic_common.c | 138 ++++++++++++++++++ > hw/ioapic_internal.h | 106 ++++++++++++++ > hw/kvm/apic.c | 154 ++++++++++++++++++++ > hw/{kvmclock.c => kvm/clock.c} | 4 +- > hw/{kvmclock.h => kvm/clock.h} | 0 > hw/kvm/i8259.c | 126 ++++++++++++++++ > hw/kvm/ioapic.c | 101 +++++++++++++ > hw/msi.c | 8 + > hw/msi.h | 2 + > hw/msix.c | 9 +- > hw/msix.h | 2 - > hw/pc.c | 19 ++- > hw/pc.h | 1 + > hw/pc_piix.c | 66 ++++++++- > kvm-all.c | 154 ++++++++++++++++++++ > kvm-stub.c | 5 + > kvm.h | 13 ++ > memory.c | 36 +++++ > memory.h | 16 ++ > monitor.c | 6 +- > qemu-config.c | 4 + > qemu-options.hx | 5 +- > sysemu.h | 1 - > target-i386/kvm.c | 19 +++ > trace-events | 2 +- > vl.c | 1 - > 37 files changed, 1724 insertions(+), 539 deletions(-) > create mode 100644 hw/apic_common.c > create mode 100644 hw/apic_internal.h > create mode 100644 hw/i8259_common.c > create mode 100644 hw/i8259_internal.h > create mode 100644 hw/ioapic_common.c > create mode 100644 hw/ioapic_internal.h > create mode 100644 hw/kvm/apic.c > rename hw/{kvmclock.c => kvm/clock.c} (98%) > rename hw/{kvmclock.h => kvm/clock.h} (100%) > create mode 100644 hw/kvm/i8259.c > create mode 100644 hw/kvm/ioapic.c > > -- > 1.7.3.4 > ��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�