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

Re: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo




On 3/27/25 10:58 AM, Jan Beulich wrote:
On 27.03.2025 10:35, Oleksii Kurochko wrote:
On 3/26/25 6:50 AM, Penny Zheng wrote:
The following functions are only used to deal with XEN_SYSCTL_physinfo,
then they shall be wrapped:
- arch_do_physinfo
- get_outstanding_claims

Signed-off-by: Penny Zheng<Penny.Zheng@xxxxxxx>
---
v1 -> v2:
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
  xen/arch/arm/sysctl.c   | 2 ++
  xen/arch/riscv/stubs.c  | 2 ++
  xen/arch/x86/sysctl.c   | 2 ++
  xen/common/page_alloc.c | 2 ++
  xen/common/sysctl.c     | 2 +-
  5 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..2d350b700a 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
  #include <asm/arm64/sve.h>
  #include <public/sysctl.h>
  
+#ifdef CONFIG_SYSCTL
  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
  {
      pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
      pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                         XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
  }
+#endif
  
  long arch_do_sysctl(struct xen_sysctl *sysctl,
                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..7b3f748886 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
      BUG_ON("unimplemented");
  }
  
+#ifdef CONFIG_SYSCTL
  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
  {
      BUG_ON("unimplemented");
  }
+#endif /* CONFIG_SYSCTL */
Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
for RISC-V happy.
Wouldn't that require SYSCTL=n then for RISC-V, which better wouldn't be done
(as it would need undoing later on)?
I missed that SYSCTL=y by default.

Then it will be really better to have #ifdef CONFIG_SYSCTL instead of removing 
arch_do_physinfo() from riscv/stub.c. (the same is true then for arch_do_sysctl()
in the next patch)

~ Oleksii

 


Rackspace

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