osLeoDiskInit.c (1013B)
1 #include "libultra_internal.h" 2 #include "PR/rcp.h" 3 #include "PR/os.h" 4 5 OSPiHandle __Dom2SpeedParam; 6 OSPiHandle *__osDiskHandle; 7 8 OSPiHandle *osLeoDiskInit(void) { 9 s32 saveMask; 10 11 __Dom2SpeedParam.type = DEVICE_TYPE_64DD; 12 __Dom2SpeedParam.baseAddress = PHYS_TO_K1(PI_DOM2_ADDR1); 13 __Dom2SpeedParam.latency = 3; 14 __Dom2SpeedParam.pulse = 6; 15 __Dom2SpeedParam.pageSize = 6; 16 __Dom2SpeedParam.relDuration = 2; 17 #ifdef VERSION_SH 18 __Dom2SpeedParam.domain = 1; 19 #endif 20 IO_WRITE(PI_BSD_DOM2_LAT_REG, __Dom2SpeedParam.latency); 21 IO_WRITE(PI_BSD_DOM2_PWD_REG, __Dom2SpeedParam.pulse); 22 IO_WRITE(PI_BSD_DOM2_PGS_REG, __Dom2SpeedParam.pageSize); 23 IO_WRITE(PI_BSD_DOM2_RLS_REG, __Dom2SpeedParam.relDuration); 24 bzero(&__Dom2SpeedParam.transferInfo, sizeof(__OSTranxInfo)); 25 saveMask = __osDisableInt(); 26 __Dom2SpeedParam.next = __osPiTable; 27 __osPiTable = &__Dom2SpeedParam; 28 __osDiskHandle = &__Dom2SpeedParam; 29 __osRestoreInt(saveMask); 30 return &__Dom2SpeedParam; 31 }