aboutsummaryrefslogtreecommitdiff
path: root/hw/pci-host
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-10-25 21:46:39 +0200
committerRichard Henderson <richard.henderson@linaro.org>2023-11-06 18:49:34 -0800
commit64bf09674a5911fd70a3b4050c2d7081b0353cf5 (patch)
tree152e4f8faaabd102dba6846bcc46d2c21120e973 /hw/pci-host
parentfd842b2f4ce2da082b400f9b9278fa6bd45d0864 (diff)
downloadqemu-64bf09674a5911fd70a3b4050c2d7081b0353cf5.zip
qemu-64bf09674a5911fd70a3b4050c2d7081b0353cf5.tar.gz
qemu-64bf09674a5911fd70a3b4050c2d7081b0353cf5.tar.bz2
hw/pci-host/astro: Trigger CPU irq on CPU HPA in high memory
The CPU HPA is in the high F-region on PA2.0 CPUs, so use F_EXTEND() to trigger interrupt request at the right CPU HPA address. Note that the cpu_hpa value comes out of the IRT, which doesn't store the higher addresss bits. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'hw/pci-host')
-rw-r--r--hw/pci-host/astro.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/pci-host/astro.c b/hw/pci-host/astro.c
index df61386..b19f091 100644
--- a/hw/pci-host/astro.c
+++ b/hw/pci-host/astro.c
@@ -384,7 +384,7 @@ static void elroy_set_irq(void *opaque, int irq, int level)
uint32_t ena = bit & ~old_ilr;
s->ilr = old_ilr | bit;
if (ena != 0) {
- stl_be_phys(&address_space_memory, cpu_hpa, val & 63);
+ stl_be_phys(&address_space_memory, F_EXTEND(cpu_hpa), val & 63);
}
} else {
s->ilr = old_ilr & ~bit;