• We want to do (at least) two things to the virtio-balloon device:
    suppress it, and control its PCI address.  Option -no-virtio-balloon
    lets us do only the former.  To get the latter, replace
    -no-virtio-balloon with
    
        -balloon none   disable balloon device
        -balloon virtio[,addr=str]
                        enable virtio balloon device (default)
    
    Syntax suggested by Anthony Liguori.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Markus Armbruster authored
     
    Browse Code »
  • At this point, this refactoring looks like overkill. But we will need it
    for CPU hotplugging, and qemu-kvm already carries it. Merging it early
    would help qemu-kvm when rebasing against upstream.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • This reverts commit 8217606e (and
    updates later added users of qemu_register_reset), we solved the
    problem it originally addressed less invasively.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • This patch implements support for Multiboot on x86 for -kernel.
    Multiboot is a "new" approach to get rid of different bootloaders, providing
    a unified interface for the kernel. It supports command line options and
    kernel modules.
    
    The two probably best known projects using multiboot are Xen and GNU Hurd.
    
    This implementation should be mostly feature-complete. It is missing VBE
    extensions, but as no system uses them currently it does not really hurt.
    
    To use multiboot, specify the kernel as -kernel option. Modules should be given
    as -initrd options, seperated by a comma (,). -append also works.
    
    Please bear in mind that grub also does gzip decompression, which qemu does
    not do yet. To run existing images, please ungzip them first.
    
    The guest multiboot loader code is implemented as option rom using int 19.
    Parts of the work are based on efforts by Rene Rebe, who originally ported
    my code to int 19.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Alexander Graf authored
     
    Browse Code »
  • Multiboot passes options to the option rom using the fw_cfg device.
    Right now, that device is local to the bochs_bios_init function.
    
    Let's change that and expose it, so everyone may put data in there.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Alexander Graf authored
     
    Browse Code »
  • For multiboot support, we need bochs_bios_init to happen before
    load_linux, so we get the fw_cfg device.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Alexander Graf authored
     
    Browse Code »

  • APIC reset handler already resets cpu, no need to reset it twice.
    Also register cpu_reset handler directly to make it impossible to
    add additional code to main_cpu_reset() by mistake.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gleb Natapov authored
     
    Browse File »
  • Make drive_init() accept addr=, put the value into struct DriveInfo.
    Use it in all the places that create virtio-blk-pci devices:
    pc_init1(), bamboo_init(), mpc8544ds_init().
    
    Don't support addr= in third argument of monitor command pci_add and
    second argument of drive_add, because that clashes with their first
    arguments.  Admittedly unelegant.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Markus Armbruster authored
     
    Browse Code »
  • Make net_client_init() accept addr=, put the value into struct
    NICinfo.  Use it in pci_nic_init(), and remove arguments bus and
    devfn.
    
    Don't support addr= in third argument of monitor command pci_add,
    because that clashes with its first argument.  Admittedly unelegant.
    
    Machines "malta" and "r2d" have a default NIC with a well-known PCI
    address.  Deal with that the same way as the NIC model: make
    pci_nic_init() take an optional default to be used when the user
    doesn't specify one.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Markus Armbruster authored
     
    Browse Code »
  • introruce piix4_device_hot_add() for piix4 specific code
    and make qemu_system_device_hot_add() generic.
    
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Isaku Yamahata authored
     
    Browse Code »
  • The code how it is today, is totally painful to read and keep.
    To begin with, the code is duplicated with the option rom loading
    code that linux_boot and vga are already using.
    
    This patch introduces a "bootable" state in NICInfo structure,
    that we can use to keep track of whether or not a given nic should
    be bootable, avoiding the introduction of yet another global state.
    
    With that in hands, we move the code in vl.c to hw/pc.c, and use
    the already existing infra structure to load those option roms.
    
    Error checking code suggested by Mark McLoughlin
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »

  • (patch is on top of "Apic creation should not depend on pci" series)
    
    Currently cpu_index is used as cpu apic id on x86.  This is incorrect
    since apic ids not have to be continuous (they can also encode cpu
    hierarchy information). This patch uses cpuid_apic_id for initial apic id
    value. For now cpuid_apic_id is set to be equal to cpu_index so behaviour
    is fully backward compatible, but it allows us to add qemu option to
    provide other values for cpu apic id.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gleb Natapov authored
     
    Browse Code »
  • It should depend on whether cpu has APIC.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gleb Natapov authored
     
    Browse Code »
  • This new option may be used to disable the virtio-balloon device.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Eduardo Habkost authored
     
    Browse Code »


  • Implement and use a common device bus state.  The main side-effect is
    that creating a bus and attaching it to a parent device are no longer
    separate operations.  For legacy code we allow a NULL parent, but that
    should go away eventually.
    
    Also tweak creation code to veriry theat a device in on the right bus.
    
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse File »

  • Add the parameter 'order' to qemu_register_reset and sort callbacks on
    registration. On system reset, callbacks with lower order will be
    invoked before those with higher order. Update all existing users to the
    standard order 0.
    
    Note: At least for x86, the existing users seem to assume that handlers
    are called in their registration order. Therefore, the patch preserves
    this property. If someone feels bored, (s)he could try to identify this
    dependency and express it properly on callback registration.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »






  • The vga_ram_size argument to machine init functions always has the same
    value, and is ignored by many machines (including SPARC32 which has an
    obsolete ifdef for VGA_RAM_SIZE).
    
    Remove it and push VGA_RAM_SIZE into vga_int.h.
    
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »

  • Now we can safely call AUD_init multiple times we can push it down to
    individual audio devices, rather than having to pass it from the board
    init.
    
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »
  • Failure to initialize the audio subsystem is not handled consistently.
    Where it is handled it has guest visible effects, which is wrong.
    We already have a "nosound" audio driver as a last resort, so trying to
    proceed without an audio backend seems pointless.
    
    Also protect against multiple calls to AUD_init so that this can be
    pushed down into individual devices.
    
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »

  • The linux loader is just an option rom like any other, just with
    some special requirements. Right now, our option rom resetting
    mechanism is not being applied to it. As a result, users using
    -kernel will not be able to successfully reboot their machines
    
    This patch fixes it by saving all the data we generated in
    the load_linux() function, to be used later by the option rom
    resetting mechanism.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • Currently, boot options are not preserved across a system reset.
    option roms can modify themselves, or can for instance restore the real
    int 0x19 vector after they tried to boot from it.
    
    To properly do that, we need a reset handler registered to deal with option
    roms. This patch is based on current version on qemu-kvm.git
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »

  • According to PnP specification, Appendix B, Option ROMs
    that support DDIM (device driver initialization model) should
    have their memory space writeable.
    
    KVM deviates from us here, by removing the IO_MEM_ROM flag,
    to allow for PCI option ROMs (they require DDIM). However,
    there's absolutely no reason we can't do the same.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • Here is an updated hardware watchdog patch, which should fix
    everything that was raised about the previous version ...
    
    Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Richard W.M. Jones authored
     
    Browse Dir »



  • Create a new -smbios option (x86-only) to allow binary SMBIOS entries
    to be passed through to the BIOS or modify the default values of
    individual fields of type 0 and 1 entries on the command line.
    
    Binary SMBIOS entries can be generated as follows:
    
    dmidecode -t 1 -u | grep $'^\t\t[^"]' | xargs -n1 | \
            perl -lne 'printf "%c", hex($_)' > smbios_type_1.bin
    
    These can then be passed to the BIOS using this switch:
    
     -smbios file=smbios_type_1.bin
    
    Command line generation supports the following syntax:
    
     -smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]
     -smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]
                  [,uuid=$(uuidgen)][,sku=str][,family=str]
    
    For instance, to add a serial number to the type 1 table:
    
     -smbios type=1,serial=0123456789
    
    Interface is extensible to support more fields/tables as needed.
    
    aliguori: remove texi formatting from help output
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7163 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse File »