diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-19 12:58:30 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-19 12:58:30 +0000 |
commit | 5dcb6b914e5b99b64243477a23aea7e2a9852d17 (patch) | |
tree | cb2627ac298e49f72e2cd6749c01eb5713e6150d /hw/fdc.c | |
parent | 36ddb83bd8fcb587e5d3b759543a13680e6836fb (diff) | |
download | qemu-5dcb6b914e5b99b64243477a23aea7e2a9852d17.tar.gz qemu-5dcb6b914e5b99b64243477a23aea7e2a9852d17.tar.bz2 qemu-5dcb6b914e5b99b64243477a23aea7e2a9852d17.zip |
Use full 36-bit physical address space on SS10
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2830 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/fdc.c')
-rw-r--r-- | hw/fdc.c | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -370,7 +370,7 @@ struct fdctrl_t { /* HW */ qemu_irq irq; int dma_chann; - uint32_t io_base; + target_phys_addr_t io_base; /* Controller state */ QEMUTimer *result_timer; uint8_t state; @@ -464,13 +464,13 @@ static void fdctrl_write (void *opaque, uint32_t reg, uint32_t value) static uint32_t fdctrl_read_mem (void *opaque, target_phys_addr_t reg) { - return fdctrl_read(opaque, reg); + return fdctrl_read(opaque, (uint32_t)reg); } static void fdctrl_write_mem (void *opaque, target_phys_addr_t reg, uint32_t value) { - fdctrl_write(opaque, reg, value); + fdctrl_write(opaque, (uint32_t)reg, value); } static CPUReadMemoryFunc *fdctrl_mem_read[3] = { @@ -579,7 +579,7 @@ static void fdctrl_external_reset(void *opaque) } fdctrl_t *fdctrl_init (qemu_irq irq, int dma_chann, int mem_mapped, - uint32_t io_base, + target_phys_addr_t io_base, BlockDriverState **fds) { fdctrl_t *fdctrl; @@ -613,10 +613,14 @@ fdctrl_t *fdctrl_init (qemu_irq irq, int dma_chann, int mem_mapped, io_mem = cpu_register_io_memory(0, fdctrl_mem_read, fdctrl_mem_write, fdctrl); cpu_register_physical_memory(io_base, 0x08, io_mem); } else { - register_ioport_read(io_base + 0x01, 5, 1, &fdctrl_read, fdctrl); - register_ioport_read(io_base + 0x07, 1, 1, &fdctrl_read, fdctrl); - register_ioport_write(io_base + 0x01, 5, 1, &fdctrl_write, fdctrl); - register_ioport_write(io_base + 0x07, 1, 1, &fdctrl_write, fdctrl); + register_ioport_read((uint32_t)io_base + 0x01, 5, 1, &fdctrl_read, + fdctrl); + register_ioport_read((uint32_t)io_base + 0x07, 1, 1, &fdctrl_read, + fdctrl); + register_ioport_write((uint32_t)io_base + 0x01, 5, 1, &fdctrl_write, + fdctrl); + register_ioport_write((uint32_t)io_base + 0x07, 1, 1, &fdctrl_write, + fdctrl); } register_savevm("fdc", io_base, 1, fdc_save, fdc_load, fdctrl); qemu_register_reset(fdctrl_external_reset, fdctrl); |