[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 5/5] hw/intc: Fix LoongArch ipi device emulation
From: |
Song Gao |
Subject: |
[PULL 5/5] hw/intc: Fix LoongArch ipi device emulation |
Date: |
Mon, 17 Oct 2022 14:39:44 +0800 |
From: Xiaojuan Yang <yangxiaojuan@loongson.cn>
In ipi_send function, it should not to set irq before
writing data to dest cpu iocsr space, as the irq will
trigger after data writing.
When call this function 'address_space_stl()', it will
trigger loongarch_ipi_writel(), the addr arg is 0x1008
('CORE_SET_OFF'), and qemu_irq_raise will be called in
this case.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220930095139.867115-3-yangxiaojuan@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
---
hw/intc/loongarch_ipi.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/hw/intc/loongarch_ipi.c b/hw/intc/loongarch_ipi.c
index 4f3c58f872..aa4bf9eb74 100644
--- a/hw/intc/loongarch_ipi.c
+++ b/hw/intc/loongarch_ipi.c
@@ -88,7 +88,6 @@ static void ipi_send(uint64_t val)
cs = qemu_get_cpu(cpuid);
cpu = LOONGARCH_CPU(cs);
env = &cpu->env;
- loongarch_cpu_set_irq(cpu, IRQ_IPI, 1);
address_space_stl(&env->address_space_iocsr, 0x1008,
data, MEMTXATTRS_UNSPECIFIED, NULL);
--
2.31.1
- [PULL 0/5] loongarch-to-apply queue, Song Gao, 2022/10/17
- [PULL 1/5] target/loongarch: bstrins.w src register need EXT_NONE, Song Gao, 2022/10/17
- [PULL 3/5] softfloat: logB(0) should raise divideByZero exception, Song Gao, 2022/10/17
- [PULL 4/5] linux-user: Fix struct statfs ABI on loongarch64, Song Gao, 2022/10/17
- [PULL 2/5] target/loongarch: Fix fnm{sub/add}_{s/d} set wrong flags, Song Gao, 2022/10/17
- [PULL 5/5] hw/intc: Fix LoongArch ipi device emulation,
Song Gao <=
- Re: [PULL 0/5] loongarch-to-apply queue, Stefan Hajnoczi, 2022/10/18