aboutsummaryrefslogtreecommitdiff
path: root/hw/ide
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2010-03-27 06:20:53 +0000
committerBlue Swirl <blauwirbel@gmail.com>2010-03-27 06:20:53 +0000
commitf7736b91c40a617e93505e32dcbd2cb56aad8a23 (patch)
tree1bbcb2573485c040a5ceb4e4d3dfed820cf02981 /hw/ide
parentb305b9d7d6990e492966ffb1fdf619482adeb7e2 (diff)
downloadqemu-f7736b91c40a617e93505e32dcbd2cb56aad8a23.zip
qemu-f7736b91c40a617e93505e32dcbd2cb56aad8a23.tar.gz
qemu-f7736b91c40a617e93505e32dcbd2cb56aad8a23.tar.bz2
Compile ide/core only once
Make win2k install hack unconditional as it is still restricted to x86 only in vl.c. Replace TARGET_PAGE_SIZE and 4096 with PAGE_SIZE. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/ide')
-rw-r--r--hw/ide/core.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 67480bb..3e7a651 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -26,7 +26,6 @@
#include <hw/pc.h>
#include <hw/pci.h>
#include <hw/scsi.h>
-#include <hw/sh.h>
#include "block.h"
#include "block_int.h"
#include "qemu-timer.h"
@@ -434,13 +433,13 @@ static int dma_buf_prepare(BMDMAState *bm, int is_write)
} prd;
int l, len;
- qemu_sglist_init(&s->sg, s->nsector / (TARGET_PAGE_SIZE/512) + 1);
+ qemu_sglist_init(&s->sg, s->nsector / (PAGE_SIZE / 512) + 1);
s->io_buffer_size = 0;
for(;;) {
if (bm->cur_prd_len == 0) {
/* end of table (with a fail safe of one page) */
if (bm->cur_prd_last ||
- (bm->cur_addr - bm->addr) >= 4096)
+ (bm->cur_addr - bm->addr) >= PAGE_SIZE)
return s->io_buffer_size != 0;
cpu_physical_memory_read(bm->cur_addr, (uint8_t *)&prd, 8);
bm->cur_addr += 8;
@@ -523,7 +522,7 @@ static int dma_buf_rw(BMDMAState *bm, int is_write)
if (bm->cur_prd_len == 0) {
/* end of table (with a fail safe of one page) */
if (bm->cur_prd_last ||
- (bm->cur_addr - bm->addr) >= 4096)
+ (bm->cur_addr - bm->addr) >= PAGE_SIZE)
return 0;
cpu_physical_memory_read(bm->cur_addr, (uint8_t *)&prd, 8);
bm->cur_addr += 8;
@@ -651,7 +650,6 @@ static void ide_sector_write(IDEState *s)
}
ide_set_sector(s, sector_num + n);
-#ifdef TARGET_I386
if (win2k_install_hack && ((++s->irq_count % 16) == 0)) {
/* It seems there is a bug in the Windows 2000 installer HDD
IDE driver which fills the disk with empty logs when the
@@ -659,11 +657,9 @@ static void ide_sector_write(IDEState *s)
that at the expense of slower write performances. Use this
option _only_ to install Windows 2000. You must disable it
for normal use. */
- qemu_mod_timer(s->sector_write_timer,
+ qemu_mod_timer(s->sector_write_timer,
qemu_get_clock(vm_clock) + (get_ticks_per_sec() / 1000));
- } else
-#endif
- {
+ } else {
ide_set_irq(s->bus);
}
}