qemu/hw/intc
Bibo Mao 095e6fcf62 hw/intc/loongarch_pch: Convert to little endian with ID register
With PCH ID register, it is defined as union type as follows:
union LoongArchPIC_ID {
    struct {
        uint8_t _reserved_0[3];
        uint8_t id;
        uint8_t version;
        uint8_t _reserved_1;
        uint8_t irq_num;
        uint8_t _reserved_2;
    } QEMU_PACKED desc;
    uint64_t data;
}

And with pch driver in virt machine irq_number is parsed with little
endian method:
  vec_count = ((readq(priv->base) >> 48) & 0xff) + 1

So the value of ID register should be converted to little endian.
With this patch, linux kernel passes to run on S390 big endian host
machine with TCG method.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20250604065502.1114098-3-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
2025-06-10 11:55:51 +08:00
..
allwinner-a10-pic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
apic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
apic_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gic_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
arm_gic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv2m.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
arm_gicv3_cpuif.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
arm_gicv3_cpuif_common.c hw/intc/arm_gicv3: Extract gicv3_set_gicv3state from arm_gicv3_cpuif.c 2021-12-15 10:11:34 +00:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Implement GICD_INMIR 2024-04-25 10:21:05 +01:00
arm_gicv3_its.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_its_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_its_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
armv7m_nvic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_intc.c hw/intc/aspeed Fix coding style 2025-05-25 23:39:11 +02:00
aspeed_vic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_ic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2836_control.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_combiner.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
gic_internal.h hw/intc/arm_gic: Fix deactivation of SPI lines 2024-06-21 14:01:58 +01:00
gicv3_internal.h hw/intc/arm_gicv3: Handle icv_nmiar1_read() for icc_nmiar1_read() 2024-04-25 10:21:05 +01:00
goldfish_pic.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
grlib_irqmp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
heathrow_pic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
i8259.c hw/intc/i8259: Remove unused DEBUG_PIC define 2025-04-25 17:00:42 +02:00
i8259_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
imx_avic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx_gpcv2.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic-stub.c i386: select correct components for no-board build 2024-05-10 15:45:15 +02:00
ioapic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
ioapic_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ioapic_internal.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
Kconfig hw/intc: Remove TCG dependency on ARM_GICV3 2025-03-04 14:45:34 +01:00
kvm_irqcount.c hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
loongarch_extioi.c hw/intc/loongarch_extioi: Replace legacy reset callback with new api 2025-05-06 09:17:32 +08:00
loongarch_extioi_common.c hw/intc/loongarch_extioi: Add reset support 2025-05-06 09:17:32 +08:00
loongarch_ipi.c hw/intc/loongarch_ipi: Add reset support 2025-05-06 09:17:32 +08:00
loongarch_pch_msi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
loongarch_pch_pic.c hw/intc/loongarch_pch: Convert to little endian with ID register 2025-06-10 11:55:51 +08:00
loongarch_pic_common.c hw/intc/loongarch_pch: Set version information at initial stage 2025-05-14 15:43:46 +08:00
loongson_ipi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
loongson_ipi_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
loongson_liointc.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
m68k_irqc.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
meson.build hw/intc: Remove TCG dependency on ARM_GICV3 2025-03-04 14:45:34 +01:00
mips_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
omap_intc.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
ompic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
openpic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
openpic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pl190.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pnv_xive.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pnv_xive2.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pnv_xive2_regs.h pnv/xive2: Enable VST NVG and NVC index compression 2024-07-26 09:51:33 +10:00
pnv_xive_regs.h ppc/xive: Handle END triggers between chips with MMIOs 2023-09-06 11:19:33 +02:00
ppc-uic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
realview_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
riscv_aclint.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
riscv_aplic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
riscv_imsic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rx_icu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
s390_flic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
s390_flic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sh_intc.c hw/intc/sh_intc: Remove unneeded local variable initialisers 2021-10-30 18:39:37 +02:00
sifive_plic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
slavio_intctl.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
spapr_xive.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
spapr_xive_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events hw/intc/loongarch_pch: Use unified trace event for memory region ops 2025-05-14 15:53:44 +08:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xics_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xics_pnv.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xics_spapr.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xilinx_intc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xive.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xive2.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xlnx-pmu-iomod-intc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp-ipi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00