Date: Wed, 30 Aug 2000 09:44:32 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: freebsd-alpha@freebsd.org Subject: Re: panic very early in boot Message-ID: <Pine.BSF.4.21.0008300943090.24553-100000@salmon.nlsystems.com> In-Reply-To: <14764.7637.838295.31768@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 29 Aug 2000, Andrew Gallatin wrote:
>
> I just tried to take my UP1000 to -current. Built the world & used
> make buildkernel / make installkernel to build the kernel. Sources
> were current as of 4am EDT. Plus version 1.2 of busspace.c
>
> I'm seeing a KSP not valid halt caused by taking a memory management
> fault very early in the boot process. After editing trap to print out
> all the faults it takes, I see this as the very first one (and the one
> that starts the spiral of faults in trap/vm_fault)
>
> fatal kernel trap:
>
> trap entry = 0x2 (memory management fault)
> a0 = 0xdeadbeeffeedface
> a1 = 0x1
> a2 = 0x0
> pc = 0xfffffc0000628aec
> ra = 0xfffffc0000628aa8
> curproc = 0
>
> This is coming from:
>
> (gdb) l *0xfffffc0000628aec
> 0xfffffc0000628aec is in siocnattach (../../isa/sio.c:3127).
> 3122 * to have the correct value. Also, if we didn't
> 3123 * just read the speed from the hardware, then we
> 3124 * need to set the speed in hardware so that
> 3125 * switching it later is null.
> 3126 */
> 3127 cfcr = inb(siocniobase + com_cfcr);
> 3128 outb(siocniobase + com_cfcr, CFCR_DLAB | cfcr);
> 3129 outb(siocniobase + com_dlbl,
> 3130 COMBRD(comdefaultrate) & 0xff);
> 3131 outb(siocniobase + com_dlbh,
>
>
> The machine in question is a UP1000 (irongate chipset). Its running
> with a serial console..
>
> I'm assuming the problem is with the new busspace. Does the
> 0xdeadbeeffeedface address mean anything to you?
This must be because my blind changes to the irongate chipset driver
missed something out. Reading the code, I think the problem is this:
Index: irongate.c
===================================================================
RCS file: /home/ncvs/src/sys/alpha/pci/irongate.c,v
retrieving revision 1.2
diff -u -r1.2 irongate.c
--- irongate.c 2000/08/28 21:48:03 1.2
+++ irongate.c 2000/08/30 08:39:10
@@ -119,7 +119,7 @@
irongate_init()
{
static int initted = 0;
- struct bwx_space io_space, mem_space;
+ static struct bwx_space io_space, mem_space;
if (initted) return;
initted = 1;
--
Doug Rabson Mail: dfr@nlsystems.com
Nonlinear Systems Ltd. Phone: +44 20 8348 3944
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0008300943090.24553-100000>
