mbox series

[Xen-devel,0/7] SMMUv3 driver

Message ID 20180209031055.21926-1-sameer.goel@linaro.org
Headers show
Series SMMUv3 driver | expand

Message

Sameer Goel Feb. 9, 2018, 3:10 a.m. UTC
This patch set adds support for the SMMUv3 driver. This is a continuation on
a RFCv4.[1]
The IORT support came from [2]. This RFC has some conflicting defines that
have to be addressed by introducing the linux_compat.h header in IORT patch
set. In any case the SMMU changes apply on top of IORT patches.

List of changes:
- Addition of a linux_compat header.
- Addition of a common header for arm smmu defines.
- Rebase of the SMMUv3 driver to the driver in linux kernel 4.14 rc7.
- New config defines for ARM SMMU drivers.

[1] https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01294.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00007.html
Sameer Goel (7):
  Port WARN_ON_ONCE() from Linux
  xen/bitops: Rename LOG_2 to ilog2
  passthrough/arm: Modify SMMU driver to use generic device definition
  Add verbatim copy of arm-smmu-v3.c from Linux
  xen/iommu: smmu-v3: Add Xen specific code to enable the ported driver
  drivers/passthrough/arm: Refactor code for arm smmu drivers
  xen/smmu: Add a new config define for legacy SMMU

 xen/arch/arm/p2m.c                     |    1 +
 xen/arch/arm/xen.lds.S                 |    1 +
 xen/arch/x86/x86_64/asm-offsets.c      |    2 +-
 xen/arch/x86/xen.lds.S                 |    1 +
 xen/drivers/Kconfig                    |    2 +
 xen/drivers/passthrough/arm/Kconfig    |   14 +
 xen/drivers/passthrough/arm/Makefile   |    3 +-
 xen/drivers/passthrough/arm/arm_smmu.h |  125 ++
 xen/drivers/passthrough/arm/smmu-v3.c  | 3625 ++++++++++++++++++++++++++++++++
 xen/drivers/passthrough/arm/smmu.c     |  114 +-
 xen/include/xen/bitops.h               |    2 +-
 xen/include/xen/lib.h                  |   13 +
 xen/include/xen/linux_compat.h         |   84 +
 13 files changed, 3877 insertions(+), 110 deletions(-)
 create mode 100644 xen/drivers/passthrough/arm/Kconfig
 create mode 100644 xen/drivers/passthrough/arm/arm_smmu.h
 create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c
 create mode 100644 xen/include/xen/linux_compat.h

Comments

Julien Grall March 1, 2018, 2:35 p.m. UTC | #1
Hi,

On 09/02/18 03:10, Sameer Goel wrote:
> This patch set adds support for the SMMUv3 driver. This is a continuation on
> a RFCv4.[1]
> The IORT support came from [2]. This RFC has some conflicting defines that
> have to be addressed by introducing the linux_compat.h header in IORT patch
> set. In any case the SMMU changes apply on top of IORT patches.

The SMMUv3 series looks in good state and I would like to see this 
merged for Xen 4.11. Manish, do we have an update on the IORT side?

Cheers,

> 
> List of changes:
> - Addition of a linux_compat header.
> - Addition of a common header for arm smmu defines.
> - Rebase of the SMMUv3 driver to the driver in linux kernel 4.14 rc7.
> - New config defines for ARM SMMU drivers.
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01294.html
> [2] https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00007.html
> Sameer Goel (7):
>    Port WARN_ON_ONCE() from Linux
>    xen/bitops: Rename LOG_2 to ilog2
>    passthrough/arm: Modify SMMU driver to use generic device definition
>    Add verbatim copy of arm-smmu-v3.c from Linux
>    xen/iommu: smmu-v3: Add Xen specific code to enable the ported driver
>    drivers/passthrough/arm: Refactor code for arm smmu drivers
>    xen/smmu: Add a new config define for legacy SMMU
> 
>   xen/arch/arm/p2m.c                     |    1 +
>   xen/arch/arm/xen.lds.S                 |    1 +
>   xen/arch/x86/x86_64/asm-offsets.c      |    2 +-
>   xen/arch/x86/xen.lds.S                 |    1 +
>   xen/drivers/Kconfig                    |    2 +
>   xen/drivers/passthrough/arm/Kconfig    |   14 +
>   xen/drivers/passthrough/arm/Makefile   |    3 +-
>   xen/drivers/passthrough/arm/arm_smmu.h |  125 ++
>   xen/drivers/passthrough/arm/smmu-v3.c  | 3625 ++++++++++++++++++++++++++++++++
>   xen/drivers/passthrough/arm/smmu.c     |  114 +-
>   xen/include/xen/bitops.h               |    2 +-
>   xen/include/xen/lib.h                  |   13 +
>   xen/include/xen/linux_compat.h         |   84 +
>   13 files changed, 3877 insertions(+), 110 deletions(-)
>   create mode 100644 xen/drivers/passthrough/arm/Kconfig
>   create mode 100644 xen/drivers/passthrough/arm/arm_smmu.h
>   create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c
>   create mode 100644 xen/include/xen/linux_compat.h
>
Manish Jaggi March 4, 2018, 2:52 p.m. UTC | #2
On 03/01/2018 08:05 PM, Julien Grall wrote:
> Hi,
>
> On 09/02/18 03:10, Sameer Goel wrote:
>> This patch set adds support for the SMMUv3 driver. This is a 
>> continuation on
>> a RFCv4.[1]
>> The IORT support came from [2]. This RFC has some conflicting defines 
>> that
>> have to be addressed by introducing the linux_compat.h header in IORT 
>> patch
>> set. In any case the SMMU changes apply on top of IORT patches.
>
> The SMMUv3 series looks in good state and I would like to see this 
> merged for Xen 4.11. Manish, do we have an update on the IORT side?
Started merging this series with my code.
>
> Cheers,
>
>>
>> List of changes:
>> - Addition of a linux_compat header.
>> - Addition of a common header for arm smmu defines.
>> - Rebase of the SMMUv3 driver to the driver in linux kernel 4.14 rc7.
>> - New config defines for ARM SMMU drivers.
>>
>> [1] 
>> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01294.html
>> [2] 
>> https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00007.html
>> Sameer Goel (7):
>>    Port WARN_ON_ONCE() from Linux
>>    xen/bitops: Rename LOG_2 to ilog2
>>    passthrough/arm: Modify SMMU driver to use generic device definition
>>    Add verbatim copy of arm-smmu-v3.c from Linux
>>    xen/iommu: smmu-v3: Add Xen specific code to enable the ported driver
>>    drivers/passthrough/arm: Refactor code for arm smmu drivers
>>    xen/smmu: Add a new config define for legacy SMMU
>>
>>   xen/arch/arm/p2m.c                     |    1 +
>>   xen/arch/arm/xen.lds.S                 |    1 +
>>   xen/arch/x86/x86_64/asm-offsets.c      |    2 +-
>>   xen/arch/x86/xen.lds.S                 |    1 +
>>   xen/drivers/Kconfig                    |    2 +
>>   xen/drivers/passthrough/arm/Kconfig    |   14 +
>>   xen/drivers/passthrough/arm/Makefile   |    3 +-
>>   xen/drivers/passthrough/arm/arm_smmu.h |  125 ++
>>   xen/drivers/passthrough/arm/smmu-v3.c  | 3625 
>> ++++++++++++++++++++++++++++++++
>>   xen/drivers/passthrough/arm/smmu.c     |  114 +-
>>   xen/include/xen/bitops.h               |    2 +-
>>   xen/include/xen/lib.h                  |   13 +
>>   xen/include/xen/linux_compat.h         |   84 +
>>   13 files changed, 3877 insertions(+), 110 deletions(-)
>>   create mode 100644 xen/drivers/passthrough/arm/Kconfig
>>   create mode 100644 xen/drivers/passthrough/arm/arm_smmu.h
>>   create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c
>>   create mode 100644 xen/include/xen/linux_compat.h
>>
>