[GIT PULL] Native Linux KVM tool for 3.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Please consider pulling from

  ssh://master.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvm-tool-for-linus

to merge the Native Linux KVM tool to Linux 3.1.

[ The changes to 9p headers were already merged but show up in the pull request. ]

The goal of this tool is to provide a clean, from-scratch, lightweight KVM host
tool implementation that can boot Linux guest images with no BIOS dependencies
and with only the minimal amount of legacy device emulation. The primary focus
of the tool is to Linux but there are already people on working on supporting
GRUB and other operating systems.

We want the tool to be part of Linux kernel source tree because we believe that
‘perf’ clearly showed the benefits of a single repository for both kernel and
userspace components. See Ingo Molnar’s email that started the project for
details:

  http://thread.gmane.org/gmane.linux.kernel/962051/focus=962620

The tool has been in -tip for months and Ingo tells me they’ve been using it
for testing and I use it for all kernel development I’ve do. I’ve asked Avi
Kivity privately on his opinion and he doesn’t object to merging the tool.

Features:

- Zero-config userspace networking for guests that have DHCP enabled

- SMP support

- No external BIOS required

- Experimental GUI support with SDL and VNC

- Host filesystem access via 9P/virtio in guest OS

- Raw image support

- Experimental QCOW2 image support (writing is disabled for now, compressed or
  copy-on-write images are not supported)

- Host block devices as in-memory copy-on-write guest images on 64-bit hosts

1. To try out the tool, clone the git repository:

  git clone git://github.com/penberg/linux-kvm.git

or alternatively, if you already have a kernel source tree:

  git remote add kvm-tool git://github.com/penberg/linux-kvm.git
  git remote update
  git checkout -b kvm-tool kvm-tool/master

2. Compile the tool:

  cd tools/kvm && make

3. Download a raw userspace image:

  Minimal:

    wget http://wiki.qemu.org/download/linux-0.2.img.bz2 && bunzip2 linux-0.2.img.bz2

  Debian Squeeze:

    wget http://people.debian.org/~aurel32/qemu/i386/debian_squeeze_i386_standard.qcow2

    [ as we don’t support writes to QCOW images, you need to convert the image to raw
      image with ‘qemu-img’ as follows: ]

    qemu-img convert -O raw \
      debian_squeeze_i386_standard.qcow2 \
      debian_squeeze_i386_standard.raw

4. The guest kernel has to be built with the following configuration:

 - For the default console output:
	CONFIG_SERIAL_8250=y
	CONFIG_SERIAL_8250_CONSOLE=y

 - For running 32bit images on 64bit hosts:
	CONFIG_IA32_EMULATION=y

 - Proper FS options according to image FS (e.g. CONFIG_EXT2_FS, CONFIG_EXT4_FS).

 - For all virtio devices listed below:
	CONFIG_VIRTIO=y
	CONFIG_VIRTIO_RING=y
	CONFIG_VIRTIO_PCI=y

 - For virtio-blk devices (--disk, -d):
	CONFIG_VIRTIO_BLK=y

 - For virtio-net devices ([--network, -n] virtio):
	CONFIG_VIRTIO_NET=y

 - For virtio-9p devices (--virtio-9p):
	CONFIG_NET_9P=y
	CONFIG_NET_9P_VIRTIO=y
	CONFIG_9P_FS=y

 - For virtio-balloon device (--balloon):
	CONFIG_VIRTIO_BALLOON=y

 - For virtio-console device (--console virtio):
	CONFIG_VIRTIO_CONSOLE=y

 - For virtio-rng device (--rng):
	CONFIG_HW_RANDOM_VIRTIO=y

5. And finally, launch the hypervisor:

./kvm run -d linux-0.2.img

or

 ./kvm run -p “root=/dev/vda1” -d debian_squeeze_i386_standard.raw

[ keymap loading takes a while, use ctlr-c if you are inpatient.
  You can login with root/root to the guest and use ‘reboot’ to exit. ]

                        Pekka

The following changes since commit b6844e8f64920cdee620157252169ba63afb0c89:
  Linus Torvalds (1):
        Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvm-tool-for-linus

Amerigo Wang (2):
      kvm tools: build rbtree.o from source
      kvm tools: implement "help xxx" command

Amos Kong (4):
      kvm tools: Make virt_queue__available return false if queue is not initialized
      kvm tools: Add a script to setup private bridge
      kvm tools: Add a script to setup tap device
      kvm tools: Setup bridged network by a script

Aneesh Kumar K.V (17):
      tools/kvm/9p: Add support for multiple 9p export dirs
      tools/kvm/9p: Always include system header before kernel headers
      tools/kvm/9p: Use the same #define as the kernel
      tools/kvm/virtio: Add new iov helper
      tools/kvm/9p: Don't follow symlink on server
      tools/kvm/9p: Fix the pdu len.
      tools/kvm/9p: Simplify the handler
      tools/kvm/9p: check the iov count with the read/write count
      tools/kvm/9p: Add error protocol reply
      tools/kvm/9p: Make the 9p handler void return
      tools/kvm/9p: Add error handling
      tools/kvm/9p: Add encode/decode routines for protocol data
      tools/kvm/9p: return EOPNOTSUPP if the handler is not implemented
      kvm tools, 9p: Add error handling to protocol handlers
      kvm tools, 9p: WSTAT don't use open fid
      net/9p: Remove structure not used in the code
      tools/kvm: Use kernel header version of net/9p/9p.h

Anton Vorontsov (1):
      kvm tools: Fix broken terminal when kvm exits because of a signal

Asias He (115):
      bios: No new line at EOF nit fix
      kvm: remove unneccessary iotcl parameter
      kvm__init: the kernel should support irq and pit
      kvm: reimplement kvm__setup_sregs
      kvm: kvm__setup_sregs initialize more registers
      early_printk.c: add rep/outsb support
      kvm__setup_sregs: fix indentation
      kvm, test: add PIT 8254 and PIC 8259 test code
      kvm, test: add a counter to tick test in ISR
      kvm: Check vmx capability using cpuid
      kvm__setup_cpuid: use KVM_GET_SUPPORTED_CPUID to simplify cpuid setup
      kvm, pci: fill up virtio device configuration header
      kvm: Add cscope target to Makefile
      virtio: capacity should be in 512-byte sectors
      kvm,virtio: move SECTOR_SHIFT and SECTOR_SIZE to disk-image.h
      kvm,virtio: do not publish read only feature to guest
      kvm: Add rw to default kernel command line parameters
      kvm,virtio: add scatter-gather support
      kvm,virtio: add scatter-gather support v2
      kvm tools: add README
      kvm tools: remove KVM_EXIT_INTERNAL_ERROR
      kvm tools: Cleanup IO space and PCI magic numbers
      kvm tools: Add helper functions for virtqueue code
      kvm tools: Move terminal related code to a new file term.c
      kvm tools: Make 8250 serial use infrastructure provided by term.c
      kvm tools: Virtio console support
      kvm tools: Introduce --enable-virtio-console option
      kvm tools: Rename struct device to struct blk_device for block devices
      kvm tools: Introduce virtio.c and virtio.h
      kvm tools: Unify virtio code file names
      kvm tools: Drop virt_queue__get_used_elem virtio helper
      kvm tools: Use virt_queue__get_iov to simpify virtio blk IO handler
      kvm tools: Make virtio console device code thread-safe
      kvm tools: Remove unnecessary goto label out_unlock
      kvm tools: Exit KVM session on Ctrl+a and 'x'
      kvm tools: Replace option --enable-virtio-console with --console
      kvm tools: Fix virtio console PCI class number and device ID number
      kvm tools: Fix lock imbalance in virtio_console_pci_io_out()
      kvm tools: Use IRQ pin 2 for virtio console
      kvm tools: Implement virtio network device
      kvm tools: Fix virtio console input problem
      kvm tools: Implement virtio net TSO/UFO support
      kvm tools: Respect ISR status in virtio header
      kvm tools: Respect VRING_AVAIL_F_NO_INTERRUPT
      kvm tools: Use virt_queue__trigger_irq() to trigger IRQ for virtio console
      kvm tools: Use virt_queue__trigger_irq() to trigger IRQ for virtio blk
      kvm tools: Use virt_queue__trigger_irq() to trigger IRQ for virtio rng
      kvm tools: Fix virtio console hangs by removing IRQ injection for tx path
      kvm tools: Bring VIRTIO_BLK_F_SEG_MAX feature back to virtio blk
      kvm tools: Tune the command-line option
      kvm tools: Move disk image related code under disk directory
      kvm tools: Rename disk-image.c to core.c
      kvm tools: Split raw image and blk device code from disk/core.c
      kvm tools: Rename disk_image__{read, write}_sector_iov
      kvm tools: Remove dead coe disk_image__{read, write}_sector
      kvm tools: Consolidate disk_image__{new, new_readonly}
      kvm tools: Split blk device code from raw.c to blk.c
      kvm tools: Tune up ops in 'struct disk_image_operations'
      kvm tools: Rename struct disk_image_operations ops name for raw image
      kvm tools: Rename raw_image_ops to blk_dev_ops
      kvm tools: Remove unnecessary S_ISBLK check
      kvm tools: Do not use 'inline' for disk_image__flush
      kvm tools: Add debug info for disk_image__{read, write}
      kvm tools: Print debug info for qcow1_nowrite_sector
      kvm tools: Update README
      kvm tools: Introduce ethernet frame buffer system for uip
      kvm tools: Add ARP support for uip
      kvm tools: Add IPV4 support for uip
      kvm tools: Implement IP checksum for uip
      kvm tools: Add ICMP support for uip
      kvm tools: Introduce struct uip_udp to present UDP package
      kvm tools: Introduce struct uip_pseudo_hdr to present UDP pseudo header
      kvm tools: Introduce struct uip_udp_socket
      kvm tools: Add two helpers to return UDP {header, total} length
      kvm tools: Add helper to return ethernet header length
      kvm tools: Implement uip_csum_udp() to calculate UDP checksum
      kvm tools: Add UDP support for uip
      kvm tools: Introduce struct uip_tcp to present TCP package.
      kvm tools: Introduce struct uip_tcp_socket
      kvm tools: Add helpers to return TCP {header, total, payload} length
      kvm tools: Add helper to return start address of TCP payload
      kvm tools: Add helpers to test whether SYN or FIN bit is set.
      kvm tools: Add helper to allocate and get TCP initial sequence number
      kvm tools: Implement uip_csum_tcp() to calculate TCP checksum
      kvm tools: Add TCP support for uip
      kvm tools: Introduce uip_init() for uip
      kvm tools: Introduce uip_tx() for uip
      kvm tools: Introduce uip_rx() for uip
      kvm tools: Add MACRO for user and tap mode for virtio net
      kvm tools: Reanme net_device to net_dev
      kvm tools: Introduce -net {user, tap, none} options for virtio net
      kvm tools: Change default guest MAC address to 00:15:15:15:15:15
      kvm tools: Make virtio net work with user mode network
      kvm tools: Make default network mode to user mode
      kvm tools: Make default host ip address to 192.168.33.1
      kvm tools: Introduce struct net_dev_operations
      kvm tools: Make virtio net work on older kernels
      kvm tools: Move uip to net directory
      kvm tools: Introduce uip_udp_make_pkg()
      kvm tools: Introduce struct uip_dhcp
      kvm tools: Add helper to tell if a UDP package is a DHCP package
      kvm tools: Add helpers to tell the type of a DHCP message
      kvm tools: Get domain name and nameserver from host
      kvm tools: Fill DHCP options with domain name and DNS server IP
      kvm tools: Fill all DHCP options
      kvm tools: Introduce uip_dhcp_make_pkg()
      kvm tools: Introduce uip_tx_do_ipv4_udp_dhcp()
      kvm tools: Get DNS information from host in uip_init()
      kvm tools: Handle DHCP package in gernal UDP processing path
      kvm tools: Introduce --guest-ip option
      kvm tools: Introduce --host-mac option
      kvm tools: Rename --host-ip-addr to --host-ip
      kvm tools: Initialize MAC address for virtio net properly
      kvm tools: Initialize MAC and IP address for uip properly
      kvm tools: Add '-Wunused-result' to WARNINGS

Cyrill Gorcunov (108):
      Add utility functions
      Don't die on old kernels without single-step debug support
      Makefile: Add CPPFLAGS handling
      Add info() helper
      kvm: load_bzimage: Proper check for number of setup sectors
      kvm: Use 64 bit names when showing registers
      kvm: Fixup boot selector
      kvm: Add --kernel parameter handling
      kvm: Add --params option
      kvm: Introduce IVT handling
      kvm: Setup fake IVT table
      kvm: Fill up fake IVT
      kvm: Rename ivt_ prefixed entities
      kvm: Put fake bios interrupt handlers into known memory area
      bios: Add simple bin2c converter
      interrupt: Add interrupt_table__set helper
      kvm: Introduce kvm__dump_mem helper
      interrupt: Move bios related constants to kvm/bios.h
      bios: Add bios stubs generated from assembly files
      kvm: Add copying of kernel command line into guest memory
      kvm: Update command line related enitites in boot parameters
      kvm: Reference to undefined variable
      kvm: Make command line to be placed at predefined address
      ioport: Make all PIT channels being dummy
      kvm: Add more default kernel command line parameters
      kvm: Kill the bin2c helper
      Makefile: Add cpu specific definition
      kvm: Command line update must honor ABI
      kvm: Set more fields in boot protocol
      kvm: Don't touch 64 bit specific MSR registers on 32 bit
      Change __x86_x__ to CONFIG_X86_X
      kvm: Print error code on unknown error
      kvm: Use PRIx qualificator for printf
      kvm: Use strlcat helper for copying cmdline params
      kvm: Check for required KVM extensions in one place
      kvm: Append missing ending space for built-in command line
      kvm: The command line storage should not be too short
      early_printk: Simplify the code
      tests/pit: Issue cli on ISR handling
      test/pit: Fill up IDT with noop handler
      kvm: Check for HTL extension granted
      tests/pit: Increase PIT frequency up to 1KHz
      kvm: Add force exit from tests
      kvm, tests: Use motherboard specific ports for testing
      kvm, cpuid: Fix XSTOR and VMX compatibility in cpuid
      kvm: KVM_CAP_EXT_CPUID is required
      kvm, cpuid: Fill up func 0 and 4
      kvm, cpuid: Use logical AND on bit ops
      kvm: Check for SVM extension being supported for AMD cpus
      kvm, bios: Get rid of buggy int10 handler
      Exclude .cscope from .gitignore
      kvm, bios: Rework BIOS setup
      bios: Don't clobber 32bit registers
      bios: No need for sti at int15 irq exit
      kvm: Add --mem= option
      kvm, bios: BIOS code redesign
      kvm, bios: Make e820 map to look similar the real one
      bios: clean predefined bios area early
      pci: Use proper PCI port names
      pci: Fix typo in previous commit
      kvm, pci: Return "no device" by default
      kvm, pci: Add dummy virtio device for probing
      kvm, pci: Add bus forwarding register
      kvm, pci: Fix offset for pci CONFIG_DATA ioport
      kvm, pci: Claim virtio device ioport in pci header
      kvm: Support loading initrd image
      kvm: Add virtio_ring.h to tree
      kvm: Add virtio_blk.h to tree
      kvm: Don't forget to close initrd file
      bios: Get rid of redundant ops
      bios: Use proper grep syntax
      kvm: Setup disk geometry if needed
      virtio-blk: Leave disk geometry to compute in kernel
      make: Add TAGS, tags targets and tune cscope
      kvm: save/restore std ttys
      8250-serial: Simplify is_readable function
      8250-serial: Use linux/serial-reg.h with predefined constants
      8250-serial: Make transmitter being always ready to send data
      8250-serial: Emulate 8250 behaviour on autoprobing
      virtio, block: Rename IOPORT_VIRTIO to IOPORT_VIRTIO_BLK
      kvm tools: Setup BIOS for both bzImage and flat image
      kvm tools: Remove useless empty lines for a call series in kvm__reset_vcpu
      kvm tools: Separate BIOS specifics into own file
      kvm tools, bios: Introduce bioscall specificator
      kvm tools: Use static assignment for default RAM size
      kvm tools: Add --cpus parameter
      kvm tools: Update documentation
      kvm tools: Add missing space before root= option
      kvm tools: Use non shared pin/irqs for virtio devices
      kvm tools: Add MP tables support
      kvm tools: Use system wide msr-index.h instead of own definitions
      kvm tools: Add NR_CPUS definition in case of non-configured kernel sources
      kvm tools: Gather Virtio-PCI constants into one place
      kvm tools: Fix up PCI pin assignment to conform specification
      kvm tools: Fix up mtable srcbusirq assignment for PCI devices
      kvm tools: Add debug() helper
      kvm tools: Prefix error() and friends helpers with pr_
      kvm tools: Add conditional compilation of symbol resolving
      kvm tools: Fix alignment for mpf_intel table
      kvm tools, 9p: Test for tuncation result
      kvm tools: Print out a warning on io-port re-registration
      kvm tools: Drop unused vars from int10.c code
      kvm tools: Options parser to handle hex numbers
      kvm tools: Introduce vidmode parmeter
      kvm tools: Delete dangling cursor from int10
      kvm tools: Get rid of spaces in ld script
      kvm tools: Reform bios make rules
      kvm tools, bios: Make sure IRQ handlers segment is properly set

David Ahern (1):
      kvm tools: do not append root=/dev/vda if passed via command line

Emil Renner Berthing (1):
      kvm tools: Update README with instructions for Arch Linux

Giuseppe Calderaro (2):
      kvm tools: Fix compilation issue in virtio-blk.c
      kvm tools: Remove unused handle_sigint() function

Ingo Molnar (11):
      kvm tools: Emit a more informative error message when /dev/kvm does not open
      kvm tools: Fix segfault when running 'kvm' without a disk image
      kvm tools: Indicate the end of a KVM session
      kvm tools: Fix 64-bit assumptions and type uglinesses
      kvm tools: Fix 32-bit build of the asm/system.h include
      kvm tools: Enable earlyprintk=serial by default
      kvm tools: Fix and improve the CPU register dump debug output code
      kvm tools: Dump vCPUs in order
      kvm tools: Use standardized style for the virtio/net.c driver
      kvm tools: Fix type mismatches on GCC 4.4 on 32-bit systems
      kvm tools: Fix virtio net build breakage on 32-bit

John Floren (6):
      kvm tools: Add BIOS INT10 handler
      kvm tools: Add video mode to kernel initialization
      kvm tools: Add VESA device
      kvm tools: Update makefile and feature tests
      kvm tools: Initialize and use VESA and VNC
      kvm tools: Add support for PS/2 keyboard system

Konstantin Khlebnikov (1):
      kvm tools: fix instances enumeration

Paul Bolle (1):
      kvm tools: Fix compilation on x86_64

Pekka Enberg (309):
      Initial commit
      Check for KVM_API_VERSION at init
      Add .gitignore file
      Create a VM using ioctl(KVM_CREATE_VM)
      Move KVM fds into 'struct kvm'
      Check for KVM_CAP_USER_MEMORY
      Clean up KVM initialization
      Initialize KVM some more
      Set up TSS address to make vcpu creation work
      Clean up struct kvm file descriptor names
      Mmap the kvm_run structure
      Move CPU emulation code to cpu.c
      Load kernel image to the VM
      Initial version of kernel image loading
      Initialize guest memory region properly
      Load bzImage to guest RAM
      Update .gitignore to include object files
      Dump registers after KVM_RUN returns
      Initialize RIP before starting to run the guest
      Print out constant names for KVM exit reasons
      Show dump of executed code at KVM exit
      Fix guest code printout
      Setup rflags properly to fix EXIT_UNKNOWN
      Fix up rflags printing
      Dump KVM_EXIT_IO details
      Move KVM_SET_REGS to kvm__reset_vcpu()
      Enable KVM guest single-stepping
      Separate KVM code from the main loop
      Setup segmentation for the guest
      Fix LDT descriptor type for KVM_SET_SREG
      Improve KVM register dump output
      Fix up 'ip' in kvm__reset_vcpu() to take real mode into account
      Print 'avl' bits of a segment
      Add a simple "kernel" binary that can be used for testing
      Add support for loading flat binaries
      kvm: Load bzImage real-mode boot sector and setup code
      kvm: Fix bzImage setup sector default count
      kvm: Read the whole bzImage to memory
      kvm: Hardcode a "reset vector" at f000:fff0
      kvm: Add some single-step debugging and don't stop running
      kvm: Clean up reset vector setup code
      kvm: Document the 'reset vector' hack
      kvm: Enable 'interrupt request window'
      Revert "kvm: Enable 'interrupt request window'"
      kvm: Fix setup size calculation
      kvm: Remove 'reset vector' hack
      kvm: Fix kernel boot IP
      kvm: Load kernel at 0x1000
      kvm: Setup stack for the kernel
      kvm: Introduce host_real_to_guest() helper function
      kvm: Rename interrupt emulation source files
      kvm: Clean up kvm/interrupt.h a bit
      kvm: Remove unnecessary includes from interrupt.c
      kvm: Move interrupt table to struct kvm
      kvm: Clean up interrupt_table__setup()
      kvm: Move util.h to include/kvm directory
      kvm: Introduce --single-step command line option
      kvm: Setup CPUID for the guest
      kvm: Enable GCC debugging information
      kvm: Extract CPUID code into its own file
      kvm: Extract ioport emulation code to its own file
      kvm: Don't abort guest on KVM_EXIT_IO
      kvm: Add simple NMI enable/disable support
      kvm: Remove unused cpu.c file
      kvm: Setup guest FPU state
      kvm: Ignore math co-processor reset I/O writes
      kvm: Ignore PIC init during boot
      kvm: Fix protected mode code dump
      kvm: Free memory on exit
      kvm: Clean up Makefile output
      kvm: Add test binaries to .gitignore
      kvm: Clean up kvm__reset_vcpu() function
      kvm: Setup VCPU MSRs
      kvm: Add .gitignore for bios build files
      kvm: Show gdt and idt registers
      kvm: Dump stack on KVM oops
      kvm: Dump page tables at exit
      kvm: Set up MAXPHYADDR guest CPUID
      kvm: Don't crash debug dump if address isn't in guest memory
      kvm: Ignore PCI config space accesses
      kvm: Ignore MMIO accesses
      kvm: Ignore PIC accesses
      kvm: Ignore CMOS RAM/RTC ioports
      kvm: Ignore CRT control ioports
      kvm: Ignore dummy delay ioport
      kvm: Ignore PIT ioports
      kvm: Ignore keyboard controller ioports
      kvm: Fix off-by-one bugs in kvm__setup_cpuid()
      kvm: Fix minor formatting glitch in cpuid.c
      kvm: Add support for early serial printk
      kvm: Force 'notsc' and 'earlyprintk' kernel parameters
      kvm: Clean up early serial code
      Merge branch 'master' of git://github.com/cyrillos/vm
      kvm: Dump state on SIGQUIT
      kvm: Flush stdout for early printk
      kvm: Fix .gitignore patterns
      kvm, test: Move PIT tests to separate directory
      kvm: Add Makefile for compiling all test cases
      kvm: Add .gitignore for tests
      kvm, test: Improve PIT test output
      kvm: Add 'check' target to Makefile
      kvm: Use 'nopci pci=off' kernel parameters by default
      kvm: Cleanup command line parsing
      kvm: Cleanup ioport_ops table
      kvm: Add proper 00E0 ioport handling
      kvm: Add '--params' to usage
      kvm: Don't stop on ioport errors by default
      kvm: Fix compilation warning
      kvm: Introduce 'make devices' target
      kvm: Introduce '--kvm-dev' command line option
      kvm: Cleanup kvm__cpu_supports_vm()
      kvm: Cleanup struct boot_params setup
      kvm: BIOS E820 memory map emulation
      kvm: Use -Os optimization for GCC
      kvm: Fix VM support check for unrecognized CPUs
      kvm: Check for read() return value in load_bzimage()
      kvm: Fix usage command line format
      kvm: Fix load_bzimage for flat binaries
      kvm: Use 32-bit operand size prefix for rdfs8()
      kvm: Use -Werror for building the thing
      kvm: Remove unused outb() function from e820.c
      kvm: Cleanup BIOS setup code
      kvm: Use sizeof instead of magic number
      kvm: Clear performance monitoring CPUID flags
      kvm: Update bios .gitignore list
      kvm: Fix Makefile header dependencies
      kvm: Clean header dependency files
      kvm: Exclude BIOS object files from header deps
      kvm: Use proper segment + offset in e820 bios
      kvm: Add some more ioport emulation
      kvm: Enable Linux kernel PCI probing
      kvm: Force PCI Configuration Mechanism 1
      kvm: Initial PCI probe emulation
      kvm: Add PCI CONFIG_ADDRESS register layout
      kvm, pci: Fix device probe accesses
      kvm: Fix PCI config space emulation
      kvm, pci: Don't calculate offset twice
      kvm, pci: Fix unaligned PCI accesses
      kvm: Kill virtio debugging code
      kvm: Add KVM ABI headers
      Merge branch 'master' of git://github.com/cyrillos/vm
      kvm: Fix unaligned PCI_CONFIG_ADDRESS accesses
      kvm: Extract virtio-blk driver to separate file
      kvm: Update .gitignore to ignore tags
      kvm: Add port range to ioport__register()
      kvm: Add virtio PCI ioport handler stubs
      kvm: Fail virtio blk ioports by default
      kvm: Virtio block device emulation
      kvm: Fix kernel loading error messages
      kvm: Fix virtio block PCI device IRQ configuration
      kvm: Implement "host features" for virtio blk device
      kvm: Cleanup virtio block device I/O functions
      kvm: Don't use VIRTIO_BLK_F_SEG_MAX in the hypervisor
      kvm: Remove bogus #include directive
      Revert "kvm: Fix virtio block PCI device IRQ configuration"
      kvm: Implement virtio blk device config space
      kvm: Make virtio block device read-only
      kvm: Add ->queue_selector and ->queue_pfn to struct device
      kvm: Implement virtqueues for virtio block device
      kvm: Implement virtio blk device vring lookup
      kvm: Kill stale interrupt configuration comment
      kvm: Add support for disk images
      kvm: Use disk image API from virtio block device
      kvm: Cleanup disk geometry setup code
      kvm: Introduce a list of known BUGS
      Merge branch 'master' of git://github.com/cyrillos/vm
      kvm: Enable virtio block device if disk image specified
      kvm: Improve kvm__init() error message
      kvm: Fail if user specifies a QCOW disk image
      kvm: Fix virtqueue ring index check
      kvm: Fix virtio block device support some more
      kvm: Support MSR register for serial console
      kvm: Kill debug logging from blk-virtio.c
      kvm: Implement virtio block device write support
      kvm: Redirect serial console to stdout, not stderr
      kvm: Improve 8250 serial console support
      kvm: Fix magic numbers in 8250 support
      kvm,serial: Enable THRI bit in IIR register
      kvm: Implement support interrupt injection
      kvm: Rename early_printk.c to 8250-serial.c
      kvm,8250: Inject interrupts to guest
      kvm: Use serial console by default
      kvm,8250: Implement serial input support
      kvm: Put terminal in canonical mode
      Merge branch 'master' of /home/penberg/kvm into kvm/core
      kvm: Use disk name for mounting root
      kvm: Improve 8250 serial console interrupt handling
      kvm: Support for more than one serial ttys
      kvm,8250: Make ttyS1 and ttyS2 disabled
      kvm,8250: Fix "too much work for irq4" problems
      kvm,8250: Fix ->counter clearing
      kvm,8250: Cleanup receive emulation
      kvm,8250: Implement missing register emulation
      kvm,serial: Implement 16550A FIFO support
      kvm: Cleanup interrupt timer logic
      Revert "kvm,virtio: add scatter-gather support"
      kvm: Remove duplicate headers
      kvm tools: Cleanup termios handling
      kvm,8250: Fix device initial state
      kvm tools: Cleanup virtqueue handling
      tools/kvm: Exit gracefully upon KVM_EXIT_SHUTDOWN
      kvm tools, 8250: Don't set the UART_LSR_OE bit
      kvm tools: Fix large disk images on 32-bit
      kvm tools: Fix E820 map on x86-64
      kvm tools: Fix required boot protocol version
      tools kvm: Fix missing ARCH define on 32-bit in Makefile
      kvm tools: Cleanup strstr() in expression
      kvm tools: Cleanup virtio block device configuration
      kvm tools: Cleanup disk image code
      kvm tools: Drop hard-coded 'nosmp' kernel parameter
      kvm tools: Use STDIN_FILENO instead of fileno(stdin)
      kvm tools: Use pread() and pwrite() in disk-image.c
      kvm tools: Don't exit() on SIGQUIT
      kvm tools: Send SysRq-P to guest kernel on SIGQUIT
      Merge branch 'kvm/gitish' into kvm/core
      kvm tools: Fix .gitignore after Gitification merge
      kvm tools: Cleanup virtio_blk_do_io_request I/O error handling
      kvm tools: Make code mostly checkpatch clean
      kvm tools: Introduce KVM VCPU data structure
      kvm tools: Make 8250 code thread-safe
      kvm tools: Make virtio block device code thread-safe
      kvm tools: Extract kvm_cpu__start() function
      kvm tools: Move CPU initialization to kvm_cpu__start()
      kvm tools: Fix pthread mutex error checks
      kvm tools: Use per-VCPU threads for execution
      kvm tools: Fix 'kill -3' to send SysRq-P to the guest
      kvm tools: Use mutex_lock() and mutex_unlock() wrappers
      kvm tools: Remove the BUGS file
      kvm tools: Use ioport__register() for legacy devices
      Revert "kvm tools: Use mmap by default for disk images"
      kvm tools: Use host kernel image by default
      kvm tools: Don't override kernel image passed by user
      kvm tools: Add read-only support for block devices
      kvm tools: Cleanup qcow1_read_sector() function
      kvm tools: Untangle qcow1_read_sector() function
      kvm tools: Kill redundant assignment in qcow1_read_cluster()
      kvm tools: Fix qcow1_read_cluster() return value on error
      kvm tools: Add read-only support for QCOW2 images
      kvm tools: Show KVM state on SIGQUIT
      kvm tools: Fix disk image double-free on KVM panic
      kvm tools: Emulate RTC to fix system time in guests
      Revert "kvm tools: Use threadpool for virtio-net"
      kvm tools: Fix virtio rng build breakage
      kvm tools: Move virtio drivers under virtio directory
      kvm tools: Cleanup virtio code some more
      kvm tools: Scale guest RAM size by CPU count
      kvm tools: Limit CPU count by KVM_CAP_NR_VCPUS
      kvm tools: Don't use all of host RAM for guests by default
      kvm tools: Warn if guest RAM size exceeds host RAM size
      kvm tools: Fix 'kill -3' hangs
      kvm tools: QCOW code cleanups
      kvm tools: Use '-c' for '--cpus', not '--console'
      kvm tools: Print out important command line options at startup
      kvm tools: Fix read-only support in QCOW
      kvm tools: Fix typo in converting bytes to MBs
      kvm tools: Lookup symbol based on RIP for 'kill -3'
      kvm tools: Fix includes for preadv/pwritev
      kvm tools: Make host_ram_size() more robust
      kvm tools: Fail if passed initrd is not really an initrd
      kvm tools: Move hardware drivers to hw directory
      kvm tools, serial: Register 0x2e8 ioport
      kvm tools: Don't register dummy ops for serial ports
      kvm tools: Drop dummy PCI ioport registrations
      kvm tools: Code cleanups to hw/vesa.c
      kvm tools: Use more readable name for ioport mutex
      kvm tools: Fix up common QCOW function names
      kvm tools: Add 'kvm debug' command
      kvm tools: Use constants for i8042 register numbers
      kvm tools, i8042: Sort status register bits
      kmv tools, i8042: Use kernel status register bit names
      kvm tools, i8042: Use kernel command names
      kvm tools, i8042: Fix device init failure
      kvm tools, ui: Add framebuffer infrastructure
      kvm tools, ui: Move VNC specific framebuffer code to ui/vnc.c
      kvm tools, ui: Add support for SDL framebuffer output target
      kvm tools, vesa: Cleanup code in bios/int10.c
      kvm tools, vesa: Fix 'ah' access in int10_vesa()
      kvm tools, vesa: Use guest-mapped memory for framebuffer
      kvm tools: Kill libvnc dependency from hw/i8042.c
      kvm tools, ui: Add simple keyboard support to SDL UI
      kvm, ui: Kill fb_write() function
      kvm tools: Makefile cleanups
      kvm tools: Add WERROR to Makefile for disabling -Werror
      kvm tools: Fix 'kvm run' on 32-bit machines with >2 GB of RAM
      kvm tools, qcow: Use fdatasync() instead of sync_file_range()
      kvm run: Add 'panic=1' to default kernel options
      Merge commit 'v3.0-rc5' into kvm/core
      kvm tools: Fix guest single-stepping setup
      kvm tools: Don't sort command-list.txt for help text
      kvm tools: Add KVMTOOLS-VERSION-FILE to .gitignore
      kvm tools, qcow: Rename struct qcow_l2_cache to struct qcow_l2_table
      kvm tools, qcow: Use 'struct qcow_l2_table' instead of untyped array
      kvm tools, qcow: Fix locking issues
      kvm tools, qcow: Introduce qcow_disk_flush()
      kvm tools, qcow: Delayed L1 table writeout
      kvm tools, qcow: Don't fdatasync() L2 table writeout
      kvm tools, qcow: Use big endian order for L2 table entries
      kvm tools, qcow: Delayed L2 table writeout
      kvm tools, qcow: Flush only dirty L2 tables
      kvm tools, qcow: I/O error on compressed sectors
      kvm tools: Use writev() in xwritev()
      kvm tools, qcow: Fix copy-on-write image corruption
      kvm tools: Rename 'struct qcow_table' to 'struct qcow_l1_table'
      kvm tools, qcow: Unify L1 and L2 variable names
      kvm tools: Fix formatting in include/kvm/qcow.h
      kvm tools, qcow: Move L2 cache to 'struct qcow_l1_table'
      kvm tools, qcow: Rename L2 table lookup functions
      kvm tools, qcow: Force read-only mode for QCOW images
      Merge branch 'kvm/core' into kvm-tool-for-linus

Prasad Joshi (29):
      kvm tools: Fix KVM problem on SuSe 2.6.37 kernel
      kvm tools: Generate list of common kvm tool commands
      kvm tools: Use code from perf for argument processing
      kvm tools: Provide the basic Gitish framework
      kvm tools: Use the Gitish freamwork to run the virtual machine
      kvm tools: Fix a possible segfault if raw_image__probe returns NULL
      kvm tools: Avoid using disk_image->priv member in disk_image__new()
      kvm tools: add a close method for raw_image_ro_mmap_ops
      kvm tools: Add QCOW version 1 read-only support
      kvm tools: Use the readily built kernel with 'kvm run' if not specified explicitly
      kvm tools: Fix function names in qcow.c
      kvm tools: Avoid byte-order conversion during each read operation
      kvm tools: Free l1_table in qcow1_disk_close() and in error path of qcow1_probe()
      kvm tool: Remove the __stringify*() definition from util.h
      kvm tool: Change the type of QCOW table index and offset variables to u64
      kvm tools: check the cluster boundary in the qcow read code
      kvm tools: Correct a variable naming spelling mistake
      kvm tools: Use the root partition of the host to boot the guest machine
      kvm tools: check read permission before using the root partition of the host to boot VM
      kvm tools: display appropriate error message when default kernel image could not be found
      kvm tools: fix a memory leak in qcow2_read_header
      kvm tools: Add QCOW write support
      kvm tools: Add VIRTIO_BLK_T_FLUSH feature to handle flush operation from VM
      kvm tools: Add a wrapper function to open disk images
      kvm tools: Close the disk images after the guest shuts down
      kvm tools: Add a wrapper function to initialize all virtio block devices
      kvm tools: Release memory allocated during virtio block initialization
      kvm tools: Add QCOW level2 caching support
      kvm tools: Add IO delay option

Sasha Levin (127):
      kvm tools: Free memory and FDs on exit
      kvm tools: Fix input hang when compiling without optimization
      kvm tools: Close kernel FD after loading it into memory
      kvm tools: Use mmap by default for disk images
      kvm tools: Add option to load disk image read only
      kvm tools: Add OPT_GROUP to cmdline parser
      kvm tools: Arrange cmdline help menu
      kvm tools: Set up tun interface using ioctls
      kvm tools: Make host side IP configurable
      kvm tools: Organize net parameters into struct
      kvm tools: Enable network by default
      kvm tools: Add option to specify guest MAC
      kvm tools: Rename raw_image__close_sector_ro_mmap
      kvm tools: Fix leak in QCOW
      kvm tools: Add scatter-gather variants of IO functions
      kvm tools: Add scatter-gather support for disk images
      kvm tools: Rename _sg to _iov and remove dead code
      kvm tools: Fix iov shifting
      kvm tools: Fix possible leak in disk_image
      kvm tools: Use threading for virtio block devices
      kvm tools: Use mmap to allocate guest RAM
      kvm tools: Fix possible leak in qcow
      kvm tools: Prevent duplicate definitions of ALIGN
      kvm tools: Add kernel headers required for using list
      kvm tools: Introduce generic I/O thread pool
      kvm tools: Use threadpool for virtio-blk
      kvm tools: Use threadpool for virtio-console
      kvm tools: Use threadpool for virtio-net
      kvm tools: Modify thread pool API
      kvm tools: Lock job_mutex before signalling
      kvm tools: Introduce virtio-rng
      kvm tools: Add cmdline switch to enable virtio-rng
      kvm tools: Drop ALIGN from bios.h
      kvm tools: Fix virt_queue__set_used_elem
      kvm tools: Move disk_image into virtio-blk
      kvm tools: Add support for multiple virtio-blk
      kvm tools: Add cmdline options for loading multiple images
      kvm tools: Abolishment of uint*_t types
      kvm tools: virtio-blk code cleanup
      kvm tools: virtio-console code cleanup
      kvm tools: virtio-net code cleanup
      kvm tools: virtio-rng code cleanup
      kvm tools: Fix loading root device as image
      kvm tools: Enable SMP support
      kvm tools: Simplify search for root device
      kvm tools: Introduce IRQ registry
      kvm tools: Dynamically add devices when creating mptable
      kvm tools: Convert virtio devices to use IRQ registry
      kvm tools: Rename pci_device to pci_hdr for clarity
      kvm tools: Add missing space after kernel params
      kvm tools: Add memory gap for larger RAM sizes
      kvm tools: Prevent PFN wraparound
      kvm tools: Use definitions from kernel headers
      kvm tools: Rename 'self' variables
      kvm tools: Use constants for commonly used mmap flags
      kvm tools: Add boot test to checks
      kvm tools: Return correct values from disk IOV functions
      kvm tools: Add interval red-black tree helper
      kvm tools: Add MMIO address mapper
      kvm tools: Use virtio IDs from <linux/virtio_ids.h>
      kvm tools: Exit properly on SMP guests
      kvm tools: Default guest cpu count to host cpu count
      kvm tools: Copy net/9p/9p.h
      kvm tools: Add virtio-9p
      kvm tools: Cleanup e820 code
      kvm tools: Fix rbtree-interval balancing
      kvm tools: Modify ioport to use interval rbtree
      kvm tools: Add optional parameter used in ioport callbacks
      kvm tools: Add basic ioport dynamic allocation
      kvm tools: Use ioport context to control blk devices
      kvm tools: Add support for multiple virtio-rng devices
      kvm tools: Use dynamic IO port allocation in vesa driver
      kvm tools: Use dynamic IO port allocation in 9p driver
      kvm tools: Use dynamic IO port allocation in virtio-console
      kvm tools: Use dynamic IO port allocation in virtio-net
      kvm tools: Prevent double assignment of guest memory info
      kvm tools: Exit VCPU thread only when SIGKVMEXIT is received
      kvm tools: Add ioeventfd support
      kvm tools: Use ioeventfd in virtio-blk
      kvm tools: Use ioeventfd in virtio-net
      kvm tools: Use ioeventfd in virtio-rng
      kvm tools: Use correct value for user signal base
      kvm tools: Remove wrong global definition of kvm
      kvm tools: Add APIs to allow pausing guests
      kvm tools: Pause/resume guest using SIGUSR2
      kvm tools: Add a brlock
      kvm tools: Add rwlock wrapper
      kvm tools: Add debug mode to brlock
      kvm tools: Use brlock in MMIO and IOPORT
      kvm tools: Use vesa reserved space for strings and modes
      kvm tools: Add MMIO coalescing support
      kvm tools: Fix some SDL keyboard translations
      kvm tools: Use double buffering with SDL
      kvm tools: Add 'kvm pause' command
      kvm tools: Signal only one thread when injecting console interrupts
      kvm tools: Fix attempt to free mmaped memory
      kvm tools: Implement keyboard reset method
      kvm tools: Use ioeventfd in virtio-9p
      kvm tools: Don't dynamically allocate threadpool jobs
      kvm tools: Process virtio-blk requests in parallel
      kvm tools: Allow giving instance names
      kvm tools: Provide instance name when running 'kvm debug'
      kvm tools: Provide instance name when running 'kvm pause'
      kvm tools: Add virtio-balloon device
      kvm tools: Advise memory allocated for guest RAM as KSM mergable
      kvm tools: Add 'kvm balloon' command
      kvm tools: Stop VCPUs before freeing struct kvm
      kvm tools: Fix home dir resolution
      kvm tools: Give guest instances default name
      kvm tools: Add instance enumerator
      kvm tools: Add 'kvm list' command
      kvm tools: Allow pausing and debugging all running instances
      kvm tools: Export kvm__remove_pidfile
      kvm tools: Clean ghost pid files in 'kvm list'
      kvm tools: Add 'kvm version' command
      kvm tools: Properly add 'kvm list' to command list
      kvm tools: Properly add 'kvm debug' to command list
      kvm tools: Update 'kvm pause' documentation
      kvm tools: Properly add 'kvm balloon' to command list
      kvm tools: Rename command source files
      kvm tools: Rename debug options under 'kvm run'
      kvm tools: Fix leaked descriptors
      kvm tools: Update README
      kvm tools: Implement VIRTIO_BLK_T_GET_ID
      kvm tools: Update max VCPU limit
      kvm tools: Fix warning on 32bit
      kvm tools: Set hardcoded MAC to local administered

 tools/kvm/.gitignore                    |    9 +
 tools/kvm/CREDITS-Git                   |   30 ++
 tools/kvm/Documentation/kvm-balloon.txt |   24 +
 tools/kvm/Documentation/kvm-debug.txt   |   16 +
 tools/kvm/Documentation/kvm-list.txt    |   16 +
 tools/kvm/Documentation/kvm-pause.txt   |   16 +
 tools/kvm/Documentation/kvm-run.txt     |   63 +++
 tools/kvm/Documentation/kvm-version.txt |   21 +
 tools/kvm/Makefile                      |  269 ++++++++++
 tools/kvm/README                        |  109 ++++
 tools/kvm/bios.c                        |  157 ++++++
 tools/kvm/bios/.gitignore               |    3 +
 tools/kvm/bios/bios-rom.S               |   12 +
 tools/kvm/bios/bios.S                   |   89 ++++
 tools/kvm/bios/e820.c                   |   69 +++
 tools/kvm/bios/gen-offsets.sh           |   14 +
 tools/kvm/bios/int10.c                  |  163 ++++++
 tools/kvm/bios/local.S                  |    7 +
 tools/kvm/bios/macro.S                  |   25 +
 tools/kvm/bios/rom.ld.S                 |   17 +
 tools/kvm/builtin-balloon.c             |   34 ++
 tools/kvm/builtin-debug.c               |   32 ++
 tools/kvm/builtin-help.c                |   61 +++
 tools/kvm/builtin-list.c                |   43 ++
 tools/kvm/builtin-pause.c               |   32 ++
 tools/kvm/builtin-run.c                 |  757 +++++++++++++++++++++++++++
 tools/kvm/builtin-version.c             |   15 +
 tools/kvm/code16gcc.h                   |   15 +
 tools/kvm/command-list.txt              |   10 +
 tools/kvm/config/feature-tests.mak      |  148 ++++++
 tools/kvm/config/utilities.mak          |  188 +++++++
 tools/kvm/cpuid.c                       |   51 ++
 tools/kvm/disk/blk.c                    |   39 ++
 tools/kvm/disk/core.c                   |  222 ++++++++
 tools/kvm/disk/qcow.c                   |  845 +++++++++++++++++++++++++++++++
 tools/kvm/disk/raw.c                    |   82 +++
 tools/kvm/framebuffer.c                 |   68 +++
 tools/kvm/hw/i8042.c                    |  348 +++++++++++++
 tools/kvm/hw/rtc.c                      |   87 ++++
 tools/kvm/hw/serial.c                   |  355 +++++++++++++
 tools/kvm/hw/vesa.c                     |   76 +++
 tools/kvm/include/asm/hweight.h         |    8 +
 tools/kvm/include/kvm/8250-serial.h     |   10 +
 tools/kvm/include/kvm/apic.h            |   17 +
 tools/kvm/include/kvm/assembly.h        |   24 +
 tools/kvm/include/kvm/barrier.h         |   15 +
 tools/kvm/include/kvm/bios-export.h     |   13 +
 tools/kvm/include/kvm/bios.h            |   59 +++
 tools/kvm/include/kvm/boot-protocol.h   |   16 +
 tools/kvm/include/kvm/brlock.h          |   41 ++
 tools/kvm/include/kvm/builtin-balloon.h |    6 +
 tools/kvm/include/kvm/builtin-debug.h   |    6 +
 tools/kvm/include/kvm/builtin-help.h    |    6 +
 tools/kvm/include/kvm/builtin-list.h    |    6 +
 tools/kvm/include/kvm/builtin-pause.h   |    6 +
 tools/kvm/include/kvm/builtin-run.h     |    7 +
 tools/kvm/include/kvm/builtin-version.h |    6 +
 tools/kvm/include/kvm/cpufeature.h      |   41 ++
 tools/kvm/include/kvm/disk-image.h      |   73 +++
 tools/kvm/include/kvm/e820.h            |   18 +
 tools/kvm/include/kvm/framebuffer.h     |   34 ++
 tools/kvm/include/kvm/i8042.h           |   12 +
 tools/kvm/include/kvm/interrupt.h       |   26 +
 tools/kvm/include/kvm/ioeventfd.h       |   27 +
 tools/kvm/include/kvm/ioport.h          |   64 +++
 tools/kvm/include/kvm/irq.h             |   24 +
 tools/kvm/include/kvm/kvm-cmd.h         |   17 +
 tools/kvm/include/kvm/kvm-cpu.h         |   44 ++
 tools/kvm/include/kvm/kvm.h             |  105 ++++
 tools/kvm/include/kvm/mptable.h         |    8 +
 tools/kvm/include/kvm/mutex.h           |   33 ++
 tools/kvm/include/kvm/parse-options.h   |  211 ++++++++
 tools/kvm/include/kvm/pci.h             |   55 ++
 tools/kvm/include/kvm/qcow.h            |   98 ++++
 tools/kvm/include/kvm/rbtree-interval.h |   27 +
 tools/kvm/include/kvm/read-write.h      |   32 ++
 tools/kvm/include/kvm/rtc.h             |    6 +
 tools/kvm/include/kvm/rwsem.h           |   39 ++
 tools/kvm/include/kvm/sdl.h             |   17 +
 tools/kvm/include/kvm/segment.h         |   16 +
 tools/kvm/include/kvm/strbuf.h          |    6 +
 tools/kvm/include/kvm/symbol.h          |   22 +
 tools/kvm/include/kvm/term.h            |   17 +
 tools/kvm/include/kvm/threadpool.h      |   37 ++
 tools/kvm/include/kvm/types.h           |    7 +
 tools/kvm/include/kvm/uip.h             |  356 +++++++++++++
 tools/kvm/include/kvm/util.h            |   78 +++
 tools/kvm/include/kvm/vesa.h            |   19 +
 tools/kvm/include/kvm/virtio-9p.h       |   73 +++
 tools/kvm/include/kvm/virtio-balloon.h  |    8 +
 tools/kvm/include/kvm/virtio-blk.h      |   12 +
 tools/kvm/include/kvm/virtio-console.h  |    9 +
 tools/kvm/include/kvm/virtio-net.h      |   21 +
 tools/kvm/include/kvm/virtio-pci-dev.h  |   24 +
 tools/kvm/include/kvm/virtio-rng.h      |    9 +
 tools/kvm/include/kvm/virtio.h          |   59 +++
 tools/kvm/include/kvm/vnc.h             |   14 +
 tools/kvm/include/linux/bitops.h        |   33 ++
 tools/kvm/include/linux/byteorder.h     |    7 +
 tools/kvm/include/linux/kernel.h        |   39 ++
 tools/kvm/include/linux/module.h        |    6 +
 tools/kvm/include/linux/prefetch.h      |    6 +
 tools/kvm/include/linux/types.h         |   49 ++
 tools/kvm/interrupt.c                   |   27 +
 tools/kvm/ioeventfd.c                   |  128 +++++
 tools/kvm/ioport.c                      |  187 +++++++
 tools/kvm/irq.c                         |  112 ++++
 tools/kvm/kvm-cmd.c                     |   74 +++
 tools/kvm/kvm-cpu.c                     |  505 ++++++++++++++++++
 tools/kvm/kvm.c                         |  741 +++++++++++++++++++++++++++
 tools/kvm/main.c                        |   14 +
 tools/kvm/mmio.c                        |  130 +++++
 tools/kvm/mptable.c                     |  284 +++++++++++
 tools/kvm/net/uip/arp.c                 |   30 ++
 tools/kvm/net/uip/buf.c                 |  114 +++++
 tools/kvm/net/uip/core.c                |  190 +++++++
 tools/kvm/net/uip/csum.c                |   92 ++++
 tools/kvm/net/uip/dhcp.c                |  195 +++++++
 tools/kvm/net/uip/icmp.c                |   29 +
 tools/kvm/net/uip/ipv4.c                |   29 +
 tools/kvm/net/uip/tcp.c                 |  317 ++++++++++++
 tools/kvm/net/uip/udp.c                 |  236 +++++++++
 tools/kvm/pci.c                         |  115 +++++
 tools/kvm/read-write.c                  |  318 ++++++++++++
 tools/kvm/symbol.c                      |   98 ++++
 tools/kvm/term.c                        |  131 +++++
 tools/kvm/tests/Makefile                |   19 +
 tools/kvm/tests/boot/Makefile           |   13 +
 tools/kvm/tests/boot/init.c             |   11 +
 tools/kvm/tests/kernel/.gitignore       |    2 +
 tools/kvm/tests/kernel/Makefile         |   20 +
 tools/kvm/tests/kernel/README           |   16 +
 tools/kvm/tests/kernel/kernel.S         |    8 +
 tools/kvm/tests/pit/.gitignore          |    2 +
 tools/kvm/tests/pit/Makefile            |   20 +
 tools/kvm/tests/pit/README              |   16 +
 tools/kvm/tests/pit/tick.S              |  109 ++++
 tools/kvm/threadpool.c                  |  146 ++++++
 tools/kvm/ui/sdl.c                      |  150 ++++++
 tools/kvm/ui/vnc.c                      |  218 ++++++++
 tools/kvm/util.c                        |  101 ++++
 tools/kvm/util/KVMTOOLS-VERSION-GEN     |   40 ++
 tools/kvm/util/generate-cmdlist.sh      |   23 +
 tools/kvm/util/kvm-ifup-vbr0            |    6 +
 tools/kvm/util/parse-options.c          |  631 +++++++++++++++++++++++
 tools/kvm/util/rbtree-interval.c        |   90 ++++
 tools/kvm/util/set_private_br.sh        |   51 ++
 tools/kvm/util/strbuf.c                 |   13 +
 tools/kvm/virtio/9p-pdu.c               |  242 +++++++++
 tools/kvm/virtio/9p.c                   |  835 ++++++++++++++++++++++++++++++
 tools/kvm/virtio/balloon.c              |  265 ++++++++++
 tools/kvm/virtio/blk.c                  |  345 +++++++++++++
 tools/kvm/virtio/console.c              |  257 ++++++++++
 tools/kvm/virtio/core.c                 |  102 ++++
 tools/kvm/virtio/net.c                  |  485 ++++++++++++++++++
 tools/kvm/virtio/rng.c                  |  251 +++++++++
 156 files changed, 15404 insertions(+), 0 deletions(-)
 create mode 100644 tools/kvm/.gitignore
 create mode 100644 tools/kvm/CREDITS-Git
 create mode 100644 tools/kvm/Documentation/kvm-balloon.txt
 create mode 100644 tools/kvm/Documentation/kvm-debug.txt
 create mode 100644 tools/kvm/Documentation/kvm-list.txt
 create mode 100644 tools/kvm/Documentation/kvm-pause.txt
 create mode 100644 tools/kvm/Documentation/kvm-run.txt
 create mode 100644 tools/kvm/Documentation/kvm-version.txt
 create mode 100644 tools/kvm/Makefile
 create mode 100644 tools/kvm/README
 create mode 100644 tools/kvm/bios.c
 create mode 100644 tools/kvm/bios/.gitignore
 create mode 100644 tools/kvm/bios/bios-rom.S
 create mode 100644 tools/kvm/bios/bios.S
 create mode 100644 tools/kvm/bios/e820.c
 create mode 100644 tools/kvm/bios/gen-offsets.sh
 create mode 100644 tools/kvm/bios/int10.c
 create mode 100644 tools/kvm/bios/local.S
 create mode 100644 tools/kvm/bios/macro.S
 create mode 100644 tools/kvm/bios/rom.ld.S
 create mode 100644 tools/kvm/builtin-balloon.c
 create mode 100644 tools/kvm/builtin-debug.c
 create mode 100644 tools/kvm/builtin-help.c
 create mode 100644 tools/kvm/builtin-list.c
 create mode 100644 tools/kvm/builtin-pause.c
 create mode 100644 tools/kvm/builtin-run.c
 create mode 100644 tools/kvm/builtin-version.c
 create mode 100644 tools/kvm/code16gcc.h
 create mode 100644 tools/kvm/command-list.txt
 create mode 100644 tools/kvm/config/feature-tests.mak
 create mode 100644 tools/kvm/config/utilities.mak
 create mode 100644 tools/kvm/cpuid.c
 create mode 100644 tools/kvm/disk/blk.c
 create mode 100644 tools/kvm/disk/core.c
 create mode 100644 tools/kvm/disk/qcow.c
 create mode 100644 tools/kvm/disk/raw.c
 create mode 100644 tools/kvm/framebuffer.c
 create mode 100644 tools/kvm/hw/i8042.c
 create mode 100644 tools/kvm/hw/rtc.c
 create mode 100644 tools/kvm/hw/serial.c
 create mode 100644 tools/kvm/hw/vesa.c
 create mode 100644 tools/kvm/include/asm/hweight.h
 create mode 100644 tools/kvm/include/kvm/8250-serial.h
 create mode 100644 tools/kvm/include/kvm/apic.h
 create mode 100644 tools/kvm/include/kvm/assembly.h
 create mode 100644 tools/kvm/include/kvm/barrier.h
 create mode 100644 tools/kvm/include/kvm/bios-export.h
 create mode 100644 tools/kvm/include/kvm/bios.h
 create mode 100644 tools/kvm/include/kvm/boot-protocol.h
 create mode 100644 tools/kvm/include/kvm/brlock.h
 create mode 100644 tools/kvm/include/kvm/builtin-balloon.h
 create mode 100644 tools/kvm/include/kvm/builtin-debug.h
 create mode 100644 tools/kvm/include/kvm/builtin-help.h
 create mode 100644 tools/kvm/include/kvm/builtin-list.h
 create mode 100644 tools/kvm/include/kvm/builtin-pause.h
 create mode 100644 tools/kvm/include/kvm/builtin-run.h
 create mode 100644 tools/kvm/include/kvm/builtin-version.h
 create mode 100644 tools/kvm/include/kvm/cpufeature.h
 create mode 100644 tools/kvm/include/kvm/disk-image.h
 create mode 100644 tools/kvm/include/kvm/e820.h
 create mode 100644 tools/kvm/include/kvm/framebuffer.h
 create mode 100644 tools/kvm/include/kvm/i8042.h
 create mode 100644 tools/kvm/include/kvm/interrupt.h
 create mode 100644 tools/kvm/include/kvm/ioeventfd.h
 create mode 100644 tools/kvm/include/kvm/ioport.h
 create mode 100644 tools/kvm/include/kvm/irq.h
 create mode 100644 tools/kvm/include/kvm/kvm-cmd.h
 create mode 100644 tools/kvm/include/kvm/kvm-cpu.h
 create mode 100644 tools/kvm/include/kvm/kvm.h
 create mode 100644 tools/kvm/include/kvm/mptable.h
 create mode 100644 tools/kvm/include/kvm/mutex.h
 create mode 100644 tools/kvm/include/kvm/parse-options.h
 create mode 100644 tools/kvm/include/kvm/pci.h
 create mode 100644 tools/kvm/include/kvm/qcow.h
 create mode 100644 tools/kvm/include/kvm/rbtree-interval.h
 create mode 100644 tools/kvm/include/kvm/read-write.h
 create mode 100644 tools/kvm/include/kvm/rtc.h
 create mode 100644 tools/kvm/include/kvm/rwsem.h
 create mode 100644 tools/kvm/include/kvm/sdl.h
 create mode 100644 tools/kvm/include/kvm/segment.h
 create mode 100644 tools/kvm/include/kvm/strbuf.h
 create mode 100644 tools/kvm/include/kvm/symbol.h
 create mode 100644 tools/kvm/include/kvm/term.h
 create mode 100644 tools/kvm/include/kvm/threadpool.h
 create mode 100644 tools/kvm/include/kvm/types.h
 create mode 100644 tools/kvm/include/kvm/uip.h
 create mode 100644 tools/kvm/include/kvm/util.h
 create mode 100644 tools/kvm/include/kvm/vesa.h
 create mode 100644 tools/kvm/include/kvm/virtio-9p.h
 create mode 100644 tools/kvm/include/kvm/virtio-balloon.h
 create mode 100644 tools/kvm/include/kvm/virtio-blk.h
 create mode 100644 tools/kvm/include/kvm/virtio-console.h
 create mode 100644 tools/kvm/include/kvm/virtio-net.h
 create mode 100644 tools/kvm/include/kvm/virtio-pci-dev.h
 create mode 100644 tools/kvm/include/kvm/virtio-rng.h
 create mode 100644 tools/kvm/include/kvm/virtio.h
 create mode 100644 tools/kvm/include/kvm/vnc.h
 create mode 100644 tools/kvm/include/linux/bitops.h
 create mode 100644 tools/kvm/include/linux/byteorder.h
 create mode 100644 tools/kvm/include/linux/kernel.h
 create mode 100644 tools/kvm/include/linux/module.h
 create mode 100644 tools/kvm/include/linux/prefetch.h
 create mode 100644 tools/kvm/include/linux/types.h
 create mode 100644 tools/kvm/interrupt.c
 create mode 100644 tools/kvm/ioeventfd.c
 create mode 100644 tools/kvm/ioport.c
 create mode 100644 tools/kvm/irq.c
 create mode 100644 tools/kvm/kvm-cmd.c
 create mode 100644 tools/kvm/kvm-cpu.c
 create mode 100644 tools/kvm/kvm.c
 create mode 100644 tools/kvm/main.c
 create mode 100644 tools/kvm/mmio.c
 create mode 100644 tools/kvm/mptable.c
 create mode 100644 tools/kvm/net/uip/arp.c
 create mode 100644 tools/kvm/net/uip/buf.c
 create mode 100644 tools/kvm/net/uip/core.c
 create mode 100644 tools/kvm/net/uip/csum.c
 create mode 100644 tools/kvm/net/uip/dhcp.c
 create mode 100644 tools/kvm/net/uip/icmp.c
 create mode 100644 tools/kvm/net/uip/ipv4.c
 create mode 100644 tools/kvm/net/uip/tcp.c
 create mode 100644 tools/kvm/net/uip/udp.c
 create mode 100644 tools/kvm/pci.c
 create mode 100644 tools/kvm/read-write.c
 create mode 100644 tools/kvm/symbol.c
 create mode 100644 tools/kvm/term.c
 create mode 100644 tools/kvm/tests/Makefile
 create mode 100644 tools/kvm/tests/boot/Makefile
 create mode 100644 tools/kvm/tests/boot/init.c
 create mode 100644 tools/kvm/tests/kernel/.gitignore
 create mode 100644 tools/kvm/tests/kernel/Makefile
 create mode 100644 tools/kvm/tests/kernel/README
 create mode 100644 tools/kvm/tests/kernel/kernel.S
 create mode 100644 tools/kvm/tests/pit/.gitignore
 create mode 100644 tools/kvm/tests/pit/Makefile
 create mode 100644 tools/kvm/tests/pit/README
 create mode 100644 tools/kvm/tests/pit/tick.S
 create mode 100644 tools/kvm/threadpool.c
 create mode 100644 tools/kvm/ui/sdl.c
 create mode 100644 tools/kvm/ui/vnc.c
 create mode 100644 tools/kvm/util.c
 create mode 100755 tools/kvm/util/KVMTOOLS-VERSION-GEN
 create mode 100755 tools/kvm/util/generate-cmdlist.sh
 create mode 100755 tools/kvm/util/kvm-ifup-vbr0
 create mode 100644 tools/kvm/util/parse-options.c
 create mode 100644 tools/kvm/util/rbtree-interval.c
 create mode 100755 tools/kvm/util/set_private_br.sh
 create mode 100644 tools/kvm/util/strbuf.c
 create mode 100644 tools/kvm/virtio/9p-pdu.c
 create mode 100644 tools/kvm/virtio/9p.c
 create mode 100644 tools/kvm/virtio/balloon.c
 create mode 100644 tools/kvm/virtio/blk.c
 create mode 100644 tools/kvm/virtio/console.c
 create mode 100644 tools/kvm/virtio/core.c
 create mode 100644 tools/kvm/virtio/net.c
 create mode 100644 tools/kvm/virtio/rng.c

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux