~vdupras/duskos

0c986dd34840500ff1f85d44cf5ac3274cbead69 — Virgil Dupras 3 months ago e7e9602
drv/pc/ich: add PCI fields specific to the ICHn family

Setting pciich.map to 0 on my notebook makes ".ata" go from ff (no response) to
d0 (busy). Progress!
2 files changed, 13 insertions(+), 1 deletions(-)

A fs/drv/pc/ich.fs
M fs/drv/pc/pci.fs
A fs/drv/pc/ich.fs => fs/drv/pc/ich.fs +12 -0
@@ 0,0 1,12 @@
\ Intel Controller Hub chipset family
\ This unit implement extra PCI fields that are specific to this chipset
?f<< /drv/pc/pci.fs

1 const ICHFIELDCNT
create ichfieldlist ICHFIELDCNT 4 * allot
ichfieldlist to _currentlist

\ This is where you switch between IDE/AHCI/RAID modes of the SATA controller.
$90 pcifield1 pciich.map "MAP"

: .pciich ( -- ) ichfieldlist ICHFIELDCNT .pcifields ;

M fs/drv/pc/pci.fs => fs/drv/pc/pci.fs +1 -1
@@ 162,5 162,5 @@ $3f pcifield1 pci0.maxlatency "Max latency"
  pcisel .pciaddr not if ." No device" nl> exit then
  commonfieldlist COMMONFIELDCNT .pcifields ;

: .pci0 ( bus slot func -- ) type0fieldlist TYPE0FIELDCNT .pcifields ;
: .pci0 ( -- ) type0fieldlist TYPE0FIELDCNT .pcifields ;