VirtualBox

Changeset 48947 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Oct 7, 2013 9:41:00 PM (11 years ago)
Author:
vboxsync
Message:

Devices: Whitespace and svn:keyword cleanups by scm.

Location:
trunk/src/VBox/Devices/PC
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/bios.c

    r44528 r48947  
    100100    // interrupt level.
    101101    uint8_t     isrA, isrB, imr, last_int = 0xFF;
    102    
     102
    103103    outb(PIC_MASTER, PIC_CMD_RD_ISR);           // Read master ISR
    104104    isrA = inb(PIC_MASTER);
     
    175175
    176176    /* Avoid using preprocessing directives within macro arguments. */
    177     bios_conf = 
     177    bios_conf =
    178178#ifdef __WATCOMC__
    179179    "watcom "
  • trunk/src/VBox/Devices/PC/BIOS/eltorito.c

    r45791 r48947  
    135135// ---------------------------------------------------------------------------
    136136
    137 // !! TODO !! convert EBDA accesses to far pointers 
     137// !! TODO !! convert EBDA accesses to far pointers
    138138
    139139extern  int     diskette_param_table;
     
    144144    // @TODO: a macro or a function for getting the EBDA segment
    145145    uint16_t    ebda_seg = read_word(0x0040,0x000E);
    146    
     146
    147147    // the only important data is this one for now
    148148    write_byte(ebda_seg,(uint16_t)&EbdaData->cdemu.active, 0x00);
     
    153153    // @TODO: a macro or a function for getting the EBDA segment
    154154    uint16_t    ebda_seg = read_word(0x0040,0x000E);
    155    
     155
    156156    return read_byte(ebda_seg,(uint16_t)&EbdaData->cdemu.active);
    157157}
     
    161161    // @TODO: a macro or a function for getting the EBDA segment
    162162    uint16_t    ebda_seg = read_word(0x0040,0x000E);
    163    
     163
    164164    return read_byte(ebda_seg,(uint16_t)&EbdaData->cdemu.emulated_drive);
    165165}
     
    177177    cdemu = ebda_seg :> &EbdaData->cdemu;
    178178
    179    
     179
    180180    BX_DEBUG_INT13_ET("%s: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", __func__, AX, BX, CX, DX, ES);
    181181    // BX_DEBUG_INT13_ET("%s: SS=%04x DS=%04x ES=%04x DI=%04x SI=%04x\n", __func__, get_SS(), DS, ES, DI, SI);
    182    
     182
    183183    switch (GET_AH()) {
    184184
     
    206206        write_byte(DS,SI+0x11,cdemu->vdevice.spt);
    207207        write_byte(DS,SI+0x12,cdemu->vdevice.heads);
    208        
     208
    209209        // If we have to terminate emulation
    210210        if(GET_AL() == 0x00) {
     
    244244{
    245245    bio_dsk_t __far *bios_dsk;
    246    
     246
    247247    bios_dsk = read_word(0x0040, 0x000E) :> &EbdaData->bdisk;
    248    
     248
    249249    if (device >= BX_MAX_STORAGE_DEVICES)
    250250        return 0;
    251    
     251
    252252//    if (bios_dsk->devices[device].type != DSK_TYPE_ATAPI)
    253253//        return 0;
    254    
     254
    255255    if (bios_dsk->devices[device].device != DSK_DEVICE_CDROM)
    256256        return 0;
    257    
     257
    258258    return 1;
    259259}
     
    390390    cdemu->ilba = lba;
    391391
    392     BX_DEBUG_ELTORITO("Emulate drive %02x, type %02x, LBA %lu\n", 
     392    BX_DEBUG_ELTORITO("Emulate drive %02x, type %02x, LBA %lu\n",
    393393                      cdemu->emulated_drive, cdemu->media, cdemu->ilba);
    394394
     
    410410        return 13;
    411411
    412     BX_DEBUG_ELTORITO("Emulate drive %02x, type %02x, LBA %lu\n", 
     412    BX_DEBUG_ELTORITO("Emulate drive %02x, type %02x, LBA %lu\n",
    413413                      cdemu->emulated_drive, cdemu->media, cdemu->ilba);
    414414    /* Set up emulated drive geometry based on the media type. */
     
    481481
    482482    /* at this point, we are emulating a floppy/harddisk */
    483    
     483
    484484    // Recompute the device number
    485485    device  = cdemu->controller_index * 2;
    486486    device += cdemu->device_spec;
    487    
     487
    488488    SET_DISK_RET_STATUS(0x00);
    489    
     489
    490490    /* basic checks : emulation should be active, dl should equal the emulated drive */
    491491    if (!cdemu->active || (cdemu->emulated_drive != GET_DL())) {
     
    493493        goto int13_fail;
    494494    }
    495    
     495
    496496    switch (GET_AH()) {
    497497
     
    525525        SET_AH(status);
    526526        SET_DISK_RET_STATUS(0);
    527        
     527
    528528        /* set CF if error status read */
    529529        if (status)
     
    539539        vheads     = cdemu->vdevice.heads;
    540540        ilba       = cdemu->ilba;
    541        
     541
    542542        sector    = GET_CL() & 0x003f;
    543543        cylinder  = (GET_CL() & 0x00c0) << 2 | GET_CH();
     
    553553        if(nbsectors==0)
    554554            goto int13_success;
    555        
     555
    556556        // sanity checks sco openserver needs this!
    557557        if ((sector   >  vspt)
     
    560560            goto int13_fail;
    561561        }
    562        
     562
    563563        // After validating the input, verify does nothing
    564564        if (GET_AH() == 0x04)
    565565            goto int13_success;
    566        
     566
    567567        segment = ES+(BX / 16);
    568568        offset  = BX % 16;
    569        
     569
    570570        // calculate the virtual lba inside the image
    571571        vlba=((((uint32_t)cylinder*(uint32_t)vheads)+(uint32_t)head)*(uint32_t)vspt)+((uint32_t)(sector-1));
    572        
     572
    573573        // In advance so we don't lose the count
    574574        SET_AL(nbsectors);
    575        
     575
    576576        // start lba on cd
    577577        slba   = (uint32_t)vlba / 4;
    578578        before = (uint32_t)vlba % 4;
    579        
     579
    580580        // end lba on cd
    581581        elba = (uint32_t)(vlba + nbsectors - 1) / 4;
     
    603603            goto int13_fail_noah;
    604604        }
    605        
     605
    606606        goto int13_success;
    607607        break;
     
    611611        vcylinders = cdemu->vdevice.cylinders - 1;
    612612        vheads     = cdemu->vdevice.heads - 1;
    613        
     613
    614614        SET_AL( 0x00 );
    615615        SET_BL( 0x00 );
     
    694694
    695695    bios_dsk = ebda_seg :> &EbdaData->bdisk;
    696    
     696
    697697    BX_DEBUG_INT13_CD("%s: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", __func__, AX, BX, CX, DX, ES);
    698    
     698
    699699    SET_DISK_RET_STATUS(0x00);
    700    
     700
    701701    /* basic check : device should be 0xE0+ */
    702702    if( (GET_ELDL() < 0xE0) || (GET_ELDL() >= 0xE0 + BX_MAX_STORAGE_DEVICES) ) {
     
    704704        goto int13_fail;
    705705    }
    706    
     706
    707707    // Get the ata channel
    708708    device = bios_dsk->cdidmap[GET_ELDL()-0xE0];
    709    
     709
    710710    /* basic check : device has to be valid  */
    711711    if (device >= BX_MAX_STORAGE_DEVICES) {
  • trunk/src/VBox/Devices/PC/BIOS/floppy.c

    r48069 r48947  
    125125{
    126126    uint8_t     val8;
    127    
     127
    128128    // Reset controller
    129129    val8 = inb(0x03f2);
    130130    outb(0x03f2, val8 & ~0x04);
    131131    outb(0x03f2, val8 | 0x04);
    132    
     132
    133133    // Wait for controller to come out of reset
    134134    do {
     
    140140{
    141141    uint8_t     val8, dor, prev_reset;
    142    
     142
    143143    // set 40:3e bit 7 to 0
    144144    val8 = read_byte(0x0040, 0x003e);
    145145    val8 &= 0x7f;
    146146    write_byte(0x0040, 0x003e, val8);
    147    
     147
    148148    // turn on motor of selected drive, DMA & int enabled, normal operation
    149149    prev_reset = inb(0x03f2) & 0x04;
     
    155155        dor |= drive;
    156156        outb(0x03f2, dor);
    157    
     157
    158158    // reset the disk motor timeout value of INT 08
    159159    write_byte(0x0040,0x0040, BX_FLOPPY_ON_CNT);
    160    
     160
    161161    // program data rate
    162162    val8 = read_byte(0x0040, 0x008b);
    163163    val8 >>= 6;
    164164    outb(0x03f7, val8);
    165    
     165
    166166    // wait for drive readiness
    167167    do {
    168168        val8 = inb(0x3f4);
    169169    } while ( (val8 & 0xc0) != 0x80 );
    170    
     170
    171171    if (prev_reset == 0) {
    172172#ifdef VBOX_WITH_FLOPPY_IRQ_POLLING
     
    190190    uint8_t     val8;
    191191    uint16_t    media_state_offset;
    192    
     192
    193193    val8 = read_byte(0x0040, 0x003e); // diskette recal status
    194194    if (drive)
     
    197197    if (val8 == 0)
    198198        return 0;
    199    
     199
    200200    media_state_offset = 0x0090;
    201201    if (drive)
    202202        media_state_offset += 1;
    203    
     203
    204204    val8 = read_byte(0x0040, media_state_offset);
    205205    val8 = (val8 >> 4) & 0x01;
    206206    if (val8 == 0)
    207207        return 0;
    208    
     208
    209209    // checks passed, return KNOWN
    210210    return 1;
     
    218218    uint8_t     return_status[7];
    219219    int         i;
    220    
     220
    221221    floppy_prepare_controller(drive);
    222    
     222
    223223    // send Read ID command (2 bytes) to controller
    224224    outb(0x03f5, 0x4a);  // 4a: Read ID (MFM)
    225225    outb(0x03f5, drive); // 0=drive0, 1=drive1, head always 0
    226    
     226
    227227#ifdef VBOX_WITH_FLOPPY_IRQ_POLLING
    228228    // turn on interrupts
    229229    int_enable();
    230    
     230
    231231    // wait on 40:3e bit 7 to become 1
    232232    do {
    233233        val8 = (read_byte(0x0040, 0x003e) & 0x80);
    234234    } while ( val8 == 0 );
    235    
     235
    236236    val8 = 0; // separate asm from while() loop
    237237    // turn off interrupts
     
    240240    floppy_wait_for_interrupt();
    241241#endif
    242    
     242
    243243    // read 7 return status bytes from controller
    244244    for (i = 0; i < 7; ++i) {
    245245        return_status[i] = inb(0x3f5);
    246246    }
    247    
     247
    248248    if ( (return_status[0] & 0xc0) != 0 )
    249249        return 0;
     
    256256    uint8_t     val8;
    257257    uint16_t    curr_cyl_offset;
    258    
     258
    259259    floppy_prepare_controller(drive);
    260    
     260
    261261    // send Recalibrate command (2 bytes) to controller
    262262    outb(0x03f5, 0x07);  // 07: Recalibrate
    263263    outb(0x03f5, drive); // 0=drive0, 1=drive1
    264    
     264
    265265#ifdef VBOX_WITH_FLOPPY_IRQ_POLLING
    266266    // turn on interrupts
    267267    int_enable();
    268    
     268
    269269    // wait on 40:3e bit 7 to become 1
    270270    do {
    271271        val8 = (read_byte(0x0040, 0x003e) & 0x80);
    272272    } while ( val8 == 0 );
    273    
     273
    274274    val8 = 0; // separate asm from while() loop
    275275    // turn off interrupts
     
    293293    write_byte(0x0040, 0x003e, val8);
    294294    write_byte(0x0040, curr_cyl_offset, 0); // current cylinder is 0
    295    
     295
    296296    return 1;
    297297}
     
    303303    uint16_t    media_state_offset;
    304304    uint8_t     drive_type, config_data, media_state;
    305    
     305
    306306    if (floppy_drive_recal(drive) == 0)
    307307        return 0;
    308    
     308
    309309    // Try the diskette data rates in the following order:
    310310    // 1 Mbps -> 500 Kbps -> 300 Kbps -> 250 Kbps
    311311    // The 1 Mbps rate is only tried for 2.88M drives.
    312    
     312
    313313    // ** config_data **
    314314    // Bitfields for diskette media control:
     
    320320    //  3-2  {data rate at start of operation}
    321321    //  1-0  reserved
    322    
     322
    323323    // ** media_state **
    324324    // Bitfields for diskette drive media state:
     
    388388        retval = 0;
    389389    }
    390    
     390
    391391    write_byte(0x0040, 0x008B, config_data);
    392392    while (!floppy_read_id(drive)) {
     
    408408        write_byte(0x0040, 0x008B, config_data);
    409409    }
    410    
     410
    411411    if (drive == 0)
    412412        media_state_offset = 0x0090;
     
    415415    write_byte(0x0040, 0x008B, config_data);
    416416    write_byte(0x0040, media_state_offset, media_state);
    417    
     417
    418418    return retval;
    419419}
     
    423423{
    424424    uint8_t     drive_type;
    425    
     425
    426426    // check CMOS to see if drive exists
    427427    // @todo: break out drive type determination
     
    456456    uint16_t    last_addr;
    457457    int         i;
    458    
     458
    459459    BX_DEBUG_INT13_FL("%s: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", __func__, AX, BX, CX, DX, ES);
    460    
     460
    461461    ah = GET_AH();
    462    
     462
    463463    switch ( ah ) {
    464464    case 0x00: // diskette controller reset
     
    483483            return;
    484484        }
    485        
     485
    486486        // force re-calibration etc.
    487487        write_byte(0x0040, 0x003e, 0);
    488        
     488
    489489        SET_AH(0);
    490490        set_diskette_ret_status(0);
     
    492492        set_diskette_current_cyl(drive, 0); // current cylinder
    493493        return;
    494    
     494
    495495    case 0x01: // Read Diskette Status
    496496        CLEAR_CF();
     
    501501        }
    502502        return;
    503    
     503
    504504    case 0x02: // Read Diskette Sectors
    505505    case 0x03: // Write Diskette Sectors
     
    510510        head        = GET_DH();
    511511        drive       = GET_ELDL();
    512        
     512
    513513        if ( (drive > 1) || (head > 1) ||
    514514         (num_sectors == 0) || (num_sectors > 72) ) {
     
    520520            return;
    521521        }
    522        
     522
    523523        // see if drive exists
    524524        if (floppy_drive_exists(drive) == 0) {
     
    529529            return;
    530530        }
    531        
     531
    532532        // see if media in drive, and type is known
    533533        if (floppy_media_known(drive) == 0) {
     
    540540            }
    541541        }
    542        
     542
    543543        if (ah == 0x02) {
    544544            // Read Diskette Sectors
    545            
     545
    546546            //-----------------------------------
    547547            // set up DMA controller for transfer
    548548            //-----------------------------------
    549            
     549
    550550            // es:bx = pointer to where to place information from diskette
    551551            // port 04: DMA-1 base and current address, channel 2
     
    561561            }
    562562            base_count = (num_sectors * 512) - 1;
    563            
     563
    564564            // check for 64K boundary overrun
    565565            last_addr = base_address + base_count;
     
    571571                return;
    572572            }
    573            
     573
    574574            BX_DEBUG_INT13_FL("masking DMA-1 c2\n");
    575575            outb(0x000a, 0x06);
    576            
     576
    577577            BX_DEBUG_INT13_FL("clear flip-flop\n");
    578578            outb(0x000c, 0x00); // clear flip-flop
     
    584584            outb(0x0005, base_count>>8);
    585585            BX_DEBUG_INT13_FL("xfer buf at %x:%x\n", page, base_address);
    586            
     586
    587587            // port 0b: DMA-1 Mode Register
    588588            mode_register = 0x46; // single mode, increment, autoinit disable,
     
    590590            BX_DEBUG_INT13_FL("setting mode register\n");
    591591            outb(0x000b, mode_register);
    592            
     592
    593593            BX_DEBUG_INT13_FL("setting page register\n");
    594594            // port 81: DMA-1 Page Register, channel 2
    595595            outb(0x0081, page);
    596            
     596
    597597            BX_DEBUG_INT13_FL("unmask chan 2\n");
    598598            outb(0x000a, 0x02); // unmask channel 2
    599            
     599
    600600            BX_DEBUG_INT13_FL("unmasking DMA-1 c2\n");
    601601            outb(0x000a, 0x02);
    602            
     602
    603603            //--------------------------------------
    604604            // set up floppy controller for transfer
    605605            //--------------------------------------
    606606            floppy_prepare_controller(drive);
    607            
     607
    608608            // send read-normal-data command (9 bytes) to controller
    609609            outb(0x03f5, 0xe6); // e6: read normal data
     
    616616            outb(0x03f5, 0); // Gap length
    617617            outb(0x03f5, 0xff); // Gap length
    618            
     618
    619619#ifdef VBOX_WITH_FLOPPY_IRQ_POLLING
    620620            // turn on interrupts
    621621            int_enable();
    622            
     622
    623623            // wait on 40:3e bit 7 to become 1 or timeout (latter isn't armed so it won't happen)
    624624            do {
     
    634634                val8 = (read_byte(0x0040, 0x003e) & 0x80);
    635635            } while ( val8 == 0 );
    636            
     636
    637637            val8 = 0; // separate asm from while() loop
    638638            // turn off interrupts
     
    655655            }
    656656#endif
    657            
     657
    658658            // check port 3f4 for accessibility to status bytes
    659659            val8 = inb(0x3f4);
     
    666666                write_byte(0x0040, 0x0042 + i, return_status[i]);
    667667            }
    668            
     668
    669669            if ( (return_status[0] & 0xc0) != 0 ) {
    670670                SET_AH(0x20);
     
    686686        } else if (ah == 0x03) {
    687687            // Write Diskette Sectors
    688            
     688
    689689            //-----------------------------------
    690690            // set up DMA controller for transfer
    691691            //-----------------------------------
    692            
     692
    693693            // es:bx = pointer to where to place information from diskette
    694694            // port 04: DMA-1 base and current address, channel 2
     
    704704            }
    705705            base_count = (num_sectors * 512) - 1;
    706            
     706
    707707            // check for 64K boundary overrun
    708708            last_addr = base_address + base_count;
     
    714714                return;
    715715            }
    716            
     716
    717717            BX_DEBUG_INT13_FL("masking DMA-1 c2\n");
    718718            outb(0x000a, 0x06);
    719            
     719
    720720            outb(0x000c, 0x00); // clear flip-flop
    721721            outb(0x0004, base_address);
     
    725725            outb(0x0005, base_count>>8);
    726726            BX_DEBUG_INT13_FL("xfer buf at %x:%x\n", page, base_address);
    727            
     727
    728728            // port 0b: DMA-1 Mode Register
    729729            mode_register = 0x4a; // single mode, increment, autoinit disable,
    730730              // transfer type=read, channel 2
    731731            outb(0x000b, mode_register);
    732            
     732
    733733            // port 81: DMA-1 Page Register, channel 2
    734734            outb(0x0081, page);
    735            
     735
    736736            BX_DEBUG_INT13_FL("unmasking DMA-1 c2\n");
    737737            outb(0x000a, 0x02);
    738            
     738
    739739            //--------------------------------------
    740740            // set up floppy controller for transfer
    741741            //--------------------------------------
    742742            floppy_prepare_controller(drive);
    743            
     743
    744744            // send write-normal-data command (9 bytes) to controller
    745745            outb(0x03f5, 0xc5); // c5: write normal data
     
    752752            outb(0x03f5, 0); // Gap length
    753753            outb(0x03f5, 0xff); // Gap length
    754            
     754
    755755#ifdef VBOX_WITH_FLOPPY_IRQ_POLLING
    756756            // turn on interrupts
    757757            int_enable();
    758            
     758
    759759            // wait on 40:3e bit 7 to become 1
    760760            do {
     
    770770                val8 = (read_byte(0x0040, 0x003e) & 0x80);
    771771            } while ( val8 == 0 );
    772            
     772
    773773            val8 = 0; // separate asm from while() loop @todo: why??
    774774            // turn off interrupts
     
    790790            }
    791791#endif
    792            
     792
    793793            // check port 3f4 for accessibility to status bytes
    794794            val8 = inb(0x3f4);
    795795            if ( (val8 & 0xc0) != 0xc0 )
    796796                BX_PANIC("%s: ctrl not ready\n", __func__);
    797            
     797
    798798            // read 7 return status bytes from controller and store in BDA
    799799            for (i = 0; i < 7; ++i) {
     
    801801                write_byte(0x0040, 0x0042 + i, return_status[i]);
    802802            }
    803            
     803
    804804            if ( (return_status[0] & 0xc0) != 0 ) {
    805805                if ( (return_status[1] & 0x02) != 0 ) {
     
    815815                return;
    816816            }
    817            
     817
    818818            // ??? should track be new val from return_status[3] ?
    819819            set_diskette_current_cyl(drive, track);
     
    824824        } else {  // if (ah == 0x04)
    825825            // Verify Diskette Sectors
    826            
     826
    827827            // ??? should track be new val from return_status[3] ?
    828828            set_diskette_current_cyl(drive, track);
     
    833833        }
    834834        break;
    835    
     835
    836836    case 0x05: // format diskette track
    837837        BX_DEBUG_INT13_FL("floppy f05\n");
    838        
     838
    839839        num_sectors = GET_AL();
    840840        track       = GET_CH();
    841841        head        = GET_DH();
    842842        drive       = GET_ELDL();
    843        
     843
    844844        if ((drive > 1) || (head > 1) || (track > 79) ||
    845845         (num_sectors == 0) || (num_sectors > 18)) {
     
    848848            SET_CF(); // error occurred
    849849        }
    850        
     850
    851851        // see if drive exists
    852852        if (floppy_drive_exists(drive) == 0) {
     
    856856            return;
    857857        }
    858        
     858
    859859        // see if media in drive, and type is known
    860860        if (floppy_media_known(drive) == 0) {
     
    867867            }
    868868        }
    869        
     869
    870870        // set up DMA controller for transfer
    871871        // @todo: merge/factor out pointer normalization
     
    879879        }
    880880        base_count = (num_sectors * 4) - 1;
    881        
     881
    882882        // check for 64K boundary overrun
    883883        last_addr = base_address + base_count;
     
    889889            return;
    890890        }
    891        
     891
    892892        outb(0x000a, 0x06);
    893893        outb(0x000c, 0x00); // clear flip-flop
     
    903903        outb(0x0081, page);
    904904        outb(0x000a, 0x02);
    905        
     905
    906906        // set up floppy controller for transfer
    907907        floppy_prepare_controller(drive);
    908        
     908
    909909        // send format-track command (6 bytes) to controller
    910910        outb(0x03f5, 0x4d); // 4d: format track
     
    918918        // turn on interrupts
    919919        int_enable();
    920        
     920
    921921        // wait on 40:3e bit 7 to become 1
    922922        do {
     
    931931            val8 = (read_byte(0x0040, 0x003e) & 0x80);
    932932        } while ( val8 == 0 );
    933        
     933
    934934        val8 = 0; // separate asm from while() loop
    935935        // turn off interrupts
     
    955955        if ( (val8 & 0xc0) != 0xc0 )
    956956            BX_PANIC("%s: ctrl not ready\n", __func__);
    957        
     957
    958958        // read 7 return status bytes from controller and store in BDA
    959959        for (i = 0; i < 7; ++i) {
     
    961961            write_byte(0x0040, 0x0042 + i, return_status[i]);
    962962        }
    963        
     963
    964964        if ( (return_status[0] & 0xc0) != 0 ) {
    965965            if ( (return_status[1] & 0x02) != 0 ) {
     
    974974            }
    975975        }
    976        
     976
    977977        SET_AH(0);
    978978        set_diskette_ret_status(0);
     
    980980        CLEAR_CF(); // successful
    981981        return;
    982    
    983    
     982
     983
    984984    case 0x08: // read diskette drive parameters
    985985        BX_DEBUG_INT13_FL("floppy f08\n");
    986986        drive = GET_ELDL();
    987        
     987
    988988        if (drive > 1) {
    989989            AX = 0;
     
    997997            return;
    998998        }
    999        
     999
    10001000        // @todo: break out drive type determination
    10011001        drive_type = inb_cmos(0x10);
     
    10051005        if (drive_type & 0x0f)
    10061006            num_floppies++;
    1007        
     1007
    10081008        if (drive == 0)
    10091009            drive_type >>= 4;
    10101010        else
    10111011            drive_type &= 0x0f;
    1012        
     1012
    10131013        SET_BH(0);
    10141014        SET_BL(drive_type);
     
    10171017        SET_DL(num_floppies);
    10181018        SET_DH(1);      // max head #
    1019        
     1019
    10201020        switch (drive_type) {
    10211021        case 0: // none
     
    10231023            SET_DH(0);      // max head #
    10241024            break;
    1025        
     1025
    10261026        case 1: // 360KB, 5.25"
    10271027            CX = 0x2709;    // 40 tracks, 9 sectors
    10281028            break;
    1029        
     1029
    10301030        case 2: // 1.2MB, 5.25"
    10311031            CX = 0x4f0f;    // 80 tracks, 15 sectors
    10321032            break;
    1033        
     1033
    10341034        case 3: // 720KB, 3.5"
    10351035            CX = 0x4f09;    // 80 tracks, 9 sectors
    10361036            break;
    1037        
     1037
    10381038        case 4: // 1.44MB, 3.5"
    10391039            CX = 0x4f12;    // 80 tracks, 18 sectors
    10401040            break;
    1041        
     1041
    10421042        case 5: // 2.88MB, 3.5"
    10431043            CX = 0x4f24;    // 80 tracks, 36 sectors
    10441044            break;
    1045        
     1045
    10461046        case 14: // 15.6 MB 3.5" (fake)
    10471047            CX = 0xfe3f;    // 255 tracks, 63 sectors
     
    10561056            BX_PANIC("%s: bad floppy type\n", __func__);
    10571057        }
    1058        
     1058
    10591059        /* set es & di to point to 11 byte diskette param table in ROM */
    10601060        ES = 0xF000;    // @todo: any way to make this relocatable?
     
    10631063        /* disk status not changed upon success */
    10641064        return;
    1065        
     1065
    10661066    case 0x15: // read diskette drive type
    10671067        BX_DEBUG_INT13_FL("floppy f15\n");
     
    10871087            SET_AH(1); // drive present, does not support change line
    10881088        }
    1089        
     1089
    10901090        return;
    1091    
     1091
    10921092    case 0x16: // get diskette change line status
    10931093        BX_DEBUG_INT13_FL("floppy f16\n");
     
    10991099        return;
    11001100        }
    1101        
     1101
    11021102        SET_AH(0x06); // change line not supported
    11031103        set_diskette_ret_status(0x06);
    11041104        SET_CF();
    11051105        return;
    1106        
     1106
    11071107    case 0x17: // set diskette type for format(old)
    11081108        BX_DEBUG_INT13_FL("floppy f17\n");
     
    11121112        SET_CF();
    11131113        return;
    1114    
     1114
    11151115    case 0x18: // set diskette type for format(new)
    11161116        BX_DEBUG_INT13_FL("floppy f18\n");
     
    11191119        SET_CF();
    11201120        return;
    1121    
     1121
    11221122    default:
    11231123        BX_INFO("%s: unsupported AH=%02x\n", __func__, GET_AH());
    1124    
     1124
    11251125        // if ( (ah==0x20) || ((ah>=0x41) && (ah<=0x49)) || (ah==0x4e) ) {
    11261126        SET_AH(0x01); // ???
     
    11371137{
    11381138    uint8_t  val8;
    1139    
     1139
    11401140    switch ( GET_AH() ) {
    1141    
     1141
    11421142    case 0x01: // Read Diskette Status
    11431143        CLEAR_CF();
     
    11481148        }
    11491149        return;
    1150    
     1150
    11511151    default:
    11521152        SET_CF();
     
    11621162{
    11631163    uint8_t     val8, DOR, ctrl_info;
    1164    
     1164
    11651165    ctrl_info = read_byte(0x0040, 0x008F);
    11661166    if (drive==1)
     
    11881188    if (val8 != 0x80)
    11891189    BX_PANIC("d_f_m: MRQ bit not set\n");
    1190    
     1190
    11911191    // change line
    1192    
     1192
    11931193    // existing BDA values
    1194    
     1194
    11951195    // turn on drive motor
    11961196    outb(0x03f2, DOR); // Digital Output Register
  • trunk/src/VBox/Devices/PC/BIOS/pcibios.c

    r45710 r48947  
    8080 * enabled during execution, and that the routines are re-entrant.
    8181 *
    82  * Implementation notes: 
     82 * Implementation notes:
    8383 * - The PCI BIOS interface already uses certain 32-bit registers even in
    8484 * 16-bit mode. To simplify matters, all 32-bit GPRs are saved/restored and
     
    232232        BX_DEBUG_PCI("PCI: Find class %08lX index %u\n",
    233233                     search_item, index);
    234     } else 
    235         BX_DEBUG_PCI("PCI: Find device %04X:%04X index %u\n", 
     234    } else
     235        BX_DEBUG_PCI("PCI: Find device %04X:%04X index %u\n",
    236236                     (uint16_t)search_item, (uint16_t)(search_item >> 16), index);
    237237
     
    261261
    262262        /* If the header type indicates a bus, we're interested. The secondary
    263          * and subordinate bus numbers will indicate which buses are present; 
    264          * thus we can determine the highest bus number. In the common case, 
     263         * and subordinate bus numbers will indicate which buses are present;
     264         * thus we can determine the highest bus number. In the common case,
    265265         * there will be only the primary bus (i.e. bus 0) and we can avoid
    266266         * looking at the remaining 255 theoretically present buses. This check
     
    317317
    318318    SET_AH(SUCCESSFUL);     /* Assume success. */
    319     CLEAR_CF();             
     319    CLEAR_CF();
    320320
    321321    switch (GET_AL()) {
  • trunk/src/VBox/Devices/PC/BIOS/vds.h

    r42202 r48947  
    3838    } u;
    3939} vds_edds;
    40    
     40
    4141
    4242/* VDS services */
  • trunk/src/VBox/Devices/PC/DevACPI.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevAPIC.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevDMA.cpp

    • Property svn:keywords changed from Id to Id Revision
    r48046 r48947  
    454454              *pu32, port, DMAPG2CX(reg)));
    455455        return VINF_SUCCESS;
    456     } 
     456    }
    457457
    458458    if (cb == 2)
     
    482482              u32, port, DMAPG2CX(reg)));
    483483    }
    484     else if (cb == 2) 
     484    else if (cb == 2)
    485485    {
    486486        Assert(!(u32 & ~0xffff)); /* Check for garbage in high bits. */
     
    567567    /* Set the TC (Terminal Count) bit if transfer was completed. */
    568568    if (ch->u16CurCount == ch->u16BaseCount + 1)
    569         switch (opmode) 
     569        switch (opmode)
    570570        {
    571571        case DMODE_DEMAND:
  • trunk/src/VBox/Devices/PC/DevFwCommon.cpp

    r48755 r48947  
    811811        pProcessorInf->u8CoreEnabled       = cCpus;
    812812        pProcessorInf->u8ThreadCount       = 1;
    813         pProcessorInf->u16ProcessorCharacteristics 
     813        pProcessorInf->u16ProcessorCharacteristics
    814814                                           = RT_BIT(2); /* 64-bit capable */
    815815        pProcessorInf->u16ProcessorFamily2 = 0;
  • trunk/src/VBox/Devices/PC/DevHPET.cpp

    r45839 r48947  
    10591059        if (u64Period) {
    10601060            hpetAdjustComparator(pHpetTimer, u64CurTick);
    1061    
     1061
    10621062            u64Diff = hpetComputeDiff(pHpetTimer, u64CurTick);
    1063    
     1063
    10641064            Log4(("HPET: periodic: next in %llu\n", hpetTicksToNs(pThis, u64Diff)));
    10651065            TMTimerSetNano(pTimer, hpetTicksToNs(pThis, u64Diff));
  • trunk/src/VBox/Devices/PC/DevIoApic.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevPIC.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevPcArch.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevPit-i8254.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DevRTC.cpp

    • Property svn:keywords changed from Id to Id Revision
  • trunk/src/VBox/Devices/PC/DrvACPI.cpp

    • Property svn:keywords changed from Id to Id Revision
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette