Okay, I just finished rebuilding the GENERIC kernel with this patch. All Firewire devices are still compiled out of the kernel at this point. When I boot with ACPI on, I get: subsystem 9000000 tcov_init(0)... done. subsystem a000000 synch_setup(0)... done. subsystem a800000 run_interrupt_driven_config_hooks(0)... Calling 0xc09bf490 ... rr232x: no controller detected. done. Calling 0xc04695d0 ... done. Calling 0xc04f29d0 ... acpi_acad0: acline initialization start acpi_acad0: On Line acpi_acad0: acline initialization done, tried 1 times battery0: battery initialization start battery0: battery initialization done, tried 1 times and hangs. If I boot with ACPI off, I get: subsystem 9000000 tcov_init(0)... done. subsystem a000000 synch_setup(0)... done. subsystem a800000 run_interrupt_driven_config_hooks(0)... Calling 0xc09bf490 ... rr232x: no controller detected. done. Calling 0xc04695d0 ... done. Calling 0xc04f29d0 ... and it stops. --- Kip Macy <kip.macy_at_gmail.com> wrote: > On 9/13/07, Dave Frantz <imperial_courier_at_yahoo.com> > wrote: > > I just finished searching the files in > /usr/src/sys > > for run_interrupt_driven_config_hooks. The only > > references I get for this are in > kern/subr_autoconf.c. > > > > Unfortunately, my C-fu is a little weak. I've > > reproduced the run_interrupt_driven_config_hooks > > function below. Any ideas on where I should put > the > > printf? Is this the right function? > > see inline > > > > > /* ARGSUSED */ > > static void run_interrupt_driven_config_hooks(void > > *dummy); > > > > static void > > run_interrupt_driven_config_hooks(dummy) > > void *dummy; > > { > > struct intr_config_hook *hook_entry, > *next_entry; > > > > mtx_lock(&intr_config_hook_lock); > > TAILQ_FOREACH_SAFE(hook_entry, > > &intr_config_hook_list, ich_links, > > next_entry) { > > next_entry = > TAILQ_NEXT(hook_entry, ich_links); > > > printf("calling %p ... ", > hook_entry->ich_func); > > > > > mtx_unlock(&intr_config_hook_lock); > > > (*hook_entry->ich_func)(hook_entry->ich_arg); > > mtx_lock(&intr_config_hook_lock); > > printf("done\n"); > > > > } > > > > while > (!TAILQ_EMPTY(&intr_config_hook_list)) { > > msleep(&intr_config_hook_list, > > &intr_config_hook_lock, PCONFIG, > > "conifhk", 0); > > } > > mtx_unlock(&intr_config_hook_lock); > > } > > SYSINIT(intr_config_hooks, > SI_SUB_INT_CONFIG_HOOKS, > > SI_ORDER_FIRST, > > run_interrupt_driven_config_hooks, NULL) > > > > --- Kip Macy <kip.macy_at_gmail.com> wrote: > > > > > > run_interrupt_driven_config_hooks(0)... > rr232x: > > > no > > > > controllers detected. > > > > > > put a printf in > run_interrupt_driven_config_hooks > > > printing out the > > > addresses of the functions, > > > with something like: > > > printf("calling %p ...", fun); > > > (*fun)(); > > > printf("done\n"); > > > > > > The most likely scenario is one of the drivers > > > taking you off into the weeds. > > > > > > -Kip > > > > > > > > > > > > > > > > > and then it hangs. > > > > > > > > I don't think Firewire is causing this, > > > unfortunately. > > > > At least not directly. > > > > > > > > Thank you very much for your help, by the way. > > > > <snip> ____________________________________________________________________________________ Got a little couch potato? Check out fun summer activities for kids. http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bzReceived on Fri Sep 14 2007 - 05:24:36 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:17 UTC