WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] RE: 32bit dom0 is hanging with changesset 6290

To: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>, "Kamble, Nitin A" <nitin.a.kamble@xxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] RE: 32bit dom0 is hanging with changesset 6290
From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Date: Sat, 20 Aug 2005 11:02:14 -0700
Delivery-date: Sat, 20 Aug 2005 18:00:29 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWlJmggA8fVz2mEQFW1orvEA/M5fwAAQiBQAABkgCAACTHc8AAFJVfQABK3IFA=
Thread-topic: [Xen-devel] RE: 32bit dom0 is hanging with changesset 6290
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

Attachment: Kconfig.patch
Description: Kconfig.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>