qemu/include/hw
Yongbok Kim e8bd336dd1 hw/mips: implement Global Interrupt Controller
The Global Interrupt Controller (GIC) is responsible for mapping each
internal and external interrupt to the correct location for servicing.

The internal representation of registers is different from the specification
in order to consolidate information for each GIC Interrupt Sources and Virtual
Processors with same functionalities. For example SH_MAP00_VP00 registers are
defined like each bit represents a VP but in this implementation the equivalent
map_vp contains VP number in integer form for ease accesses. When it is being
accessed via read write functions an internal data is converted back into the
original format as the specification.

Limitations:
Level triggering only
GIC CounterHi not implemented (Countbits = 32bits)
DINT not implemented
Local WatchDog, Fast Debug Channel, Perf Counter not implemented

Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
2016-07-12 09:10:12 +01:00
..
acpi pc: use new CPU hotplug interface since 2.7 machine type 2016-06-24 05:21:38 +03:00
arm ast2400: Integrate the SCU model and set silicon revision 2016-06-27 15:37:33 +01:00
audio pcspk: convert "pit" property type from ptr to link 2016-06-29 14:03:45 +02:00
block pflash: make TYPE_CFI_PFLASH0{1,2} macros public 2016-06-29 14:03:46 +02:00
char serial: remove watch on reset 2016-06-29 14:03:47 +02:00
cpu qapi: keep names in 'CpuInstanceProperties' in sync with struct CPUCore 2016-06-27 13:15:06 +10:00
cris hw/char: QOM'ify etraxfs_ser.c 2016-05-29 09:11:10 +02:00
display introduce xlnx-dp 2016-06-14 16:01:03 +01:00
dma introduce xlnx-dpdma 2016-06-14 16:01:03 +01:00
gpio i.MX: add support for lower and upper interrupt in GPIO. 2015-12-17 13:37:13 +00:00
i2c hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
i386 ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
ide ide: move headers to include folder 2016-06-29 14:03:45 +02:00
input cuda: port SET_DEVICE_LIST command to new framework 2016-02-17 09:59:30 +11:00
intc hw/mips: implement Global Interrupt Controller 2016-07-12 09:10:12 +01:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi ipmi: rework the fwinfo to be fetched from the interface 2016-06-07 15:36:54 +03:00
isa isa: introduce wrapper isa_connect_gpio_out 2016-06-29 14:03:46 +02:00
kvm
lm32 hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
m68k m68k: include cpu-qom.h in files that require M68KCPU 2016-05-19 16:42:27 +02:00
mem nvdimm: support nvdimm label 2016-06-24 05:13:57 +03:00
mips mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
misc hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
net Add ENET/Gbps Ethernet support to FEC device 2016-06-02 10:42:46 +08:00
nvram Sort the fw_cfg file list 2016-04-07 19:57:33 +03:00
pci pci: fix pci_requester_id() 2016-06-17 03:28:02 +03:00
pci-host ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
ppc ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
s390x s390x/css: introduce property type for device ids 2016-06-14 13:34:50 +02:00
scsi scsi: esp: make cmdbuf big enough for maximum CDB size 2016-06-16 18:39:05 +02:00
sd qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
sh4 sh4: include cpu-qom.h in files that require SuperHCPU 2016-05-19 16:42:27 +02:00
smbios ipmi: Add SMBIOS table entry 2016-06-24 05:13:57 +03:00
sparc QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
ssi i.MX: Add the Freescale SPI Controller 2016-05-12 13:22:29 +01:00
timer hw/mips: implement GIC Interval Timer 2016-07-12 09:10:09 +01:00
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
vfio memory: Fix IOMMU replay base address 2016-05-26 11:12:08 -06:00
virtio virtio-blk: add num-queues device property 2016-06-28 13:08:32 +01:00
watchdog s390x/watchdog: introduce diag288 watchdog device 2015-06-11 17:45:49 +02:00
xen xen: Clean up includes 2016-06-14 15:37:43 +01:00
boards.h QMP: Add query-hotpluggable-cpus 2016-06-17 16:33:49 +10:00
bt.h bt: check struct sizes 2015-12-04 09:39:55 +03:00
compat.h s390x: add compat machine for 2.7 2016-05-17 15:50:29 +02:00
devices.h arm: fix location of some include files 2013-04-15 15:16:01 +02:00
elf_ops.h loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h qdev: hotplug: Introduce HotplugHandler.pre_plug() callback 2016-06-17 16:33:48 +10:00
hw.h hw: clean up hw/hw.h includes 2016-05-19 16:42:30 +02:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.h Sort the fw_cfg file list 2016-04-07 19:57:33 +03:00
nmi.h nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
pcmcia.h hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
platform-bus.h sysbus: Add new platform bus helper device 2014-11-04 23:26:14 +01:00
ptimer.h hw/ptimer: Introduce ptimer_get_limit 2016-06-06 16:59:31 +01:00
qdev-core.h qdev: Use GList for global properties 2016-06-17 10:42:21 -03:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qdev: Clean up around properties 2016-06-07 18:19:23 +03:00
qdev.h
stream.h Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
sysbus.h hw: remove pio_addr_t 2016-05-19 16:42:30 +02:00
usb.h usb: Add QOM property "attached". 2016-06-22 12:53:26 +02:00