1. 12 10月, 2009 1 次提交
    • G
      rom loader: fix sparc -kernel boot. · 3c178e72
      Gerd Hoffmann 提交于
      Changes:
      (1) register pstrcpy_targphys() in rom list, it is used for kernel
      command lines by a number of architectures.
      (2) add rom_ptr() function to get a pointer for applying changes
      to loaded images.  Needed for example to tell the linux kernel
      where it finds the initrd image by updating the header.
      (3) make sparc use rom_ptr for initrd setup.
      
      booting sparc-test works now, and 'info roms' shows this:
      
      (qemu) info roms
      addr=0000000000000000 size=0x2a3828 mem=ram name="phdr #0: vmlinux-2.6.11+tcx"
      addr=00000000007ff000 size=0x00000e mem=ram name="cmdline"
      addr=0000000000800000 size=0x400000 mem=ram name="/root/qemu-test/sparc-test/linux.img"
      addr=0000000070000000 size=0x0e4000 mem=rom name="phdr #0: /home/kraxel/projects/qemu/build-zfull/pc-bios/openbios-sparc32"
      
      reboot via 'system_reset' works too.
      
      Patchworks-ID: 35262
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3c178e72
  2. 07 10月, 2009 2 次提交
    • M
      New qdev_init_nofail() · e23a1b33
      Markus Armbruster 提交于
      Like qdev_init(), but terminate program via hw_error() instead of
      returning an error value.
      
      Use it instead of qdev_init() where terminating the program on failure
      is okay, either because it's during machine construction, or because
      we know that failure can't happen.
      
      Because relying in the latter is somewhat unclean, and the former is
      not always obvious, it would be nice to go back to qdev_init() in the
      not-so-obvious cases, only with proper error handling.  I'm leaving
      that for another day, because it involves making sure that error
      values are properly checked by all callers.
      
      Patchworks-ID: 35168
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e23a1b33
    • G
      Reorganize option rom (+linux kernel) loading. · 45a50b16
      Gerd Hoffmann 提交于
      This patch adds infrastructure to maintain memory regions which must be
      restored on reset.  That includes roms (vga bios and option roms on pc),
      but is also used when loading linux kernels directly.  Features:
      
        - loading files is supported.
        - passing blobs is supported.
        - target address range is supported (for optionrom area).
        - fixed target memory address is supported (linux kernel).
      
      New in v2:
        - writes to ROM are done only at initial boot.
        - also handle aout and uimage loaders.
        - drop unused fread_targphys() function.
      
      The final memory layout is created once all memory regions are
      registered.  The option roms get addresses assigned and the
      registered regions are checked against overlaps.  Finally all data
      is copyed to the guest memory.
      
      Advantages:
      
        (1) Filling memory on initial boot and on reset takes the same
            code path, making reset more robust.
        (2) The need to keep track of the option rom load address is gone.
        (3) Due to (2) option roms can be loaded outside pc_init().  This
            allows to move the pxe rom loading into the nic drivers for
            example.
      
      Additional bonus:  There is a 'info roms' monitor command now.
      
      The patch also switches over pc.c and removes the
      option_rom_setup_reset() and load_option_rom() functions.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      45a50b16
  3. 06 10月, 2009 1 次提交
  4. 05 10月, 2009 6 次提交
  5. 02 10月, 2009 2 次提交
  6. 20 9月, 2009 1 次提交
    • B
      Compile loader only once · ca20cf32
      Blue Swirl 提交于
      Callers must pass ELF machine, byte swapping and symbol LSB clearing
      information to ELF loader. A.out loader needs page size information, pass
      that too as a parameter.
      
      Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw.
      
      Adjust callers. Also use target_phys_addr_t instead of target_ulong for
      addresses: loader addresses aren't virtual.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      ca20cf32
  7. 16 9月, 2009 1 次提交
  8. 13 9月, 2009 2 次提交
  9. 10 9月, 2009 6 次提交
  10. 07 9月, 2009 1 次提交
  11. 04 9月, 2009 4 次提交
  12. 28 8月, 2009 6 次提交
  13. 24 8月, 2009 6 次提交
    • A
      Make the e1000 the default network adapter for the pc target. · 0d6b0b1d
      Anthony Liguori 提交于
      The ne2k is an ancient card that performs pretty terribly under QEMU.  In many
      modern OSes, there is no longer drivers available for the ne2k.
      
      Switch the default network adapter to e1000.  This card is more widely
      suppported and performs rather well under QEMU.  There may be very old OSes
      that had a ne2k driver but not an e1000 driver but I think this is likely the
      exception.
      
      I think the average user is better served with an e1000 vs ne2k.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0d6b0b1d
    • G
      virtio-blk: add msi support. · 177539e0
      Gerd Hoffmann 提交于
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      177539e0
    • A
      Unbreak large mem support by removing kqemu · 4a1418e0
      Anthony Liguori 提交于
      kqemu introduces a number of restrictions on the i386 target.  The worst is that
      it prevents large memory from working in the default build.
      
      Furthermore, kqemu is fundamentally flawed in a number of ways.  It relies on
      the TSC as a time source which will not be reliable on a multiple processor
      system in userspace.  Since most modern processors are multicore, this severely
      limits the utility of kqemu.
      
      kvm is a viable alternative for people looking to accelerate qemu and has the
      benefit of being supported by the upstream Linux kernel.  If someone can
      implement work arounds to remove the restrictions introduced by kqemu, I'm
      happy to avoid and/or revert this patch.
      
      N.B. kqemu will still function in the 0.11 series but this patch removes it from
      the 0.12 series.
      
      Paul, please Ack or Nack this patch.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      4a1418e0
    • A
      Route IOAPIC interrupts via ISA bus · 1632dc6a
      Avi Kivity 提交于
      Instead of calling the IOAPIC from the PIC, raise IOAPIC irqs via the ISA bus.
      As a side effect, IOAPIC lines 16-23 are enabled.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      1632dc6a
    • A
      Route PC irqs to ISA bus instead of i8259 directly · 1452411b
      Avi Kivity 提交于
      A PC has its motherboard IRQ lines connected to both the PIC and IOAPIC.
      Currently, qemu routes IRQs to the PIC which then calls the IOAPIC, an
      incestuous arrangement.  In order to clean this up, create a new ISA IRQ
      abstraction, and have devices raise ISA IRQs (which in turn raise the i8259
      IRQs as usual).
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      1452411b
    • J
      QEMU set irq0override in fw_cfg · 6b35e7bf
      Jes Sorensen 提交于
      Hi,
      
      After discussing the issue with Avi, Gleb and a couple others on irq,
      we came to the conclusion that it is preferred to have QEMU request
      features from the BIOS, rather than notifying the BIOS that it is
      running on QEMU or KVM. This way memory ranges can change etc. and
      an older BIOS will continue to work on newer QEMU if it receives the
      info as a fw_cfg value.
      
      This one also matches what qemu-kvm does for irq0override, except I
      haven't made it configurable. I leave that as an exercise for whoever
      would be interested in switching off irq0override.
      
      Thanks,
      Jes
      
      Set irq0 override in fw_cfg, informing the BIOS that QEMU expects
      override on irq0. This matches qemu-kvm, and will help sharing a
      single BIOS binary.
      Signed-off-by: NJes Sorensen <jes@sgi.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6b35e7bf
  14. 11 8月, 2009 1 次提交