[Oberon] Oberon / Aos disk performance

Pieter Muller pieter.muller at alumni.ethz.ch
Thu Aug 14 23:35:40 CEST 2003


Dan Parnete wrote:

> Bus 0, device 31, function 1: class/rev 01018A01, vendor/device 
> 808624CB, status/cmd 02800007
>    Class: Mass storage controller, Sub-class: IDE interface
>    Vendor: Intel Corp., Device: Unknown
>        IRQ0, INTA
>        8B I/O at 00000000 - 00000007
>        4B I/O at 00000000 - 00000003
>        8B I/O at 00000000 - 00000007
>        4B I/O at 00000000 - 00000003
>        16B I/O at 0000F000 - 0000F00F

This is the IDE controller.  Vendor 8086H is Intel, and 24CBH is the 
device type.

You could try add code to AosATADisks.Mod to recognize this controller.  
Intel controllers are usually backward compatible.  Of course you would 
be changing a driver, so you can never exclude the possibility of data 
loss completely.  Make sure your valuable data is backed up and you have 
time available to restore the system if required.

1. To add the device, add a "FindDevice(24CBH, 8086H)" in the 
InitBusMaster procedure.  It should be clear from the context where it 
should go.

2. Compile the module and link a new kernel using the first 
"AosLinker.Link AOS:AosIDE.Bin" command in Aos.Tool.

3. Use the "Partitions.UpdateBootFile Diskette0#0 Aos ~" command to 
write the kernel to a boot floppy for testing.  See Partitions.Tool.

4. Copy your boot settings to the floppy using Partitions.GetConfig and 
Partitions.SetConfig.

5. Boot from the floppy to test the driver.  Since you copied your 
BootVol setting, it will only load the kernel from the floppy and then 
boot further from the normal boot device (hard disk or CD).

6. Check the kernel log for the bus master message.

I haven't tried this in a while, so I hope nothing important was left out...

Good luck!
-- Pieter





More information about the Oberon mailing list