Re: [Madwifi-devel] Openhal VS. BinaryHal Initialization
Status: Beta
Brought to you by:
otaku
From: Michael T. <mik...@ap...> - 2007-05-31 17:29:42
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> You can get a complete record of all startup activity if you instrument ath_hal_reg_write and ath_hal_reg_read in such a way that the data is collected into a buffer and then flushed (printk output at this volume will be throttled). Also, you can instrument ath_intr to get all the interrupt behavior.<br> <br> I do not think interrupts are used by the HAL in any way during startup, as all PCI operations are OS-dependent and are performed by the driver (not the HAL). In fact, this is why the OS abstraction exists in the driver to provide the HAL with it's only access to PCI.<br> <br> I would guess that by emulating/redirecting the PCI probe/attach logic in the driver, the interrupt invocation, and the register read/write you could create a tunnel or proxy emulation from that alone -- basically doing the hacking at the lowest level of abstraction in madwifi (the PCI apis).<br> <br> BTW - all the PCI configuration, base address register population, interrupt mapping, etc. are all part of the PCI behavior of the host machine. Once the PCI bus is initialized and the devices have been assigned and configured (by the host OS) then the drivers themselves usually do not do much with the PCI configuration itself (as far as I remember from my last PCI driver). By the time our OS came up the dual-port memory was already mapped and the addresses stored into BAR registers. The interrupt lines associated with the PCI bus were known to the OS, and the pin used to assert interrupts from the card was in the PCI configuration register space.<br> <br> Cheers,<br> <br> Mike<br> <br> Holger Schurig wrote: <blockquote cite="mid...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">does anyone know, what these steps are and what the binary hal expects the chip to do?? </pre> </blockquote> <pre wrap=""><!----> The HAL does probably get the region/country out of the (EE)PROM. Also it might access the list of channels, tx powers etc out. Maybe you run run the madwifi+HAL with full debug and correlate the accesses against calls into the HAL. The IRQ thingy is maybe used to detect which IRQ line us used by the chip. It might also be used to detect chips, e.g. some would probably generate an IRQ if X happens, another one not. However, that is a wild guess. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. <a class="moz-txt-link-freetext" href="http://sourceforge.net/powerbar/db2/">http://sourceforge.net/powerbar/db2/</a> _______________________________________________ Madwifi-devel mailing list <a class="moz-txt-link-abbreviated" href="mailto:Mad...@li...">Mad...@li...</a> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/madwifi-devel">https://lists.sourceforge.net/lists/listinfo/madwifi-devel</a> </pre> </blockquote> </body> </html> |