#include <string.h>
#include <kernel/IdeLow.h>
#include <kernel/Ide.h>
#include <kernel/IdeTimer.h>
#include <kernel/video.h>
#include <kernel/IdeDebug.h>
Go to the source code of this file.
Functions | |
char * | GetIdeErrorMessage (int Err) |
void | ShowIdeErrorMessage (int Err, int Dump) |
void | ShowIdeRegisterDump () |
void | PrintByteHex (byte Data) |
void | ShowMatrixData (char *DataBuffer, int Col, int BytePerCol, int RowToWait, int Len, int Mode) |
Variables | |
byte | hex_table [16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'} |
CmdNames_Struct | CmdNames [] |
ErrNames_Struct | ErrNames [] |
Definition in file IdeDebug.c.
|
Definition at line 132 of file IdeDebug.c.
|
|
Definition at line 200 of file IdeDebug.c.
|
|
Definition at line 146 of file IdeDebug.c.
00147 { 00148 int i=0; 00149 int j=0; 00150 00151 if (Err!=0x00) 00152 { 00153 while (ErrNames[i].ErrCode != 0x00 && ErrNames[i].ErrCode != Err) 00154 i++; 00155 00156 kprintf("\n\rIde Driver Error: "); 00157 00158 if (ErrNames[i].ErrCode != 0x00) 00159 kprintf("%s",ErrNames[j].ErrName); 00160 else 00161 // if we are here the error code is not 0 and is not found 00162 kprintf("Unknow Error"); 00163 00164 if (Dump) 00165 ShowIdeRegisterDump(); 00166 } 00167 } |
|
Definition at line 172 of file IdeDebug.c.
00173 { 00174 kprintf("\n\rIDE REGISTER DUMP"); 00175 00176 kprintf("\n\rSTATUS =0x"); 00177 PrintByteHex(InPortAta(CC_ASTAT)); 00178 gotoxy(20,-1); 00179 kprintf("ERROR =0x"); 00180 PrintByteHex(InPortAta(CC_ERR)); 00181 00182 kprintf("\n\rSEC CNT =0x"); 00183 PrintByteHex(InPortAta(CC_SECC)); 00184 gotoxy(20,-1); 00185 kprintf("SEC NUM =0x"); 00186 PrintByteHex(InPortAta(CC_SECN)); 00187 00188 kprintf("\n\rCYL LOW =0x"); 00189 PrintByteHex(InPortAta(CC_CYLL)); 00190 gotoxy(20,-1); 00191 kprintf("CYL HIGH=0x"); 00192 PrintByteHex(InPortAta(CC_CYLH)); 00193 gotoxy(40,-1); 00194 kprintf("DEV HEAD=0x"); 00195 PrintByteHex(InPortAta(CC_DEVH)); 00196 00197 kprintf("\n\r"); 00198 } |
|
Definition at line 206 of file IdeDebug.c.
00207 { 00208 int i=0; 00209 int j=0; 00210 int z=0; 00211 int RowCount=0; 00212 int CrtWidth=k_get_crt_width(); 00213 00214 while(i<Len) 00215 { 00216 RowCount++; 00217 kprintf("\n\r"); 00218 j=0; 00219 // Print a Row 00220 while (i<Len && j<Col) 00221 { 00222 gotoxy(j*(CrtWidth/Col),-1); 00223 kprintf("["); 00224 PrintByteHex( (byte)i ); 00225 kprintf("]"); 00226 z=0; 00227 00228 // Print a Column 00229 while (i<Len && z<BytePerCol) 00230 { 00231 switch (Mode) 00232 { 00233 case DBG_SHOWMAT_ASCII: 00234 kprintf("%c",DataBuffer[i]); 00235 break; 00236 case DBG_SHOWMAT_HEX: 00237 default: 00238 kprintf(" "); 00239 PrintByteHex(DataBuffer[i]); 00240 break; 00241 } 00242 z++; 00243 i++; 00244 } 00245 j++; 00246 } 00247 if ( (i<Len) && ((RowCount % RowToWait) == 0) ) 00248 WaitKeyPress(MSG_PRESSKEY); 00249 } 00250 } |
|
Definition at line 26 of file IdeDebug.c. |
|
Definition at line 73 of file IdeDebug.c. |
|
Definition at line 23 of file IdeDebug.c. |