Fix Solaris breakage
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3531 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
cf965d2406
commit
a06e5a3c64
10
hw/fdc.c
10
hw/fdc.c
@ -396,7 +396,7 @@ struct fdctrl_t {
|
||||
/* Power down config (also with status regB access mode */
|
||||
uint8_t pwrd;
|
||||
/* Sun4m quirks? */
|
||||
int sun;
|
||||
int sun4m;
|
||||
/* Floppy drives */
|
||||
fdrive_t drives[2];
|
||||
};
|
||||
@ -408,7 +408,7 @@ static uint32_t fdctrl_read (void *opaque, uint32_t reg)
|
||||
|
||||
switch (reg & 0x07) {
|
||||
case 0x00:
|
||||
if (fdctrl->sun) {
|
||||
if (fdctrl->sun4m) {
|
||||
// Identify to Linux as S82078B
|
||||
retval = fdctrl_read_statusB(fdctrl);
|
||||
} else {
|
||||
@ -602,7 +602,7 @@ fdctrl_t *fdctrl_init (qemu_irq irq, int dma_chann, int mem_mapped,
|
||||
fdctrl->dma_chann = dma_chann;
|
||||
fdctrl->io_base = io_base;
|
||||
fdctrl->config = 0x60; /* Implicit seek, polling & FIFO enabled */
|
||||
fdctrl->sun = 0;
|
||||
fdctrl->sun4m = 0;
|
||||
if (fdctrl->dma_chann != -1) {
|
||||
fdctrl->dma_en = 1;
|
||||
DMA_register_channel(dma_chann, &fdctrl_transfer_handler, fdctrl);
|
||||
@ -642,7 +642,7 @@ fdctrl_t *sun4m_fdctrl_init (qemu_irq irq, target_phys_addr_t io_base,
|
||||
fdctrl_t *fdctrl;
|
||||
|
||||
fdctrl = fdctrl_init(irq, 0, 1, io_base, fds);
|
||||
fdctrl->sun = 1;
|
||||
fdctrl->sun4m = 1;
|
||||
|
||||
return fdctrl;
|
||||
}
|
||||
@ -664,7 +664,7 @@ static void fdctrl_reset_irq (fdctrl_t *fdctrl)
|
||||
static void fdctrl_raise_irq (fdctrl_t *fdctrl, uint8_t status)
|
||||
{
|
||||
// Sparc mutation
|
||||
if (fdctrl->sun && !fdctrl->dma_en) {
|
||||
if (fdctrl->sun4m && !fdctrl->dma_en) {
|
||||
fdctrl->state &= ~FD_CTRL_BUSY;
|
||||
fdctrl->int_status = status;
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user