version 1.1, 2009/10/21 01:06:48
|
version 1.6, 2014/04/12 02:28:11
|
Line 1
|
Line 1
|
## Jonathan Kollasch <jakllsch@NetBSD.org> |
# Jonathan Kollasch |
I'm here, maybe I'll even make a [[todo]] list someday. |
|
|
## [[!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 |
|
Needs more work and cleanup. |
|
Work has been done using the OVMF BIOS images for Qemu. |
|
|
|
### bcm47xx for evbmips |
|
Boots multiuser on NFS root, needs more work and cleanup. |
|
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. |
|
|
|
### Memory-mapped PCI config access on x86 |
|
Needs cleanup, and maybe some more validation of MCFG tables. |