[PATCH v2 0/4] Reconstruct loongson ipi driver

Bibo Mao posted 4 patches 4 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240704033802.3838618-1-maobibo@loongson.cn
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Song Gao <gaosong@loongson.cn>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>
There is a newer version of this series
hw/intc/Kconfig                       |   3 +
hw/intc/loongarch_ipi.c               |  80 ++++++
hw/intc/loongson_ipi.c                | 330 ++-------------------
hw/intc/loongson_ipi_common.c         | 394 ++++++++++++++++++++++++++
hw/intc/meson.build                   |   3 +-
hw/loongarch/Kconfig                  |   2 +-
hw/loongarch/virt.c                   |   4 +-
include/hw/intc/loongarch_ipi.h       |  33 +++
include/hw/intc/loongson_ipi.h        |  54 ++--
include/hw/intc/loongson_ipi_common.h |  77 +++++
include/hw/loongarch/virt.h           |   1 -
11 files changed, 632 insertions(+), 349 deletions(-)
create mode 100644 hw/intc/loongarch_ipi.c
create mode 100644 hw/intc/loongson_ipi_common.c
create mode 100644 include/hw/intc/loongarch_ipi.h
create mode 100644 include/hw/intc/loongson_ipi_common.h
[PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Bibo Mao 4 months, 3 weeks ago
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

 hw/intc/Kconfig                       |   3 +
 hw/intc/loongarch_ipi.c               |  80 ++++++
 hw/intc/loongson_ipi.c                | 330 ++-------------------
 hw/intc/loongson_ipi_common.c         | 394 ++++++++++++++++++++++++++
 hw/intc/meson.build                   |   3 +-
 hw/loongarch/Kconfig                  |   2 +-
 hw/loongarch/virt.c                   |   4 +-
 include/hw/intc/loongarch_ipi.h       |  33 +++
 include/hw/intc/loongson_ipi.h        |  54 ++--
 include/hw/intc/loongson_ipi_common.h |  77 +++++
 include/hw/loongarch/virt.h           |   1 -
 11 files changed, 632 insertions(+), 349 deletions(-)
 create mode 100644 hw/intc/loongarch_ipi.c
 create mode 100644 hw/intc/loongson_ipi_common.c
 create mode 100644 include/hw/intc/loongarch_ipi.h
 create mode 100644 include/hw/intc/loongson_ipi_common.h


base-commit: 6746482d12da3b6e4d3cdf06481a0027a797f719
-- 
2.39.3
Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Philippe Mathieu-Daudé 4 months, 1 week ago
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.
Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by maobibo 4 months, 1 week ago

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.

Regards
Bibo mao


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by maobibo 4 months, 1 week ago

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.

Regards
Bibo Mao
> Regards
> Bibo mao
> 


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Philippe Mathieu-Daudé 4 months, 1 week ago
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.


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by maobibo 4 months, 1 week ago

On 2024/7/16 下午2:40, Philippe Mathieu-Daudé wrote:
> 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.
Hi Philippe,

QEMU 9.1 is coming to soft frozen stage, do you have enough time working 
on it?  Is it ok to use bugfix patch for 9.1 release version?
https://lore.kernel.org/all/20240627125819.62779-2-philmd@linaro.org/

After 9.1 is released, there will be enough time for patch v3.

Regards
Bibo, Mao


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Jiaxun Yang 4 months, 1 week ago

在2024年7月17日七月 下午5:22,maobibo写道:
> On 2024/7/16 下午2:40, Philippe Mathieu-Daudé wrote:
>> 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.
> Hi Philippe,
>
> QEMU 9.1 is coming to soft frozen stage, do you have enough time working 
> on it?  Is it ok to use bugfix patch for 9.1 release version?

Bug fix is always qualified between soft freeze and release.

I tested the series for MIPS yesterday and can confirm it do work.

Will give my tags on v3.

Thanks

> https://lore.kernel.org/all/20240627125819.62779-2-philmd@linaro.org/
>
> After 9.1 is released, there will be enough time for patch v3.
>
> Regards
> Bibo, Mao

-- 
- Jiaxun
Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Philippe Mathieu-Daudé 4 months, 1 week ago
On 17/7/24 13:53, Jiaxun Yang wrote:
> 
> 
> 在2024年7月17日七月 下午5:22,maobibo写道:
>> On 2024/7/16 下午2:40, Philippe Mathieu-Daudé wrote:
>>> 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.
>> Hi Philippe,
>>
>> QEMU 9.1 is coming to soft frozen stage, do you have enough time working
>> on it?  Is it ok to use bugfix patch for 9.1 release version?

Yeah, trying to do my best here. Again I expect splitting your work
in multiple commits would have accelerated the review process.

> 
> Bug fix is always qualified between soft freeze and release.
> 
> I tested the series for MIPS yesterday and can confirm it do work.
> 
> Will give my tags on v3.

Thanks, I think I'm getting sick so I'll post what I did so far,
only build-tested so far, but my brain is not working well (fever?)
so I'll let Bibo/you resolve any issues with v3 (respinning if
required) and then either Song or me can queue the result next
week before the freeze.

Regards,

Phil.

>> https://lore.kernel.org/all/20240627125819.62779-2-philmd@linaro.org/
>>
>> After 9.1 is released, there will be enough time for patch v3.
>>
>> Regards
>> Bibo, Mao
> 


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by maobibo 4 months, 2 weeks ago
Hi Philippe/Jiaxun,

Could you do me a favor giving a review about this patch?

Regards
Bibo Mao

On 2024/7/4 上午11: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
> 
>   hw/intc/Kconfig                       |   3 +
>   hw/intc/loongarch_ipi.c               |  80 ++++++
>   hw/intc/loongson_ipi.c                | 330 ++-------------------
>   hw/intc/loongson_ipi_common.c         | 394 ++++++++++++++++++++++++++
>   hw/intc/meson.build                   |   3 +-
>   hw/loongarch/Kconfig                  |   2 +-
>   hw/loongarch/virt.c                   |   4 +-
>   include/hw/intc/loongarch_ipi.h       |  33 +++
>   include/hw/intc/loongson_ipi.h        |  54 ++--
>   include/hw/intc/loongson_ipi_common.h |  77 +++++
>   include/hw/loongarch/virt.h           |   1 -
>   11 files changed, 632 insertions(+), 349 deletions(-)
>   create mode 100644 hw/intc/loongarch_ipi.c
>   create mode 100644 hw/intc/loongson_ipi_common.c
>   create mode 100644 include/hw/intc/loongarch_ipi.h
>   create mode 100644 include/hw/intc/loongson_ipi_common.h
> 
> 
> base-commit: 6746482d12da3b6e4d3cdf06481a0027a797f719
> 


Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by Jiaxun Yang 4 months, 2 weeks ago

在2024年7月9日七月 下午8:04,maobibo写道:
> Hi Philippe/Jiaxun,
>
> Could you do me a favor giving a review about this patch?

Hi Bibo,

I’m currently traveling, will test and review next week.

I’m not really convinced to give a R-b but I’m fine with a T-b.

Thanks

>
> Regards
> Bibo Mao
>
> On 2024/7/4 上午11: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
>> 
>>   hw/intc/Kconfig                       |   3 +
>>   hw/intc/loongarch_ipi.c               |  80 ++++++
>>   hw/intc/loongson_ipi.c                | 330 ++-------------------
>>   hw/intc/loongson_ipi_common.c         | 394 ++++++++++++++++++++++++++
>>   hw/intc/meson.build                   |   3 +-
>>   hw/loongarch/Kconfig                  |   2 +-
>>   hw/loongarch/virt.c                   |   4 +-
>>   include/hw/intc/loongarch_ipi.h       |  33 +++
>>   include/hw/intc/loongson_ipi.h        |  54 ++--
>>   include/hw/intc/loongson_ipi_common.h |  77 +++++
>>   include/hw/loongarch/virt.h           |   1 -
>>   11 files changed, 632 insertions(+), 349 deletions(-)
>>   create mode 100644 hw/intc/loongarch_ipi.c
>>   create mode 100644 hw/intc/loongson_ipi_common.c
>>   create mode 100644 include/hw/intc/loongarch_ipi.h
>>   create mode 100644 include/hw/intc/loongson_ipi_common.h
>> 
>> 
>> base-commit: 6746482d12da3b6e4d3cdf06481a0027a797f719
>>

-- 
- Jiaxun
Re: [PATCH v2 0/4] Reconstruct loongson ipi driver
Posted by maobibo 4 months, 2 weeks ago

On 2024/7/10 下午12:00, Jiaxun Yang wrote:
> 
> 
> 在2024年7月9日七月 下午8:04,maobibo写道:
>> Hi Philippe/Jiaxun,
>>
>> Could you do me a favor giving a review about this patch?
> 
> Hi Bibo,
> 
> I’m currently traveling, will test and review next week.
> 
> I’m not really convinced to give a R-b but I’m fine with a T-b.
That is ok for me, have a good time.

Regards
Bibo Mao
> 
> Thanks
> 
>>
>> Regards
>> Bibo Mao
>>
>> On 2024/7/4 上午11: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
>>>
>>>    hw/intc/Kconfig                       |   3 +
>>>    hw/intc/loongarch_ipi.c               |  80 ++++++
>>>    hw/intc/loongson_ipi.c                | 330 ++-------------------
>>>    hw/intc/loongson_ipi_common.c         | 394 ++++++++++++++++++++++++++
>>>    hw/intc/meson.build                   |   3 +-
>>>    hw/loongarch/Kconfig                  |   2 +-
>>>    hw/loongarch/virt.c                   |   4 +-
>>>    include/hw/intc/loongarch_ipi.h       |  33 +++
>>>    include/hw/intc/loongson_ipi.h        |  54 ++--
>>>    include/hw/intc/loongson_ipi_common.h |  77 +++++
>>>    include/hw/loongarch/virt.h           |   1 -
>>>    11 files changed, 632 insertions(+), 349 deletions(-)
>>>    create mode 100644 hw/intc/loongarch_ipi.c
>>>    create mode 100644 hw/intc/loongson_ipi_common.c
>>>    create mode 100644 include/hw/intc/loongarch_ipi.h
>>>    create mode 100644 include/hw/intc/loongson_ipi_common.h
>>>
>>>
>>> base-commit: 6746482d12da3b6e4d3cdf06481a0027a797f719
>>>
>