This series patchset is to clean up with memory regions of loongarch pch pic interrupt controller. Originally there are three iomem regions: iomem32_low, iomem8, iomem32_highm. Since these regions only support 4 bytes/1 byte/4 bytes access, it is divided into three regions.
Now it is merged into one region, this regions supports 1/2/4/8 bytes access. Patch 1-6 is to replace register name, no function change. Patch 7-16 is to use unifed memory region iomem, and supports 1/2/4/8 bytes access with read/write ops for this region, and merge three regions above into one. --- v3 ... v4: 1. Use uint8_t rather than bitfield in packed structure since there is different definition about bitfield between gcc and MSVC. 2. Rebase patch based on latest version. v2 ... v3: 1. Set address aligned with 8 bytes in memory region function pch_pic_read() and pch_pic_write(), and only compare register base address with 8 bytes aligned one. 2. Replace 0xff/0xffff with UCHAR_MAX/USHRT_MAX. v1 ... v2: 1. Add 1/2/4/8 bytes access support with memory region read and write ops. 2. Merge three memory regions iomem32_low, iomem8 and iomem32_high into one region iomem. 3. Merge trace functions for ops in above three memory regions into one trace function --- Bibo Mao (16): hw/intc/loongarch_pch: Modify name of some registers hw/intc/loongarch_pch: Modify register name PCH_PIC_xxx_OFFSET with PCH_PIC_xxx hw/intc/loongarch_pch: Remove some duplicate macro hw/intc/loongarch_pch: Set version information at initial stage hw/intc/loongarch_pch: Use relative address in MemoryRegionOps hw/intc/loongarch_pch: Discard write operation with ISR register hw/intc/loongarch_pch: Use generic read callback for iomem32_low region hw/intc/loongarch_pch: Use generic read callback for iomem32_high region hw/intc/loongarch_pch: Use generic read callback for iomem8 region hw/intc/loongarch_pch: Use generic write callback for iomem32_low region hw/intc/loongarch_pch: Use generic write callback for iomem32_high region hw/intc/loongarch_pch: Use generic write callback for iomem8 region hw/intc/loongarch_pch: Use unified trace event for memory region ops hw/intc/loongarch_pch: Rename memory region iomem32_low with iomem hw/intc/loongarch_pch: Set flexible memory access size with iomem region hw/intc/loongarch_pch: Merge three memory region into one hw/intc/loongarch_pch_pic.c | 331 ++++++++----------------- hw/intc/loongarch_pic_common.c | 13 + hw/intc/trace-events | 8 +- hw/loongarch/virt.c | 6 - include/hw/intc/loongarch_pic_common.h | 57 ++--- 5 files changed, 152 insertions(+), 263 deletions(-) -- 2.39.3