diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2011-02-12 21:23:12 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-02-20 09:33:26 +0000 |
commit | d288c7ba7beb7975fe4bc15b0b14b9fd14da0a03 (patch) | |
tree | e53d03368a5659c0b6a255073253972a6195344a /hw | |
parent | 5bbdbb4676d17e782ae83055bac58e0751b25e4b (diff) |
fdc: use FDriveType for floppy drive type
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/fdc.c | 2 | ||||
-rw-r--r-- | hw/fdc.h | 4 | ||||
-rw-r--r-- | hw/pc.c | 19 |
3 files changed, 15 insertions, 10 deletions
@@ -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; } @@ -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 @@ -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; |