hw/intc: add goldfish-pic

Implement the goldfish pic device as defined in

https://android.googlesource.com/platform/external/qemu/+/master/docs/GOLDFISH-VIRTUAL-HARDWARE.TXT

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210312214145.2936082-3-laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2021-03-12 22:41:42 +01:00
parent 8c6df16ff6
commit 8785559390
5 changed files with 264 additions and 0 deletions

View file

@ -0,0 +1,33 @@
/*
* SPDX-License-Identifer: GPL-2.0-or-later
*
* Goldfish PIC
*
* (c) 2020 Laurent Vivier <laurent@vivier.eu>
*
*/
#ifndef HW_INTC_GOLDFISH_PIC_H
#define HW_INTC_GOLDFISH_PIC_H
#define TYPE_GOLDFISH_PIC "goldfish_pic"
OBJECT_DECLARE_SIMPLE_TYPE(GoldfishPICState, GOLDFISH_PIC)
#define GOLDFISH_PIC_IRQ_NB 32
struct GoldfishPICState {
SysBusDevice parent_obj;
MemoryRegion iomem;
qemu_irq irq;
uint32_t pending;
uint32_t enabled;
/* statistics */
uint64_t stats_irq_count[32];
/* for tracing */
uint8_t idx;
};
#endif