• 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 »
  • [ Applies on top of my recently posted slirp series. ]
    
    Allow tftp requests with filenames that do not start with a slash.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Valgrind was so kind to remark that no one bothers to release keycodes
    after use and that something is fishy about cleaning up the requested
    keyboard descriptor. With this patch applied, we no longer leak about
    12k during startup.
    
    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 aligns the KVM-related layout and encoding of the CPU state
    to be saved to disk or migrated with qemu-kvm. The major differences are
    reordering of fields and a compressed interrupt_bitmap into a single
    number as there can be no more than one pending IRQ at a time.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka 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 »
  • Refactor the ACL monitor interface to make full use of the monitor
    command dispatcher. This also gives proper help formatting and command
    completion. Note that 'acl allow' and 'acl deny' were combined to
    'acl_add aclname match allow|deny [index]' for consistency reasons.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • 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 »
  • Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • During startup and after reset we have to synchronize user space to the
    in-kernel KVM state. Namely, we need to transfer the VCPU registers when
    they change due to VCPU as well as APIC reset.
    
    This patch refactors the required hooks so that kvm_init_vcpu registers
    its own per-VCPU reset handler and adds a cpu_synchronize_state to the
    APIC reset. That way we no longer depend on the new reset order (and can
    drop this disliked interface again) and we can even drop a KVM hook in
    main().
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • The "pci_addr=" prefix currently required by pci_add/remove and
    drive_add has no practical use. Drop it, but still silently accept it
    for backward compatibility.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • The really time consuming part of snapshotting is to adjust the reference count
    of all clusters. Currently after each adjusted cluster the refcount block is
    written to disk.
    
    Don't write each single byte immediately to disk but cache all writes to the
    refcount block and write them out once we're done with the block.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • When using O_DIRECT, qcow2 snapshots didn't work any more for me. In the
    process of creating the snapshot, qcow2 tries to pwrite some new information
    (e.g. new L1 table) which will often end up being after the old end of the
    image file. Now pwrite tries to align things and reads the old contents of the
    file, read returns 0 because there is nothing to read after the end of file and
    pwrite is stuck in an endless loop.
    
    This patch allows to pread beyond the end of an image file. Whenever the
    given offset is after the end of the image file, the read succeeds and fills
    the buffer with zeros.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Juan Quintela authored
     
    Browse Code »
  • fix memory leak in cpu_unregister_map_client() and cpu_notify_map_clients().
    
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Isaku Yamahata authored
     
    Browse Code »
  • The documentation shows how to use -kernel and friends for booting Linux,
    but obviously knows nothing about multiboot yet.
    
    Let's include some documentation for multiboot, so people know how to fully
    exploit this cool new feature.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Alexander Graf authored
     
    Browse Code »
  • In order to build the multiboot option rom, we need a Makefile and a tool
    to sign the rom with.
    
    Both are provided by this patch and mostly taken from the extboot source,
    written by Anthony Liguori.
    
    Once built, the resulting binary gets copied to pc-bios automatically.
    
    Building also occurs automatically when on an x86 host.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Alexander Graf 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 »
  • The KVM kernel will disable all bits in CPUID which are not present in
    the host. As this is mostly true for the hypervisor bit (1.ecx),
    preserve its value before the trim and restore it afterwards.
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Andre Przywara authored
     
    Browse Code »
  • KVM provides an in-kernel feature to disable CPUID bits that are not
    present in the current host. So there is no need here to duplicate this
    work. Additionally allows 3DNow! on capable processors, since the
    restriction seems to apply to QEMU/TCG only.
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Andre Przywara authored
     
    Browse Code »
  • If we want to trim the user provided CPUID bits for KVM to be not greater
    than that of the host, we should not remove the bits _after_ we sent
    them to the kernel.
    This fixes the masking of features that are not present on the host by
    moving the trim function and it's call from helper.c to kvm.c.
    It helps to use -cpu host.
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Andre Przywara authored
     
    Browse Code »