Writing Device Drivers

MCA Bus

Memory and I/O Space

Two address spaces are provided: memory address space and I/O address space. Depending on the device, registers may appear in one or both of these address spaces.

Table 2-5 MCA Address Space

MCA Space 

Name 

Address 

Size 

Data Transfer 

Size 

Physical Address 

Range 

Main Memory 

32 

32 

0x0-0xffffffff 

I/O 

-- 

8/16/32 

0x0-0xfff 

Registers can be mapped in memory address space and used by the driver as normal memory (see "Device Memory Mapping").

Registers in I/O space are accessed through I/O port numbers using separate kernel routines. See "I/O Space Access") for more information.

Hardware Configuration Files

Hardware configuration files are normally unnecessary for MCA devices. However, on some occasions drivers for MCA devices may need to use hardware configuration files to augment the information provided by the MCA card. See driver.conf(4) and mca(4) for further details.