[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [PATCH][PV-OPS] Kconfig cleanup
Hi Isaku, This is for the pv_ops tree xen-ia64-domu-minimal-2008mar06 branch. I tried to clean up the Kconfig options for PARAVIRT/XEN. I removed the long descriptions for the PARAVIRT sub options since they're way too technical, and probably not things we want to do without. I think these are going to be non-XEN specific, so I set them if PARAVIRT is enabled. I also fixed the dependencies between IA64_GENERIC and IA64_XEN. The expectation for now is that if you're running a domU, you're using the Xen machine vector either as a statically compiled option, or dynamically via IA64_GENERIC. I suppose when we add dom0 support, you could have IA64_DIG and XEN, but until then, this seems sufficient. Let me know if you agree this is how it should work. Thanks, Alex Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index c62f815..87cee75 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -120,48 +120,24 @@ menuconfig PARAVIRT_GUEST If you say N, all options in this submenu will be skipped and disabled. if PARAVIRT_GUEST +config PARAVIRT_ALT + bool -config PARAVIRT +config PARAVIRT_ENTRY bool + +config PARAVIRT + bool "Enable paravirtualization code" + depends on PARAVIRT_GUEST default y + select PARAVIRT_ALT + select PARAVIRT_ENTRY help This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly over full virtualization. However, when run without a hypervisor the kernel is theoretically slower and slightly larger. -config PARAVIRT_ALT - bool "paravirt_alt binary patching infrastructure" - depends on PARAVIRT - default y - help - The binary patching infratstructure to replace some privileged - instructions with hypervisor specific instrutions. - There are several sensitive(i.e. non-virtualizable) instructions and - performance critical privileged instructions which Xen - paravirtualize as hyperprivops. - For transparent paravirtualization (i.e. single binary should run - on both baremetal and xen environment), xenLinux/IA64 needs - something like "if (is_running_on_xen()) {} else {}" where - is_running_on_xen() is determined at boot time. - This configuration tries to eliminate the overheads for hyperprivops - by annotating such instructions and replacing them with hyperprivops - at boot time. - -config PARAVIRT_ENTRY - bool "paravirt entry" - depends on PARAVIRT - default y - help - The entry point hooking infrastructure to change the execution path - at the boot time. - There are several paravirtualized paths in hand coded assembly code - which isn't binary patched easily by the paravirt_alt infrastructure. - E.g. ia64_switch_to, ia64_leave_syscall, ia64_leave_kernel and - ia64_pal_call_static. - For those hand written assembly code, change the execution path - by hooking them and jumping to hand paravirtualized code. - source "arch/ia64/xen/Kconfig" endif diff --git a/arch/ia64/xen/Kconfig b/arch/ia64/xen/Kconfig index 73c087b..72b2e10 100644 --- a/arch/ia64/xen/Kconfig +++ b/arch/ia64/xen/Kconfig @@ -5,24 +5,22 @@ config XEN bool "Xen hypervisor support" default y - select PARAVIRT - select PARAVIRT_ALT - select PARAVIRT_ENTRY + depends on PARAVIRT && !(IA64_DIG || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_SGI_SN2 || IA64_HP_SIM) && MCKINLEY && IA64_PAGE_SIZE_16KB && EXPERIMENTAL select XEN_XENCOMM - select IA64_XEN + select NO_IDLE_HZ help Enable Xen hypervisor support. Resulting kernel runs both as a guest OS on Xen and natively on hardware. -if XEN config XEN_INTERFACE_VERSION + depends on XEN hex default 0x00030207 config XEN_XENCOMM - def_bool y + depends on XEN + bool config NO_IDLE_HZ - def_bool y - -endif + depends on XEN + bool _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |