It can be beneficial for some dom0less systems to further reduce Xen footprint
via disabling 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, will
be wrapped with CONFIG_SYSCTL, to reduce Xen footprint as much as possible.
It is derived from Stefano Stabellini's commit "xen: introduce kconfig options to
disable hypercalls"(
https://lore.kernel.org/xen-devel/20241219092917.3006174-1-Sergiy_Kibrik@epam.com)
---
Commit "xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"" and commit "
xen/sysctl: wrap around sysctl hypercall" shall be commited together.
---
v6 -> v7:
- Only do rebasing
---
Penny Zheng (10):
xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
xen/sysctl: wrap around XEN_SYSCTL_readconsole
xen/sysctl: wrap around XEN_SYSCTL_sched_id
xen/pmstat: introduce CONFIG_PM_OP
xen/sysctl: introduce CONFIG_PM_STATS
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/sysctl: wrap around arch-specific arch_do_sysctl
xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
Stefano Stabellini (1):
xen/sysctl: wrap around sysctl hypercall
xen/arch/arm/Kconfig | 1 +
xen/arch/arm/Makefile | 2 +-
xen/arch/arm/sysctl.c | 2 -
xen/arch/riscv/stubs.c | 2 +-
xen/arch/x86/Kconfig | 4 -
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/configs/pvshim_defconfig | 3 +
xen/arch/x86/hvm/Kconfig | 1 -
xen/arch/x86/psr.c | 18 +
xen/arch/x86/sysctl.c | 2 -
xen/common/Kconfig | 22 +-
xen/common/Makefile | 2 +-
xen/common/page_alloc.c | 2 +
xen/common/sched/arinc653.c | 6 +
xen/common/sched/core.c | 4 +
xen/common/sched/cpupool.c | 8 +
xen/common/sched/credit.c | 4 +
xen/common/sched/credit2.c | 4 +
xen/common/sched/private.h | 4 +
xen/common/sysctl.c | 4 +-
xen/drivers/acpi/Makefile | 3 +-
xen/drivers/acpi/pm-op.c | 395 +++++++++++++++++++
xen/drivers/acpi/pmstat.c | 355 -----------------
xen/drivers/char/console.c | 2 +
xen/drivers/cpufreq/cpufreq_misc_governors.c | 2 +
xen/drivers/cpufreq/cpufreq_ondemand.c | 2 +
xen/drivers/cpufreq/utility.c | 41 --
xen/drivers/video/Kconfig | 2 +-
xen/include/acpi/cpufreq/cpufreq.h | 3 -
xen/include/acpi/cpufreq/processor_perf.h | 10 +
xen/include/hypercall-defs.c | 8 +-
xen/include/xsm/xsm.h | 18 +
xen/xsm/dummy.c | 6 +
xen/xsm/flask/hooks.c | 14 +
37 files changed, 552 insertions(+), 418 deletions(-)
create mode 100644 xen/drivers/acpi/pm-op.c
--
2.34.1