diff options
| author | Michal Idziorek <miguel@miguel-acer.softwarefools.com> | 2014-08-28 23:09:08 +0200 |
|---|---|---|
| committer | Michal Idziorek <miguel@miguel-acer.softwarefools.com> | 2014-08-28 23:09:08 +0200 |
| commit | 12df83e1621cd036c248beab1f7abc5242a0b1a7 (patch) | |
| tree | 943834768395d6d1a077d03d02de411ce8253ba1 | |
| parent | 5cfa0e21a9bb0c19b0bd3ee916df74d90db81115 (diff) | |
improved logging in floppy driver
| -rw-r--r-- | kernel/floppy.c | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/kernel/floppy.c b/kernel/floppy.c index 557df2a..f5af4df 100644 --- a/kernel/floppy.c +++ b/kernel/floppy.c @@ -1,3 +1,4 @@ + /* * Fool OS Simple Floppy Driver. * @@ -20,7 +21,6 @@ #include "../lib/logger/log.h" // logger facilities #define FOOLOS_MODULE_NAME "floppy" - #define FLPY_SECTORS_PER_TRACK 18 static volatile int _CurrentDrive=0; @@ -160,7 +160,7 @@ void sleep(int i) void flpydsk_motor_on() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"starting motor..."); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"starting motor..."); //x86_outb (FLPYDSK_DOR, FLPYDSK_DOR_MASK_DRIVE0_MOTOR | FLPYDSK_DOR_MASK_RESET); x86_outb (FLPYDSK_DOR, 0x1c); sleep(20); @@ -168,7 +168,7 @@ void flpydsk_motor_on() } void flpydsk_motor_off() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"stopping motor..."); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"stopping motor..."); x86_outb (FLPYDSK_DOR, 0x0c); //x86_outb (FLPYDSK_DOR,FLPYDSK_DOR_MASK_RESET); scr_put_string_nl("ok"); @@ -191,7 +191,7 @@ int flpydsk_calibrate (uint32_t drive) { int i; for (i = 0; i < 10; i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"calibrating"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"calibrating"); //! send command flpydsk_send_command ( FDC_CMD_CALIBRATE ); flpydsk_send_command ( drive ); @@ -275,7 +275,7 @@ void flpydsk_reset() uint32_t st0, cyl; //! reset the controller - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"reset controller"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reset controller"); flpydsk_disable_controller (); flpydsk_enable_controller (); flpydsk_wait_irq (); @@ -304,7 +304,6 @@ void int_floppy_handler() { X86_IRQ_BEGIN -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"handling interrupt"); _FloppyDiskIRQ=1; X86_IRQ_END @@ -312,10 +311,10 @@ void int_floppy_handler() void flpydsk_wait_irq() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"waiting for irq6"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"waiting for irq6"); while ( _FloppyDiskIRQ == 0); _FloppyDiskIRQ = 0; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"irq6 received"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"irq6 received"); } void flpydsk_check_int (uint32_t* st0, uint32_t* cyl) { @@ -333,7 +332,7 @@ void flpydsk_write_sector_imp (uint8_t head, uint8_t track, uint8_t sector) { flpydsk_dma_write (); //flpydsk_drive_data (13, 1, 0xf, 0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"writing head/track/sector"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"writing head/track/sector"); uint32_t st0, cyl; @@ -375,7 +374,7 @@ void flpydsk_read_sector_imp (uint8_t head, uint8_t track, uint8_t sector) { flpydsk_dma_read (); //flpydsk_drive_data (13, 1, 0xf, 0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"reading head/track/sector"); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reading head/track/sector"); uint32_t st0, cyl; @@ -425,7 +424,7 @@ int flpydsk_seek ( uint32_t cyl, uint32_t head ) int i; for (i = 0; i < 10; i++ ) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"seeking cyl: %d, head: %d",cyl,head); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"seeking cyl: %d, head: %d",cyl,head); //! send the command flpydsk_send_command (FDC_CMD_SEEK); @@ -461,7 +460,7 @@ void flpydsk_lba_to_chs (int lba,int *head,int *track,int *sector) { uint8_t* flpydsk_read_sector (int sectorLBA) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"reading sector: %d",sectorLBA); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reading sector: %d",sectorLBA); if (_CurrentDrive >= 4) @@ -492,7 +491,7 @@ uint8_t* flpydsk_read_sector (int sectorLBA) { uint8_t* flpydsk_write_sector (int sectorLBA) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"writing sector: %d",sectorLBA); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"writing sector: %d",sectorLBA); if (_CurrentDrive >= 4) return 0; @@ -531,27 +530,24 @@ void floppy_init() log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"driver init"); flpydsk_reset (); -// flpydsk_drive_data (13, 1, 0xf, 0); - // flpydsk_drive_data (3,16,240,0); - // - // - - // - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test read (sector: 1)"); - flpydsk_read_sector(1); + +#ifdef FOOLOS_TEST_FLOPPY + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test read (sector: 0)"); + flpydsk_read_sector(0); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"finished reading"); uint16_t *dma=0xb000; int i; for(i=0;i<10;i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test read 0x%04x ",dma[i]); + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"test read 0x%04x ",dma[i]); } -/* log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test write (sector: 100)"); flpydsk_write_sector(100); - */ + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"finished writing"); +#endif } |
