On Thursday, December 02, 2010 2:12:04 pm Darmawan Salihun wrote:
> Hi John, 
> 
> --- On Thu, 12/2/10, John Baldwin <j...@freebsd.org> wrote:
> 
> > From: John Baldwin <j...@freebsd.org>
> > Subject: Re: How to debug BTX loader?
> > To: freebsd-hackers@freebsd.org
> > Cc: "Darmawan Salihun" <darmawan_sali...@yahoo.com>
> > Date: Thursday, December 2, 2010, 8:58 AM
> > On Wednesday, December 01, 2010
> > 4:09:42 pm Darmawan Salihun wrote:
> > > Hi John, 
> > > 
> > > --- On Tue, 11/30/10, John Baldwin <j...@freebsd.org>
> > wrote:
> > > 
> > > > From: John Baldwin <j...@freebsd.org>
> > > > Subject: Re: How to debug BTX loader?
> > > > To: freebsd-hackers@freebsd.org
> > > > Cc: "Darmawan Salihun" <darmawan_sali...@yahoo.com>
> > > > Date: Tuesday, November 30, 2010, 9:38 AM
> > > > On Monday, November 29, 2010 1:01:27
> > > > pm Darmawan Salihun wrote:
> > > > > Hi guys, 
> > > > > 
> > > > > I'm currently working on a BIOS for a custom
> > Single
> > > > Board Computer (SBC). 
> > > > > I have the required BIOS source code and
> > tools at
> > > > hand. 
> > > > > However, the boot process always stuck in
> > the BTX
> > > > loader 
> > > > > (the infamous "ACPI autoload failed") when I
> > booted
> > > > out of USB stick 
> > > > > (with the FreeBSD 8.1 USB stick image). 
> > > > > 
> > > > > I could get the system to boot into FreeBSD
> > 8.1 
> > > > > (by keeping the CDROM tray open and close it
> > when the
> > > > board looks for 
> > > > > boot device, otherwise BTX will reboot
> > instantly). 
> > > > 
> > > > Are you getting an actual BTX error message or a
> > > > freeze?  BTX is just a 
> > > > minikernel written all in assembly.  It
> > doesn't handle
> > > > loading the kernel, 
> > > > etc.  All that work is done by the
> > /boot/loader
> > > > program (which is written in 
> > > > C).  You can find all the source to the boot
> > code in
> > > > src/sys/boot.  The BTX 
> > > > kernel is in src/sys/boot/i386/btx/btx/.
> > > > 
> > > > However, to debug this further we would need more
> > info such
> > > > as what exactly 
> > > > you are seeing (a hang, a BTX fault with a
> > register dump,
> > > > etc.).
> > > 
> > > One of the BTX fault shows the register dump in the
> > attachment. 
> > > I hope this could help. Anyway, If I were to try to
> > interpret 
> > > such register dump, where should I start? I understand
> > x86/x86_64 
> > > assembly pretty much, but I'm not quite well versed
> > with the 
> > > FreeBSD code using it. 
> > 
> > Looks like the mailing list stripped the attachment. 
> > Can you post the 
> > attachment at a URL?
> >
> 
> The BTX crash message is in the attachment.

Ok, so clearly the instruction pointer has jumped off into the weeds given 
that the instruction stream is all 0xff.  The instruction pointer value 
(0xc09d3600) implies that this is in the kernel already during early kernel 
startup (before the kernel installs its own IDT with its own fault and 
exception handlers).  It might be helpful to pull up gdb on your kernel.debug 
file and do 'l *0xc09d3600' to see what you get.  Looking at the stack 
'0xc1830188' might be another address in the kernel.

-- 
John Baldwin
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to