@@ -30,6 +30,7 @@
#include <xen/errno.h>
#include <acpi/actables.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/device_tree.h>
#include <asm/acpi.h>
@@ -2,6 +2,7 @@
#include <xen/cpumask.h>
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/sizes.h>
#include <xen/smp.h>
#include <xen/spinlock.h>
@@ -2,6 +2,7 @@
#include <xen/compile.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/domain_page.h>
#include <xen/sched.h>
#include <xen/sizes.h>
@@ -20,6 +20,7 @@
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/sizes.h>
#include <xen/warning.h>
@@ -30,6 +30,7 @@
#include <xen/init.h>
#include <xen/irq.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/softirq.h>
#include <xen/keyhandler.h>
#include <xen/cpu.h>
@@ -23,6 +23,7 @@
#include <xen/errno.h>
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/softirq.h>
@@ -26,6 +26,7 @@
#include <xen/livepatch.h>
#include <xen/mem_access.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/perfc.h>
#include <xen/smp.h>
#include <xen/softirq.h>
@@ -27,6 +27,7 @@
#include <xen/acpi.h>
#include <xen/irq.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/dmi.h>
#include <asm/fixmap.h>
#include <asm/page.h>
@@ -37,6 +37,7 @@
#include <xen/smp.h>
#include <xen/guest_access.h>
#include <xen/keyhandler.h>
+#include <xen/param.h>
#include <xen/trace.h>
#include <xen/irq.h>
#include <asm/cache.h>
@@ -31,6 +31,7 @@
#include <xen/errno.h>
#include <xen/delay.h>
#include <xen/cpumask.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/timer.h>
#include <xen/xmalloc.h>
@@ -14,6 +14,7 @@
#include <xen/acpi.h>
#include <xen/errno.h>
#include <xen/iocap.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <asm/acpi.h>
#include <asm/irq.h>
@@ -20,6 +20,7 @@
#include <xen/errno.h>
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/irq.h>
#include <xen/delay.h>
@@ -1,6 +1,7 @@
#include <xen/init.h>
#include <xen/bitops.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/pci.h>
#include <asm/io.h>
@@ -1,6 +1,7 @@
#include <xen/init.h>
#include <xen/string.h>
#include <xen/delay.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <asm/current.h>
#include <asm/debugreg.h>
@@ -6,6 +6,7 @@
#include <xen/init.h>
#include <xen/types.h>
#include <xen/kernel.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/errno.h>
#include <xen/console.h>
@@ -4,6 +4,7 @@
#include <xen/event.h>
#include <xen/kernel.h>
#include <xen/delay.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/mm.h>
#include <xen/cpu.h>
@@ -3,6 +3,7 @@
#include <xen/lib.h>
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/stdbool.h>
#include <asm/flushtlb.h>
#include <asm/invpcid.h>
@@ -52,6 +52,7 @@
#include <xen/lib.h>
#include <xen/cpu.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/softirq.h>
#include <xen/trace.h>
#include <asm/cpuidle.h>
@@ -22,6 +22,7 @@
#include <xen/event.h>
#include <xen/guest_access.h>
#include <xen/cpu.h>
+#include <xen/param.h>
#include <asm/regs.h>
#include <asm/types.h>
#include <asm/msr.h>
@@ -1,5 +1,6 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/nospec.h>
#include <asm/cpuid.h>
@@ -7,6 +7,7 @@
#include <xen/init.h>
#include <xen/iocap.h>
#include <xen/libelf.h>
+#include <xen/param.h>
#include <xen/pfn.h>
#include <xen/sched.h>
#include <xen/sched-if.h>
@@ -1,6 +1,7 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/compat.h>
#include <xen/dmi.h>
#include <xen/pfn.h>
@@ -8,6 +8,7 @@
#include <xen/kernel.h>
#include <xen/ctype.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <asm/cache.h>
#include <asm/fixmap.h>
#include <asm/mpspec.h>
@@ -19,6 +19,7 @@
#include <xen/init.h>
#include <xen/cpu.h>
#include <xen/cpumask.h>
+#include <xen/param.h>
#include <asm/apicdef.h>
#include <asm/genapic.h>
#include <asm/apic.h>
@@ -11,6 +11,7 @@
#include <xen/softirq.h>
#include <xen/irq.h>
#include <xen/numa.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <asm/fixmap.h>
#include <asm/div64.h>
@@ -18,6 +18,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/percpu.h>
@@ -35,6 +35,7 @@
#include <xen/mem_access.h>
#include <xen/rangeset.h>
#include <xen/monitor.h>
+#include <xen/param.h>
#include <xen/warning.h>
#include <xen/vpci.h>
#include <xen/nospec.h>
@@ -19,6 +19,7 @@
#include <xen/lib.h>
#include <xen/dmi.h>
#include <xen/bitmap.h>
+#include <xen/param.h>
#include <asm/hvm/support.h>
s8 __read_mostly hvm_port80_allowed = -1;
@@ -9,6 +9,7 @@
#include <xen/version.h>
#include <xen/hypercall.h>
#include <xen/domain_page.h>
+#include <xen/param.h>
#include <asm/guest_access.h>
#include <asm/guest/hyperv-tlfs.h>
#include <asm/paging.h>
@@ -18,6 +18,7 @@
#include <xen/init.h>
#include <xen/mm.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/errno.h>
#include <xen/domain_page.h>
#include <xen/event.h>
@@ -17,6 +17,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/trace.h>
#include <xen/sched.h>
#include <xen/irq.h>
@@ -24,6 +24,7 @@
#include <xen/init.h>
#include <xen/irq.h>
#include <xen/delay.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/acpi.h>
#include <xen/keyhandler.h>
@@ -10,6 +10,7 @@
#include <xen/errno.h>
#include <xen/event.h>
#include <xen/irq.h>
+#include <xen/param.h>
#include <xen/perfc.h>
#include <xen/sched.h>
#include <xen/keyhandler.h>
@@ -26,6 +26,7 @@
#include <xen/kernel.h>
#include <xen/init.h>
#include <xen/notifier.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/softirq.h>
@@ -103,6 +103,7 @@
#include <xen/kernel.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/domain.h>
#include <xen/sched.h>
#include <xen/err.h>
@@ -27,6 +27,7 @@
#include <xen/iommu.h>
#include <xen/vm_event.h>
#include <xen/event.h>
+#include <xen/param.h>
#include <public/vm_event.h>
#include <asm/domain.h>
#include <asm/page.h>
@@ -14,6 +14,7 @@
#include <xen/acpi.h>
#include <xen/cpu.h>
#include <xen/errno.h>
+#include <xen/param.h>
#include <xen/pci.h>
#include <xen/pci_regs.h>
#include <xen/iocap.h>
@@ -16,6 +16,7 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/irq.h>
#include <xen/delay.h>
#include <xen/time.h>
@@ -11,6 +11,7 @@
#include <xen/nodemask.h>
#include <xen/numa.h>
#include <xen/keyhandler.h>
+#include <xen/param.h>
#include <xen/time.h>
#include <xen/smp.h>
#include <xen/pfn.h>
@@ -15,6 +15,7 @@
#include <xen/types.h>
#include <xen/errno.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/string.h>
#include <xen/delay.h>
#include <xen/xenoprof.h>
@@ -16,6 +16,7 @@
#include <xen/cpu.h>
#include <xen/err.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <asm/psr.h>
@@ -7,6 +7,7 @@
#include <xen/domain_page.h>
#include <xen/errno.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <asm/cpufeature.h>
@@ -23,6 +23,7 @@
#include <xen/hypercall.h>
#include <xen/init.h>
#include <xen/iocap.h>
+#include <xen/param.h>
#include <xen/shutdown.h>
#include <xen/types.h>
#include <xen/consoled.h>
@@ -2,6 +2,7 @@
#include <xen/lib.h>
#include <xen/err.h>
#include <xen/grant_table.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/serial.h>
@@ -6,6 +6,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/delay.h>
@@ -19,6 +19,7 @@
#include <xen/errno.h>
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/warning.h>
#include <asm/microcode.h>
@@ -1,6 +1,7 @@
#include <xen/init.h>
#include <xen/types.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain_page.h>
#include <xen/iommu.h>
@@ -14,6 +14,7 @@
#include <xen/sched.h>
#include <xen/lib.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/time.h>
#include <xen/timer.h>
#include <xen/smp.h>
@@ -30,6 +30,7 @@
#include <xen/err.h>
#include <xen/errno.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/console.h>
#include <xen/shutdown.h>
#include <xen/guest_access.h>
@@ -1,4 +1,5 @@
#include <xen/init.h>
+#include <xen/param.h>
#include <asm/msr.h>
/*
@@ -14,6 +14,7 @@
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/acpi.h>
#include <xen/xmalloc.h>
#include <xen/pci.h>
@@ -5,6 +5,7 @@
*
*/
+#include <xen/param.h>
#include <xen/percpu.h>
#include <xen/sched.h>
#include <asm/current.h>
@@ -24,6 +24,7 @@
#include <xen/guest_access.h>
#include <xen/lib.h>
#include <xen/nospec.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/time.h>
#include <xsm/xsm.h>
@@ -19,6 +19,7 @@
#include <xen/cpu.h>
#include <xen/init.h>
#include <xen/cpumask.h>
+#include <xen/param.h>
#include <asm/smp.h>
@@ -14,6 +14,7 @@
#include <xen/lib.h>
#include <xen/init.h>
#include <xen/cpumask.h>
+#include <xen/param.h>
#include <xen/percpu.h>
#include <xen/sched.h>
#include <xen/sched-if.h>
@@ -11,6 +11,7 @@
#include <xen/keyhandler.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/percpu.h>
#include <xen/serial.h>
#include <xen/smp.h>
@@ -9,6 +9,7 @@
#include <xen/lib.h>
#include <xen/ctype.h>
#include <xen/err.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/sched-if.h>
#include <xen/domain.h>
@@ -11,6 +11,7 @@
#include <xen/lib.h>
#include <xen/mm.h>
#include <xen/multiboot.h>
+#include <xen/param.h>
#include <xen/pci_regs.h>
#include <xen/pfn.h>
#if EFI_PAGE_SIZE != PAGE_SIZE
@@ -40,6 +40,7 @@
#include <xen/watchdog.h>
#include <asm/debugger.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/console.h>
#include <xen/errno.h>
@@ -28,6 +28,7 @@
#include <xen/lib.h>
#include <xen/sched.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/event.h>
#include <xen/trace.h>
#include <xen/grant_table.h>
@@ -7,6 +7,7 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/errno.h>
+#include <xen/param.h>
#include <xen/version.h>
#include <xen/sched.h>
#include <xen/paging.h>
@@ -12,6 +12,7 @@
#include <xen/ctype.h>
#include <xen/errno.h>
#include <xen/guest_access.h>
+#include <xen/param.h>
#include <xen/watchdog.h>
#include <xen/sched.h>
#include <xen/types.h>
@@ -11,6 +11,7 @@
#include <xen/types.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/perfc.h>
#include <xen/sched.h>
#include <xen/event.h>
@@ -126,6 +126,7 @@
#include <xen/sched.h>
#include <xen/spinlock.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/irq.h>
#include <xen/softirq.h>
#include <xen/domain_page.h>
@@ -34,6 +34,7 @@
#include <xen/types.h>
#include <xen/kernel.h>
#include <xen/init.h>
+#include <xen/param.h>
#include <xen/spinlock.h>
#include <xen/smp.h>
#include <xen/rcupdate.h>
@@ -10,6 +10,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/delay.h>
@@ -12,6 +12,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/delay.h>
@@ -16,6 +16,7 @@
#ifndef COMPAT
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/delay.h>
@@ -1,5 +1,6 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/delay.h>
@@ -10,6 +10,7 @@
#include <xen/errno.h>
#include <xen/sched.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/perfc.h>
#include <xen/time.h>
@@ -19,6 +19,7 @@
#include <asm/types.h>
#include <asm/io.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/trace.h>
@@ -30,6 +30,7 @@
#include <xen/init.h>
#include <xen/kernel.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/pfn.h>
#include <acpi/acpi.h>
#include <acpi/apei.h>
@@ -24,6 +24,7 @@
#include <xen/init.h>
#include <xen/kernel.h>
+#include <xen/param.h>
#include <xen/smp.h>
#include <xen/string.h>
#include <xen/types.h>
@@ -21,6 +21,7 @@
#include <asm/types.h>
#include <xen/console.h>
#include <xen/device_tree.h>
+#include <xen/param.h>
#include <xen/serial.h>
#include <xen/errno.h>
#include <xen/acpi.h>
@@ -15,6 +15,7 @@
#include <xen/init.h>
#include <xen/event.h>
#include <xen/console.h>
+#include <xen/param.h>
#include <xen/serial.h>
#include <xen/softirq.h>
#include <xen/keyhandler.h>
@@ -8,6 +8,7 @@
#include <xen/console.h>
#include <xen/delay.h>
#include <xen/errno.h>
+#include <xen/param.h>
#include <xen/pci.h>
#include <xen/serial.h>
#include <asm/byteorder.h>
@@ -11,6 +11,7 @@
#include <xen/console.h>
#include <xen/init.h>
#include <xen/irq.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/timer.h>
#include <xen/serial.h>
@@ -9,6 +9,7 @@
#include <xen/delay.h>
#include <xen/init.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/serial.h>
#include <xen/cache.h>
@@ -31,6 +31,7 @@
#include <xen/delay.h>
#include <xen/cpumask.h>
#include <xen/list.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/string.h>
#include <xen/timer.h>
@@ -19,6 +19,7 @@
#include <xen/errno.h>
#include <xen/acpi.h>
+#include <xen/param.h>
#include <asm/apicdef.h>
#include <asm/io_apic.h>
#include <asm/amd-iommu.h>
@@ -17,6 +17,7 @@
#include <xen/paging.h>
#include <xen/guest_access.h>
#include <xen/event.h>
+#include <xen/param.h>
#include <xen/softirq.h>
#include <xen/keyhandler.h>
#include <xsm/xsm.h>
@@ -22,6 +22,7 @@
#include <xen/prefetch.h>
#include <xen/iommu.h>
#include <xen/irq.h>
+#include <xen/param.h>
#include <xen/vm_event.h>
#include <asm/hvm/irq.h>
#include <xen/delay.h>
@@ -24,6 +24,7 @@
#include <xen/kernel.h>
#include <xen/acpi.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/xmalloc.h>
#include <xen/pci.h>
#include <xen/pci_regs.h>
@@ -17,6 +17,7 @@
*/
#include <xen/irq.h>
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/xmalloc.h>
#include <xen/domain_page.h>
@@ -17,6 +17,7 @@
* Copyright (C) Weidong Han <weidong.han@intel.com>
*/
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/softirq.h>
#include <xen/domain_page.h>
@@ -12,6 +12,7 @@
* this program; If not, see <http://www.gnu.org/licenses/>.
*/
+#include <xen/param.h>
#include <xen/sched.h>
#include <xen/pci.h>
#include <xen/pci_regs.h>
@@ -6,6 +6,7 @@
#include <xen/init.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/xmalloc.h>
#include <xen/kernel.h>
#include <xen/vga.h>
@@ -7,6 +7,7 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/mm.h>
+#include <xen/param.h>
#include <xen/vga.h>
#include <xen/pci.h>
#include <asm/io.h>
@@ -71,126 +71,6 @@ typedef void (*exitcall_t)(void);
void do_presmp_initcalls(void);
void do_initcalls(void);
-/*
- * Used for kernel command line parameter setup
- */
-struct kernel_param {
- const char *name;
- enum {
- OPT_STR,
- OPT_UINT,
- OPT_BOOL,
- OPT_SIZE,
- OPT_CUSTOM,
- OPT_IGNORE,
- } type;
- unsigned int len;
- union {
- void *var;
- int (*func)(const char *);
- } par;
-};
-
-extern const struct kernel_param __setup_start[], __setup_end[];
-extern const struct kernel_param __param_start[], __param_end[];
-
-#define __dataparam __used_section(".data.param")
-
-#define __param(att) static const att \
- __attribute__((__aligned__(sizeof(void *)))) struct kernel_param
-
-#define __setup_str static const __initconst \
- __attribute__((__aligned__(1))) char
-#define __kparam __param(__initsetup)
-
-#define custom_param(_name, _var) \
- __setup_str __setup_str_##_var[] = _name; \
- __kparam __setup_##_var = \
- { .name = __setup_str_##_var, \
- .type = OPT_CUSTOM, \
- .par.func = _var }
-#define boolean_param(_name, _var) \
- __setup_str __setup_str_##_var[] = _name; \
- __kparam __setup_##_var = \
- { .name = __setup_str_##_var, \
- .type = OPT_BOOL, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define integer_param(_name, _var) \
- __setup_str __setup_str_##_var[] = _name; \
- __kparam __setup_##_var = \
- { .name = __setup_str_##_var, \
- .type = OPT_UINT, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define size_param(_name, _var) \
- __setup_str __setup_str_##_var[] = _name; \
- __kparam __setup_##_var = \
- { .name = __setup_str_##_var, \
- .type = OPT_SIZE, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define string_param(_name, _var) \
- __setup_str __setup_str_##_var[] = _name; \
- __kparam __setup_##_var = \
- { .name = __setup_str_##_var, \
- .type = OPT_STR, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define ignore_param(_name) \
- __setup_str setup_str_ign[] = _name; \
- __kparam setup_ign = \
- { .name = setup_str_ign, \
- .type = OPT_IGNORE }
-
-#define __rtparam __param(__dataparam)
-
-#define custom_runtime_only_param(_name, _var) \
- __rtparam __rtpar_##_var = \
- { .name = _name, \
- .type = OPT_CUSTOM, \
- .par.func = _var }
-#define boolean_runtime_only_param(_name, _var) \
- __rtparam __rtpar_##_var = \
- { .name = _name, \
- .type = OPT_BOOL, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define integer_runtime_only_param(_name, _var) \
- __rtparam __rtpar_##_var = \
- { .name = _name, \
- .type = OPT_UINT, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define size_runtime_only_param(_name, _var) \
- __rtparam __rtpar_##_var = \
- { .name = _name, \
- .type = OPT_SIZE, \
- .len = sizeof(_var), \
- .par.var = &_var }
-#define string_runtime_only_param(_name, _var) \
- __rtparam __rtpar_##_var = \
- { .name = _name, \
- .type = OPT_STR, \
- .len = sizeof(_var), \
- .par.var = &_var }
-
-#define custom_runtime_param(_name, _var) \
- custom_param(_name, _var); \
- custom_runtime_only_param(_name, _var)
-#define boolean_runtime_param(_name, _var) \
- boolean_param(_name, _var); \
- boolean_runtime_only_param(_name, _var)
-#define integer_runtime_param(_name, _var) \
- integer_param(_name, _var); \
- integer_runtime_only_param(_name, _var)
-#define size_runtime_param(_name, _var) \
- size_param(_name, _var); \
- size_runtime_only_param(_name, _var)
-#define string_runtime_param(_name, _var) \
- string_param(_name, _var); \
- string_runtime_only_param(_name, _var)
-
#endif /* __ASSEMBLY__ */
#ifdef CONFIG_LATE_HWDOM
new file mode 100644
@@ -0,0 +1,126 @@
+#ifndef _XEN_PARAM_H
+#define _XEN_PARAM_H
+
+#include <xen/init.h>
+
+/*
+ * Used for kernel command line parameter setup
+ */
+struct kernel_param {
+ const char *name;
+ enum {
+ OPT_STR,
+ OPT_UINT,
+ OPT_BOOL,
+ OPT_SIZE,
+ OPT_CUSTOM,
+ OPT_IGNORE,
+ } type;
+ unsigned int len;
+ union {
+ void *var;
+ int (*func)(const char *);
+ } par;
+};
+
+extern const struct kernel_param __setup_start[], __setup_end[];
+extern const struct kernel_param __param_start[], __param_end[];
+
+#define __dataparam __used_section(".data.param")
+
+#define __param(att) static const att \
+ __attribute__((__aligned__(sizeof(void *)))) struct kernel_param
+
+#define __setup_str static const __initconst \
+ __attribute__((__aligned__(1))) char
+#define __kparam __param(__initsetup)
+
+#define custom_param(_name, _var) \
+ __setup_str __setup_str_##_var[] = _name; \
+ __kparam __setup_##_var = \
+ { .name = __setup_str_##_var, \
+ .type = OPT_CUSTOM, \
+ .par.func = _var }
+#define boolean_param(_name, _var) \
+ __setup_str __setup_str_##_var[] = _name; \
+ __kparam __setup_##_var = \
+ { .name = __setup_str_##_var, \
+ .type = OPT_BOOL, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define integer_param(_name, _var) \
+ __setup_str __setup_str_##_var[] = _name; \
+ __kparam __setup_##_var = \
+ { .name = __setup_str_##_var, \
+ .type = OPT_UINT, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define size_param(_name, _var) \
+ __setup_str __setup_str_##_var[] = _name; \
+ __kparam __setup_##_var = \
+ { .name = __setup_str_##_var, \
+ .type = OPT_SIZE, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define string_param(_name, _var) \
+ __setup_str __setup_str_##_var[] = _name; \
+ __kparam __setup_##_var = \
+ { .name = __setup_str_##_var, \
+ .type = OPT_STR, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define ignore_param(_name) \
+ __setup_str setup_str_ign[] = _name; \
+ __kparam setup_ign = \
+ { .name = setup_str_ign, \
+ .type = OPT_IGNORE }
+
+#define __rtparam __param(__dataparam)
+
+#define custom_runtime_only_param(_name, _var) \
+ __rtparam __rtpar_##_var = \
+ { .name = _name, \
+ .type = OPT_CUSTOM, \
+ .par.func = _var }
+#define boolean_runtime_only_param(_name, _var) \
+ __rtparam __rtpar_##_var = \
+ { .name = _name, \
+ .type = OPT_BOOL, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define integer_runtime_only_param(_name, _var) \
+ __rtparam __rtpar_##_var = \
+ { .name = _name, \
+ .type = OPT_UINT, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define size_runtime_only_param(_name, _var) \
+ __rtparam __rtpar_##_var = \
+ { .name = _name, \
+ .type = OPT_SIZE, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+#define string_runtime_only_param(_name, _var) \
+ __rtparam __rtpar_##_var = \
+ { .name = _name, \
+ .type = OPT_STR, \
+ .len = sizeof(_var), \
+ .par.var = &_var }
+
+#define custom_runtime_param(_name, _var) \
+ custom_param(_name, _var); \
+ custom_runtime_only_param(_name, _var)
+#define boolean_runtime_param(_name, _var) \
+ boolean_param(_name, _var); \
+ boolean_runtime_only_param(_name, _var)
+#define integer_runtime_param(_name, _var) \
+ integer_param(_name, _var); \
+ integer_runtime_only_param(_name, _var)
+#define size_runtime_param(_name, _var) \
+ size_param(_name, _var); \
+ size_runtime_only_param(_name, _var)
+#define string_runtime_param(_name, _var) \
+ string_param(_name, _var); \
+ string_runtime_only_param(_name, _var)
+
+#endif /* _XEN_PARAM_H */
@@ -13,6 +13,7 @@
#include <xsm/xsm.h>
#include <xen/guest_access.h>
#include <xen/err.h>
+#include <xen/param.h>
#include <public/xsm/flask_op.h>
@@ -13,6 +13,7 @@
#include <xen/init.h>
#include <xen/errno.h>
#include <xen/lib.h>
+#include <xen/param.h>
#include <xen/hypercall.h>
#include <xsm/xsm.h>
Move the parameter related definitions from init.h into a new header file param.h. This will avoid include hell when new dependencies are added to parameter definitions. Signed-off-by: Juergen Gross <jgross@suse.com> --- V3: - new patch --- xen/arch/arm/acpi/boot.c | 1 + xen/arch/arm/cpuerrata.c | 1 + xen/arch/arm/domain_build.c | 1 + xen/arch/arm/gic-v3-lpi.c | 1 + xen/arch/arm/setup.c | 1 + xen/arch/arm/smpboot.c | 1 + xen/arch/arm/traps.c | 1 + xen/arch/x86/acpi/boot.c | 1 + xen/arch/x86/acpi/cpu_idle.c | 1 + xen/arch/x86/acpi/cpufreq/cpufreq.c | 1 + xen/arch/x86/acpi/power.c | 1 + xen/arch/x86/apic.c | 1 + xen/arch/x86/cpu/amd.c | 1 + xen/arch/x86/cpu/common.c | 1 + xen/arch/x86/cpu/mcheck/mce.c | 1 + xen/arch/x86/cpu/mcheck/mce_intel.c | 1 + xen/arch/x86/cpu/mtrr/generic.c | 1 + xen/arch/x86/cpu/mwait-idle.c | 1 + xen/arch/x86/cpu/vpmu.c | 1 + xen/arch/x86/cpuid.c | 1 + xen/arch/x86/dom0_build.c | 1 + xen/arch/x86/e820.c | 1 + xen/arch/x86/genapic/probe.c | 1 + xen/arch/x86/genapic/x2apic.c | 1 + xen/arch/x86/hpet.c | 1 + xen/arch/x86/hvm/asid.c | 1 + xen/arch/x86/hvm/hvm.c | 1 + xen/arch/x86/hvm/quirks.c | 1 + xen/arch/x86/hvm/viridian/viridian.c | 1 + xen/arch/x86/hvm/vmx/vmcs.c | 1 + xen/arch/x86/hvm/vmx/vmx.c | 1 + xen/arch/x86/io_apic.c | 1 + xen/arch/x86/irq.c | 1 + xen/arch/x86/microcode.c | 1 + xen/arch/x86/mm.c | 1 + xen/arch/x86/mm/p2m.c | 1 + xen/arch/x86/msi.c | 1 + xen/arch/x86/nmi.c | 1 + xen/arch/x86/numa.c | 1 + xen/arch/x86/oprofile/nmi_int.c | 1 + xen/arch/x86/psr.c | 1 + xen/arch/x86/pv/domain.c | 1 + xen/arch/x86/pv/shim.c | 1 + xen/arch/x86/setup.c | 1 + xen/arch/x86/shutdown.c | 1 + xen/arch/x86/spec_ctrl.c | 1 + xen/arch/x86/tboot.c | 1 + xen/arch/x86/time.c | 1 + xen/arch/x86/traps.c | 1 + xen/arch/x86/tsx.c | 1 + xen/arch/x86/x86_64/mmconfig-shared.c | 1 + xen/arch/x86/xstate.c | 1 + xen/common/argo.c | 1 + xen/common/core_parking.c | 1 + xen/common/cpupool.c | 1 + xen/common/debugtrace.c | 1 + xen/common/domain.c | 1 + xen/common/efi/boot.c | 1 + xen/common/gdbstub.c | 1 + xen/common/grant_table.c | 1 + xen/common/kernel.c | 1 + xen/common/kexec.c | 1 + xen/common/memory.c | 1 + xen/common/page_alloc.c | 1 + xen/common/rcupdate.c | 1 + xen/common/sched_credit.c | 1 + xen/common/sched_credit2.c | 1 + xen/common/schedule.c | 1 + xen/common/shutdown.c | 1 + xen/common/timer.c | 1 + xen/common/trace.c | 1 + xen/drivers/acpi/apei/hest.c | 1 + xen/drivers/acpi/tables.c | 1 + xen/drivers/char/arm-uart.c | 1 + xen/drivers/char/console.c | 1 + xen/drivers/char/ehci-dbgp.c | 1 + xen/drivers/char/ns16550.c | 1 + xen/drivers/char/serial.c | 1 + xen/drivers/cpufreq/cpufreq.c | 1 + xen/drivers/passthrough/amd/iommu_acpi.c | 1 + xen/drivers/passthrough/iommu.c | 1 + xen/drivers/passthrough/pci.c | 1 + xen/drivers/passthrough/vtd/dmar.c | 1 + xen/drivers/passthrough/vtd/quirks.c | 1 + xen/drivers/passthrough/vtd/x86/vtd.c | 1 + xen/drivers/passthrough/x86/ats.c | 1 + xen/drivers/video/vesa.c | 1 + xen/drivers/video/vga.c | 1 + xen/include/xen/init.h | 120 ----------------------------- xen/include/xen/param.h | 126 +++++++++++++++++++++++++++++++ xen/xsm/flask/flask_op.c | 1 + xen/xsm/xsm_core.c | 1 + 92 files changed, 216 insertions(+), 120 deletions(-) create mode 100644 xen/include/xen/param.h