xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen/arm: rename guest_cpuinfo in domain_cpuinfo
@ 2023-06-09 13:13 Bertrand Marquis
  2023-06-12 10:38 ` Julien Grall
  0 siblings, 1 reply; 3+ messages in thread
From: Bertrand Marquis @ 2023-06-09 13:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Stefano Stabellini, Julien Grall, Volodymyr Babchuk

Rename the guest_cpuinfo structure to domain_cpuinfo as it is not only
used for guests but also for dom0 so domain is a more suitable name.

While there also rename the create_guest_cpuinfo function to
create_domain_cpuinfo to be coherent.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/arm64/vsysreg.c          |  6 ++--
 xen/arch/arm/cpufeature.c             | 40 +++++++++++++--------------
 xen/arch/arm/include/asm/cpufeature.h |  2 +-
 xen/arch/arm/vcpreg.c                 |  2 +-
 4 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index fe31f7b3827f..b5d54c569b33 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -76,7 +76,7 @@ TVM_REG(CONTEXTIDR_EL1)
     case HSR_SYSREG_##reg:                                              \
     {                                                                   \
         return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr,   \
-                                  1, guest_cpuinfo.field.bits[offset]); \
+                                  1, domain_cpuinfo.field.bits[offset]); \
     }
 
 void do_sysreg(struct cpu_user_regs *regs,
@@ -300,7 +300,7 @@ void do_sysreg(struct cpu_user_regs *regs,
 
     case HSR_SYSREG_ID_AA64PFR0_EL1:
     {
-        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
+        register_t guest_reg_value = domain_cpuinfo.pfr64.bits[0];
 
         if ( is_sve_domain(v->domain) )
         {
@@ -336,7 +336,7 @@ void do_sysreg(struct cpu_user_regs *regs,
          * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
          * needs to be exposed.
          */
-        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
+        register_t guest_reg_value = domain_cpuinfo.zfr64.bits[0];
 
         if ( is_sve_domain(v->domain) )
             guest_reg_value = system_cpuinfo.zfr64.bits[0];
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index b53e1a977601..5f4644865505 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -14,7 +14,7 @@
 
 DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
 
-struct cpuinfo_arm __read_mostly guest_cpuinfo;
+struct cpuinfo_arm __read_mostly domain_cpuinfo;
 
 #ifdef CONFIG_ARM_64
 static bool has_sb_instruction(const struct arm_cpu_capabilities *entry)
@@ -191,45 +191,45 @@ void identify_cpu(struct cpuinfo_arm *c)
 /*
  * This function is creating a cpuinfo structure with values modified to mask
  * all cpu features that should not be published to guest.
- * The created structure is then used to provide ID registers values to guests.
+ * The created structure is then used to provide ID registers values to domains.
  */
-static int __init create_guest_cpuinfo(void)
+static int __init create_domain_cpuinfo(void)
 {
     /* Use the sanitized cpuinfo as initial guest cpuinfo */
-    guest_cpuinfo = system_cpuinfo;
+    domain_cpuinfo = system_cpuinfo;
 
 #ifdef CONFIG_ARM_64
     /* Hide MPAM support as xen does not support it */
-    guest_cpuinfo.pfr64.mpam = 0;
-    guest_cpuinfo.pfr64.mpam_frac = 0;
+    domain_cpuinfo.pfr64.mpam = 0;
+    domain_cpuinfo.pfr64.mpam_frac = 0;
 
     /* Hide SVE by default */
-    guest_cpuinfo.pfr64.sve = 0;
-    guest_cpuinfo.zfr64.bits[0] = 0;
+    domain_cpuinfo.pfr64.sve = 0;
+    domain_cpuinfo.zfr64.bits[0] = 0;
 
     /* Hide MTE support as Xen does not support it */
-    guest_cpuinfo.pfr64.mte = 0;
+    domain_cpuinfo.pfr64.mte = 0;
 
     /* Hide PAC support as Xen does not support it */
-    guest_cpuinfo.isa64.apa = 0;
-    guest_cpuinfo.isa64.api = 0;
-    guest_cpuinfo.isa64.gpa = 0;
-    guest_cpuinfo.isa64.gpi = 0;
+    domain_cpuinfo.isa64.apa = 0;
+    domain_cpuinfo.isa64.api = 0;
+    domain_cpuinfo.isa64.gpa = 0;
+    domain_cpuinfo.isa64.gpi = 0;
 #endif
 
     /* Hide AMU support */
 #ifdef CONFIG_ARM_64
-    guest_cpuinfo.pfr64.amu = 0;
+    domain_cpuinfo.pfr64.amu = 0;
 #endif
-    guest_cpuinfo.pfr32.amu = 0;
+    domain_cpuinfo.pfr32.amu = 0;
 
     /* Hide RAS support as Xen does not support it */
 #ifdef CONFIG_ARM_64
-    guest_cpuinfo.pfr64.ras = 0;
-    guest_cpuinfo.pfr64.ras_frac = 0;
+    domain_cpuinfo.pfr64.ras = 0;
+    domain_cpuinfo.pfr64.ras_frac = 0;
 #endif
-    guest_cpuinfo.pfr32.ras = 0;
-    guest_cpuinfo.pfr32.ras_frac = 0;
+    domain_cpuinfo.pfr32.ras = 0;
+    domain_cpuinfo.pfr32.ras_frac = 0;
 
     return 0;
 }
@@ -237,7 +237,7 @@ static int __init create_guest_cpuinfo(void)
  * This function needs to be run after all smp are started to have
  * cpuinfo structures for all cores.
  */
-__initcall(create_guest_cpuinfo);
+__initcall(create_domain_cpuinfo);
 
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
index 03fe684b4d36..894f278a4a5a 100644
--- a/xen/arch/arm/include/asm/cpufeature.h
+++ b/xen/arch/arm/include/asm/cpufeature.h
@@ -461,7 +461,7 @@ static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
 extern struct cpuinfo_arm cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
-extern struct cpuinfo_arm guest_cpuinfo;
+extern struct cpuinfo_arm domain_cpuinfo;
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index 4adfc0a68d0e..39aeda9dab62 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -169,7 +169,7 @@ TVM_REG32(CONTEXTIDR, CONTEXTIDR_EL1)
     case HSR_CPREG32(reg):                                          \
     {                                                               \
         return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,  \
-                                  guest_cpuinfo.field.bits[offset]);\
+                                  domain_cpuinfo.field.bits[offset]);\
     }
 
 /* helper to define cases for all registers for one CRm value */
-- 
2.39.2 (Apple Git-143)



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] xen/arm: rename guest_cpuinfo in domain_cpuinfo
  2023-06-09 13:13 [PATCH] xen/arm: rename guest_cpuinfo in domain_cpuinfo Bertrand Marquis
@ 2023-06-12 10:38 ` Julien Grall
  2023-06-12 12:13   ` Bertrand Marquis
  0 siblings, 1 reply; 3+ messages in thread
From: Julien Grall @ 2023-06-12 10:38 UTC (permalink / raw)
  To: Bertrand Marquis, xen-devel; +Cc: Stefano Stabellini, Volodymyr Babchuk

Hi Bertrand,

On 09/06/2023 14:13, Bertrand Marquis wrote:
> Rename the guest_cpuinfo structure to domain_cpuinfo as it is not only
> used for guests but also for dom0 so domain is a more suitable name.
> 
> While there also rename the create_guest_cpuinfo function to
> create_domain_cpuinfo to be coherent.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/arm64/vsysreg.c          |  6 ++--
>   xen/arch/arm/cpufeature.c             | 40 +++++++++++++--------------
>   xen/arch/arm/include/asm/cpufeature.h |  2 +-
>   xen/arch/arm/vcpreg.c                 |  2 +-
>   4 files changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> index fe31f7b3827f..b5d54c569b33 100644
> --- a/xen/arch/arm/arm64/vsysreg.c
> +++ b/xen/arch/arm/arm64/vsysreg.c
> @@ -76,7 +76,7 @@ TVM_REG(CONTEXTIDR_EL1)
>       case HSR_SYSREG_##reg:                                              \
>       {                                                                   \
>           return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr,   \
> -                                  1, guest_cpuinfo.field.bits[offset]); \
> +                                  1, domain_cpuinfo.field.bits[offset]); \
>       }
>   
>   void do_sysreg(struct cpu_user_regs *regs,
> @@ -300,7 +300,7 @@ void do_sysreg(struct cpu_user_regs *regs,
>   
>       case HSR_SYSREG_ID_AA64PFR0_EL1:
>       {
> -        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
> +        register_t guest_reg_value = domain_cpuinfo.pfr64.bits[0];
>   
>           if ( is_sve_domain(v->domain) )
>           {
> @@ -336,7 +336,7 @@ void do_sysreg(struct cpu_user_regs *regs,
>            * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
>            * needs to be exposed.
>            */
> -        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
> +        register_t guest_reg_value = domain_cpuinfo.zfr64.bits[0];
>   
>           if ( is_sve_domain(v->domain) )
>               guest_reg_value = system_cpuinfo.zfr64.bits[0];
> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> index b53e1a977601..5f4644865505 100644
> --- a/xen/arch/arm/cpufeature.c
> +++ b/xen/arch/arm/cpufeature.c
> @@ -14,7 +14,7 @@
>   
>   DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
>   
> -struct cpuinfo_arm __read_mostly guest_cpuinfo;
> +struct cpuinfo_arm __read_mostly domain_cpuinfo;
>   
>   #ifdef CONFIG_ARM_64
>   static bool has_sb_instruction(const struct arm_cpu_capabilities *entry)
> @@ -191,45 +191,45 @@ void identify_cpu(struct cpuinfo_arm *c)
>   /*
>    * This function is creating a cpuinfo structure with values modified to mask
>    * all cpu features that should not be published to guest.

I noticed you modified "guests" to "domains" below but not "guest" here. 
Is this intended?

> - * The created structure is then used to provide ID registers values to guests.
> + * The created structure is then used to provide ID registers values to domains.
>    */
> -static int __init create_guest_cpuinfo(void)
> +static int __init create_domain_cpuinfo(void)
>   {
>       /* Use the sanitized cpuinfo as initial guest cpuinfo */

Same question here.

> -    guest_cpuinfo = system_cpuinfo;
> +    domain_cpuinfo = system_cpuinfo;

Cheers,

-- 
Julien Grall


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] xen/arm: rename guest_cpuinfo in domain_cpuinfo
  2023-06-12 10:38 ` Julien Grall
@ 2023-06-12 12:13   ` Bertrand Marquis
  0 siblings, 0 replies; 3+ messages in thread
From: Bertrand Marquis @ 2023-06-12 12:13 UTC (permalink / raw)
  To: Julien Grall; +Cc: Xen-devel, Stefano Stabellini, Volodymyr Babchuk

Hi Julien,

> On 12 Jun 2023, at 12:38, Julien Grall <julien@xen.org> wrote:
> 
> Hi Bertrand,
> 
> On 09/06/2023 14:13, Bertrand Marquis wrote:
>> Rename the guest_cpuinfo structure to domain_cpuinfo as it is not only
>> used for guests but also for dom0 so domain is a more suitable name.
>> While there also rename the create_guest_cpuinfo function to
>> create_domain_cpuinfo to be coherent.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  xen/arch/arm/arm64/vsysreg.c          |  6 ++--
>>  xen/arch/arm/cpufeature.c             | 40 +++++++++++++--------------
>>  xen/arch/arm/include/asm/cpufeature.h |  2 +-
>>  xen/arch/arm/vcpreg.c                 |  2 +-
>>  4 files changed, 25 insertions(+), 25 deletions(-)
>> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
>> index fe31f7b3827f..b5d54c569b33 100644
>> --- a/xen/arch/arm/arm64/vsysreg.c
>> +++ b/xen/arch/arm/arm64/vsysreg.c
>> @@ -76,7 +76,7 @@ TVM_REG(CONTEXTIDR_EL1)
>>      case HSR_SYSREG_##reg:                                              \
>>      {                                                                   \
>>          return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr,   \
>> -                                  1, guest_cpuinfo.field.bits[offset]); \
>> +                                  1, domain_cpuinfo.field.bits[offset]); \
>>      }
>>    void do_sysreg(struct cpu_user_regs *regs,
>> @@ -300,7 +300,7 @@ void do_sysreg(struct cpu_user_regs *regs,
>>        case HSR_SYSREG_ID_AA64PFR0_EL1:
>>      {
>> -        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
>> +        register_t guest_reg_value = domain_cpuinfo.pfr64.bits[0];
>>            if ( is_sve_domain(v->domain) )
>>          {
>> @@ -336,7 +336,7 @@ void do_sysreg(struct cpu_user_regs *regs,
>>           * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
>>           * needs to be exposed.
>>           */
>> -        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
>> +        register_t guest_reg_value = domain_cpuinfo.zfr64.bits[0];
>>            if ( is_sve_domain(v->domain) )
>>              guest_reg_value = system_cpuinfo.zfr64.bits[0];
>> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
>> index b53e1a977601..5f4644865505 100644
>> --- a/xen/arch/arm/cpufeature.c
>> +++ b/xen/arch/arm/cpufeature.c
>> @@ -14,7 +14,7 @@
>>    DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
>>  -struct cpuinfo_arm __read_mostly guest_cpuinfo;
>> +struct cpuinfo_arm __read_mostly domain_cpuinfo;
>>    #ifdef CONFIG_ARM_64
>>  static bool has_sb_instruction(const struct arm_cpu_capabilities *entry)
>> @@ -191,45 +191,45 @@ void identify_cpu(struct cpuinfo_arm *c)
>>  /*
>>   * This function is creating a cpuinfo structure with values modified to mask
>>   * all cpu features that should not be published to guest.
> 
> I noticed you modified "guests" to "domains" below but not "guest" here. Is this intended?
> 
>> - * The created structure is then used to provide ID registers values to guests.
>> + * The created structure is then used to provide ID registers values to domains.
>>   */
>> -static int __init create_guest_cpuinfo(void)
>> +static int __init create_domain_cpuinfo(void)
>>  {
>>      /* Use the sanitized cpuinfo as initial guest cpuinfo */
> 
> Same question here.

Definitely should have been done, i will make a v2 and a path on "guest" without extra s.

Cheers
Bertrand


> 
>> -    guest_cpuinfo = system_cpuinfo;
>> +    domain_cpuinfo = system_cpuinfo;
> 
> Cheers,
> 
> -- 
> Julien Grall




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-12 12:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09 13:13 [PATCH] xen/arm: rename guest_cpuinfo in domain_cpuinfo Bertrand Marquis
2023-06-12 10:38 ` Julien Grall
2023-06-12 12:13   ` Bertrand Marquis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).