前面有说到在main()中有调用BoardPowerOn函数来对board来上电,这个函数通过调用PowerOnDevices来对board上的每一个device来上电。
    这个函数是通过一个MappedIORange的数组IORanges来poweron每一个device的,该结构如下:
typedef struct {
 unsigned __int32 StartAddress;
 unsigned __int32 EndAddress;
 MappedIODevice *Device;
 char * name;
} MappedIORange;
    每个device都是处理对应控制器的IO操作的,都是直接或者间接继承自MappedIODevice。
    同理,ResetDevices(),SaveDeviceStates(),RestoreDeviceStates()也都是用上述的IORanges数组来处理的。