xpt_bus_register panics
Kenneth D. Merry
ken at kdm.org
Fri Nov 18 08:44:47 PST 2005
On Fri, Nov 18, 2005 at 17:05:01 +0200, Danny Braniss wrote:
> > Danny Braniss wrote:
> > > hi,
> > > it seems that i might be doing something wrong, if the
> > > iscsi_initiator.ko is loaded early on by the boot loader via
> > > iscsi_initiator_load="YES"
> > > the kernel panics in xpt_bus_register(...)
> > >
> > > i can move this part of the code, so that it will be done later, but
> > > was wondering if there is a 'correct' way to handle this.
> > >
> > > danny
> > >
> >
> > Can you provide a traceback of the panic? Also, you don't need
> > to special-case the module loading code with #ifdef KLD_MODULE.
> > It should be unconditional.
> what if it get's - someday - compiled into the kernel? but i see
> your point.
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address = 0x0
> fault code = supervisor write, page not present
> instruction pointer = 0x20:0xc044f014
> stack pointer = 0x28:0xc0c20c30
> frame pointer = 0x28:0xc0c20d18
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 0 (swapper)
> [thread pid 0 tid 0 ]
> Stopped at xpt_bus_register+0xe4: movl %ebx,0(%eax)
> db> tr
> Tracing pid 0 tid 0 td 0xc0933a80
> xpt_bus_register(c555fd40,0,c0a564b0,c54202c0,c0a564b0) at
> xpt_bus_register+0xe4
> ic_init(c0a567c0,c54202c0,c0c20d74,c063908b,c54202c0) at ic_init+0x51
> iscsi_load(c54202c0,0,0,c0934680,0) at iscsi_load+0xb7
> module_register_init(c0a564b0,c1ec00,c1e000,0,c0444fb5) at
> module_register_init+0x4b
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c
> db>
I wonder if your module is getting initialized before xpt_init() gets
called.
It looks like that section of xpt_bus_register() manipulates the
xpt_busses list, which gets initialized in xpt_init().
Ken
--
Kenneth Merry
ken at kdm.org
More information about the freebsd-scsi
mailing list