[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH v1] arm: introduce kconfig options to disable hypercalls
17.12.24 15:00, Jan Beulich: On 16.12.2024 12:43, Sergiy Kibrik wrote:--- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -516,4 +516,31 @@ config TRACEBUFFER to be collected at run time for debugging or performance analysis. Memory and execution overhead when not active is minimal.+menu "Supported hypercall interfaces"+ visible if DOM0LESS_BOOT && EXPERT + +config SYSCTL + bool "Enable sysctl hypercall" + default y + +config DOMCTL + bool "Enable domctl hypercalls" + default y + +config HVM_OP + bool "Enable HVM hypercalls" + depends on HVM + default y + +config PLATFORM_HYP + bool "Enable platform hypercalls" + depends on !PV_SHIM_EXCLUSIVEAny reason you don't do the shim related conversion also for domctl and sysctl? you're right, I'll do it in v2 Much like you have HVM_OP, may I suggest PLATFORM_OP here and ...+ default y + +config PHYSDEVOP + bool "Enable physdev hypercall" + default y... PHYSDEV_OP here? yes, sure --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1053,7 +1053,9 @@ int domain_kill(struct domain *d) d->is_dying = DOMDYING_dying; rspin_barrier(&d->domain_lock); argo_destroy(d); +#ifdef CONFIG_DOMCTL vnuma_destroy(d->vnuma); +#endifThere is a stub already for this, just that right now it's shim-specific. >> --- a/xen/include/hypercall-defs.c+++ b/xen/include/hypercall-defs.c @@ -234,7 +234,7 @@ stack_switch do:2 do:2 - - - set_callbacks compat do - - - fpu_taskswitch do do - - - sched_op_compat do do - - dep -#ifndef CONFIG_PV_SHIM_EXCLUSIVE +#if defined(CONFIG_PLATFORM_HYP)Nit: Why not #ifdef, like it was, and like you have it ...@@ -247,7 +247,9 @@ set_timer_op compat do compat do - event_channel_op_compat do do - - dep xen_version do do do do do console_io do do do do do +#ifdef CONFIG_PHYSDEV physdev_op_compat compat do - - dep +#endif #if defined(CONFIG_GRANT_TABLE) grant_table_op compat do hvm hvm do #elif defined(CONFIG_PV_SHIM) @@ -269,14 +271,20 @@ callback_op compat do - - - xenoprof_op compat do - - - #endif event_channel_op do do do:1 do:1 do:1 +#ifdef CONFIG_PHYSDEVOP physdev_op compat do hvm hvm do_arm -#ifdef CONFIG_HVM +#endif +#ifdef CONFIG_HVM_OP hvm_op do do do do do #endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE +#ifdef CONFIG_SYSCTL sysctl do do do do do +#endif +#ifdef CONFIG_DOMCTL domctl do do do do do #endif +#endif #ifdef CONFIG_KEXEC kexec_op compat do - - - #endif @@ -293,7 +301,9 @@ hypfs_op do do do do do #endif mca do do - - - #ifndef CONFIG_PV_SHIM_EXCLUSIVE +#ifdef CONFIG_DOMCTL paging_domctl_cont do do do do - #endif +#endif... everywhere else? yes, will fix that --- a/xen/include/xen/hypercall.h +++ b/xen/include/xen/hypercall.h @@ -24,6 +24,18 @@ /* Needs to be after asm/hypercall.h. */ #include <xen/hypercall-defs.h>+#if !defined(CONFIG_DOMCTL) && !defined(CONFIG_DOM0LESS_BOOT)+#error "domctl and dom0less can't be disabled simultaneously" +#endif + +#if !defined(CONFIG_PHYSDEVOP) && !defined(CONFIG_DOM0LESS_BOOT) +#error "physdevop and dom0less can't be disabled simultaneously" +#endif + +#if !defined(CONFIG_SYSCTL) && !defined(CONFIG_DOM0LESS_BOOT) +#error "sysctl and dom0less can't be disabled simultaneously" +#endifI'm puzzled by this: It covers only 3 of the 5, and it really only re-checks what Kconfig already enforces. At some point I wasn't sure that kconfig will enforce this, because somehow I made kconfig produce configuration with both DOMCTL & DOM0LESS_BOOT being off. Anyway I can't reproduce it now, so will drop these checks in v2. -Sergiy
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |