Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: current domu panic: xpq_flush_cache



I just got the same panic:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.15 (XEN3_DOMU) #1: Tue Aug 18 09:48:00 CEST 2009
        
cegger%tulln.osrc.amd.com@localhost:/data/netbsd/current-modified/build/obj.kern.amd64/XEN3_DOMU
total memory = 512 MB
avail memory = 486 MB
mainbus0 (root)
hypervisor0 at mainbus0: Xen version 3.3
vcpu0 at hypervisor0: AMD 686-class, 1895MHz, id 0x100f23
panic: xpq_flush_cache
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff8012c42d cs e030 rflags 246 cr2  0 cpl 8 rsp 
ffffffff80879bb0
Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x5:  leave
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x285
xpq_flush_cache() at netbsd:xpq_flush_cache+0x58
cpu_init() at netbsd:cpu_init+0x32
cpu_attach_common() at netbsd:cpu_attach_common+0x13b
config_attach_loc() at netbsd:config_attach_loc+0x166
hypervisor_attach() at netbsd:hypervisor_attach+0x76
config_attach_loc() at netbsd:config_attach_loc+0x166
mainbus_attach() at netbsd:mainbus_attach+0x4a
config_attach_loc() at netbsd:config_attach_loc+0x166
cpu_configure() at netbsd:cpu_configure+0x1c
main() at netbsd:main+0x19a
ds          0x95ae
es          0x9bc0
fs          0
gs          0x5d1a
rdi         0x8
rsi         0xd
rbp         0xffffffff80879bb0
rbx         0xffffffff80879bc0
rdx         0
rcx         0
--db_more--xenconscn_getc(): not console


With a xen-debug kernel, Xen prints the reason for the xpq_flush_cache() 
failure:

(XEN) mm.c:2474:d1 Non-physdev domain tried to FLUSH_CACHE.

The code snippet in Xen's mm.c around line 2474 is this:

[...]
case MMUEXT_FLUSH_CACHE:
    if ( unlikely(!cache_flush_permitted(d)) )
    {
        MEM_LOG("Non-physdev domain tried to FLUSH_CACHE.");
        okay = 0;
    }
[...]

cache_flush_permitted() is a #define in xen/include/asm-x86/iocap.h:

#define cache_flush_permitted(d)   \
    (!rangeset_is_empty((d)->iomem_caps) || \
     !rangeset_is_empty((d)->arch.ioport_caps))


Christoph


On Friday 28 August 2009 05:41:15 Sarton O'Brien wrote:
> Been getting this for nearly a month now. Thought I'd resubmit it with a
> more descriptive subject as no one relevant has responded yet :)
>
> Dom0 and DomU kernel were built just over an hour ago:
>
> xentools33-3.3.2    Userland Tools for Xen 3.3.x
> xenkernel33-3.3.2   Xen 3.3.2 Kernel
>
> # xm create babylon -c
> Using config file "/usr/pkg/etc/xen/babylon".
> Started domain babylon
>                        Loaded initial symtab at 0xffffffff806451e4,
> strtab at 0xffffffff80693ba8, # entries 13324
> Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
>      2006, 2007, 2008, 2009
>      The NetBSD Foundation, Inc.  All rights reserved.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>      The Regents of the University of California.  All rights reserved.
>
> NetBSD 5.99.15 (XEN3_DOMU) #0: Fri Aug 28 12:30:38 EST 2009
>          
> root%spike.internal@localhost:/usr/obj/sys/arch/amd64/compile/XEN3_DOMU
> total memory = 256 MB
> avail memory = 239 MB
> mainbus0 (root)
> hypervisor0 at mainbus0: Xen version 3.3
> vcpu0 at hypervisor0: Intel 686-class, 2793MHz, id 0xf44
> panic: xpq_flush_cache
> fatal breakpoint trap in supervisor mode
> trap type 1 code 0 rip ffffffff8012aa5d cs e030 rflags 246 cr2  0 cpl 8
> rsp ffffffff807ddbb0
> Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x5:  leave
> breakpoint() at netbsd:breakpoint+0x5
> panic() at netbsd:panic+0x269
> xen_set_ldt() at netbsd:xen_set_ldt
> cpu_init() at netbsd:cpu_init+0x32
> cpu_attach_common() at netbsd:cpu_attach_common+0x13b
> config_attach_loc() at netbsd:config_attach_loc+0x160
> hypervisor_attach() at netbsd:hypervisor_attach+0x76
> config_attach_loc() at netbsd:config_attach_loc+0x160
> mainbus_attach() at netbsd:mainbus_attach+0x4a
> config_attach_loc() at netbsd:config_attach_loc+0x160
> cpu_configure() at netbsd:cpu_configure+0x1c
> main() at netbsd:main+0x1a0
> ds          0xf59
> es          0xdbc0
> fs          0xe000
> gs          0xe919
> rdi         0x8
> rsi         0xd
> rbp         0xffffffff807ddbb0
> rbx         0xffffffff807ddbc0
> rdx         0
> rcx         0x1
> --db_more--xenconscn_getc(): not console




Home | Main Index | Thread Index | Old Index