Diff for /qemu/hw/pc.c between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2018/04/24 16:41:23 version 1.1.1.4, 2018/04/24 16:43:30
Line 40  static fdctrl_t *floppy_controller; Line 40  static fdctrl_t *floppy_controller;
 static RTCState *rtc_state;  static RTCState *rtc_state;
 static PITState *pit;  static PITState *pit;
 static IOAPICState *ioapic;  static IOAPICState *ioapic;
 static USBPort *usb_root_ports[2];  
   
 static void ioport80_write(void *opaque, uint32_t addr, uint32_t data)  static void ioport80_write(void *opaque, uint32_t addr, uint32_t data)
 {  {
Line 59  static void ioportF0_write(void *opaque, Line 58  static void ioportF0_write(void *opaque,
 }  }
   
 /* TSC handling */  /* TSC handling */
   
 uint64_t cpu_get_tsc(CPUX86State *env)  uint64_t cpu_get_tsc(CPUX86State *env)
 {  {
     return qemu_get_clock(vm_clock);      /* Note: when using kqemu, it is more logical to return the host TSC
          because kqemu does not trap the RDTSC instruction for
          performance reasons */
   #if USE_KQEMU
       if (env->kqemu_enabled) {
           return cpu_get_real_ticks();
       } else 
   #endif
       {
           return cpu_get_ticks();
       }
 }  }
   
 /* IRQ handling */  /* IRQ handling */
Line 194  static void cmos_init(int ram_size, int  Line 202  static void cmos_init(int ram_size, int 
     case 'a':      case 'a':
     case 'b':      case 'b':
         rtc_set_memory(s, 0x3d, 0x01); /* floppy boot */          rtc_set_memory(s, 0x3d, 0x01); /* floppy boot */
           if (!fd_bootchk)
               rtc_set_memory(s, 0x38, 0x01); /* disable signature check */
         break;          break;
     default:      default:
     case 'c':      case 'c':
Line 265  static void cmos_init(int ram_size, int  Line 275  static void cmos_init(int ram_size, int 
         }          }
     }      }
     rtc_set_memory(s, 0x39, val);      rtc_set_memory(s, 0x39, val);
   
     /* Disable check of 0x55AA signature on the last two bytes of  
        first sector of disk. XXX: make it the default ? */  
     //    rtc_set_memory(s, 0x38, 1);  
 }  }
   
 void ioport_set_a20(int enable)  void ioport_set_a20(int enable)
Line 611  static void pc_init1(int ram_size, int v Line 617  static void pc_init1(int ram_size, int v
     unsigned long bios_offset, vga_bios_offset;      unsigned long bios_offset, vga_bios_offset;
     int bios_size, isa_bios_size;      int bios_size, isa_bios_size;
     PCIBus *pci_bus;      PCIBus *pci_bus;
       int piix3_devfn = -1;
     CPUState *env;      CPUState *env;
     NICInfo *nd;      NICInfo *nd;
   
Line 741  static void pc_init1(int ram_size, int v Line 748  static void pc_init1(int ram_size, int v
   
     if (pci_enabled) {      if (pci_enabled) {
         pci_bus = i440fx_init();          pci_bus = i440fx_init();
         piix3_init(pci_bus);          piix3_devfn = piix3_init(pci_bus);
     } else {      } else {
         pci_bus = NULL;          pci_bus = NULL;
     }      }
Line 813  static void pc_init1(int ram_size, int v Line 820  static void pc_init1(int ram_size, int v
     }      }
   
     if (pci_enabled) {      if (pci_enabled) {
         pci_piix3_ide_init(pci_bus, bs_table);          pci_piix3_ide_init(pci_bus, bs_table, piix3_devfn + 1);
     } else {      } else {
         for(i = 0; i < 2; i++) {          for(i = 0; i < 2; i++) {
             isa_ide_init(ide_iobase[i], ide_iobase2[i], ide_irq[i],              isa_ide_init(ide_iobase[i], ide_iobase2[i], ide_irq[i],
Line 832  static void pc_init1(int ram_size, int v Line 839  static void pc_init1(int ram_size, int v
     cmos_init(ram_size, boot_device, bs_table);      cmos_init(ram_size, boot_device, bs_table);
   
     if (pci_enabled && usb_enabled) {      if (pci_enabled && usb_enabled) {
         usb_uhci_init(pci_bus, usb_root_ports);          usb_uhci_init(pci_bus, piix3_devfn + 2);
         usb_attach(usb_root_ports[0], vm_usb_hub);      }
   
       if (pci_enabled && acpi_enabled) {
           piix4_pm_init(pci_bus, piix3_devfn + 3);
     }      }
   
   #if 0
       /* ??? Need to figure out some way for the user to
          specify SCSI devices.  */
       if (pci_enabled) {
           void *scsi;
           BlockDriverState *bdrv;
   
           scsi = lsi_scsi_init(pci_bus, -1);
           bdrv = bdrv_new("scsidisk");
           bdrv_open(bdrv, "scsi_disk.img", 0);
           lsi_scsi_attach(scsi, bdrv, -1);
           bdrv = bdrv_new("scsicd");
           bdrv_open(bdrv, "scsi_cd.iso", 0);
           bdrv_set_type_hint(bdrv, BDRV_TYPE_CDROM);
           lsi_scsi_attach(scsi, bdrv, -1);
       }
   #endif
     /* must be done after all PCI devices are instanciated */      /* must be done after all PCI devices are instanciated */
     /* XXX: should be done in the Bochs BIOS */      /* XXX: should be done in the Bochs BIOS */
     if (pci_enabled) {      if (pci_enabled) {
         pci_bios_init();          pci_bios_init();
           if (acpi_enabled)
               acpi_bios_init();
     }      }
 }  }
   

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


unix.superglobalmegacorp.com