lkml.org 
[lkml]   [2011]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[GIT PULL] Native Linux KVM tool for 3.1
    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
    \
     
     \ /
      Last update: 2011-07-24 22:39    [W:3.673 / U:0.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site