Diff for /wikisrc/users/jakllsch.mdwn between versions 1.2 and 1.6

version 1.2, 2009/10/21 23:23:09 version 1.6, 2014/04/12 02:28:11
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
 Building this for x64 UEFI requires the `ms_abi` function attribute introduced in GCC 4.4 or so.  Needs more work and cleanup.
 This project uses Intel UEFI headers and some existing FreeBSD work.  
 Needs more work and cleanup, also toolchain updates.  
 Work has been done using the OVMF BIOS images for Qemu.  Work has been done using the OVMF BIOS images for Qemu.
   
 ### bcm47xx for evbmips  ### bcm47xx for evbmips
Line 13  Boots multiuser on NFS root, needs more  Line 34  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
 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.  Needs cleanup, and maybe some more validation of MCFG tables.
 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  

Removed from v.1.2  
changed lines
  Added in v.1.6


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