Looking for FreeBSD kernel debugging help

Soren Kristensen soren at soekris.com
Tue Jun 10 12:54:11 PDT 2003


Hi Everybody,

I've been working like a madman on bringing up a new Geode SC1100 based 
embedded board, but are stalled right now, and need help for debugging 
with FreeBSD....

The hardware basically seems to be working just fine, and I can boot 
both MS-DOS and OpenBSD 2.9 from a CompactFlash. But I can't boot 
FreeBSD, and need to find out why, and I'm looking for somebody that can 
help me, as I'm just the hardware guy....

When booting freeBSD I get:

Type '?' for a list of commands, 'help' for more detailed help.
ok boot -v
Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD 4.4-RELEASE #1: Sun Jun  8 19:08:24 PDT 2003
     soren at Server600.soekris.com:/usr/src/sys/compile/KERN_NSC
Calibrating clock(s) ... TSC clock: 266667486 Hz, i8254 clock: 1193267 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Cyrix GXm (266.65-MHz 586-class CPU)
   Origin = "CyrixInstead"  Id = 0x540  DIR=0x81b7  Stepping=8  Revision=1
real memory  = 134217728 (131072K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x003c1000 - 0x07ff7fff, 130248704 bytes (31799 pages)
avail memory = 126984192 (124008K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00f0080
bios32: Entry = 0xf00c0 (c00f00c0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xe1
Other BIOS signatures found:
ACPI: 00000000
Preloaded elf kernel "kernel" at 0xc039b000.
md0: Malloc disk
Creating DISK md0
Math emulator present
pci_open(1):    mode 1 addr port (0x0cf8) is 0x800090d0
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=00] is there (id=00011078)


And there it just hangs forever.... Normally it would continue with:

npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
.
.
.


So it looks like it hangs between first PCI check probe and printing the 
NPX info. The question is, what hardware specific could there be that 
could hang ? It's probably PCI config or floating point related, I tried 
to follow the source, but couldn't really....

Some additional info:

The PCI bus seems fine, I can netboot, but it then hangs the same place. 
Same with a 4.2-release and 4.8-release. Same with and without NSC VSA 
extension. Same with GENERIC kernel. I did some search on the net, and 
all info indicated that a stock FreeBSD should work, although a patch 
for the TSC counter is needed for optimal performance and a patch if you 
use the Video (which the SC1100 don't have). I have tried every single 
register in the SC1100 chip (And there are tons of them...) I also tried 
changed the chip ID from "Geode by NSC" to "CyrixInstead", but that just 
resulted in FreeBSD recognizing the CPU and providing a little better 
CPU information.

More info on the hardware at: http://www.soekris.com/net4801.htm

So I need:

All qualified help pinpointing the problem. Or a kernel hacker that can 
come by Morgan Hill, CA and debug the FreeBSD kernel telling me exactly 
where and why it hangs. Once I know that, it's usually easy to fix.

I'm prepared to pay for solving the problem, cash and/or net4801 
hardware....


Regards,


Soren



More information about the freebsd-small mailing list