qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/arm/smmuv3: Support non-PCI/PCIe devices connection


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/arm/smmuv3: Support non-PCI/PCIe devices connection
Date: Fri, 20 Aug 2021 09:57:52 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 8/20/21 9:42 AM, Li, Chunming wrote:
> 
>> On 8/20/21 4:36 AM, Li, Chunming wrote:
>>> The current SMMU V3 device model only support PCI/PCIe devices,
>>> so we update it to support non-PCI/PCIe devices.
>>>
>>>     hw/arm/smmuv3:
>>>         . Create IOMMU memory regions for non-PCI/PCIe devices based
>> on their SID
>>>         . Add sid-map property to store non-PCI/PCIe devices SID
>>>         . Update implementation of CFGI commands based on device SID
>>>     hw/arm/smmu-common:
>>>         . Differentiate PCI/PCIe and non-PCI/PCIe devices SID getting
>> strategy
>>>     hw/arm/virt:
>>>         . Add PL330 DMA controller and connect with SMMUv3 for
>> testing
>>>         . Add smmuv3_sidmap for non-PCI/PCIe devices SID setting
>>>
>>> Signed-off-by: Chunming Li <chunming.li@verisilicon.com>
>>> Signed-off-by: Renwei Liu <renwei.liu@verisilicon.com>
>>> ---
>>> This patch depends on PL330 memory region connection patch:
>>>
>> https://patchew.org/QEMU/4C23C17B8E87E74E906A25A3254A03F4FA1FEC31@SHASX
>> M03.verisilicon.com/
>>>
>>>  hw/arm/smmuv3.c              |  75 ++++++++++++++++++------
>>>  hw/arm/virt.c                | 110
>> ++++++++++++++++++++++++++++++++++-
>>>  include/hw/arm/smmu-common.h |  12 +++-
>>>  include/hw/arm/smmuv3.h      |   2 +
>>>  include/hw/arm/virt.h        |   3 +
>>>  5 files changed, 181 insertions(+), 21 deletions(-)
>>>
>>> diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
>>> index 01b60bee4..c4da05d8b 100644
>>> --- a/hw/arm/smmuv3.c
>>> +++ b/hw/arm/smmuv3.c
>>> @@ -32,6 +32,7 @@
>>>  #include "hw/arm/smmuv3.h"
>>>  #include "smmuv3-internal.h"
>>>  #include "smmu-internal.h"
>>> +#include "hw/qdev-properties.h"
>>>
>>>  /**
>>>   * smmuv3_trigger_irq - pulse @irq if enabled and update
>>> @@ -612,7 +613,7 @@ static SMMUTransCfg *smmuv3_get_config(SMMUDevice
>> *sdev, SMMUEventInfo *event)
>>>      return cfg;
>>>  }
>>>
>>> -static void smmuv3_flush_config(SMMUDevice *sdev)
>>> +static void __attribute__((unused)) smmuv3_flush_config(SMMUDevice
>> *sdev)
>>>  {
>>
>> Why keep this function if unused?
> "smmuv3_flush_config" is useless after our modification. The modification is 
> verified by PL330 DMA and PCIe network.
> But we are not sure if it has potential risk. So we hope maintainer can help 
> to check, then we can remove it.

Either remove it in your patch, or your patch is incorrect and we
still need it. But don't let it as dead code and don't postpone the
removal please.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]