|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Kernel Loadable Driver vs. Custom Compiled Driver QuestionHi,
I am in the process of integrating a 3rd party HW vendor’s driver into our FreeBSD code base. The driver works when it is loaded as a KLM using kldload –v <driver_name> but when I modified the kernel using config and compiled the driver into the kernel, it does not work. The kernel builds and installs fine, but the driver does not load correctly. I was able to verify that the first 10 steps of the driver works during load in both cases and that the driver is loading the device into the same PCI memory range (it’s a PCI based HW card). However, at a critical step in the driver, it polls an ISR register waiting for a bit to toggle high indicating that the board is ready and out of reset and it never does, and eventually hits the driver timeout and aborts its load. Why would a driver work as a KLM but not statically compiled into the kernel? Thanks AJ Shipley _______________________________________________ freebsd-drivers@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-drivers To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." |
|
|
Re: Kernel Loadable Driver vs. Custom Compiled Driver QuestionOn 6/4/09, AJ Shipley <aric.shipley@...> wrote:
> Hi, > > I am in the process of integrating a 3rd party HW vendor's driver into > our FreeBSD code base. The driver works when it is loaded as a KLM > using kldload -v <driver_name> but when I modified the kernel using > config and compiled the driver into the kernel, it does not work. The > kernel builds and installs fine, but the driver does not load > correctly. > > I was able to verify that the first 10 steps of the driver works > during load in both cases and that the driver is loading the device > into the same PCI memory range (it's a PCI based HW card). However, > at a critical step in the driver, it polls an ISR register waiting for > a bit to toggle high indicating that the board is ready and out of > reset and it never does, and eventually hits the driver timeout and > aborts its load. > > Why would a driver work as a KLM but not statically compiled into the > kernel? Races? -- Paul _______________________________________________ freebsd-drivers@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-drivers To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." |
|
|
Re: Kernel Loadable Driver vs. Custom Compiled Driver QuestionOn Thursday 04 June 2009 3:02:30 pm AJ Shipley wrote:
> Hi, > > I am in the process of integrating a 3rd party HW vendor’s driver into > our FreeBSD code base. The driver works when it is loaded as a KLM > using kldload –v <driver_name> but when I modified the kernel using > config and compiled the driver into the kernel, it does not work. The > kernel builds and installs fine, but the driver does not load > correctly. > > I was able to verify that the first 10 steps of the driver works > during load in both cases and that the driver is loading the device > into the same PCI memory range (it’s a PCI based HW card). However, > at a critical step in the driver, it polls an ISR register waiting for > a bit to toggle high indicating that the board is ready and out of > reset and it never does, and eventually hits the driver timeout and > aborts its load. > > Why would a driver work as a KLM but not statically compiled into the Are you depending on working interrupts? If so, you will need to defer that work using config_intrhook(9). -- John Baldwin _______________________________________________ freebsd-drivers@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-drivers To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." |
| Free embeddable forum powered by Nabble | Forum Help |