On 16/7/24 03:29, maobibo wrote:


On 2024/7/16 上午9:04, maobibo wrote:


On 2024/7/15 下午11:17, Philippe Mathieu-Daudé wrote:
On 4/7/24 05:37, Bibo Mao wrote:
Now loongson ipi and loongarch ipi share the same code with different
macro, loongson ipi has its separate function such mmio region,
loongarch ipi has other requirement such as irqchip in kernel.

Interrupt irqchip has strong relationship with architecture, since
it sends irq to vcpu and interfaces to get irqchip register is also
architecture specific.

Here like other architectures, base class TYPE_LOONGSON_IPI_COMMON
is added, it comes from loongson ipi mostly. And it defined four abstract interfaces which can be used for MIPS 3A4000 and Loongarch 3A5000 machine,
also can be used for 3A5000 irqchip in kernel mode soon.

Also Loongarch ipi and loongson ipi device are added here, it inherits
from base class TYPE_LOONGSON_IPI_COMMON. Loongarch ipi is tested,
loongson ipi device only passes to compile and make check, it is not
tested.

Bibo Mao (4):
   hw/intc/loongson_ipi_common: Add loongson ipi common class
   hw/intc/loongarch_ipi: Add loongarch ipi support
   hw/loongarch/virt: Replace loongson ipi with loongarch ipi
   hw/intc/loongson_ipi: reconstruct driver inherit from common class

I'll try to respin a clearer v3.
I am ok with it since it solve the problem, and it is suitable for 9.1 release. Only that in the long time we hope that intc emulation driver has common base class + tcg/kvm driver, similar with other architecture.

Sorry for the confusion, I had thought it was another topic.

Thanks for pointing out the problem and welcome the v3 version.

Please do not post v3, let me post it.


Reply via email to