#include <string.h>
#include <arch/i386.h>
#include <arch/interrupt.h>
#include <arch/mem.h>
#include <kernel/clock.h>
#include <kernel/Ide.h>
#include <kernel/IdeAta.h>
#include <kernel/IdeDebug.h>
#include <kernel/IdeTimer.h>
#include <kernel/keyboard.h>
#include <kernel/video.h>
#include <kernel/IdeLow.h>
Go to the source code of this file.
Functions | |
void | SetAtaRegisterIoPort (word CmdBase, word CntBase, int IntN) |
void | SelectAtaChannel (int Channel) |
word | AtaPort (word Port) |
void | OutPortAta (word Port, byte Val) |
byte | InPortAta (word Port) |
void | InPortAtaMul (word Port, word *Buffer, word Count) |
void | OutPortAtaMul (word Port, word *Buffer, word Count) |
void | SetDevBit (int Dev) |
void | SetFirstDevBit () |
void | Ide_Handler_Pri () |
void | Ide_Handler_Sec () |
Variables | |
volatile IdeChannel_Struct * | CurrentChannel |
IdeChannel_Struct | IdePriReg |
IdeChannel_Struct | IdeSecReg |
Definition in file IdeLow.c.
|
Definition at line 91 of file IdeLow.c.
00092 { 00093 return CurrentChannel->IoPort[Port]; 00094 } |
|
Definition at line 157 of file IdeLow.c.
|
|
Definition at line 162 of file IdeLow.c.
|
|
Definition at line 107 of file IdeLow.c.
|
|
Definition at line 115 of file IdeLow.c.
|
|
Definition at line 99 of file IdeLow.c.
|
|
Definition at line 124 of file IdeLow.c.
|
|
Definition at line 75 of file IdeLow.c.
00076 { 00077 // let primary be the default channel 00078 if ( Channel == CC_SECONDARY ) 00079 { 00080 CurrentChannel=&IdeSecReg; 00081 } 00082 else 00083 { 00084 CurrentChannel=&IdePriReg; 00085 } 00086 } |
|
|
Definition at line 133 of file IdeLow.c.
00134 { 00135 OutPortAta( CC_DEVH, CurrentChannel->Device[Dev].RegBit); 00136 DELAY400NS; 00137 } |
|
Definition at line 143 of file IdeLow.c.
00144 { 00145 if ( CurrentChannel->Device[CC_DEV0].Type != CC_DEVTYPE_NONE ) 00146 SetDevBit(CC_DEV0); 00147 else if( CurrentChannel->Device[CC_DEV1].Type != CC_DEVTYPE_NONE ) 00148 SetDevBit(CC_DEV1); 00149 } |
|
|
|
|
|
|