File:  [NetBSD Developer Wiki] / wikisrc / users / jakllsch.mdwn
Revision 1.6: download - view: text, annotated - select for diffs
Sat Apr 12 02:28:11 2014 UTC (14 months, 3 weeks ago) by jakllsch
Branches: MAIN
CVS tags: HEAD
minor status changes on x86/uefiboot(8)

# 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
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.

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb