Subject: Re: current kernel on amd64 crashes
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Christoph Egger <Christoph_Egger@gmx.de>
List: port-xen
Date: 01/10/2008 14:43:02
On Thursday 10 January 2008 14:12:35 Manuel Bouyer wrote:
> On Thu, Jan 10, 2008 at 12:14:09PM +0100, Christoph Egger wrote:
> > > The operating system has halted.
> > > Please press any key to reboot.
> > >
> > >
> > > This still happens with 4.99.39.
> >
> > This crash has been "fixed" in Xen by allowing unaligned and/or
> > page-crossing writes. NetBSD 4.99.39 boots fine.
> >
> > BTW: What happened with the PIT timer code between 4.99.39 and 4.99.48?
>
> What is the "PIT timer" ?

the i8254 thingy.

I get a series of endless xen messages:

(XEN) i8254.c:534:d1 PIT bad access
(XEN) i8254.c:534:d1 PIT bad access
(XEN) i8254.c:534:d1 PIT bad access
(XEN) i8254.c:534:d1 PIT bad access
(XEN) i8254.c:534:d1 PIT bad access

The message comes from Xen in xen/arch/x86/hvm/i8254.c,

    if ( (p->size != 1) || p->data_is_ptr || (p->type != IOREQ_TYPE_PIO) )
    {
        gdprintk(XENLOG_WARNING, "PIT bad access\n");
        return 1;
    }

p->data_is_ptr is 1.

> I've no problems booting 4.99.48 on Xen 3.1.2 

Did you try NetBSD as PV or HVM guest?

I'm using Xen 3.2.0-rc5 and NetBSD/amd64 as HVM guest.

NetBSD as PV guest almost works nice.
When I boot the install kernel and shut it down with "halt -p",
then I get a panic in mfs_close():

# halt -p
syncing disks... done
unmounting file systems...
unmounting /kern (kernfs)...
unmounting /dev (mfs:10)...mfs_close: ref count 2 > 1
panic: mfs_close
Stopped in pid 1292.1 (halt) at netbsd:breakpoint+0x2:  nop
breakpoint() at netbsd:breakpoint+0x2
mfs_close() at netbsd:mfs_close+0x99
VOP_CLOSE() at netbsd:VOP_CLOSE+0x26
ffs_unmount() at netbsd:ffs_unmount+0x119
dounmount() at netbsd:dounmount+0xa3
vfs_unmountall() at netbsd:vfs_unmountall+0xa7
cpu_reboot() at netbsd:cpu_reboot+0xdc
sys_reboot() at netbsd:sys_reboot+0x52
syscall() at netbsd:syscall+0x9f
ds          0
es          0x433c
fs          0x97e0
gs          0x440f
rdi         0
rsi         0xd
rbp         0xffffa00013544cc0
rbx         0x1
rdx         0
rcx         0
rax         0x1
r8          0xffffffff808f5f80  cpu_info_primary
r9          0
r10         0xffffa00013544ae0
r11         0xffffffff8028b160  xenconscn_putc
r12         0x104
r13         0xffffffff802b97e0  copyright+0x3a40
r14         0xffffa00013544d00
r15         0
rip         0xffffffff802753ca  breakpoint+0x2
cs          0xe030
rflags      0x10246
rsp         0xffffa00013544bc8
ss          0xe02b
netbsd:breakpoint+0x2:  nop
db> bt
breakpoint() at netbsd:breakpoint+0x2
mfs_close() at netbsd:mfs_close+0x99
VOP_CLOSE() at netbsd:VOP_CLOSE+0x26
ffs_unmount() at netbsd:ffs_unmount+0x119
dounmount() at netbsd:dounmount+0xa3
vfs_unmountall() at netbsd:vfs_unmountall+0xa7
cpu_reboot() at netbsd:cpu_reboot+0xdc
sys_reboot() at netbsd:sys_reboot+0x52
syscall() at netbsd:syscall+0x9f
db>


Christoph