Showing changes from revision #3 to #4:
Added | Removed | Changed
void *HAL_ControllerAddress(unsigned ignored,unsigned controller)
Entry | |
---|---|
ignored | This parameter is ignored |
controller | |
Bits 15-31: Controller number: | |
0 = EASI card access speed control | |
1 = EASI space(s). Sequence number specifies index. | |
2 = VIDC1 | |
3 = VIDC20 | |
4 = S space base (IOMD,podules,NICs blah blah) | |
5 = Extension ROM | |
6 = SuperIO/82C710 |
Exit | |
---|---|
- | On success, returns the logical address of the chosen controller. |
On failure, returns -1 (controller number not recognised) or zero (controller not present) |
Asks the HAL where various controllers might or might not be. Podule manager uses this information to determine at run time whether or not to bother doing anything. The ADFS, SerialDeviceDriver & ParallelDeviceDriver modules use it to get the 82C710 address for providing floppy/serial/parallel support.
This HAL call is used in the implementation of SWI OS_Memory 9. User software should always prefer to use that SWI call instead of calling the HAL directly. OS_Memory 9 will convert a return value of -1 to an error, while a value of 0 will be returned directly.