Ian Pratt wrote:
>> I am hitting this issue because I enabled SMP for dom0 (found
>> it is not working) and disabled it again.
>> By doing so, the config file for dom0 kernel got changed like
>> this. And I started seeing the hang.
>
> Probably a Config file bug. Please can you try and investigate.
Yes this is just a config file bug caused by a Kconfig _issue_.
>> -CONFIG_X86_UP_APIC=y
>> -CONFIG_X86_UP_IOAPIC=y
need to be set for UP in order to set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
If you look at:
config X86_LOCAL_APIC
bool
depends on XEN_PRIVILEGED_GUEST && (X86_UP_APIC || ((X86_VISWS
|| SMP) && !X86_VOYAGER))
default y
config X86_IO_APIC
bool
depends on XEN_PRIVILEGED_GUEST && (X86_UP_IOAPIC || (SMP &&
!(X86_VISWS || X86_VOYAGER)))
default y
And actually xen0_defconfig_x86_32 has
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
With the attached patch, menucofig would be more friendly.
I tested:
1. make kernels
2. cd linux-2.6.12-xen0
3. save .config to config-up
4. ARCH=xen make menuconfig
=> set SMP to modify .config
5. ARCH=xen make menuconfig
=> unset SMP
6. diff .config config-up (and no differences except date).
Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
---
diff -r 349c15288793 -r dd9b4db8634d
linux-2.6-xen-sparse/arch/xen/i386/Kconfig
--- a/linux-2.6-xen-sparse/arch/xen/i386/Kconfig Sat Aug 20
11:51:50 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/Kconfig Sat Aug 20
17:34:31 2005
@@ -751,6 +751,7 @@
config X86_UP_APIC
bool "Local APIC support on uniprocessors"
depends on !SMP && !(X86_VISWS || X86_VOYAGER)
+ default y
help
A local APIC (Advanced Programmable Interrupt Controller) is
an
integrated interrupt controller in the CPU. If you have a
single-CPU
@@ -764,6 +765,7 @@
config X86_UP_IOAPIC
bool "IO-APIC support on uniprocessors"
depends on X86_UP_APIC
+ default y
help
An IO-APIC (I/O Advanced Programmable Interrupt Controller) is
an
SMP-capable replacement for PC-style interrupt controllers.
Most
>
>> --- config.default 2005-08-19 23:04:51.560459168 -0700
>> +++ config.issue 2005-08-19 23:03:57.054745296 -0700 @@ -1,7
>> +1,7 @@ #
>> # Automatically generated make config: don't edit
>> # Linux kernel version: 2.6.12-xen0
>> -# Wed Aug 3 09:54:56 2005
>> +# Fri Aug 19 22:58:21 2005
>> #
>> CONFIG_XEN=y
>> CONFIG_ARCH_XEN=y
>> @@ -143,14 +143,11 @@
>> CONFIG_MTRR=y
>> CONFIG_HAVE_DEC_LOCK=y
>> # CONFIG_REGPARM is not set
>> -CONFIG_X86_LOCAL_APIC=y
>> -CONFIG_X86_IO_APIC=y
>
> The above two need to be set for a dom0 kernel.
>
>> #
>> # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
>> #
>> -CONFIG_X86_UP_APIC=y
>> -CONFIG_X86_UP_IOAPIC=y
>
> These two are not Xen x86 option. Are you sure you didn't forget to
> specify ARCH=xen at some point?
>
>> +# CONFIG_X86_UP_APIC is not set
>> CONFIG_PCI=y
>> # CONFIG_PCI_GOBIOS is not set
>> # CONFIG_PCI_GOMMCONFIG is not set
>> @@ -160,7 +157,6 @@
>> CONFIG_PCI_DIRECT=y
>> CONFIG_PCI_MMCONFIG=y
>> # CONFIG_PCIEPORTBUS is not set
>> -# CONFIG_PCI_MSI is not set
>> CONFIG_PCI_LEGACY_PROC=y
>> # CONFIG_PCI_NAMES is not set
>> # CONFIG_PCI_DEBUG is not set
>> @@ -541,7 +537,7 @@
>> # CONFIG_IP_NF_MATCH_STATE is not set
>> # CONFIG_IP_NF_MATCH_CONNTRACK is not set
>> # CONFIG_IP_NF_MATCH_OWNER is not set
>> -CONFIG_IP_NF_MATCH_PHYSDEV=y
>> +CONFIG_IP_NF_MATCH_PHYSDEV=m
>> # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
>> # CONFIG_IP_NF_MATCH_REALM is not set
>> # CONFIG_IP_NF_MATCH_SCTP is not set
>> @@ -1275,5 +1271,3 @@
>> # CONFIG_DEBUG_STACK_USAGE is not set
>> # CONFIG_DEBUG_PAGEALLOC is not set
>> # CONFIG_4KSTACKS is not set
>> -CONFIG_X86_FIND_SMP_CONFIG=y
>> -CONFIG_X86_MPPARSE=y
>
> These two must be set also.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
Jun
---
Intel Open Source Technology Center
Kconfig.patch
Description: Kconfig.patch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|