1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/test/testide.c Fri Aug 18 09:31:12 2006 +0000
1.7 +void debug_dump_buffer(char *buf, int length)
1.10 + for( i=0; i<length; i+=16 ) {
1.11 + printf( "%08X: ", i );
1.12 + for( j=0; j<16 && i+j < length; j+=4 ) {
1.13 + unsigned int val = *((volatile unsigned int *)(buf+i+j));
1.14 + printf( "%02X %02X %02X %02X ", val&0xFF, (val>>8)&0xFF, (val>>16)&0xFF, (val>>24)&0xFF );
1.16 + for( j=0; j<16 && i+j < length; j++ ) {
1.17 + printf( "%c", isprint(buf[i+j]) ? buf[i+j] : '.' );
1.23 +void debug_dump_int_buffer(volatile char *buf, int length)
1.26 + for( i=0; i<length; i+=16 ) {
1.27 + printf( "%08X:", i );
1.28 + for( j=0; j<16 && i+j < length; j+=4 ) {
1.29 + printf( " %08X", *((volatile unsigned int *)(buf+i+j)) );
1.36 +char buf[2048*7 + 32];
1.38 +int test_ide_read_bootstrap()
1.40 + struct gdrom_session session;
1.46 + if( ide_test_ready() != 0 ) {
1.47 + printf( "ERROR - Test ready failed\n" );
1.51 + if( ide_spinup() != 0 ) {
1.52 + printf( "ERROR - Spinup failed\n" );
1.57 + length = ide_unknown71( buf, sizeof(buf) );
1.58 + if( length == -1 ) {
1.59 + printf( "ERROR - 0x71 failed\n" );
1.60 + ide_print_sense_error();
1.63 + debug_dump_buffer(buf,length);
1.65 + if( ide_get_session( 0, &session ) == -1 ) {
1.66 + printf( "ERROR - Get session(0) failed\n" );
1.69 + if( ide_get_session( session.track, &session ) == -1 ) {
1.70 + printf( "ERROR - Get session(%d) failed\n", session.track );
1.74 + p = (char *)((((unsigned int)buf) & 0xFFFFFFE0) + 0x20);
1.75 + printf( "--- DMA buffer: %08X\n", p );
1.76 + length = ide_read_sector_dma( session.lba, 2, 0x28, p, 2048*2 );
1.77 + if( length != 2048*2 ) {
1.78 + printf( "ERROR - Got incorrect read length, expected %d but was %d\n", 2048, length );
1.81 + debug_dump_buffer( p, 2048*2 );
1.87 +int main( int argc, char *argv[] )
1.89 + ide_dump_registers();
1.91 + ide_read_something();
1.92 +// test_ide_read_bootstrap();