[openfirmware] Fix for /pci/isa at 1/ide-controller at i1f0/ide at 0/<Unnamed>@0

Marcin Cieslak saper at saper.info
Fri Oct 2 14:11:20 CEST 2015


The following patch improves ISA IDE discovery.
On a modern system those devices will probably
be the same as under pci-ide tree of devices.

 * Discover up to 4 IDE devices
 * Fix "Unimplemented package interface procedure"
   message during "Probe IDE"

Before patch:

show-devs

/pci/isa at 1/ide-controller at i1f0/ide at 1
/pci/isa at 1/ide-controller at i1f0/ide at 0
/pci/isa at 1/ide-controller at i1f0/ide at 0/<Unnamed>@0

ok select /pci/isa at 1/ide-controller at i1f0/ide at 0/<Unnamed>@0
Invalid ihandle

After patch:

/pci/isa at 1/ide-controller at i1f0/ide at 1
/pci/isa at 1/ide-controller at i1f0/ide at 0
/pci/isa at 1/ide-controller at i1f0/ide at 1/cdrom at 2
/pci/isa at 1/ide-controller at i1f0/ide at 0/disk at 1
/pci/isa at 1/ide-controller at i1f0/ide at 0/disk at 0

Open issues:

ok select /pci/isa at 1/ide-controller at i1f0/ide at 1/cdrom at 2
IDE data error: 0 
Can't open deblocker package
ok

It does not matter whether Qemu's CDROM device is attached
or not. (For /pci/pci-ide at 1,1/ide at 1/cdrom at 0 works
when attached).

What is file /dev/ide/node.fc binary?

Marcin


Index: dev/ide/idenode.fth
===================================================================
--- dev/ide/idenode.fth (revision 3784)
+++ dev/ide/idenode.fth (working copy)
@@ -22,6 +22,7 @@
 
 : any-blocks?   " any-blocks?"   $call-parent ;
 : cdrom?        " cdrom?"        $call-parent ;
+: node-fcode    " node-fcode"    $call-parent ;
 
 : set-address   ( unit -- dummy unit )
 
@@ -65,7 +66,7 @@
    finish-device                              ( )
 ;
 
-: probe  ( -- )  2 0  do  i probe-child  loop  ;
+: probe  ( -- )  3 0  do  i probe-child  loop  ;
 
 headers
 \ LICENSE_BEGIN




More information about the openfirmware mailing list