Compile ide/core only once
authorBlue Swirl <blauwirbel@gmail.com>
Sat, 27 Mar 2010 06:20:53 +0000 (06:20 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 27 Mar 2010 06:20:53 +0000 (06:20 +0000)
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>
17 files changed:
Makefile.objs
Makefile.target
default-configs/arm-softmmu.mak
default-configs/i386-softmmu.mak
default-configs/mips-softmmu.mak
default-configs/mips64-softmmu.mak
default-configs/mips64el-softmmu.mak
default-configs/mipsel-softmmu.mak
default-configs/ppc-softmmu.mak
default-configs/ppc64-softmmu.mak
default-configs/ppcemb-softmmu.mak
default-configs/sh4-softmmu.mak
default-configs/sh4eb-softmmu.mak
default-configs/sparc64-softmmu.mak
default-configs/x86_64-softmmu.mak
hw/ide/core.c
vl.c

index 8891931df7d33e2c913cf09974aa141f2515445e..d5f1a761ac67935367deeafb4053253cb63b2c5d 100644 (file)
@@ -162,6 +162,7 @@ hw-obj-$(CONFIG_LAN9118) += lan9118.o
 hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
 
 # IDE
+hw-obj-$(CONFIG_IDE_CORE) += ide/core.o
 hw-obj-$(CONFIG_IDE_QDEV) += ide/qdev.o
 hw-obj-$(CONFIG_IDE_PCI) += ide/pci.o
 hw-obj-$(CONFIG_IDE_ISA) += ide/isa.o
index eb4d010f59d60e3616eb9390cabd123b595b5dc8..a17de909adf7fa135f926fa299405b1086b24cbf 100644 (file)
@@ -181,8 +181,7 @@ obj-y += rtl8139.o
 obj-y += e1000.o
 
 # Hardware support
-obj-i386-y = ide/core.o
-obj-i386-y += pckbd.o dma.o
+obj-i386-y = pckbd.o dma.o
 obj-i386-y += vga.o
 obj-i386-y += mc146818rtc.o i8259.o pc.o
 obj-i386-y += cirrus_vga.o apic.o ioapic.o acpi.o piix_pci.o
@@ -191,7 +190,7 @@ obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
 obj-i386-y += debugcon.o multiboot.o
 
 # shared objects
-obj-ppc-y = ppc.o ide/core.o ide/macio.o
+obj-ppc-y = ppc.o ide/macio.o
 obj-ppc-y += vga.o dma.o openpic.o
 # PREP target
 obj-ppc-y += pckbd.o i8259.o mc146818rtc.o
@@ -215,7 +214,6 @@ obj-mips-y += mips_addr.o mips_timer.o mips_int.o
 obj-mips-y += dma.o vga.o i8259.o rc4030.o
 obj-mips-y += vga-isa-mm.o
 obj-mips-y += g364fb.o jazz_led.o dp8393x.o
-obj-mips-y += ide/core.o
 obj-mips-y += gt64xxx.o pckbd.o mc146818rtc.o acpi.o ds1225y.o
 obj-mips-y += piix4.o cirrus_vga.o
 obj-mips-y += mipsnet.o
@@ -248,7 +246,6 @@ obj-cris-y += pflash_cfi02.o
 
 ifeq ($(TARGET_ARCH), sparc64)
 obj-sparc-y = sun4u.o pckbd.o apb_pci.o
-obj-sparc-y += ide/core.o
 obj-sparc-y += vga.o
 obj-sparc-y += mc146818rtc.o
 obj-sparc-y += cirrus_vga.o
@@ -268,7 +265,7 @@ obj-arm-y += arm-semi.o
 obj-arm-y += pxa2xx.o pxa2xx_pic.o pxa2xx_gpio.o pxa2xx_timer.o pxa2xx_dma.o
 obj-arm-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
 obj-arm-y += pflash_cfi01.o gumstix.o
-obj-arm-y += zaurus.o ide/core.o ide/microdrive.o spitz.o tosa.o tc6393xb.o
+obj-arm-y += zaurus.o ide/microdrive.o spitz.o tosa.o tc6393xb.o
 obj-arm-y += omap1.o omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o
 obj-arm-y += omap2.o omap_dss.o soc_dma.o
 obj-arm-y += omap_sx1.o palm.o tsc210x.o
@@ -282,7 +279,7 @@ obj-arm-y += syborg_virtio.o
 
 obj-sh4-y = shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
 obj-sh4-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
-obj-sh4-y += ide/core.o ide/mmio.o
+obj-sh4-y += ide/mmio.o
 
 obj-m68k-y = an5206.o mcf5206.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
 obj-m68k-y += m68k-semi.o dummy_m68k.o
index 2f6ab1100d4835fdb12db4147be617b522f1c8dd..dc027c795b7e4027b82ff1e36ee18cc350d96b2d 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_ECC=y
 CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_SD=y
+CONFIG_IDE_CORE=y
 CONFIG_MAX7310=y
 CONFIG_WM8750=y
 CONFIG_TWL92230=y
index 136ce16de804d38120a3c1c56d272e1ece2db148..7780cf5edc561da7d737f7d583d8622914ddf3c8 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 8ef1c04b9f2ac974cda8f5696d21f66593cd0af4..0102a78f34767b84ed6a0b86d40d1a8c0d074056 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index d72299a19de902bb981417c458420a4c8b62aa1c..ce519e0d92b59dc61eb02b7198208b59a07b1620 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 8127cfb8bfc67d53172c9f8254aff3073e25f665..010a4fe19fa381acf2fac43f6d3c850861721115 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 9747f1589d8582debddef2b67048f03acbb02e26..de16167c5726482a2230bbdf3a2d89266e91c1eb 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 1865b0bd9ebeded1efa1de0d2d70d4f8b95c3165..e926255c27da5d5822fef0c260c9fa06853da942 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
 CONFIG_I8254=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index bfddf5bf062ca137557e04cabccf4b9c6839a74b..28ef9df594560f15928c88cdba39187e726251fc 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
 CONFIG_I8254=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 01e1aa4e6cb5365c80ee0b5b9bc9efb2ab111a39..3ba8e70d228da14dd1231280a013814afc3c9bc2 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
 CONFIG_I8254=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index ef7fae883991688bbd11170d726a208a96ffe6fd..15f4670215227792fbf59f8b23c53daa3ec39b04 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_USB_OHCI=y
 CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_VIRTIO_PCI=y
+CONFIG_IDE_CORE=y
index f7300a8d9197aad8ea53257da0b4b4babaac1495..7fd5c47e61c4460b5bc49c00ddef33ea98292f9e 100644 (file)
@@ -4,3 +4,4 @@ CONFIG_USB_OHCI=y
 CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_VIRTIO_PCI=y
+CONFIG_IDE_CORE=y
index 34344bdb71ab2d64c4c97924eaa5610dff594b92..514d3347e52e5bf53d0de18835d5f7f872a45d46 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index ce2f16f80648376c4903643e5b88dd41d50c945f..19fb69f01a58744c2ff9ee22889a221314176275 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_USB_UHCI=y
 CONFIG_FDC=y
+CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_IDE_ISA=y
index 67480bbba9e66aafd2e31c5d6e02f66ba2ec282d..3e7a65162cffbe485b4f0028e3044d9d7f78341b 100644 (file)
@@ -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);
     }
 }
diff --git a/vl.c b/vl.c
index d69250ca2667e4f730348614b8ce4dfd75dc4fb6..f12363cd640cfaea5675439348b99564000e99b6 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -207,8 +207,8 @@ int no_quit = 0;
 CharDriverState *serial_hds[MAX_SERIAL_PORTS];
 CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
 CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
-#ifdef TARGET_I386
 int win2k_install_hack = 0;
+#ifdef TARGET_I386
 int rtc_td_hack = 0;
 #endif
 int usb_enabled = 0;