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

Re: [PATCH v4 2/4] xen/arm: Handle cases when hardware_domain is NULL


  • To: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Wed, 14 Apr 2021 10:14:19 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=56FXBxm/dLPCVztZyFYrmU7arC920SGoPVXAt2sJ9ds=; b=cGizGDOHf4Gn7vuJ5XXyoXcAO0q7YaIWjfEWANymIqPYZ5753yRIfFrEOHKZSAcYAw/tI/28nnqXPs8g/hgt7kFFVq4SjyZKpWvG/9sPZJzON1oC2640FkKAiT4RAdBw8+IeK6LmdB1PpO6nbrx9MENOmzN6G6SZWG5w6+YgeKAqZVHBwe5njIfZxPXMD8oXnpYGplDxdj1PflKn9cxj54C603h2a94D0De+SwFTZqD+a9kkhHV/uhIpec9809RLd7FouM1Zi9JzMSh3mwSj0cZvhSF4aaA+J8Q88zlvVgQpfrHvTgVvkD0HJymewqNHNkVUTwZJ/9qRqtkfREZ+hQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R98hwyTm4bxJn+pst4nX0T0N/x0m4XJ8MkLpLd1JKO7u8WqzoFpocvECZYrE0/nWGgkh4g7lBuRs0fiigARDDZyeQEQK4c2OM8x0MBmJPq/Z6XrE3yrNMuMaKGYb3f0wupM007UrHI9L/yQwoB8qhZ/3B9FKe9CE2mK4AQN1wNDq8KIR+OJSFzcTr/hIe6vLl22DQKJ59EgUXbvsN0GhIWqgyBZDh0pGTs8lDY+yrSz5222SZ2NPEUXhDTqDEovUCo0lEc6Qo7llswK0Hn5kzs9y95djYsj6eaxplmZlZaKfnEs04yV/2KuFnemKYL2zIr7Ja3bshy2sOvmiOjufaw==
  • Authentication-results-original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Wei Chen <Wei.Chen@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Rahul Singh <Rahul.Singh@xxxxxxx>
  • Delivery-date: Wed, 14 Apr 2021 10:14:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHXMQ6Q3JcgcbdjF0OhB9yjIgtWraqzy74A
  • Thread-topic: [PATCH v4 2/4] xen/arm: Handle cases when hardware_domain is NULL

Hi Luca,

> On 14 Apr 2021, at 10:14, Luca Fancellu <Luca.Fancellu@xxxxxxx> wrote:
> 
> Among the common and arm codebase there are few cases where
> the hardware_domain variable is checked to see if the current
> domain is equal to the hardware_domain, change this cases to
> use is_hardware_domain() function instead.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx>
Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>

Cheers,
Bertrand

> ---
> v4 changes:
> - removed unneeded check for domain NULL from is_hardware_domain
>  introduced in v3
> v3 changes:
> - removed unneeded parenthesis for macro is_domain_direct_mapped
> - is_hardware_domain() checks for the passed domain and if it is
>  NULL, it returns false.
> - reverted back checks in the function late_hwdom_init
> ---
> xen/arch/arm/irq.c                       | 2 +-
> xen/drivers/passthrough/arm/ipmmu-vmsa.c | 2 +-
> xen/drivers/passthrough/arm/smmu-v3.c    | 2 +-
> xen/drivers/passthrough/arm/smmu.c       | 2 +-
> xen/include/asm-arm/domain.h             | 2 +-
> 5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index b71b099e6f..b761d90c40 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -412,7 +412,7 @@ bool is_assignable_irq(unsigned int irq)
>  */
> bool irq_type_set_by_domain(const struct domain *d)
> {
> -    return (d == hardware_domain);
> +    return is_hardware_domain(d);
> }
> 
> /*
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c 
> b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> index aef358d880..8b8e3a00ba 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -1168,7 +1168,7 @@ static int ipmmu_reassign_device(struct domain *s, 
> struct domain *t,
>     int ret = 0;
> 
>     /* Don't allow remapping on other domain than hwdom */
> -    if ( t && t != hardware_domain )
> +    if ( t && !is_hardware_domain(t) )
>         return -EPERM;
> 
>     if ( t == s )
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c 
> b/xen/drivers/passthrough/arm/smmu-v3.c
> index 53d150cdb6..d115df7320 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -3366,7 +3366,7 @@ static int arm_smmu_reassign_dev(struct domain *s, 
> struct domain *t,
>       int ret = 0;
> 
>       /* Don't allow remapping on other domain than hwdom */
> -     if (t && t != hardware_domain)
> +     if ( t && !is_hardware_domain(t) )
>               return -EPERM;
> 
>       if (t == s)
> diff --git a/xen/drivers/passthrough/arm/smmu.c 
> b/xen/drivers/passthrough/arm/smmu.c
> index 3e8aa37866..932fdfd6dd 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2670,7 +2670,7 @@ static int arm_smmu_reassign_dev(struct domain *s, 
> struct domain *t,
>       int ret = 0;
> 
>       /* Don't allow remapping on other domain than hwdom */
> -     if (t && t != hardware_domain)
> +     if ( t && !is_hardware_domain(t) )
>               return -EPERM;
> 
>       if (t == s)
> diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
> index 1da90f207d..0a74df9931 100644
> --- a/xen/include/asm-arm/domain.h
> +++ b/xen/include/asm-arm/domain.h
> @@ -30,7 +30,7 @@ enum domain_type {
> #endif
> 
> /* The hardware domain has always its memory direct mapped. */
> -#define is_domain_direct_mapped(d) ((d) == hardware_domain)
> +#define is_domain_direct_mapped(d) is_hardware_domain(d)
> 
> struct vtimer {
>     struct vcpu *v;
> -- 
> 2.17.1
> 




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.