version 1.3, 2009/10/29 16:34:05
|
version 1.5, 2011/07/30 15:09:56
|
Line 1
|
Line 1
|
# Jonathan Kollasch |
# 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 |
## Unfinished Projects |
|
|
### x86 UEFI kernel loader |
### x86 UEFI kernel loader |
Line 13 Boots multiuser on NFS root, needs more
|
Line 36 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. |
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. |
[[!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: <http://wiki.freebsd.org/HDTV>. |
|
|
|
### Memory-mapped PCI config access on x86 |
### Memory-mapped PCI config access on x86 |
Needs cleanup, and maybe some more validation of MCFG tables. |
Needs cleanup, and maybe some more validation of MCFG tables. |
|
|
### Toshiba ACPI LCD backlight driver |
|
Loosly based on [[!template id=man name="vald" section="4"]]. Currently attaches to `TOS1900`/`VALZ`, but doesn't interact with this device. |
|
This driver should really attach to `\_SB.PCI0.GFX0.LCD` or |
|
`\_SB.PCI0.PEGP.VGA.LCD`, which are the devices that get notified of |
|
brightness button pushes, and contain the `_BCL`, `_BCM`, and `_BQC` |
|
methods that access the brightness adjustment function. |
|
Such an attachment does not appear to be possible (or at the very least, easy) |
|
at present. |
|
|
|
## Possible Projects |
|
### AMD PowerNow/Cool'n'Quiet states loaded from ACPI tables |
|
|
|