aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/hw/fdc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/hw/fdc.c')
-rw-r--r--tools/ioemu/hw/fdc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/ioemu/hw/fdc.c b/tools/ioemu/hw/fdc.c
index dc2ea6ebff..5989afd7d0 100644
--- a/tools/ioemu/hw/fdc.c
+++ b/tools/ioemu/hw/fdc.c
@@ -378,7 +378,7 @@ struct fdctrl_t {
uint8_t cur_drv;
uint8_t bootsel;
/* Command FIFO */
- uint8_t fifo[FD_SECTOR_LEN];
+ uint8_t *fifo;
uint32_t data_pos;
uint32_t data_len;
uint8_t data_state;
@@ -497,6 +497,11 @@ fdctrl_t *fdctrl_init (int irq_lvl, int dma_chann, int mem_mapped,
fdctrl = qemu_mallocz(sizeof(fdctrl_t));
if (!fdctrl)
return NULL;
+ fdctrl->fifo = qemu_memalign(512, FD_SECTOR_LEN);
+ if (fdctrl->fifo == NULL) {
+ qemu_free(fdctrl);
+ return NULL;
+ }
fdctrl->result_timer = qemu_new_timer(vm_clock,
fdctrl_result_timer, fdctrl);