--- wikisrc/users/jakllsch.mdwn 2009/10/21 23:23:09 1.2 +++ wikisrc/users/jakllsch.mdwn 2011/07/30 15:09:56 1.5 @@ -1,5 +1,28 @@ # Jonathan Kollasch +## [[!template id=man name="ddb" section="4"]] tips + +### locating a softc +This locates a device's softc using it's `cfdriver_t` (e.g. `&mainbus_cd`, `&cpu_cd`) and its "device unit" (e.g. the `0` in `mainbus0`). + + db{0}> call device_lookup_private(ohci_cd, 0) + 0xffff800045fb2008 + +### locating structure members +This uses [[!template id=man name="gdb" section="1"]] and a kernel with debugging symbols to find the offset to a element in a structure. + + $ gdb netbsd.gdb + ... + (gdb) print &((struct ohci_softc *)0)->iot + $3 = (bus_space_tag_t *) 0x478 + (gdb) print &((struct ohci_softc *)0)->ioh + $4 = (bus_space_handle_t *) 0x480 + +### peeking at mapped registers + + db{0}> call bus_space_read_4(*(ffff800045fb2008+478), *(ffff800045fb2008+480), 0) + 0x110 + ## Unfinished Projects ### x86 UEFI kernel loader @@ -13,17 +36,5 @@ Boots multiuser on NFS root, needs more This project is on hold until there's a miniature userland that fits in 4-8MiB flash storage devices, on a flash-oriented file system. [[!template id=man name="bce" section="4"]] and [[!template id=man name="bwi" section="4"]] would need refactoring to be bus-independent. -### Conexant PCI DTV driver -I have some code for 23880-3 and 887 host interfaces. -This type of hardware is hard to find freely available docs for. -Tuner/demod drivers from Linux could be ported, but would still be GPLed. -Probably better to keep these drivers in userland. - -Should try to coordinate with what FreeBSD is doing: . - ### Memory-mapped PCI config access on x86 -Still need to figure out how pcitag_t will work for a 3rd mode that can't be switched on until after ACPI is initialized. -Existing code I have assumes that no tags are generated until mmconf is turned on, which is not a reasonable assumption to make. - -## Possible Projects -### AMD PowerNow/Cool'n'Quiet states loaded from ACPI tables +Needs cleanup, and maybe some more validation of MCFG tables.