Statistics
| Branch: | Revision:

root / hw / intc @ 9554233c

# Date Author Comment
b45ff2d9 10/26/2013 12:25 am Alexey Kardashevskiy

xics: convert init() to realize()

This fixes XICS according new QOM rules.

This converts ICS's init() callbacks to realize().

This converts legacy qdev_init_nofail() to property_set(realized).

Signed-off-by: Alexey Kardashevskiy <>
Reviewed-by: Andreas Färber <>...

456df19c 10/26/2013 12:25 am Alexey Kardashevskiy

xics: add missing const specifiers to TypeInfo

This adds missing const specifiers to ICS and ICP TypeInfo's.

Signed-off-by: Alexey Kardashevskiy <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

5a3d7b23 10/26/2013 12:25 am Alexey Kardashevskiy

xics: split to xics and xics-common

The upcoming XICS-KVM support will use bits of emulated XICS code.
So this introduces new level of hierarchy - "xics-common" class. Both
emulated XICS and XICS-KVM will inherit from it and override class
callbacks when required....

5eb92ccc 10/26/2013 12:25 am Alexey Kardashevskiy

xics: add cpu_setup callback

This adds a cpu_setup callback to the XICS device class (as XICS-KVM
will do it different), xics_cpu_setup() will call it if it is set.

Signed-off-by: Alexey Kardashevskiy <>
Signed-off-by: Alexander Graf <>

11ad93f6 10/26/2013 12:25 am David Gibson

xics-kvm: Support for in-kernel XICS interrupt controller

Recent (host) kernels support emulating the PAPR defined "XICS" interrupt
controller system within KVM. This patch allows qemu to initialize and
configure the in-kernel XICS, and keep its state in sync with qemu's XICS...

075edbe3 10/26/2013 12:25 am Benjamin Herrenschmidt

xics: Implement H_IPOLL

This adds support for the H_IPOLL hypercall which the guest
uses to poll for a pending interrupt. This hypercall is
mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.

Signed-off-by: Benjamin Herrenschmidt <>...

5d87e4b7 10/26/2013 12:25 am Benjamin Herrenschmidt

xics: Implement H_XIRR_X

This implements H_XIRR_X hypercall in addition to H_XIRR as
it is mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.

As the Partition Adjunct Option is not supported at the moment,...

9554233c 10/26/2013 12:25 am Alexey Kardashevskiy

xics-kvm: enable irqfd for MSI

This enables IRQFD support for sPAPR. The feature decreases the latency
of interrupt handling.

To enable IRQFD for MSI, this sets kvm_gsi_direct_mapping to true which
enables direct MSI mapping.

To enable IRQFD for LSI (level triggered INTx interrupts), a PCI host bus...

8ffe04ed 10/26/2013 12:25 am Alexey Kardashevskiy

xics: move reset and cpu_setup

This simple change makes following patches nicer.

Signed-off-by: Alexey Kardashevskiy <>
Acked-by: David Gibson <>
Signed-off-by: Alexander Graf <>

9ccff2a4 10/26/2013 12:25 am Alexey Kardashevskiy

xics: replace fprintf with error_report

This replaces old-style fprintf with new style error_report.

Signed-off-by: Alexey Kardashevskiy <>
Reviewed-by: Andreas Färber <>
Acked-by: David Gibson <>
Signed-off-by: Alexander Graf <>

d1b5682d 10/26/2013 12:25 am Alexey Kardashevskiy

xics: add pre_save/post_load dispatchers

The upcoming support of in-kernel XICS will redefine migration callbacks
for both ICS and ICP so classes and callback pointers are added.

Signed-off-by: Alexey Kardashevskiy <>
Signed-off-by: Alexander Graf <>

5cff81f0 09/03/2013 08:30 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging

QOM device refactorings

  • Fix QOM and ISA documentation errors
  • Extend object_initialize() et al. to check the instance size
  1. gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID 3E7E013F...
33a0e5d8 09/02/2013 11:06 am Alexey Kardashevskiy

xics: move registration of global state to realize()

Registration of global state belongs into realize so move it there.

Signed-off-by: Alexey Kardashevskiy <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

213f0c4f 08/30/2013 10:15 pm Andreas Färber

qom: Pass available size to object_initialize()

To be passed on to object_initialize_with_type().

Acked-by: Cornelia Huck <> (virtio-ccw)
Signed-off-by: Andreas Färber <>

bc72ad67 08/22/2013 08:14 pm Alex Bligh

aio / timers: Switch entire codebase to the new timer API

This is an autogenerated patch using scripts/switch-timer-api.

Switch the entire code base to using the new timer API.

Note this patch may introduce some line length issues.

Signed-off-by: Alex Bligh <>...

f54d3157 07/29/2013 10:07 pm Andreas Färber

ioapic: QOM cast cleanup

Signed-off-by: Andreas Färber <>

47edc5a4 07/29/2013 10:06 pm Andreas Färber

omap_intc: QOM'ify omap-intc and omap2-intc

Create a new abstract base type and let omap-intc and omap2-intc inherit
from it. Introduce a type constant and use QOM casts.

Signed-off-by: Andreas Färber <>

aefbc256 07/29/2013 10:06 pm Andreas Färber

pl190: Rename pl190_state to PL190State

Signed-off-by: Andreas Färber <>

7fc3266f 07/29/2013 10:06 pm Andreas Färber

pl190: QOM cast cleanup

Signed-off-by: Andreas Färber <>

1ecdf402 07/29/2013 10:06 pm Andreas Färber

puv3_intc: QOM cast cleanup

Signed-off-by: Andreas Färber <>

b09a6f7b 07/29/2013 10:06 pm Andreas Färber

realview_gic: QOM cast cleanup

Signed-off-by: Andreas Färber <>

7abad863 07/29/2013 10:06 pm Andreas Färber

slavio_intctl: QOM cast cleanup

Signed-off-by: Andreas Färber <>

cc3e064e 07/29/2013 10:06 pm Andreas Färber

xilinx_intc: QOM cast cleanup

Signed-off-by: Andreas Färber <>

285b4432 07/29/2013 10:06 pm Andreas Färber

arm_gic: QOM cast cleanup

Signed-off-by: Andreas Färber <>

9062143f 07/29/2013 10:06 pm Andreas Färber

etraxfs_pic: QOM cast cleanup

Signed-off-by: Andreas Färber <>

c03c6b9c 07/29/2013 10:06 pm Andreas Färber

exynos4210_combiner: QOM cast cleanup

Signed-off-by: Andreas Färber <>

78c6abbd 07/29/2013 10:06 pm Andreas Färber

exynos4210_gic: QOM cast cleanup for exynos4210.gic

Signed-off-by: Andreas Färber <>

c5e22ae3 07/29/2013 10:06 pm Andreas Färber

exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate

Signed-off-by: Andreas Färber <>

730bf932 07/29/2013 10:06 pm Andreas Färber

grlib_irqmp: QOM cast cleanup

Signed-off-by: Andreas Färber <>

1f8a9eac 07/29/2013 10:06 pm Andreas Färber

lm32_pic: QOM cast cleanup

Signed-off-by: Andreas Färber <>

5ff94a61 07/29/2013 10:06 pm Andreas Färber

imx_avic: QOM cast cleanup

Introduce type constant, use QOM casts and prepare SysBus initfn for QOM
realize by resolving SysBusDevice vs. DeviceState "dev" name conflict.

Acked-by: Peter Chubb <>
Signed-off-by: Andreas Färber <>

c04d6cfa 07/29/2013 06:37 pm Anthony Liguori

xics: rename types to be sane and follow coding style

Basically, in HW the layout of the interrupt network is:
- One ICP per processor thread (the "presenter"). This contains the
registers to fetch a pending interrupt (ack), EOI, and control the...
f5ba7523 07/23/2013 01:37 am Hu Tao

ioapic: Use QOM realize for ioapic

Signed-off-by: Hu Tao <>
[AF: Tweaked error message]
Signed-off-by: Andreas Färber <>

42e5b4c9 07/11/2013 07:51 pm Alexey Kardashevskiy

pseries: move interrupt controllers to hw/intc/

Signed-off-by: Alexey Kardashevskiy <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

dfc08079 07/09/2013 10:33 pm Andreas Färber

intc/arm_gic: Build arm_gic only once

Since current_cpu is CPUState it no longer needs CPUArchState.

Signed-off-by: Andreas Färber <>

2b927571 07/09/2013 10:33 pm Andreas Färber

intc/openpic: Build openpic only once

Since current_cpu is CPUState it no longer depends on CPUPPCState.

Move ppce500_set_mpic_proxy() to a new hw/ppc/ppc_e500.h because
hw/ppc/ppc.h is too heavily using CPUPPCState and PowerPCCPU.

Signed-off-by: Andreas Färber <>

182735ef 07/09/2013 10:32 pm Andreas Färber

cpu: Make first_cpu and next_cpu CPUState

Move next_cpu from CPU_COMMON to CPUState.
Move first_cpu variable to qom/cpu.h.

gdbstub needs to use CPUState::env_ptr for now.
cpu_copy() no longer needs to save and restore cpu_next.

Acked-by: Paolo Bonzini <>...

4917cf44 07/09/2013 10:20 pm Andreas Färber

cpu: Replace cpu_single_env with CPUState current_cpu

Move it to qom/cpu.h.

Signed-off-by: Andreas Färber <>

1437c94b 07/04/2013 06:42 pm Paolo Bonzini

hw/i*: pass owner to memory_region_init* functions

Signed-off-by: Paolo Bonzini <>

2c9b15ca 07/04/2013 06:42 pm Paolo Bonzini

memory: add owner argument to initialization functions

Signed-off-by: Paolo Bonzini <>

cbe72019 07/01/2013 02:11 am Andreas Färber

intc/openpic: Convert to QOM realize

Split qdev initfn into instance_init and realize functions.
Change one occurrence of "klass" while at it.

Signed-off-by: Andreas Färber <>
Reviewed-by: Peter Crosthwaite <>...

dd49c038 07/01/2013 02:11 am Andreas Färber

intc/openpic_kvm: Fix QOM and build issues

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

8935a442 07/01/2013 02:11 am Scott Wood

openpic: factor out some common defines into openpic.h

...for use by the KVM in-kernel irqchip stub.

Signed-off-by: Scott Wood <>
Signed-off-by: Alexander Graf <>

d85937e6 07/01/2013 02:11 am Scott Wood

kvm/openpic: in-kernel mpic support

Enables support for the in-kernel MPIC that thas been merged into the
KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex
Graf (along with some other improvements).

Note from Alex regarding kvm_irqchip_create():...

e1766344 07/01/2013 02:11 am Andreas Färber

intc/openpic: QOM'ify

Introduce type constant and cast macro.

Signed-off-by: Andreas Färber <>
Reviewed-by: Peter Crosthwaite <>
Signed-off-by: Alexander Graf <>

45fdd3bf 06/18/2013 10:45 am Peter Crosthwaite

intc/xilinx_intc: Handle level interrupt retriggering

Acking a level sensitive interrupt should have no effect if the
interrupt pin is still asserted. The current implementation requires
and edge condition to occur for setting a level sensitive IRQ, which...

fa96d614 06/18/2013 10:45 am Peter Crosthwaite

intc/xilinx_intc: Inhibit write to ISR when HIE

When the Hardware Interrupt Enable (HIE) bit is set, software cannot
change ISR. Add write guard accordingly.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

afd59989 06/18/2013 10:45 am Peter Crosthwaite

intc/xilinx_intc: Dont lower IRQ when HIE cleared

This is a little strange. It is lowering the parent IRQ pin on input
when HIE is cleared. There is no such behaviour in the real hardware.

ISR changes based on interrupt pin state are already guarded on HIE...

6327c221 06/18/2013 10:44 am Peter Crosthwaite

intc/xilinx_intc: Don't clear level sens. IRQs without ACK

For level sensitive interrupts, ISR bits are cleared when the input pin
is lowered. This is incorrect. Only software can clear ISR bits (via
IAR or direct write to ISR with !MER).

Signed-off-by: Peter Crosthwaite <>...

371a775d 06/15/2013 01:53 pm Blue Swirl

Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu

  • 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu:
    qdev: Drop FROM_QBUS() macro
    isa: QOM'ify ISADevice
    isa: QOM'ify ISABus
    i8259: Convert PICCommonState to use QOM realizefn...
5c9f4336 06/11/2013 10:45 pm Peter Crosthwaite

intc/xilinx_intc: Use qemu_set_irq

Use qemu_set_irq rather than if-elsing qemu_irq_(lower|raise). No
functional change, just reduces verbosity.

Cc:

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Michael Tokarev <>

4a17cc4f 06/07/2013 03:55 pm Andreas Färber

isa: QOM'ify ISADevice

Rename its parent field and use DEVICE where necessary.

Signed-off-by: Andreas Färber <>

d1eebf4e 06/07/2013 03:55 pm Andreas Färber

i8259: QOM'ify some more

Introduce type constant.

Prepares for PIC realizefn.

Signed-off-by: Andreas Färber <>

d2628b7d 06/07/2013 03:55 pm Andreas Färber

i8259: Convert PICCommonState to use QOM realizefn

Instead of having the parent provide PICCommonClass::init,
let the children override DeviceClass::realize themselves.
This pushes the responsibility of saving and calling the parent's
realizefn to the children....

db895a1e 06/07/2013 01:14 pm Andreas Färber

isa: Use realizefn for ISADevice

Drop ISADeviceClass::init and the resulting no-op initfn and let
children implement their own realizefn. Adapt error handling.
Split off an instance_init where sensible.

Signed-off-by: Andreas Färber <>

edf9735e 06/02/2013 06:14 pm Michael S. Tsirkin

apic: rename apic specific bitopts

apic has its own version of bitops, with the
difference that it works on u32 and not long.
Add apic_ prefix to avoid namespace clashes.

We should look into reusing standard bitops long-term,
but that's not entirely trivial....

6a4e1771 05/26/2013 02:37 pm Blue Swirl

Remove Sun4c, Sun4d and a few CPUs

Sun4c and Sun4d architectures and related CPUs are not fully implemented
(especially Sun4c MMU) and there has been no interest for them.

Likewise, a few CPUs (Cypress, Ross etc) are only half implemented.

Remove the machines and CPUs, they can be re-added if needed later....

c7e775e4 05/12/2013 12:25 pm Dong Xu Wang

remove double semicolons

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Michael Tokarev <>

53a89e26 05/01/2013 02:06 pm Igor Mammedov

target-i386: Move APIC to ICC bus

It allows APIC to be hotplugged.

  • map APIC's mmio at board level if it is present
  • do not register mmio region for each APIC, since
    only one is used/mapped

Signed-off-by: Igor Mammedov <>
Signed-off-by: Andreas Färber <>

baaeda08 05/01/2013 02:04 pm Igor Mammedov

target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE

Put APIC_SPACE_SIZE in a public header so that it can be
reused elsewhere later.

Signed-off-by: Igor Mammedov <>
Signed-off-by: Andreas Färber <>

29bb5317 04/29/2013 04:27 pm Andreas Färber

i8259: QOM cleanups

Eliminate DO_UPCAST() for PICCommonState. Prepares for ISA realizefn.

Also give the i8259_common type registration functions unique names
while at it.

Signed-off-by: Andreas Färber <>
Signed-off-by: Andreas Färber <>...

f16a69f7 04/16/2013 02:19 am Igor Mammedov

ioapic: Replace FROM_SYSBUS() with QOM type cast

Signed-off-by: Igor Mammedov <>
Signed-off-by: Andreas Färber <>

bd2be150 04/15/2013 04:16 pm Peter Maydell

arm: fix location of some include files

The recent rearrangement of include files had some minor errors:
devices.h is not ARM specific and should not be in arm/
arm.h should be in arm/

Move these two headers to correct this.

Signed-off-by: Peter Maydell <>...

e03ba136 04/12/2013 03:33 pm Peter Maydell

Typo, spelling and grammatical fixes

Minor fixes to documentation and code comments.

Signed-off-by: Peter Maydell <>
Signed-off-by: Stefan Hajnoczi <>

7702e47c 04/08/2013 07:13 pm Paolo Bonzini

hw: move interrupt controllers to hw/intc/, configure with default-configs/

Signed-off-by: Paolo Bonzini <>

47b43a1f 04/08/2013 07:13 pm Paolo Bonzini

hw: move private headers to hw/ subdirectories.

Many headers are used only in a single directory. These can be
kept in hw/.

Signed-off-by: Paolo Bonzini <>

49ab747f 04/08/2013 07:13 pm Paolo Bonzini

hw: move target-independent files to subdirectories

This patch tackles all files that are compiled once, moving
them to subdirectories of hw/.

Signed-off-by: Paolo Bonzini <>

1fd6bb44 04/08/2013 07:13 pm Paolo Bonzini

hw: make subdirectories for devices

Prepare the new directory structure.

Signed-off-by: Paolo Bonzini <>