diff options
| author | Song Gao <gaosong@loongson.cn> | 2025-09-16 20:21:04 +0800 |
|---|---|---|
| committer | Song Gao <gaosong@loongson.cn> | 2025-09-28 17:31:04 +0800 |
| commit | 07f3e5203ade3fd2e3d8d0593bcdb0aa39e022d4 (patch) | |
| tree | 548d1340c53914160a91af1092b73007589c9a74 /hw/intc | |
| parent | 3ff989d566ec880a5d06de7bb65d3dc35fc3b63b (diff) | |
| download | focaccia-qemu-07f3e5203ade3fd2e3d8d0593bcdb0aa39e022d4.tar.gz focaccia-qemu-07f3e5203ade3fd2e3d8d0593bcdb0aa39e022d4.zip | |
hw/loongarch: DINTC add a MemoryRegion
the DINTC use [2fe00000-2ff00000) Memory. Signed-off-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Bibo Mao <maobibo@loongson.cn> Message-ID: <20250916122109.749813-7-gaosong@loongson.cn>
Diffstat (limited to 'hw/intc')
| -rw-r--r-- | hw/intc/loongarch_dintc.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/hw/intc/loongarch_dintc.c b/hw/intc/loongarch_dintc.c index b2465cb022..7173a6aa29 100644 --- a/hw/intc/loongarch_dintc.c +++ b/hw/intc/loongarch_dintc.c @@ -17,6 +17,24 @@ #include "trace.h" #include "hw/qdev-properties.h" +static uint64_t loongarch_dintc_mem_read(void *opaque, + hwaddr addr, unsigned size) +{ + return 0; +} + +static void loongarch_dintc_mem_write(void *opaque, hwaddr addr, + uint64_t val, unsigned size) +{ + return; +} + + +static const MemoryRegionOps loongarch_dintc_ops = { + .read = loongarch_dintc_mem_read, + .write = loongarch_dintc_mem_write, + .endianness = DEVICE_LITTLE_ENDIAN, +}; static void loongarch_dintc_realize(DeviceState *dev, Error **errp) { @@ -39,6 +57,12 @@ static void loongarch_dintc_unrealize(DeviceState *dev) static void loongarch_dintc_init(Object *obj) { + LoongArchDINTCState *s = LOONGARCH_DINTC(obj); + SysBusDevice *shd = SYS_BUS_DEVICE(obj); + memory_region_init_io(&s->dintc_mmio, OBJECT(s), &loongarch_dintc_ops, + s, TYPE_LOONGARCH_DINTC, VIRT_DINTC_SIZE); + sysbus_init_mmio(shd, &s->dintc_mmio); + msi_nonbroken = true; return; } |