mirror of https://gitee.com/openkylin/qemu.git
fdc: use FDriveType for floppy drive type
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
5bbdbb4676
commit
d288c7ba7b
2
hw/fdc.c
2
hw/fdc.c
|
@ -627,7 +627,7 @@ static void fdctrl_handle_tc(void *opaque, int irq, int level)
|
|||
}
|
||||
|
||||
/* XXX: may change if moved to bdrv */
|
||||
int fdctrl_get_drive_type(FDCtrl *fdctrl, int drive_num)
|
||||
FDriveType fdctrl_get_drive_type(FDCtrl *fdctrl, int drive_num)
|
||||
{
|
||||
return fdctrl->drives[drive_num].drive;
|
||||
}
|
||||
|
|
4
hw/fdc.h
4
hw/fdc.h
|
@ -1,6 +1,8 @@
|
|||
#ifndef HW_FDC_H
|
||||
#define HW_FDC_H
|
||||
|
||||
#include "blockdev.h"
|
||||
|
||||
/* fdc.c */
|
||||
#define MAX_FD 2
|
||||
|
||||
|
@ -11,6 +13,6 @@ FDCtrl *fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
|
|||
target_phys_addr_t mmio_base, DriveInfo **fds);
|
||||
FDCtrl *sun4m_fdctrl_init(qemu_irq irq, target_phys_addr_t io_base,
|
||||
DriveInfo **fds, qemu_irq *fdc_tc);
|
||||
int fdctrl_get_drive_type(FDCtrl *fdctrl, int drive_num);
|
||||
FDriveType fdctrl_get_drive_type(FDCtrl *fdctrl, int drive_num);
|
||||
|
||||
#endif
|
||||
|
|
19
hw/pc.c
19
hw/pc.c
|
@ -192,23 +192,24 @@ static void pic_irq_request(void *opaque, int irq, int level)
|
|||
|
||||
#define REG_EQUIPMENT_BYTE 0x14
|
||||
|
||||
static int cmos_get_fd_drive_type(int fd0)
|
||||
static int cmos_get_fd_drive_type(FDriveType fd0)
|
||||
{
|
||||
int val;
|
||||
|
||||
switch (fd0) {
|
||||
case 0:
|
||||
case FDRIVE_DRV_144:
|
||||
/* 1.44 Mb 3"5 drive */
|
||||
val = 4;
|
||||
break;
|
||||
case 1:
|
||||
case FDRIVE_DRV_288:
|
||||
/* 2.88 Mb 3"5 drive */
|
||||
val = 5;
|
||||
break;
|
||||
case 2:
|
||||
case FDRIVE_DRV_120:
|
||||
/* 1.2 Mb 5"5 drive */
|
||||
val = 2;
|
||||
break;
|
||||
case FDRIVE_DRV_NONE:
|
||||
default:
|
||||
val = 0;
|
||||
break;
|
||||
|
@ -335,8 +336,8 @@ void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
|
|||
BusState *idebus0, BusState *idebus1,
|
||||
FDCtrl *floppy_controller, ISADevice *s)
|
||||
{
|
||||
int val;
|
||||
int fd0, fd1, nb;
|
||||
int val, nb;
|
||||
FDriveType fd0, fd1;
|
||||
static pc_cmos_init_late_arg arg;
|
||||
|
||||
/* various important CMOS locations needed by PC/Bochs bios */
|
||||
|
@ -387,10 +388,12 @@ void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
|
|||
|
||||
val = 0;
|
||||
nb = 0;
|
||||
if (fd0 < 3)
|
||||
if (fd0 < FDRIVE_DRV_NONE) {
|
||||
nb++;
|
||||
if (fd1 < 3)
|
||||
}
|
||||
if (fd1 < FDRIVE_DRV_NONE) {
|
||||
nb++;
|
||||
}
|
||||
switch (nb) {
|
||||
case 0:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue