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>
This commit is contained in:
		
							parent
							
								
									b305b9d7d6
								
							
						
					
					
						commit
						f7736b91c4
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,3 +4,4 @@ CONFIG_USB_OHCI=y
 | 
			
		|||
CONFIG_SERIAL=y
 | 
			
		||||
CONFIG_PTIMER=y
 | 
			
		||||
CONFIG_VIRTIO_PCI=y
 | 
			
		||||
CONFIG_IDE_CORE=y
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,3 +4,4 @@ CONFIG_USB_OHCI=y
 | 
			
		|||
CONFIG_SERIAL=y
 | 
			
		||||
CONFIG_PTIMER=y
 | 
			
		||||
CONFIG_VIRTIO_PCI=y
 | 
			
		||||
CONFIG_IDE_CORE=y
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								vl.c
								
								
								
								
							
							
						
						
									
										2
									
								
								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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue