It can be beneficial for some dom0less systems to further reduce Xen footprint and disable some hypercalls handling code, which may not to be used & required in such systems. Each hypercall has a separate option to keep configuration flexible.
Options to disable hypercalls: - sysctl - domctl - hvm - physdev - platform This patch serie is only focusing on introducing CONFIG_SYSCTL. Different options will be covered in different patch serie. Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op, are also being wrapped with proper CONFIG_SYSCTL, to reduce Xen footprint as much as possible. It is based on Stefano Stabellini's commit "xen: introduce kconfig options to disable hypercalls"( https://lore.kernel.org/xen-devel/20241219092917.3006174-1-sergiy_kib...@epam.com) Penny Zheng (17): xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL xen/sysctl: wrap around XEN_SYSCTL_readconsole xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL xen/sysctl: wrap around XEN_SYSCTL_sched_id xen/sysctl: wrap around XEN_SYSCTL_perfc_op xen/sysctl: wrap around XEN_SYSCTL_lockprof_op xen/sysctl: introduce CONFIG_PM_STATISTIC xen/sysctl: make CONFIG_PM_STATISTIC depend on CONFIG_SYSCTL xen/page: fix return type of online_page() xen/sysctl: wrap around XEN_SYSCTL_page_offline_op xen/sysctl: wrap around XEN_SYSCTL_cpupool_op xen/sysctl: wrap around XEN_SYSCTL_scheduler_op xen: make avail_domheap_pages() static xen/sysctl: wrap around XEN_SYSCTL_physinfo xen/sysctl: wrap around XEN_SYSCTL_coverage_op xen/sysctl: wrap around XEN_SYSCTL_livepatch_op xen/sysctl: wrap around arch-specific arch_do_sysctl Stefano Stabellini (2): xen: introduce CONFIG_SYSCTL xen/sysctl: wrap around sysctl hypercall xen/Kconfig.debug | 2 +- xen/arch/arm/Kconfig | 2 +- xen/arch/arm/Makefile | 2 +- xen/arch/riscv/stubs.c | 2 + xen/arch/x86/Makefile | 2 +- xen/arch/x86/acpi/cpu_idle.c | 2 + xen/arch/x86/acpi/cpufreq/hwp.c | 6 + xen/arch/x86/acpi/cpufreq/powernow.c | 4 + xen/arch/x86/include/asm/psr.h | 2 + xen/arch/x86/psr.c | 18 ++ xen/common/Kconfig | 17 +- xen/common/Makefile | 2 +- xen/common/page_alloc.c | 11 +- xen/common/perfc.c | 2 + xen/common/sched/arinc653.c | 6 + xen/common/sched/core.c | 4 + xen/common/sched/cpupool.c | 9 + xen/common/sched/credit.c | 4 + xen/common/sched/credit2.c | 4 + xen/common/sched/private.h | 4 + xen/common/spinlock.c | 2 + xen/common/sysctl.c | 4 +- xen/drivers/acpi/Makefile | 2 +- xen/drivers/acpi/pmstat.c | 192 ++++++++++++++++--- xen/drivers/char/console.c | 2 + xen/drivers/cpufreq/cpufreq.c | 31 +++ xen/drivers/cpufreq/cpufreq_misc_governors.c | 2 + xen/drivers/cpufreq/cpufreq_ondemand.c | 2 + xen/drivers/cpufreq/utility.c | 164 +--------------- xen/include/acpi/cpufreq/cpufreq.h | 6 + xen/include/acpi/cpufreq/processor_perf.h | 12 +- xen/include/hypercall-defs.c | 4 + xen/include/xen/acpi.h | 2 + xen/include/xen/console.h | 8 + xen/include/xen/hypercall.h | 8 + xen/include/xen/mm.h | 19 +- xen/include/xen/perfc.h | 8 + xen/include/xen/pmstat.h | 2 + xen/include/xen/sched.h | 22 +++ xen/include/xen/spinlock.h | 7 + xen/include/xsm/dummy.h | 21 ++ xen/include/xsm/xsm.h | 27 +++ xen/xsm/dummy.c | 6 + xen/xsm/flask/hooks.c | 14 ++ 44 files changed, 464 insertions(+), 208 deletions(-) -- 2.34.1