All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Linux KVM tool for v3.7-rc0
@ 2012-10-12 11:34 Pekka Enberg
  2012-10-12 17:27 ` Christoph Hellwig
  2012-10-16  2:41 ` Stephen Rothwell
  0 siblings, 2 replies; 32+ messages in thread
From: Pekka Enberg @ 2012-10-12 11:34 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, Ingo Molnar, Avi Kivity, linux-kernel

Hi Linus,

Please consider pulling the latest LKVM tree from:

  git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus

LKVM is the long lost userspace friend of KVM that makes it really easy
to launch virtualized Linx environment on x86 and PPC64 Linux.

To try out LKVM, first make sure you have a KVM and virtio enabled
kernel:

  make defconfig
  make kvmconfig
  make

Second, install LKVM to your $HOME/bin directory:

  make -C tools/kvm install

And then simply type:

  lkvm run

and you are greeted with a network-enabled shell in a KVM sandbox using
your host binaries running a freshly built kernel.

One really cool thing to do with LKVM is run Trinity. the Linux syscall
fuzzer, in a KVM sandbox.

To do that, first fetch latest Trinity sources and install it to your
$HOME/bin directory:

  git clone git://git.codemonkey.org.uk/trinity
  make -C trinity install

Then start trinity in a KVM sandbox:

  lkvm sandbox -- $HOME/bin/trinity --dangerous

			Pekka

------------------>
The following changes since commit 56d92aa5cf7c96c70f81d0350c94faf46a9fb76d:

  Merge tag 'stable/for-linus-3.7-x86-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen (2012-10-02 22:09:10 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus

Alessandro Guido (2):
      kvm tools, ui: Add some missing key codes
      kvm tools, sdl: Fix "5" key

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

Andy Shevchenko (1):
      kvm tools: don't use custom strtoul for hex numbers

Aneesh Kumar K.V (21):
      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
      kvm tools, 9p: handler should be called in case of not supported operation
      kvm tools: Save and restore the iovec related values in read and write
      kvm tools, 9p: Implement 9p2000.L extensions
      kvm tools, 9p: Fix walk to prepare correct path name

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

Asias He (192):
      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
      kvm tools: Tune 'kvm balloon' option
      kvm tools: Make --kvm-dev option shorter
      kvm tools: Make --virtio-9p option shorter
      kvm tools: Sort options of kvm run command
      kvm tools: Tune --disk option usage information
      kvm tools: Set correct virtio pci device class code
      kvm tools: Fix MSI-X table size set up
      kvm tools: Drop unused variable in struct uip_buf
      kvm tools: Use macro in uip_tx_do_ipv4()
      kvm tools: Fix a vertical indentation for net/uip/udp.c
      kvm tools: Fix ndev mutex and condition variable initialization
      kvm tools: Remove dead code virt_queue__trigger_irq()
      kvm tools: Fix build in virtio/net.c
      kvm tools: Use vring_need_event() to determine if interrupt is needed
      kvm tools: Improve virtio blk request processing
      kvm tools: Get multiple io events at a time
      kvm tools: Remove unnecessary assignment in disk/raw.c
      kvm tools: Drop write operation in ro_ops_nowrite
      kvm tools: Remove lkvm alias vm in 'make clean'
      kvm tools: Fix 'lkvm stop' when guest is pasued.
      kvm tools: Do not run guest if it is stopped.
      kvm tools: Fix compat message per device for virtio/blk
      kvm tools: Handle multiple IPC cmd at a time
      kvm tools: Introduce KVM_IPC_VMSTATE IPC cmd
      kvm tools: Respect paused status in ./lkvm list
      kvm tools: Improve 'lkvm {pause,resume}'s output
      kvm tools: Remove resume pause noise.
      kvm tools: Use kvm_ipc__send to send IPC msg
      kvm tools: Fix kvm-ipc.c build breakage
      kvm tools: Simply write_in_full() check semantics
      kvm tools: Add is_pio flag to ioeventfd__add_event
      kvm tools: Rework on virtio transport abstraction.
      kvm tools: Rename callback_mmio_table
      kvm tools: Introduce KVM_VIRTIO_MMIO_AREA
      kvm tools: Add virtio-mmio support
      kvm tools: Support virtio-mmio in virtio_init
      kvm tools: Introduce trans=mmio parameter for virtio-net
      kvm tools: Increase virtio-blk and virtio-net queue size
      kvm tools: Add set_size_vq for virtio-net
      kvm tools: Add set_size_vq for virtio-blk
      kvm tools: Rename VIRTIO_P9 to VIRTIO_9P
      kvm tools: Use enum for NET_MODE_{USER, TAP}
      kvm tools: Small indentation fix
      kvm tools: Drop unnecessary headers in barrier.h
      kvm tools: Make raw block device work
      kvm tools: Fix sdl hang
      kvm tools: Update README for CONFIG_FB_VESA
      kvm tools: Remove unused req_mutex variable.
      kvm tools: Rename ~/.kvm-tools/ to ~/.lkvm/
      kvm tools: Restart io_submit if it returns EAGAIN
      kvm tools: Simplify disk read write function name
      kvm tools: Code cleanup for virtio/9p.c
      kvm tools: Code cleanup for virtio/balloon.c
      kvm tools: Code cleanup for virtio/blk.c
      kvm tools: Code cleanup for virtio/console.c
      kvm tools: Code cleanup for virtio/net.c
      kvm tools: Code cleanup for disk/core.c
      kvm tools: Code cleanup for disk/qcow.c
      kvm tools: Code cleanup for disk/raw.c
      kvm tools: Introduce virtio_compat_add_message() helper
      kvm tools: Fix compat message
      kvm tools: Improve compat message format
      kvm tools: Increase AIO_MAX to 256
      kvm tools: Process virito blk requests in separate thread
      kvm tools: Fix VHOST_SET_MEM_TABLE failure
      kvm tools: Do not poll ioeventfd if vhost is enabled
      kvm tools: Introduce struct disk_image_params
      kvm tools: Enable O_DIRECT support
      kvm tools: Add initial virtio-scsi support
      kvm tools: Embed init and init_stage2 into lkvm binary
      kvm tools: Use LD instead using 'ld' directly
      kvm tools: Merge guest init and init_stage2.c
      kvm tools: Make 'lkvm setup' work outside kernel/tools/kvm dir
      kvm tools: Make tcp between guest/host virtual ip work in UIP mode
      kvm tools: Respect guest tcp window size
      kvm tools: Export DISPLAY ENV as our default host ip address
      kvm tools: Mount devpts to /dev/pts

Cyrill Gorcunov (132):
      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
      kvm tools: Fix absence of notrace definition
      kvm tools: Support xAPIC
      kvm tools: Clear presence of performance-energy bias bit
      kvm tools: Use ARRAY_SIZE helper to count serial devices
      kvm tools: Fix VESA BIOS mode info
      kvm tools: Drop "notsc" no longer needed kernel option
      kvm tools: Add BUG_ON() helper to make a run-time critical tests
      kvm tools: Define __compiletime_error helper
      kvm tools: Rename pr_error to pr_err to follow kernel convention
      kvm tools, sd: Fix array size for keymap
      kvm tools: Make kvm__arch_setup_firmware to return error code
      kvm tool: Introduce own BUG_ON handler
      kvm tools: Remove tags/TAGS on "make clean"
      kvm tools: Don't stop working if symbols search engine failed to init
      kvm tools: Cleanup BDF searching code
      kvm tools: Fix test for mmap failure
      kvm tool: Make kvm structure to carry name copy
      kvm tool: Don't close not yet opened files and SIGSEV fix
      kvm tools: Bring mptables back in case if no firmware used
      kvm tools, x86: Drop unneeded sections in rom building script
      kvm tools: Add --debug-mmio option
      kvm tools: Add own barrier() definition
      kvm tools: Use safe string handling functions
      kvm tools: Add test for -static libc present

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

Hagen Paul Pfeifer (2):
      kvm tools, setup: Create private directory
      kvm tools: remove addr_type - unused but set variable

Hongyong Zang (1):
      kvm tool: Change kvm->ram_size to real mapped size.

Ingo Molnar (13):
      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
      kvm tools: Fix build breakage with GCC 4.7
      tools/kvm: Fix compilation fallout from system.h split-up

Jean-Philippe Menil (1):
      kvm tools: Fix printf() format string in kvm__load_firmware()

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 (2):
      kvm tools: fix instances enumeration
      kvm tools: pick kernel from linux source tree root

Lai Jiangshan (42):
      kvm tools: check condition before wait
      kvm tools: fix function name
      kvm tools: move threadpool.c to util/
      kvm tools: move rbtree.o to util/
      kvm tools: add missing build output
      kvm tools: move read-write.c to util/
      kvm tools: move util.c to util/
      kvm tools: move strlcat() to util/strbuf.c
      kvm tools: narrow the C.S. of compat_mtx
      kvm tools: protect shared global id in compat_mtx C.S.
      kvm tools: remove duplicated code
      kvm-tools: Create util/rbtree.d
      kvm-tools: Fix error path
      kvm-tools: remove make_root_dir()
      kvm-tools: only one rootfs directory atmost
      kvm-tools: write the sandbox command exactly as expect
      kvm-tools: Don't create existed ~/.kvm-tools/ directory
      kvm-tools: remove unneed sprintf("%s")
      kvm-tools: fix wrong "./lkvm list -i"
      kvm-tools: remove unneed SIGKVMXX
      kvm tools: Avoid overflow
      kvm tools: mark usages functions as NORETURN
      kvm tools: cleanup kvm_cmd_balloon()
      kvm tools: cleanup kvm_cmd_debug()
      kvm tools: cleanup kvm_cmd_pause()
      kvm tools: cleanup kvm_cmd_resume()
      kvm tools: cleanup kvm_cmd_stat()
      kvm tools: cleanup kvm_cmd_stop()
      kvm tools: cleanup kvm_ipc__handle()
      kvm tools: add kvm_ipc__receive()
      kvm tools: add kvm_ipc__send() and kvm_ipc__send_msg()
      kvm tools: add WARN_ON()
      kvm tools: carefully send and handle stop ipc
      kvm tools: carefully send and handle balloon ipc
      kvm tools: carefully send and handle debug ipc
      kvm tools: carefully send and handle pause/resume ipc
      kvm tools: carefully send and handle balloon stat ipc
      kvm tools: use custom rootfs_name for guest name
      kvm tools: Remove unused code for print_guest()
      kvm tools: Check the state before pause/resume
      kvm tools: Don't remove any file which is not created by itself
      kvm tools: Add kvm__arch_delete_ram()

Lan Tianyu (4):
      kvm tools: Add support for the read operation of qcow and qcow2 compressed image
      kvm tools, qcow: Add the support for copy-on-write cluster
      kvm tools: Use kernel error check functions
      kvm tools, qcow: Add support for growing refcount blocks

Liming Wang (9):
      kvm tools: remove unused options
      kvm tools: convert callback to int and deal with the return value
      kvm tools: handle failure of command
      kvm tools: ignore balloon signals by default to avoid balloon crash
      kvm tools: enable keyboard press repeat for sdl
      kvm tools: check negative value of num_pages
      kvm tools: unify all serials' registers with the first serial
      kvm tools: fix wrong virtio id for balloon
      kvm tools: change option type of RNG from increment to boolean

Matt Evans (44):
      kvm tools: term.h needs to include stdbool.h
      kvm tools: kvm.c needs to include sys/stat.h for mkdir
      kvm tools: Split x86 arch-specific bits into x86/
      kvm tools: Fix virtio-pci endian bug when reading VIRTIO_PCI_QUEUE_NUM
      kvm tools: Correctly limit nrcpus to max_cpus
      kvm tools: Only build/init i8042 on x86
      kvm tools: Add Makefile parameter for kernel include path
      kvm tools: Re-arrange Makefile to heed CFLAGS before checking for optional libs
      kvm tools: Add arch-specific KVM_RUN exit handling via kvm_cpu__handle_exit()
      kvm tools: Don't die if KVM_CAP_NR_VCPUS isn't available
      kvm tools: Fix KVM_RUN exit code check
      kvm tools: Add kvm__arch_periodic_poll()
      kvm tools: Move arch-specific cmdline init into kvm__arch_set_cmdline()
      kvm tools: Add CONSOLE_HV term type and allow it to be selected
      kvm tools: Fix term_getc(), term_getc_iov() endian bugs
      kvm tools: Allow initrd_check() to match a cpio
      kvm tools: Allow load_flat_binary() to load an initrd alongside
      kvm tools: Initialise PCI before devices start getting registered with PCI
      kvm tools: Perform CPU and firmware setup after devices are added
      kvm tools: Init IRQs after determining nrcpus
      kvm tools: Move PCI_MAX_DEVICES to pci.h
      kvm tools: Endian-sanitise pci.h and PCI device setup
      kvm tools: Correctly set virtio-pci bar_size and remove hardwired address
      kvm tools: Add pci__config_{rd,wr}(), pci__find_dev()
      kvm tools: Arch-specific define for PCI MMIO allocation area
      kvm tools: Add ability to map guest RAM from hugetlbfs
      kvm tools: Create arch-specific kvm_cpu__emulate_{mm}io()
      kvm tools: Fix build of util.c on 32bit machines
      kvm tools: Add initial SPAPR PPC64 architecture support
      kvm tools: Remove KVM_NR_CPUS
      kvm tools: Fix alaising errors in LINT assignment
      PPC: Add __SANE_USERSPACE_TYPES__ to asm/types.h for LL64
      kvm tools: Get correct 64-bit types on PPC64 and link appropriately
      kvm tools: Fix running with --initrd and no real discs/rootfs
      kvm tools: Repair running on non ioeventfd-capable platforms
      kvm tools: Add build target for statically-linked binary
      kvm tools: PPC64, add HPT/SDR1 for -PR KVM
      kvm tools: Generate SPAPR PPC64 guest device tree
      kvm tools: Add SPAPR PPC64 hcall & rtascall structure
      kvm tools: Add SPAPR PPC64 HV console
      kvm tools: Add PPC64 XICS interrupt controller support
      kvm tools: Add PPC64 PCI Host Bridge
      kvm tools: Add PPC64 kvm_cpu__emulate_io()
      kvm tools: Enable PPC64 to build static

Michael Ellerman (22):
      kvm-tool: Don't try to cleanup ioeventfd if we never initialised it
      kvm tools: Define KVM_VIRTIO_MMIO_AREA for powerpc
      kvm tools: Use asm/barrier.h on powerpc
      kvm tools: Support cross compilation
      kvm tools: Cleanup ARCH & uname_M in Makefile
      kvm tool: Fix powerpc/kvm-cpu.c for new KVM_SET_ONE_REG API
      kvm tools: Move mmap_anon_or_hugetblfs() into util
      kvm tools, powerpc: Use mmap_anon_or_hugetblfs() in kvm__arch_init()
      kvm tools: Remember page size as kvm->ram_pagesize
      kvm tools, powerpc: Use designated initializers for struct cpu_info
      kvm tools, powerpc: Use ARRAY_SIZE() in find_cpu_info()
      kvm tools, powerpc: Reformatting in find_cpu_info()
      kvm tools, powerpc: Restructure find_cpu_info()
      kvm tools, powerpc: Use MMU info from the kernel for ibm,segment-page-sizes
      kvm tools, powerpc: Use MMU info for ibm,processor-segment-sizes
      kvm tools, powerpc: Use MMU info for ibm,slb-size
      kvm tools: Fix crash when /etc/resolv.conf doesn't exist
      kvm tools: Fix formatting of error message in TAP handling
      kvm tools: Check for unknown parameters in network option handling
      kvm tools: Fix powerpc build errors caused by recent changes
      kvm tools: Fix segfault on powerpc in xics_register()
      kvm tools: Do setup_fdt() later, get powerpc to boot again

Osier Yang (1):
      kvm tools: Beautify kvm list output

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

Paul Neumann (1):
      kvm tools: Fix segfault on "lkvm run"

Pekka Enberg (375):
      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
      kvm tools, 9p: Fix init error handling
      kvm tools, qcow: Add support for writing to zero refcount clusters
      kvm tools: Boot to host /bin/sh via 9p by default
      kvm tools: Enable kernel DHCP autoconf by default
      Revert "kvm tools: Enable kernel DHCP autoconf by default"
      kvm tools: Improve 'kvm list' output
      kvm tool: Fix builtin command usage printouts
      kvm tools: Improve 'kvm version' output
      kvm tools: Stop guest if SDL window is closed
      kvm tools: Organize includes in builtin-run.c
      kvm tools, bios: Setup CF after returning from interrupt handler
      kvm tools, bios: Rename struct int10_args to struct biosregs
      kvm tools, bios: Add macros for BIOS registers
      kvm tools, bios: Add EIP and EFLAGS to 'struct biosregs'
      kvm tools, bios: Use struct biosregs in E820 code
      kvm tools, bios: Move CF clearing to e820_query_map()
      kvm tools, bios: Convert int15 code to C
      kvm tools, bios: Set CF for non-supported services
      kvm tools, bios: Rename bios.S to entry.S
      Merge branch 'kvm/bios' into kvm/core
      kvm tool, sdl: Set window caption
      kvm tools: Add entry to MAINTAINERS file
      kvm tools: Introduce 'kvm setup' command
      kvm tools, setup: Create /tmp in guest filesystems
      kvm tools: Fix up build instructions on Fedora
      kvm tools: NULL-terminate init env
      kvm tools: Move segment_to_flat() to kvm/segment.h
      kvm tools: Use HOME_DIR and KVM_PID_FILE_PATH from <kvm/kvm.h>
      kvm tools: Use kvm__get_dir() helper function
      kvm tools, bios: Fix BIOS to kernel memory copy
      kvm tools: Disable stack protector for BIOS code
      kvm tools, bios: Don't include glibc headers
      kvm tools: Kill double slash from kvm__get_dir()
      kvm tools: Improve "kvm setup" info and error messages
      kvm tools: Improve "kvm list" default output
      kvm tools: Fix 'kvm run' when run the first time
      kvm tools: Fix kvm__set_dir() to include trailing slash
      kvm tools, rtc: Introduce 'struct rtc_device'
      kvm tools, rtc: Add RTC register names
      kvm tools, rtc: Implement RTC_DAY_OF_WEEK
      kvm tools, rtc: Nonvolatile BIOS memory support
      kvm tools: Fix kvm/barrier.h build breakage
      Merge branch 'kvmtool/sandbox' into kvmtool/next
      kvm tools: Call executable 'lkvm' and add 'vm' alias
      kvm tools: Fix use after free during shutdown
      kvm tools: Free vcpu array on shutdown
      kvm tools, 9p: Fix memory leak in virtio_p9_walk()
      kvm tools, 9p: Fix memory leak in virtio_9p_attach()
      kvm tools: Remove bogus init printout
      kvm tools: Fix <linux/msi.h> kobject build breakage
      Merge commit 'v3.2' into kvmtool/next
      kvm tools, bios: Don't specify ELF PHDRs
      kvm tools, x86: Fix use after free in irq__exit()
      kvm tools: Fix another use-after-free in shutdown sequence
      kvm tools: Use pr_debug() for symbol lookup init failure
      kvm tools, x86: Fix munmap() size in kvm__arch_delete_ram()
      kvm tools: Fix "vm setup" help text
      kvm tools, seabios: Add "--firmware" option to "vm run"
      kvm tools, seabios: Add support for SeaBIOS debugging output
      kvm tools: Make 'vm sandbox' more user-friendly
      kvm tools, sandbox: Fix running guest commands
      kvm tools: Fix realpath() error checking
      Merge commit 'v3.4-rc1' into kvmtool/next
      kvm tools: Fix build breakage due to <linux/stddef.h> changes
      Merge commit 'v3.5' into kvmtool/next
      kvm tools: Add 'install' target to Makefile
      kvm tools: Drop lchown() calls from 9p

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 (338):
      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
      kvm tools: Use GSI routing
      kvm tools: Fix PCI probing
      kvm tools: Add a void ptr to be passed to mmio callback
      kvm tools: Implement MSI-X for virtio-rng
      kvm tools: Add support for 9p2000.u
      kvm tools: Use '-d' to boot a directory as a rootfs
      kvm tools: Add 'kvm stop'
      kvm tools: Remove version file on 'make clean'
      kvm tools: Fix PCI masking on probes
      kvm tools: Split 'kvm pause' and add 'kvm resume'
      kvm tools: Change method of retrieving process name
      kvm tools: Use correct size for VESA memory bar
      kvm tools: Add kvm__trigger_irq()
      kvm tools: Add MSI-X support to virtio-net
      kvm tools: Make keyboard termination go through regular termination path
      kvm tools: Fix IRQ mapping
      kvm tools: Speed up PS/2 mouse detection
      kvm tools: Use correct offset for virtio-net config space
      kvm tools: Missing braces in BAR index calculation
      kvm tools: Print version when running 'kvm --version'
      kvm tools: Connect existing command helpers to 'kvm help'
      kvm tools: Improve 'kvm stop' parameters
      kvm tools: Improve 'kvm resume' parameters
      kvm tools: Improve 'kvm pause' parameters
      kvm tools: Improve 'kvm debug' parameters
      kvm tools: Improve 'kvm balloon' parameters
      kvm tools: Fix wrong kill() PID in commands
      kvm tools: Add 'kvm stat' command
      kvm tools: Use correct data type for pid
      kvm tools: Guest kernel compatability
      kvm tools: Add guest compatability warning to virtio-rng
      kvm tools: Add guest compatability warning to virtio-blk
      kvm tools: Add guest compatability warning to virtio-9p
      kvm tools: Add guest compatability warning to virtio-net
      kvm tools: Add guest compatability warning to virtio-console
      kvm tools: Add guest compatability warning to virtio-balloon
      kvm tools: Add helper to retrieve the field used in virtio config space
      kvm tools: Fix offset calculation for config space and MSI-X
      kvm tools: Separate virtio-pci layer
      kvm tools: Separate virtio-pci layer out of virtio-rng
      kvm tools: Separate virtio-pci layer out of virtio-net
      kvm tools: Separate virtio-pci layer out of virtio-balloon
      kvm tools: Separate virtio-pci layer out of virtio-9p
      kvm tools: Separate virtio-pci layer out of virtio-blk
      kvm tools: Move ioeventfd registration to virtio-pci
      kvm tools: Separate pci layer out of virtio-console
      kvm tools: MSI-X fixes
      kvm tools: Add ivshmem device
      kvm tools: Remove unconditional warning in ivshmem
      kvm tools: Fix 32bit warnings
      kvm tools: Attach default 'root=' only if required
      kvm tools: Teach 'run' to handle guestfs
      kvm tools: Add guestfs network autoconfiguration
      kvm tools: Modify 'kvm run' to use virt fs
      kvm tools: Fix compat message formatting
      kvm tools: Fix 32bit build errors
      kvm tools: Use kernel dhcp for network autoconfiguration
      kvm tools: Don't use i8042 AUX port
      kvm tools: Allow remapping guest TTY into host PTS
      kvm tools: Don't copy network autoconfiguration script
      kvm tools: Use host's resolv.conf within the guest
      kvm tools: Use correct subsys id in virtio-pci
      kvm tools: Fix INTx handling
      kvm tools: Document steps to debug kernel using KGDB
      kvm tools: Set active console before running /bin/sh
      kvm tools: Support multiple net devices
      kvm tools: Fix spelling mistake
      kvm tools: Use compat message per device instead of per instance
      kvm tools: Improve compat message
      kvm tools: Add basic help when starting 'kvm' without args
      kvm tools: Add help and info messages to 'kvm setup'
      kvm tools: Modify 'kvm setup' parameters
      kvm tools: Add option to list rootfs in 'kvm list'
      kvm tools: Enable fast string operations
      kvm tools: Switch to using UNIX sockets instead of signals
      kvm tools: Move memory stat print to client
      kvm tools: Allow piping debug output to file descriptor
      kvm tools: Simplify msi message handling
      kvm tools: Add method to stop ipc thread
      kvm tools: Fix SDL exit on window close
      kvm tools: Avoid overwriting socket files with same name
      kvm tools: Handle only relevant events in epoll
      kvm tools: Cleanup ghost socket files
      kvm tools: Switch to using an enum for disk image types
      kvm tools: Remove the non-iov interface from disk image ops
      kvm tools: Modify disk ops usage
      kvm tools: Modify behaviour on missing ops ptr
      kvm tools: Add optional callback on disk op completion
      kvm tools: Remove qcow nowrite function
      kvm tools: Split io request from completion
      kvm tools: Hook virtio-blk completion to disk op completion
      kvm tools: Add aio read write functions
      kvm tools: Use native vectored AIO in virtio-blk
      config: Add 'make kvmconfig'
      kconfig: Update 'make kvmconfig'
      kvm tools: Add missing 9p remove handler
      kvm tools: Add missing 9p rename handler
      kvm tools: Remove async flag from QCOW
      kvm tools: Use correct config defines
      kvm tools: Clean up remove/rename in 9p
      kvm tools: Create /etc/passwd in shared rootfs
      kvm tools: Add abstract virtio transport layer
      kvm tools: Fix parameter to virtio device features config
      kvm tools: Use IRQ line 5+ for devices
      kvm tools: Add optional callbacks for VQs
      kvm tools: Add vhost-net support
      kvm tools: Add '--no-dhcp' to disable kernel DHCP
      kvm tools: Prepare support for VIRTIO_RING_F_EVENT_IDX
      kvm tools: Support event idx in virtio-net
      kvm tools: Add event idx support to virtio-blk
      kvm tools: Support virtio indirect buffers
      kvm tools: Remove double 'init=' kernel param
      kvm tools: Ninja out support for VIRTIO_F_FEATURES_HIGH
      kvm tools: Zero out event before calling epoll_ctl()
      kvm tools: Initialize irq_routing before using it
      kvm tools: Link ld.so.conf to the file on the host
      kvm tools: Document virtio-console usage
      kvm tools: Allow the user to pass a FD to use as a TAP device
      kvm tools: Fix serial port probing
      kvm tools: Don't use 64bit BARs
      kvm tools: Free up the MSI-X PBA BAR
      kvm tools: Split custom rootfs init into two stages
      kvm tools: Allow easily sandboxing applications within a guest
      kvm tools: Ignore parameters after dashdash in 'kvm run'
      kvm tools: Add 'kvm sandbox'
      kvm tools: Add NMI ability to 'kvm debug'
      kvm tools: Clean up LINT assignment code
      kvm tools: Clean up 'kvm debug'
      kvm tools: Don't always coalesce MMIOs
      kvm tools: Fix MMIO ordering problem cause due to coalescing
      kvm tools: Add kvm__has_cap() to check whether a cap is available on the host
      kvm tools: Don't use ioeventfds if no KVM_CAP_IOEVENTFD
      kvm tools: Use kvm__supports_extension instead of kvm__has_cap
      Revert "kvm tools: Add kvm__has_cap() to check whether a cap is available on the host"
      kvm tools: Fix rootfs name resolving when specified with image
      kvm tools: Trivial cleanup
      kvm tools: Fix 'make kvmconfig'
      kvm tools: Don't panic guest when exiting from custom rootfs
      kvm tool: Exit init only when /bin/sh itself stops
      kvm tools: Improve 'lkvm sandbox' syntax
      kvm tools: Split kvm_cmd_run into init, work and exit
      kvm tools: Fixes for symbol resolving module
      kvm tools: Fixes for IRQ module
      kvm tools: Fixes for UI modules
      kvm tools: Fixes for ioport module
      kvm tools: Fixes for ioeventfd module
      kvm tools: Fixes for serial module
      kvm tools: Fixes for mptable module
      kvm tools: Fixes for PCI module
      kvm tools: Fixes for rtc module
      kvm tools: Fixes for disk image module
      kvm tools: Fixes for virtio module
      kvm tools: fix sigsegv in irq__exit
      kvm tools: use bitwise 'and' in kvm-ipc
      kvm tools: use accessor function for virtio-9p FIDs
      kvm tools: increase amount of virtio-9p FIDs
      kvm tools: support 9p flush command
      kvm tools: set the HYPERVISOR flag in cpuid
      kvm tools: dynamically allocate p9 fids
      kvm tools: support injecting arbitrary sysrqs
      kvm tools: remove unused field from virtio-blk
      kvm tools: use correct error value for virtio-9p RLERROR
      kvm tools: prevent guest softlockup errors when pausing
      kvm tools: don't bother tracking is_dir
      kvm tools: clean garbage from ioeventfd code
      kvm tools: Use the new KVM_SIGNAL_MSI ioctl to inject interrupts directly.
      kvm tools: fix warnings in virtio-blk
      kvm tools: enable LTO
      kvm tools: 9p don't nuke fids on attach
      kvm tools: simplify virtio config handling
      kvm tools: add HOME env var to hostfs
      kvm tools: introduce kvm_config to store instance-specific config options
      kvm tools: generate command line options dynamically
      kvm tools: split struct kvm into arch specific part
      kvm tools: move kvm_config into struct kvm
      kvm tools: remove redundancy between kvm_config and kvm
      kvm tools: move ioport_debug into struct kvm_config
      kvm tools: move mmio_debug into struct kvm_config
      kvm tools: move active_console into struct kvm_config
      kvm tools: add private ptr to option parser
      kvm tools: disk image related cleanup
      kvm tools: move nrcpus into struct kvm_config
      kvm tools: move kvm_cpus into struct kvm
      kvm tools: improve framebuffer manager initialization
      kvm tools: improve term init/exit functions
      kvm tools: threadpool exit routine
      kvm tools: timer cleanup
      kvm tools: virtio-console init/exit
      kvm tools: virtio-rng init/exit
      kvm tools: virtio-bln init/exit
      kvm tools: pci-shmem init-exit
      kvm tools: virtio-net init/exit
      kvm tools: kvm-ipc cleanup
      kvm tools: kbd initialization check
      kvm tools: ui improvements
      kvm tools: kernel load/firmware cleanup
      kvm tools: ioport arch init
      kvm tools: ram init
      kvm tools: move the rest of the config initializations
      kvm tools: virtio-9p cleanup
      kvm tools: initialize the threadpool job iterator before using
      kvm tools: fix build optimization
      kvm tools: add init/exit automatic calls
      kvm tools: use init/exit where possible
      kvm tools: pass kvm ptr directly to timer injection
      kvm tools: remove global kvm object
      kvm tools: fix SMP
      kvm tools: fix SDL build error when libsdl isn't installed
      kvm tools: don't die if sdl wasn't compiled in and we don't try using it
      kvm tools: support build-time checks
      kvm tools: don't exit on debug ioport write

Thomas Gleixner (5):
      kvm tool: serial: Cleanup coding style
      kvm tool: serial: Simplify switch cases
      kvm tool: serial: Fix interrupt handling
      kvm tools: serial: Make it work with non rt guests as well
      kvm tool: Implement a serial FIFO emulation

Wanlong Gao (7):
      kvm tools: Don't add the -Wunused-result flag
      kvm tools: prevent the redefined error
      kvm tools: change the binary name kvm to lkvm in Documentation
      kvm tools: change the binary name from kvm to lkvm in README
      kvm tools: change the binary name from kvm to lkvm for commands' usage
      kvm tools: change the binary name from kvm to lkvm in print message
      kvm tools: cleanup useless arguments in kvm__arch_init

Xiao Guangrong (2):
      kvm tools: fix repeated io emulation
      kvm tools: remove count in io emulation callbacks

Xiaochen Wang (1):
      kvm tools: fix a typo in x86/bios.c

Yang Bai (5):
      kvm tools: Stop init if check_extensions failed
      kvm tools: unite the error handle in kvm__init
      kvm tools: if kvm_ipc__start failed, return negative
      kvm tools: ensure kvm_ipc__register_handler success
      kvm tools: Add guest/init_stage2 to .gitignore

 MAINTAINERS                                  |    8 +
 arch/x86/Kconfig                             |   31 +
 scripts/kconfig/Makefile                     |    7 +-
 tools/kvm/.gitignore                         |   12 +
 tools/kvm/CREDITS-Git                        |   30 +
 tools/kvm/Documentation/kernel-debugging.txt |   15 +
 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-resume.txt       |   16 +
 tools/kvm/Documentation/kvm-run.txt          |   62 +
 tools/kvm/Documentation/kvm-sandbox.txt      |   16 +
 tools/kvm/Documentation/kvm-setup.txt        |   15 +
 tools/kvm/Documentation/kvm-stat.txt         |   19 +
 tools/kvm/Documentation/kvm-stop.txt         |   16 +
 tools/kvm/Documentation/kvm-version.txt      |   21 +
 tools/kvm/Documentation/virtio-console.txt   |   41 +
 tools/kvm/Makefile                           |  457 ++++++++
 tools/kvm/README                             |  112 ++
 tools/kvm/builtin-balloon.c                  |   80 ++
 tools/kvm/builtin-debug.c                    |  110 ++
 tools/kvm/builtin-help.c                     |   63 ++
 tools/kvm/builtin-list.c                     |  149 +++
 tools/kvm/builtin-pause.c                    |   88 ++
 tools/kvm/builtin-resume.c                   |   88 ++
 tools/kvm/builtin-run.c                      |  697 ++++++++++++
 tools/kvm/builtin-sandbox.c                  |    9 +
 tools/kvm/builtin-setup.c                    |  262 +++++
 tools/kvm/builtin-stat.c                     |  127 +++
 tools/kvm/builtin-stop.c                     |   70 ++
 tools/kvm/builtin-version.c                  |   15 +
 tools/kvm/code16gcc.h                        |   15 +
 tools/kvm/command-list.txt                   |   15 +
 tools/kvm/config/feature-tests.mak           |  177 +++
 tools/kvm/config/utilities.mak               |  196 ++++
 tools/kvm/disk/blk.c                         |   76 ++
 tools/kvm/disk/core.c                        |  354 ++++++
 tools/kvm/disk/qcow.c                        | 1529 ++++++++++++++++++++++++++
 tools/kvm/disk/raw.c                         |  141 +++
 tools/kvm/framebuffer.c                      |   80 ++
 tools/kvm/guest/init.c                       |   72 ++
 tools/kvm/guest_compat.c                     |   99 ++
 tools/kvm/hw/i8042.c                         |  355 ++++++
 tools/kvm/hw/pci-shmem.c                     |  405 +++++++
 tools/kvm/hw/rtc.c                           |  139 +++
 tools/kvm/hw/serial.c                        |  452 ++++++++
 tools/kvm/hw/vesa.c                          |   89 ++
 tools/kvm/include/asm/hweight.h              |    8 +
 tools/kvm/include/bios/memcpy.h              |    9 +
 tools/kvm/include/kvm/8250-serial.h          |   11 +
 tools/kvm/include/kvm/apic.h                 |   17 +
 tools/kvm/include/kvm/brlock.h               |   41 +
 tools/kvm/include/kvm/builtin-balloon.h      |    9 +
 tools/kvm/include/kvm/builtin-debug.h        |   20 +
 tools/kvm/include/kvm/builtin-help.h         |    6 +
 tools/kvm/include/kvm/builtin-list.h         |   10 +
 tools/kvm/include/kvm/builtin-pause.h        |    9 +
 tools/kvm/include/kvm/builtin-resume.h       |    9 +
 tools/kvm/include/kvm/builtin-run.h          |   11 +
 tools/kvm/include/kvm/builtin-sandbox.h      |    6 +
 tools/kvm/include/kvm/builtin-setup.h        |   11 +
 tools/kvm/include/kvm/builtin-stat.h         |    9 +
 tools/kvm/include/kvm/builtin-stop.h         |    9 +
 tools/kvm/include/kvm/builtin-version.h      |    6 +
 tools/kvm/include/kvm/compiler.h             |   10 +
 tools/kvm/include/kvm/disk-image.h           |   96 ++
 tools/kvm/include/kvm/e820.h                 |   13 +
 tools/kvm/include/kvm/framebuffer.h          |   36 +
 tools/kvm/include/kvm/guest_compat.h         |    9 +
 tools/kvm/include/kvm/i8042.h                |   12 +
 tools/kvm/include/kvm/ioeventfd.h            |   28 +
 tools/kvm/include/kvm/ioport.h               |   70 ++
 tools/kvm/include/kvm/irq.h                  |   33 +
 tools/kvm/include/kvm/kvm-cmd.h              |   17 +
 tools/kvm/include/kvm/kvm-config.h           |   60 +
 tools/kvm/include/kvm/kvm-cpu.h              |   26 +
 tools/kvm/include/kvm/kvm-ipc.h              |   26 +
 tools/kvm/include/kvm/kvm.h                  |  121 ++
 tools/kvm/include/kvm/msi.h                  |   10 +
 tools/kvm/include/kvm/mutex.h                |   33 +
 tools/kvm/include/kvm/parse-options.h        |  218 ++++
 tools/kvm/include/kvm/pci-shmem.h            |   32 +
 tools/kvm/include/kvm/pci.h                  |   95 ++
 tools/kvm/include/kvm/qcow.h                 |  133 +++
 tools/kvm/include/kvm/rbtree-interval.h      |   28 +
 tools/kvm/include/kvm/read-write.h           |   43 +
 tools/kvm/include/kvm/rtc.h                  |    9 +
 tools/kvm/include/kvm/rwsem.h                |   39 +
 tools/kvm/include/kvm/sdl.h                  |   28 +
 tools/kvm/include/kvm/segment.h              |   21 +
 tools/kvm/include/kvm/strbuf.h               |   20 +
 tools/kvm/include/kvm/symbol.h               |   30 +
 tools/kvm/include/kvm/term.h                 |   24 +
 tools/kvm/include/kvm/threadpool.h           |   38 +
 tools/kvm/include/kvm/types.h                |    7 +
 tools/kvm/include/kvm/uip.h                  |  360 ++++++
 tools/kvm/include/kvm/util-init.h            |   51 +
 tools/kvm/include/kvm/util.h                 |   97 ++
 tools/kvm/include/kvm/vesa.h                 |   18 +
 tools/kvm/include/kvm/virtio-9p.h            |   76 ++
 tools/kvm/include/kvm/virtio-balloon.h       |    9 +
 tools/kvm/include/kvm/virtio-blk.h           |   12 +
 tools/kvm/include/kvm/virtio-console.h       |   10 +
 tools/kvm/include/kvm/virtio-mmio.h          |   58 +
 tools/kvm/include/kvm/virtio-net.h           |   30 +
 tools/kvm/include/kvm/virtio-pci-dev.h       |   38 +
 tools/kvm/include/kvm/virtio-pci.h           |   49 +
 tools/kvm/include/kvm/virtio-rng.h           |    9 +
 tools/kvm/include/kvm/virtio-scsi.h          |   26 +
 tools/kvm/include/kvm/virtio.h               |  102 ++
 tools/kvm/include/kvm/vnc.h                  |   22 +
 tools/kvm/include/linux/bitops.h             |   33 +
 tools/kvm/include/linux/byteorder.h          |    7 +
 tools/kvm/include/linux/compiler.h           |   20 +
 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/stddef.h             |   16 +
 tools/kvm/include/linux/types.h              |   51 +
 tools/kvm/ioeventfd.c                        |  216 ++++
 tools/kvm/ioport.c                           |  198 ++++
 tools/kvm/kvm-cmd.c                          |   91 ++
 tools/kvm/kvm-cpu.c                          |  242 ++++
 tools/kvm/kvm-ipc.c                          |  498 +++++++++
 tools/kvm/kvm.c                              |  458 ++++++++
 tools/kvm/main.c                             |   19 +
 tools/kvm/mmio.c                             |  139 +++
 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                     |  202 ++++
 tools/kvm/net/uip/icmp.c                     |   29 +
 tools/kvm/net/uip/ipv4.c                     |   29 +
 tools/kvm/net/uip/tcp.c                      |  345 ++++++
 tools/kvm/net/uip/udp.c                      |  236 ++++
 tools/kvm/pci.c                              |  215 ++++
 tools/kvm/powerpc/boot.c                     |    8 +
 tools/kvm/powerpc/cpu_info.c                 |  195 ++++
 tools/kvm/powerpc/cpu_info.h                 |   42 +
 tools/kvm/powerpc/include/kvm/barrier.h      |    6 +
 tools/kvm/powerpc/include/kvm/kvm-arch.h     |   68 ++
 tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h |   76 ++
 tools/kvm/powerpc/ioport.c                   |   18 +
 tools/kvm/powerpc/irq.c                      |   56 +
 tools/kvm/powerpc/kvm-cpu.c                  |  290 +++++
 tools/kvm/powerpc/kvm.c                      |  529 +++++++++
 tools/kvm/powerpc/spapr.h                    |   93 ++
 tools/kvm/powerpc/spapr_hcall.c              |  134 +++
 tools/kvm/powerpc/spapr_hvcons.c             |  108 ++
 tools/kvm/powerpc/spapr_hvcons.h             |   19 +
 tools/kvm/powerpc/spapr_pci.c                |  423 +++++++
 tools/kvm/powerpc/spapr_pci.h                |   57 +
 tools/kvm/powerpc/spapr_rtas.c               |  233 ++++
 tools/kvm/powerpc/xics.c                     |  522 +++++++++
 tools/kvm/powerpc/xics.h                     |   18 +
 tools/kvm/symbol.c                           |  133 +++
 tools/kvm/term.c                             |  171 +++
 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                   |  101 ++
 tools/kvm/ui/sdl.c                           |  321 ++++++
 tools/kvm/ui/vnc.c                           |  248 +++++
 tools/kvm/util/KVMTOOLS-VERSION-GEN          |   40 +
 tools/kvm/util/generate-cmdlist.sh           |   23 +
 tools/kvm/util/init.c                        |   69 ++
 tools/kvm/util/kvm-ifup-vbr0                 |    6 +
 tools/kvm/util/parse-options.c               |  577 ++++++++++
 tools/kvm/util/rbtree-interval.c             |   89 ++
 tools/kvm/util/read-write.c                  |  354 ++++++
 tools/kvm/util/set_private_br.sh             |   51 +
 tools/kvm/util/strbuf.c                      |   62 +
 tools/kvm/util/threadpool.c                  |  173 +++
 tools/kvm/util/util.c                        |  133 +++
 tools/kvm/virtio/9p-pdu.c                    |  287 +++++
 tools/kvm/virtio/9p.c                        | 1432 ++++++++++++++++++++++++
 tools/kvm/virtio/balloon.c                   |  270 +++++
 tools/kvm/virtio/blk.c                       |  315 ++++++
 tools/kvm/virtio/console.c                   |  203 ++++
 tools/kvm/virtio/core.c                      |  233 ++++
 tools/kvm/virtio/mmio.c                      |  264 +++++
 tools/kvm/virtio/net.c                       |  670 +++++++++++
 tools/kvm/virtio/pci.c                       |  398 +++++++
 tools/kvm/virtio/rng.c                       |  193 ++++
 tools/kvm/virtio/scsi.c                      |  309 ++++++
 tools/kvm/x86/bios.c                         |  174 +++
 tools/kvm/x86/bios/.gitignore                |    3 +
 tools/kvm/x86/bios/bios-rom.S                |   12 +
 tools/kvm/x86/bios/e820.c                    |   72 ++
 tools/kvm/x86/bios/entry.S                   |   92 ++
 tools/kvm/x86/bios/gen-offsets.sh            |   14 +
 tools/kvm/x86/bios/int10.c                   |  110 ++
 tools/kvm/x86/bios/int15.c                   |   18 +
 tools/kvm/x86/bios/local.S                   |    7 +
 tools/kvm/x86/bios/macro.S                   |   25 +
 tools/kvm/x86/bios/memcpy.c                  |   23 +
 tools/kvm/x86/bios/rom.ld.S                  |   16 +
 tools/kvm/x86/boot.c                         |   41 +
 tools/kvm/x86/cpuid.c                        |   60 +
 tools/kvm/x86/include/kvm/assembly.h         |   24 +
 tools/kvm/x86/include/kvm/barrier.h          |   20 +
 tools/kvm/x86/include/kvm/bios-export.h      |   13 +
 tools/kvm/x86/include/kvm/bios.h             |   93 ++
 tools/kvm/x86/include/kvm/boot-protocol.h    |   16 +
 tools/kvm/x86/include/kvm/cpufeature.h       |   41 +
 tools/kvm/x86/include/kvm/interrupt.h        |   26 +
 tools/kvm/x86/include/kvm/kvm-arch.h         |   43 +
 tools/kvm/x86/include/kvm/kvm-cpu-arch.h     |   49 +
 tools/kvm/x86/include/kvm/mptable.h          |    9 +
 tools/kvm/x86/interrupt.c                    |   28 +
 tools/kvm/x86/ioport.c                       |   77 ++
 tools/kvm/x86/irq.c                          |  224 ++++
 tools/kvm/x86/kvm-cpu.c                      |  425 +++++++
 tools/kvm/x86/kvm.c                          |  362 ++++++
 tools/kvm/x86/mptable.c                      |  289 +++++
 224 files changed, 25508 insertions(+), 1 deletions(-)
 create mode 100644 tools/kvm/.gitignore
 create mode 100644 tools/kvm/CREDITS-Git
 create mode 100644 tools/kvm/Documentation/kernel-debugging.txt
 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-resume.txt
 create mode 100644 tools/kvm/Documentation/kvm-run.txt
 create mode 100644 tools/kvm/Documentation/kvm-sandbox.txt
 create mode 100644 tools/kvm/Documentation/kvm-setup.txt
 create mode 100644 tools/kvm/Documentation/kvm-stat.txt
 create mode 100644 tools/kvm/Documentation/kvm-stop.txt
 create mode 100644 tools/kvm/Documentation/kvm-version.txt
 create mode 100644 tools/kvm/Documentation/virtio-console.txt
 create mode 100644 tools/kvm/Makefile
 create mode 100644 tools/kvm/README
 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-resume.c
 create mode 100644 tools/kvm/builtin-run.c
 create mode 100644 tools/kvm/builtin-sandbox.c
 create mode 100644 tools/kvm/builtin-setup.c
 create mode 100644 tools/kvm/builtin-stat.c
 create mode 100644 tools/kvm/builtin-stop.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/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/guest/init.c
 create mode 100644 tools/kvm/guest_compat.c
 create mode 100644 tools/kvm/hw/i8042.c
 create mode 100644 tools/kvm/hw/pci-shmem.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/bios/memcpy.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/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-resume.h
 create mode 100644 tools/kvm/include/kvm/builtin-run.h
 create mode 100644 tools/kvm/include/kvm/builtin-sandbox.h
 create mode 100644 tools/kvm/include/kvm/builtin-setup.h
 create mode 100644 tools/kvm/include/kvm/builtin-stat.h
 create mode 100644 tools/kvm/include/kvm/builtin-stop.h
 create mode 100644 tools/kvm/include/kvm/builtin-version.h
 create mode 100644 tools/kvm/include/kvm/compiler.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/guest_compat.h
 create mode 100644 tools/kvm/include/kvm/i8042.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-config.h
 create mode 100644 tools/kvm/include/kvm/kvm-cpu.h
 create mode 100644 tools/kvm/include/kvm/kvm-ipc.h
 create mode 100644 tools/kvm/include/kvm/kvm.h
 create mode 100644 tools/kvm/include/kvm/msi.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-shmem.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-init.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-mmio.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-pci.h
 create mode 100644 tools/kvm/include/kvm/virtio-rng.h
 create mode 100644 tools/kvm/include/kvm/virtio-scsi.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/compiler.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/stddef.h
 create mode 100644 tools/kvm/include/linux/types.h
 create mode 100644 tools/kvm/ioeventfd.c
 create mode 100644 tools/kvm/ioport.c
 create mode 100644 tools/kvm/kvm-cmd.c
 create mode 100644 tools/kvm/kvm-cpu.c
 create mode 100644 tools/kvm/kvm-ipc.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/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/powerpc/boot.c
 create mode 100644 tools/kvm/powerpc/cpu_info.c
 create mode 100644 tools/kvm/powerpc/cpu_info.h
 create mode 100644 tools/kvm/powerpc/include/kvm/barrier.h
 create mode 100644 tools/kvm/powerpc/include/kvm/kvm-arch.h
 create mode 100644 tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h
 create mode 100644 tools/kvm/powerpc/ioport.c
 create mode 100644 tools/kvm/powerpc/irq.c
 create mode 100644 tools/kvm/powerpc/kvm-cpu.c
 create mode 100644 tools/kvm/powerpc/kvm.c
 create mode 100644 tools/kvm/powerpc/spapr.h
 create mode 100644 tools/kvm/powerpc/spapr_hcall.c
 create mode 100644 tools/kvm/powerpc/spapr_hvcons.c
 create mode 100644 tools/kvm/powerpc/spapr_hvcons.h
 create mode 100644 tools/kvm/powerpc/spapr_pci.c
 create mode 100644 tools/kvm/powerpc/spapr_pci.h
 create mode 100644 tools/kvm/powerpc/spapr_rtas.c
 create mode 100644 tools/kvm/powerpc/xics.c
 create mode 100644 tools/kvm/powerpc/xics.h
 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/ui/sdl.c
 create mode 100644 tools/kvm/ui/vnc.c
 create mode 100755 tools/kvm/util/KVMTOOLS-VERSION-GEN
 create mode 100755 tools/kvm/util/generate-cmdlist.sh
 create mode 100644 tools/kvm/util/init.c
 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 100644 tools/kvm/util/read-write.c
 create mode 100755 tools/kvm/util/set_private_br.sh
 create mode 100644 tools/kvm/util/strbuf.c
 create mode 100644 tools/kvm/util/threadpool.c
 create mode 100644 tools/kvm/util/util.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/mmio.c
 create mode 100644 tools/kvm/virtio/net.c
 create mode 100644 tools/kvm/virtio/pci.c
 create mode 100644 tools/kvm/virtio/rng.c
 create mode 100644 tools/kvm/virtio/scsi.c
 create mode 100644 tools/kvm/x86/bios.c
 create mode 100644 tools/kvm/x86/bios/.gitignore
 create mode 100644 tools/kvm/x86/bios/bios-rom.S
 create mode 100644 tools/kvm/x86/bios/e820.c
 create mode 100644 tools/kvm/x86/bios/entry.S
 create mode 100644 tools/kvm/x86/bios/gen-offsets.sh
 create mode 100644 tools/kvm/x86/bios/int10.c
 create mode 100644 tools/kvm/x86/bios/int15.c
 create mode 100644 tools/kvm/x86/bios/local.S
 create mode 100644 tools/kvm/x86/bios/macro.S
 create mode 100644 tools/kvm/x86/bios/memcpy.c
 create mode 100644 tools/kvm/x86/bios/rom.ld.S
 create mode 100644 tools/kvm/x86/boot.c
 create mode 100644 tools/kvm/x86/cpuid.c
 create mode 100644 tools/kvm/x86/include/kvm/assembly.h
 create mode 100644 tools/kvm/x86/include/kvm/barrier.h
 create mode 100644 tools/kvm/x86/include/kvm/bios-export.h
 create mode 100644 tools/kvm/x86/include/kvm/bios.h
 create mode 100644 tools/kvm/x86/include/kvm/boot-protocol.h
 create mode 100644 tools/kvm/x86/include/kvm/cpufeature.h
 create mode 100644 tools/kvm/x86/include/kvm/interrupt.h
 create mode 100644 tools/kvm/x86/include/kvm/kvm-arch.h
 create mode 100644 tools/kvm/x86/include/kvm/kvm-cpu-arch.h
 create mode 100644 tools/kvm/x86/include/kvm/mptable.h
 create mode 100644 tools/kvm/x86/interrupt.c
 create mode 100644 tools/kvm/x86/ioport.c
 create mode 100644 tools/kvm/x86/irq.c
 create mode 100644 tools/kvm/x86/kvm-cpu.c
 create mode 100644 tools/kvm/x86/kvm.c
 create mode 100644 tools/kvm/x86/mptable.c

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-12 11:34 [GIT PULL] Linux KVM tool for v3.7-rc0 Pekka Enberg
@ 2012-10-12 17:27 ` Christoph Hellwig
  2012-10-18 10:03   ` Ingo Molnar
  2012-10-16  2:41 ` Stephen Rothwell
  1 sibling, 1 reply; 32+ messages in thread
From: Christoph Hellwig @ 2012-10-12 17:27 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Linus Torvalds, Andrew Morton, Ingo Molnar, Avi Kivity, linux-kernel

On Fri, Oct 12, 2012 at 02:34:33PM +0300, Pekka Enberg wrote:
> Hi Linus,
> 
> Please consider pulling the latest LKVM tree from:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
> 
> LKVM is the long lost userspace friend of KVM that makes it really easy
> to launch virtualized Linx environment on x86 and PPC64 Linux.

This still doesn't have any business in the kernel tree.  I also can't
remember than any new arguments came up why this should be merged vs
the arguments why it's been reject over and over again.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-12 11:34 [GIT PULL] Linux KVM tool for v3.7-rc0 Pekka Enberg
  2012-10-12 17:27 ` Christoph Hellwig
@ 2012-10-16  2:41 ` Stephen Rothwell
  2012-10-16 14:50   ` Linus Torvalds
  1 sibling, 1 reply; 32+ messages in thread
From: Stephen Rothwell @ 2012-10-16  2:41 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Pekka Enberg, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

[-- Attachment #1: Type: text/plain, Size: 555 bytes --]

Hi Linus,

On Fri, 12 Oct 2012 14:34:33 +0300 (EEST) Pekka Enberg <penberg@kernel.org> wrote:
>
> Please consider pulling the latest LKVM tree from:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus

So you have not taken this in the v3.7 merge window.

Will you ever merge this?   If not, it should be removed from linux-next
(where it has been sitting since before v3.1) and turned into an
independent (to the kernel) project.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-16  2:41 ` Stephen Rothwell
@ 2012-10-16 14:50   ` Linus Torvalds
  2012-10-20  7:04     ` Stephen Rothwell
  0 siblings, 1 reply; 32+ messages in thread
From: Linus Torvalds @ 2012-10-16 14:50 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Pekka Enberg, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

On Mon, Oct 15, 2012 at 7:41 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
>
> So you have not taken this in the v3.7 merge window.
>
> Will you ever merge this?

I have yet to see a compelling argument for merging it. It's tons of
code, it doesnt match the original "small simple" model, and I think
it would be better off as a separate project.

           Linus

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-12 17:27 ` Christoph Hellwig
@ 2012-10-18 10:03   ` Ingo Molnar
  2012-10-18 10:31     ` Pekka Enberg
  0 siblings, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2012-10-18 10:03 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Pekka Enberg, Linus Torvalds, Andrew Morton, Avi Kivity, linux-kernel


* Christoph Hellwig <hch@infradead.org> wrote:

> On Fri, Oct 12, 2012 at 02:34:33PM +0300, Pekka Enberg wrote:
> > Hi Linus,
> > 
> > Please consider pulling the latest LKVM tree from:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
> > 
> > LKVM is the long lost userspace friend of KVM that makes it really easy
> > to launch virtualized Linx environment on x86 and PPC64 Linux.
> 
> This still doesn't have any business in the kernel tree. [...]

Pekka & the LKVM developers are using the tools/kvm/ tree setup 
to create new kernel features, to improve the kernel and to 
reuse kernel code, amongst other things.

So being in the kernel tree is very practical and useful to 
them.

It's also *very* useful to kernel developers like me, and I wish 
all of user-space tooling was as easy to use and as well working 
as 'vm run':

I'm using 'vm' regularly for quick kernel testing: I just want 
something that just works and reuses the existing distro 
user-space environment unintrusively. In that sense it's very 
handy, 'vm' will in essence boot the well-maintained system. Not 
some stale old disk image. Not a second system I need to 
maintain. I'd not be using it if it didn't came integrated via 
tools/ and integrated into the kernel. 'make kvmconfig' and the 
other bits of practical kernel development integration are very 
useful and just work as well.

The fact that it's not useful to you (yet?) that does not 
invalidate the utility of this project to those to whom it *is* 
useful. No argument you ever outlined here invalidates the plain 
utility of this project.

Whether you think that it "has no place in the kernel" is 
completely irrelevant - what matters is actual utility to 
people:

If Linus thinks that the upsides are not convincing enough (yet, 
or ever), that's obviously enough reason for him to not pull it 
- but that does not stop this project from being useful to those 
who *are* using it to improve and test the kernel.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-18 10:03   ` Ingo Molnar
@ 2012-10-18 10:31     ` Pekka Enberg
  0 siblings, 0 replies; 32+ messages in thread
From: Pekka Enberg @ 2012-10-18 10:31 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Hellwig, Linus Torvalds, Andrew Morton, Avi Kivity,
	linux-kernel

On Thu, 18 Oct 2012, Ingo Molnar wrote:
> * Christoph Hellwig <hch@infradead.org> wrote:
> 
> > On Fri, Oct 12, 2012 at 02:34:33PM +0300, Pekka Enberg wrote:
> > > Hi Linus,
> > > 
> > > Please consider pulling the latest LKVM tree from:
> > > 
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
> > > 
> > > LKVM is the long lost userspace friend of KVM that makes it really easy
> > > to launch virtualized Linx environment on x86 and PPC64 Linux.
> > 
> > This still doesn't have any business in the kernel tree. [...]
> 
> Pekka & the LKVM developers are using the tools/kvm/ tree setup 
> to create new kernel features, to improve the kernel and to 
> reuse kernel code, amongst other things.
> 
> So being in the kernel tree is very practical and useful to 
> them.

It's probably not a surprise to anyone that I'm with Ingo on this. It's 
OK if people don't think tools/kvm is *worth it* but claiming that living 
in a separate repository is just as easy is completely ignoring reality.

			Pekka

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-16 14:50   ` Linus Torvalds
@ 2012-10-20  7:04     ` Stephen Rothwell
  2012-10-20 18:14       ` Borislav Petkov
  2012-11-14  5:24       ` Stephen Rothwell
  0 siblings, 2 replies; 32+ messages in thread
From: Stephen Rothwell @ 2012-10-20  7:04 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Linus Torvalds, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

[-- Attachment #1: Type: text/plain, Size: 809 bytes --]

Hi all,

On Tue, 16 Oct 2012 07:50:52 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> On Mon, Oct 15, 2012 at 7:41 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >>
> >>   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
> >
> > So you have not taken this in the v3.7 merge window.
> >
> > Will you ever merge this?
> 
> I have yet to see a compelling argument for merging it. It's tons of
> code, it doesnt match the original "small simple" model, and I think
> it would be better off as a separate project.

So are there any compelling arguments from the proponents, or can I
remove this from linux-next (and have it removed from the tip auto-latest
branch)?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-20  7:04     ` Stephen Rothwell
@ 2012-10-20 18:14       ` Borislav Petkov
  2012-10-21  3:07         ` Dave Airlie
  2012-11-14  5:24       ` Stephen Rothwell
  1 sibling, 1 reply; 32+ messages in thread
From: Borislav Petkov @ 2012-10-20 18:14 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Pekka Enberg, Linus Torvalds, Andrew Morton, Ingo Molnar,
	Avi Kivity, linux-kernel, Christoph Hellwig

On Sat, Oct 20, 2012 at 06:04:36PM +1100, Stephen Rothwell wrote:
> So are there any compelling arguments from the proponents, or can
> I remove this from linux-next (and have it removed from the tip
> auto-latest branch)?

FWIW, I gave this a run and I have to say, it works as advertized: I
built it and ran it with the latest kernel and the thing simply boots
the kernel. Even without a disk image - the simplest command is:

$ ./lkvm run --kernel ../../arch/x86/boot/bzImage

and it gets me a shell in the vm after a second.

So the absolute advantage it gives kernel devs is that they can
smoke-test whether their stuff boots in seconds.

This is probably not helpful when enabling specific hw features but
should be pretty helpful for generic arch stuff.

HTH.

-- 
Regards/Gruss,
    Boris.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-20 18:14       ` Borislav Petkov
@ 2012-10-21  3:07         ` Dave Airlie
  2012-10-21  3:46           ` Yinghai Lu
                             ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Dave Airlie @ 2012-10-21  3:07 UTC (permalink / raw)
  To: Borislav Petkov, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Ingo Molnar, Avi Kivity, linux-kernel,
	Christoph Hellwig

On Sun, Oct 21, 2012 at 4:14 AM, Borislav Petkov <bp@alien8.de> wrote:
> On Sat, Oct 20, 2012 at 06:04:36PM +1100, Stephen Rothwell wrote:
>> So are there any compelling arguments from the proponents, or can
>> I remove this from linux-next (and have it removed from the tip
>> auto-latest branch)?
>
> FWIW, I gave this a run and I have to say, it works as advertized: I
> built it and ran it with the latest kernel and the thing simply boots
> the kernel. Even without a disk image - the simplest command is:
>
> $ ./lkvm run --kernel ../../arch/x86/boot/bzImage
>
> and it gets me a shell in the vm after a second.
>
> So the absolute advantage it gives kernel devs is that they can
> smoke-test whether their stuff boots in seconds.
>
> This is probably not helpful when enabling specific hw features but
> should be pretty helpful for generic arch stuff.

Why couldn't this script just be a wrapper around qemu?

I get the kvm developers developing features that isn't ideal, but for
the quick boot a kernel tests, I don't see why a well maintained qemu
wrapper isn't superior. I hate constructing qemu command lines, but a
script in the kernel repo seems like a good idea.

Dave.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21  3:07         ` Dave Airlie
@ 2012-10-21  3:46           ` Yinghai Lu
  2012-10-21 11:03           ` Christoph Hellwig
  2012-10-21 11:18           ` Borislav Petkov
  2 siblings, 0 replies; 32+ messages in thread
From: Yinghai Lu @ 2012-10-21  3:46 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Borislav Petkov, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Ingo Molnar, Avi Kivity, linux-kernel,
	Christoph Hellwig

On Sat, Oct 20, 2012 at 8:07 PM, Dave Airlie <airlied@gmail.com> wrote:
>
> Why couldn't this script just be a wrapper around qemu?
>
> I get the kvm developers developing features that isn't ideal, but for
> the quick boot a kernel tests, I don't see why a well maintained qemu
> wrapper isn't superior. I hate constructing qemu command lines, but a
> script in the kernel repo seems like a good idea.

you can build one iso like:

make isoimage FDARGS="ignore_loglevel debug initcall_debug
acpi.debug_layer=0xffff0000 pci=routeirq apic=debug
ramdisk_size=262144 root=/dev/ram0 rw ip=dhcp
console=uart8250,io,0x3f8,115200"
FDINITRD=/home/yhlu/xx/xx/rootfs/mydisk14_x86_64_xz.xz

then use kvm to load that iso

/usr/local/kvm/bin/qemu-system-x86_64 -L /usr/local/kvm/share/qemu -m
6144 -net nic,model=e1000,macaddr=00:1c:25:1c:13:e9 -net user -smp 2
-cdrom /home/yhlu/xx/xx/kernel/tip/linux-2.6/arch/x86/boot/image.iso
-boot d -serial telnet:127.0.0.1:4444,server -monitor stdio

later could use
  telnet 127.0.0.1 4444
in another terminal to get serial console.

and initrd is converted from opensuse rescue initrd.

hope we can have scripts to create standalone initrd with updated user
program etc.

Thanks

Yinghai

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21  3:07         ` Dave Airlie
  2012-10-21  3:46           ` Yinghai Lu
@ 2012-10-21 11:03           ` Christoph Hellwig
  2012-10-21 12:59             ` Ingo Molnar
  2012-10-21 11:18           ` Borislav Petkov
  2 siblings, 1 reply; 32+ messages in thread
From: Christoph Hellwig @ 2012-10-21 11:03 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Borislav Petkov, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Ingo Molnar, Avi Kivity, linux-kernel,
	Christoph Hellwig

On Sun, Oct 21, 2012 at 01:07:31PM +1000, Dave Airlie wrote:
> Why couldn't this script just be a wrapper around qemu

It can be.  Here is my ususual one:

#!/bin/sh

/opt/qemu/bin/qemu-system-x86_64 \
	-m 1500 \
	-enable-kvm \
	-drive if=none,file=/home/hch/qemu-root.img,cache=none,id=root \
	-device virtio-blk-pci,drive=root \
	-append "root=/dev/vda console=tty0 console=ttyS0,38400n8 kgdboc=ttyS0,38400n8" \
	-kernel arch/x86/boot/bzImage \
	-nographic

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21  3:07         ` Dave Airlie
  2012-10-21  3:46           ` Yinghai Lu
  2012-10-21 11:03           ` Christoph Hellwig
@ 2012-10-21 11:18           ` Borislav Petkov
  2012-10-21 11:29             ` richard -rw- weinberger
  2 siblings, 1 reply; 32+ messages in thread
From: Borislav Petkov @ 2012-10-21 11:18 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Stephen Rothwell, Pekka Enberg, Linus Torvalds, Andrew Morton,
	Ingo Molnar, Avi Kivity, linux-kernel, Christoph Hellwig

On Sun, Oct 21, 2012 at 01:07:31PM +1000, Dave Airlie wrote:
> Why couldn't this script just be a wrapper around qemu?
>
> I get the kvm developers developing features that isn't ideal, but for
> the quick boot a kernel tests, I don't see why a well maintained qemu
> wrapper isn't superior. I hate constructing qemu command lines, but a
> script in the kernel repo seems like a good idea.

Well, Alex Graf had exactly that but I don't know what happened to it -
I can't find it upstream at least.

http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg02728.html

-- 
Regards/Gruss,
    Boris.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 11:18           ` Borislav Petkov
@ 2012-10-21 11:29             ` richard -rw- weinberger
  2012-10-21 22:16               ` Theodore Ts'o
  0 siblings, 1 reply; 32+ messages in thread
From: richard -rw- weinberger @ 2012-10-21 11:29 UTC (permalink / raw)
  To: Borislav Petkov, Dave Airlie, Stephen Rothwell, Pekka Enberg,
	Linus Torvalds, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

On Sun, Oct 21, 2012 at 1:18 PM, Borislav Petkov <bp@alien8.de> wrote:
> On Sun, Oct 21, 2012 at 01:07:31PM +1000, Dave Airlie wrote:
>> Why couldn't this script just be a wrapper around qemu?
>>
>> I get the kvm developers developing features that isn't ideal, but for
>> the quick boot a kernel tests, I don't see why a well maintained qemu
>> wrapper isn't superior. I hate constructing qemu command lines, but a
>> script in the kernel repo seems like a good idea.
>
> Well, Alex Graf had exactly that but I don't know what happened to it -
> I can't find it upstream at least.
>
> http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg02728.html

Every kernel developer has his own wrapper script to make qemu usable.
IMHO it's time to add such a script to the kernel tree.

-- 
Thanks,
//richard

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 11:03           ` Christoph Hellwig
@ 2012-10-21 12:59             ` Ingo Molnar
  2012-10-21 14:02               ` richard -rw- weinberger
  0 siblings, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2012-10-21 12:59 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Dave Airlie, Borislav Petkov, Stephen Rothwell, Pekka Enberg,
	Linus Torvalds, Andrew Morton, Avi Kivity, linux-kernel


* Christoph Hellwig <hch@infradead.org> wrote:

> On Sun, Oct 21, 2012 at 01:07:31PM +1000, Dave Airlie wrote:
> > Why couldn't this script just be a wrapper around qemu
> 
> It can be.  Here is my ususual one:
> 
> #!/bin/sh
> 
> /opt/qemu/bin/qemu-system-x86_64 \
> 	-m 1500 \
> 	-enable-kvm \
> 	-drive if=none,file=/home/hch/qemu-root.img,cache=none,id=root \

You are wrong on three counts:

 - As I mentioned it in my first mail to you this is not the 
   same as 'vm run': you still have a qemu-root.img while 
   tools/kvm does not ...

   'vm run' works without having any disk image around, it just 
   uses the existing distro binaries and boots them, sharing the 
   host file system.

 - automatic, transparent host filesystem sharing is another 
   useful feature: I can copy files in/out of the virtual 
   machine using the host filesystem.

 - transparent networking is up and running straight away

But yeah, I guess if you ignore enough key tools/kvm/ features 
then you will eventually be right: it's really just the same as 
Qemu and has no place in the kernel repo ;-)

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 12:59             ` Ingo Molnar
@ 2012-10-21 14:02               ` richard -rw- weinberger
  2012-10-21 15:03                 ` Ingo Molnar
  2012-10-21 15:39                 ` Pekka Enberg
  0 siblings, 2 replies; 32+ messages in thread
From: richard -rw- weinberger @ 2012-10-21 14:02 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Pekka Enberg, Linus Torvalds, Andrew Morton,
	Avi Kivity, linux-kernel

On Sun, Oct 21, 2012 at 2:59 PM, Ingo Molnar <mingo@kernel.org> wrote:
> You are wrong on three counts:
>
>  - As I mentioned it in my first mail to you this is not the
>    same as 'vm run': you still have a qemu-root.img while
>    tools/kvm does not ...
>
>    'vm run' works without having any disk image around, it just
>    uses the existing distro binaries and boots them, sharing the
>    host file system.
>
>  - automatic, transparent host filesystem sharing is another
>    useful feature: I can copy files in/out of the virtual
>    machine using the host filesystem.
>
>  - transparent networking is up and running straight away

qemu supports all these features.
E.g. to access the host fs use:
qemu ... \
  -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
\
  -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare

-- 
Thanks,
//richard

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 14:02               ` richard -rw- weinberger
@ 2012-10-21 15:03                 ` Ingo Molnar
  2012-10-21 17:15                   ` Borislav Petkov
  2012-10-21 15:39                 ` Pekka Enberg
  1 sibling, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2012-10-21 15:03 UTC (permalink / raw)
  To: richard -rw- weinberger
  Cc: Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Pekka Enberg, Linus Torvalds, Andrew Morton,
	Avi Kivity, linux-kernel


* richard -rw- weinberger <richard.weinberger@gmail.com> wrote:

> qemu supports all these features.
> E.g. to access the host fs use:
> qemu ... \
>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
> \
>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare

The best way to compare them would be a script that gives 
exactly the same test environment that 'vm run' / 'vm sandbox' 
does out of box, but using qemu.
 
If such a script is available then that would certainly be a 
useful testing option to kernel developers.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 14:02               ` richard -rw- weinberger
  2012-10-21 15:03                 ` Ingo Molnar
@ 2012-10-21 15:39                 ` Pekka Enberg
  2012-10-22  9:24                   ` Avi Kivity
  1 sibling, 1 reply; 32+ messages in thread
From: Pekka Enberg @ 2012-10-21 15:39 UTC (permalink / raw)
  To: richard -rw- weinberger
  Cc: Ingo Molnar, Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Linus Torvalds, Andrew Morton, Avi Kivity,
	linux-kernel, Asias He, Sasha Levin, Cyrill Gorcunov

On Sun, Oct 21, 2012 at 2:59 PM, Ingo Molnar <mingo@kernel.org> wrote:
>> You are wrong on three counts:
>>
>>  - As I mentioned it in my first mail to you this is not the
>>    same as 'vm run': you still have a qemu-root.img while
>>    tools/kvm does not ...
>>
>>    'vm run' works without having any disk image around, it just
>>    uses the existing distro binaries and boots them, sharing the
>>    host file system.
>>
>>  - automatic, transparent host filesystem sharing is another
>>    useful feature: I can copy files in/out of the virtual
>>    machine using the host filesystem.
>>
>>  - transparent networking is up and running straight away

On Sun, Oct 21, 2012 at 5:02 PM, richard -rw- weinberger
<richard.weinberger@gmail.com> wrote:
> qemu supports all these features.
> E.g. to access the host fs use:
> qemu ... \
>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
> \
>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare

IIRC, QEMU uses SLIRP non-root zero-config networking which is much
more limited than what LKVM offers out of the box.

Using host system rootfs is not quote as simple as you seem to think
so you need something like Alexander Graf's shell script for
comparable 'vm run' experience.

                        Pekka

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 15:03                 ` Ingo Molnar
@ 2012-10-21 17:15                   ` Borislav Petkov
  2012-10-21 17:40                     ` Markus Trippelsdorf
  0 siblings, 1 reply; 32+ messages in thread
From: Borislav Petkov @ 2012-10-21 17:15 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: richard -rw- weinberger, Christoph Hellwig, Dave Airlie,
	Stephen Rothwell, Pekka Enberg, Linus Torvalds, Andrew Morton,
	Avi Kivity, linux-kernel

On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> The best way to compare them would be a script that gives exactly the
> same test environment that 'vm run' / 'vm sandbox' does out of box,
> but using qemu.
>
> If such a script is available then that would certainly be a useful
> testing option to kernel developers.

Right,

I gotta say, I've mucked around with qemu/kvm net options as a novice
user and haven't always been successfu. If you get host networking
straight away in lkvm then that's another clear point for tools/kvm.

Same holds true for copying data back and forth between host and guest.

Thanks.

-- 
Regards/Gruss,
    Boris.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 17:15                   ` Borislav Petkov
@ 2012-10-21 17:40                     ` Markus Trippelsdorf
  2012-10-21 17:51                       ` Ingo Molnar
  0 siblings, 1 reply; 32+ messages in thread
From: Markus Trippelsdorf @ 2012-10-21 17:40 UTC (permalink / raw)
  To: Borislav Petkov, Ingo Molnar, richard -rw- weinberger,
	Christoph Hellwig, Dave Airlie, Stephen Rothwell, Pekka Enberg,
	Linus Torvalds, Andrew Morton, Avi Kivity, linux-kernel

On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > The best way to compare them would be a script that gives exactly the
> > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > but using qemu.
> >
> > If such a script is available then that would certainly be a useful
> > testing option to kernel developers.
> 
> Right,
> 
> I gotta say, I've mucked around with qemu/kvm net options as a novice
> user and haven't always been successfu. If you get host networking
> straight away in lkvm then that's another clear point for tools/kvm.
> 
> Same holds true for copying data back and forth between host and guest.

I'm agnostic about lkvm, but the following command does all the above:

qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio -net user -fsdev local,security_model=passthrough,id=root,path=/ -device virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic -append "init=/bin/zsh root=/dev/root console=ttyS0 kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"

If you want your host root-fs to be mounted rw (to copy data back and forth)
you need to run to above as root and add "rw" to the kernel options.

-- 
Markus

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 17:40                     ` Markus Trippelsdorf
@ 2012-10-21 17:51                       ` Ingo Molnar
  2012-10-21 17:54                         ` Markus Trippelsdorf
  0 siblings, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2012-10-21 17:51 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Borislav Petkov, richard -rw- weinberger, Christoph Hellwig,
	Dave Airlie, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Avi Kivity, linux-kernel


* Markus Trippelsdorf <markus@trippelsdorf.de> wrote:

> On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> > On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > > The best way to compare them would be a script that gives exactly the
> > > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > > but using qemu.
> > >
> > > If such a script is available then that would certainly be a useful
> > > testing option to kernel developers.
> > 
> > Right,
> > 
> > I gotta say, I've mucked around with qemu/kvm net options as a novice
> > user and haven't always been successfu. If you get host networking
> > straight away in lkvm then that's another clear point for tools/kvm.
> > 
> > Same holds true for copying data back and forth between host and guest.
> 
> I'm agnostic about lkvm, but the following command does all the above:
> 
> qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio 
> -net user -fsdev 
> local,security_model=passthrough,id=root,path=/ -device 
> virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 
> -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic 
> -append "init=/bin/zsh root=/dev/root console=ttyS0 
> kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"
> 
> If you want your host root-fs to be mounted rw (to copy data
> back and forth) you need to run to above as root and add "rw"
> to the kernel options.

Why does it have to run as root? I run 'vm' unprivileged (other 
than /dev/kvm access).

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 17:51                       ` Ingo Molnar
@ 2012-10-21 17:54                         ` Markus Trippelsdorf
  2012-10-21 18:04                           ` Markus Trippelsdorf
  2012-10-21 18:09                           ` Ingo Molnar
  0 siblings, 2 replies; 32+ messages in thread
From: Markus Trippelsdorf @ 2012-10-21 17:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Borislav Petkov, richard -rw- weinberger, Christoph Hellwig,
	Dave Airlie, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Avi Kivity, linux-kernel

On 2012.10.21 at 19:51 +0200, Ingo Molnar wrote:
> 
> * Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> 
> > On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> > > On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > > > The best way to compare them would be a script that gives exactly the
> > > > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > > > but using qemu.
> > > >
> > > > If such a script is available then that would certainly be a useful
> > > > testing option to kernel developers.
> > > 
> > > Right,
> > > 
> > > I gotta say, I've mucked around with qemu/kvm net options as a novice
> > > user and haven't always been successfu. If you get host networking
> > > straight away in lkvm then that's another clear point for tools/kvm.
> > > 
> > > Same holds true for copying data back and forth between host and guest.
> > 
> > I'm agnostic about lkvm, but the following command does all the above:
> > 
> > qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio 
> > -net user -fsdev 
> > local,security_model=passthrough,id=root,path=/ -device 
> > virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 
> > -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic 
> > -append "init=/bin/zsh root=/dev/root console=ttyS0 
> > kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"
> > 
> > If you want your host root-fs to be mounted rw (to copy data
> > back and forth) you need to run to above as root and add "rw"
> > to the kernel options.
> 
> Why does it have to run as root? I run 'vm' unprivileged (other 
> than /dev/kvm access).

>From the qemu man page:

 security_model=security_model

  Specifies the security model to be used for this export path.  Supported
security models are "passthrough", "mapped- xattr", "mapped-file" and "none".
In "passthrough" security model, files are stored using the same credentials as
they are created on the guest. This requires QEMU to run as root.

-- 
Markus

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 17:54                         ` Markus Trippelsdorf
@ 2012-10-21 18:04                           ` Markus Trippelsdorf
  2012-10-21 18:10                             ` Ingo Molnar
  2012-10-21 18:09                           ` Ingo Molnar
  1 sibling, 1 reply; 32+ messages in thread
From: Markus Trippelsdorf @ 2012-10-21 18:04 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Borislav Petkov, richard -rw- weinberger, Christoph Hellwig,
	Dave Airlie, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Avi Kivity, linux-kernel

On 2012.10.21 at 19:54 +0200, Markus Trippelsdorf wrote:
> On 2012.10.21 at 19:51 +0200, Ingo Molnar wrote:
> > 
> > * Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> > 
> > > On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> > > > On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > > > > The best way to compare them would be a script that gives exactly the
> > > > > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > > > > but using qemu.
> > > > >
> > > > > If such a script is available then that would certainly be a useful
> > > > > testing option to kernel developers.
> > > > 
> > > > Right,
> > > > 
> > > > I gotta say, I've mucked around with qemu/kvm net options as a novice
> > > > user and haven't always been successfu. If you get host networking
> > > > straight away in lkvm then that's another clear point for tools/kvm.
> > > > 
> > > > Same holds true for copying data back and forth between host and guest.
> > > 
> > > I'm agnostic about lkvm, but the following command does all the above:
> > > 
> > > qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio 
> > > -net user -fsdev 
> > > local,security_model=passthrough,id=root,path=/ -device 
> > > virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 
> > > -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic 
> > > -append "init=/bin/zsh root=/dev/root console=ttyS0 
> > > kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"
> > > 
> > > If you want your host root-fs to be mounted rw (to copy data
> > > back and forth) you need to run to above as root and add "rw"
> > > to the kernel options.
> > 
> > Why does it have to run as root? I run 'vm' unprivileged (other 
> > than /dev/kvm access).
> 
> From the qemu man page:
> 
>  security_model=security_model
> 
>   Specifies the security model to be used for this export path.  Supported
> security models are "passthrough", "mapped- xattr", "mapped-file" and "none".
> In "passthrough" security model, files are stored using the same credentials as
> they are created on the guest. This requires QEMU to run as root.

But you can use security_model=none as an unprivileged user. With this
option you can only change files for which you have permission (like
in your home directory).

-- 
Markus

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 17:54                         ` Markus Trippelsdorf
  2012-10-21 18:04                           ` Markus Trippelsdorf
@ 2012-10-21 18:09                           ` Ingo Molnar
  1 sibling, 0 replies; 32+ messages in thread
From: Ingo Molnar @ 2012-10-21 18:09 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Borislav Petkov, richard -rw- weinberger, Christoph Hellwig,
	Dave Airlie, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Avi Kivity, linux-kernel


* Markus Trippelsdorf <markus@trippelsdorf.de> wrote:

> On 2012.10.21 at 19:51 +0200, Ingo Molnar wrote:
> > 
> > * Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> > 
> > > On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> > > > On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > > > > The best way to compare them would be a script that gives exactly the
> > > > > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > > > > but using qemu.
> > > > >
> > > > > If such a script is available then that would certainly be a useful
> > > > > testing option to kernel developers.
> > > > 
> > > > Right,
> > > > 
> > > > I gotta say, I've mucked around with qemu/kvm net options as a novice
> > > > user and haven't always been successfu. If you get host networking
> > > > straight away in lkvm then that's another clear point for tools/kvm.
> > > > 
> > > > Same holds true for copying data back and forth between host and guest.
> > > 
> > > I'm agnostic about lkvm, but the following command does all the above:
> > > 
> > > qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio 
> > > -net user -fsdev 
> > > local,security_model=passthrough,id=root,path=/ -device 
> > > virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 
> > > -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic 
> > > -append "init=/bin/zsh root=/dev/root console=ttyS0 
> > > kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"
> > > 
> > > If you want your host root-fs to be mounted rw (to copy data
> > > back and forth) you need to run to above as root and add "rw"
> > > to the kernel options.
> > 
> > Why does it have to run as root? I run 'vm' unprivileged (other 
> > than /dev/kvm access).
> 
> From the qemu man page:
> 
>  security_model=security_model
> 
>   Specifies the security model to be used for this export 
> path.  Supported security models are "passthrough", "mapped- 
> xattr", "mapped-file" and "none". In "passthrough" security 
> model, files are stored using the same credentials as they are 
> created on the guest. This requires QEMU to run as root.

So I guess running it with 'none' can be used unprivileged?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 18:04                           ` Markus Trippelsdorf
@ 2012-10-21 18:10                             ` Ingo Molnar
  2012-10-22  9:26                               ` Avi Kivity
  0 siblings, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2012-10-21 18:10 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Borislav Petkov, richard -rw- weinberger, Christoph Hellwig,
	Dave Airlie, Stephen Rothwell, Pekka Enberg, Linus Torvalds,
	Andrew Morton, Avi Kivity, linux-kernel


* Markus Trippelsdorf <markus@trippelsdorf.de> wrote:

> On 2012.10.21 at 19:54 +0200, Markus Trippelsdorf wrote:
> > On 2012.10.21 at 19:51 +0200, Ingo Molnar wrote:
> > > 
> > > * Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> > > 
> > > > On 2012.10.21 at 19:15 +0200, Borislav Petkov wrote:
> > > > > On Sun, Oct 21, 2012 at 05:03:05PM +0200, Ingo Molnar wrote:
> > > > > > The best way to compare them would be a script that gives exactly the
> > > > > > same test environment that 'vm run' / 'vm sandbox' does out of box,
> > > > > > but using qemu.
> > > > > >
> > > > > > If such a script is available then that would certainly be a useful
> > > > > > testing option to kernel developers.
> > > > > 
> > > > > Right,
> > > > > 
> > > > > I gotta say, I've mucked around with qemu/kvm net options as a novice
> > > > > user and haven't always been successfu. If you get host networking
> > > > > straight away in lkvm then that's another clear point for tools/kvm.
> > > > > 
> > > > > Same holds true for copying data back and forth between host and guest.
> > > > 
> > > > I'm agnostic about lkvm, but the following command does all the above:
> > > > 
> > > > qemu-system-x86_64 -enable-kvm -net nic,vlan=0,model=virtio 
> > > > -net user -fsdev 
> > > > local,security_model=passthrough,id=root,path=/ -device 
> > > > virtio-9p-pci,id=root,fsdev=root,mount_tag=/dev/root -m 512 
> > > > -smp 2 -kernel /usr/src/linux/arch/x86/boot/bzImage -nographic 
> > > > -append "init=/bin/zsh root=/dev/root console=ttyS0 
> > > > kgdboc=ttyS0 rootflags=rw,trans=virtio rootfstype=9p ip=dhcp"
> > > > 
> > > > If you want your host root-fs to be mounted rw (to copy data
> > > > back and forth) you need to run to above as root and add "rw"
> > > > to the kernel options.
> > > 
> > > Why does it have to run as root? I run 'vm' unprivileged (other 
> > > than /dev/kvm access).
> > 
> > From the qemu man page:
> > 
> >  security_model=security_model
> > 
> >   Specifies the security model to be used for this export 
> > path.  Supported security models are "passthrough", "mapped- 
> > xattr", "mapped-file" and "none". In "passthrough" security 
> > model, files are stored using the same credentials as they 
> > are created on the guest. This requires QEMU to run as root.
> 
> But you can use security_model=none as an unprivileged user. 
> With this option you can only change files for which you have 
> permission (like in your home directory).

That's very much desired for testing anyway.

Ok, looks useful - will someone on the Qemu side script this up 
and integrate it into the kernel in a useful form?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 11:29             ` richard -rw- weinberger
@ 2012-10-21 22:16               ` Theodore Ts'o
  0 siblings, 0 replies; 32+ messages in thread
From: Theodore Ts'o @ 2012-10-21 22:16 UTC (permalink / raw)
  To: richard -rw- weinberger
  Cc: Borislav Petkov, Dave Airlie, Stephen Rothwell, Pekka Enberg,
	Linus Torvalds, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

On Sun, Oct 21, 2012 at 01:29:35PM +0200, richard -rw- weinberger wrote:
> Every kernel developer has his own wrapper script to make qemu usable.
> IMHO it's time to add such a script to the kernel tree.

One observation I'll make is that for many people, what you want to do
is a *lot* more than just simply create a wrapper script to fire up
qemu.  For me to do my testing, I want to build a kernel on the host
OS, and then fire up a script which fires up xfstests and runs it with
a collection of different file system mount options to do my ext4
testing.   I've shared that here:

	git://git.kernel.org/pub/scm/fs/ext2/xfstests-bld.git

where the host-side scripts are in the kvm-xfstests directory, and the
guest-side scripts are in the kvm-autorun directory.  I can pass in a
set of fs configurations and xfstest test numbers via the command line
on the host os, i.e., "kvm-xfstests -c 4k,ext4,nojournal
13,225,245,246".  And then afterwards the scripts parse out the test
output and summarizes so it's easy to see what passed and what failed.

So the bottom line is that for me at least, starting up qemu is a very
tiny part of what I need to do in order to do my testing.  If you want
to really encourage good testing, what would be better is to encourage
more people to create standardized testing and benchmarking scripts
that many kernel developers can easily run.  And those are going to be
complex enough that I don't think it makes sense for them to live in
the kernel tree.

    	     	    	       	  	   - Ted


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 15:39                 ` Pekka Enberg
@ 2012-10-22  9:24                   ` Avi Kivity
  2012-10-22 10:16                     ` Gleb Natapov
  0 siblings, 1 reply; 32+ messages in thread
From: Avi Kivity @ 2012-10-22  9:24 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: richard -rw- weinberger, Ingo Molnar, Christoph Hellwig,
	Dave Airlie, Borislav Petkov, Stephen Rothwell, Linus Torvalds,
	Andrew Morton, linux-kernel, Asias He, Sasha Levin,
	Cyrill Gorcunov

On 10/21/2012 05:39 PM, Pekka Enberg wrote:
> 
> On Sun, Oct 21, 2012 at 5:02 PM, richard -rw- weinberger
> <richard.weinberger@gmail.com> wrote:
>> qemu supports all these features.
>> E.g. to access the host fs use:
>> qemu ... \
>>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
>> \
>>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare
> 
> IIRC, QEMU uses SLIRP non-root zero-config networking which is much
> more limited than what LKVM offers out of the box.

Curious, what are the differences?

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-21 18:10                             ` Ingo Molnar
@ 2012-10-22  9:26                               ` Avi Kivity
  0 siblings, 0 replies; 32+ messages in thread
From: Avi Kivity @ 2012-10-22  9:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Markus Trippelsdorf, Borislav Petkov, richard -rw- weinberger,
	Christoph Hellwig, Dave Airlie, Stephen Rothwell, Pekka Enberg,
	Linus Torvalds, Andrew Morton, linux-kernel

On 10/21/2012 08:10 PM, Ingo Molnar wrote:
> Ok, looks useful - will someone on the Qemu side script this up 
> and integrate it into the kernel in a useful form?

There are going to be as many options as there are users - people will
want different things, like block device assignment (for fs/iosched
people), device assignment (driver developers), cpu/memory topology, or
a dozen other things.  I think the best we can hope for is an example
script for people to copy and modify, otherwise we'll end up with the
same number of options that qemu has.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-22  9:24                   ` Avi Kivity
@ 2012-10-22 10:16                     ` Gleb Natapov
  2012-10-23  2:20                       ` Asias He
  0 siblings, 1 reply; 32+ messages in thread
From: Gleb Natapov @ 2012-10-22 10:16 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Pekka Enberg, richard -rw- weinberger, Ingo Molnar,
	Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Linus Torvalds, Andrew Morton, linux-kernel,
	Asias He, Sasha Levin, Cyrill Gorcunov

On Mon, Oct 22, 2012 at 11:24:19AM +0200, Avi Kivity wrote:
> On 10/21/2012 05:39 PM, Pekka Enberg wrote:
> > 
> > On Sun, Oct 21, 2012 at 5:02 PM, richard -rw- weinberger
> > <richard.weinberger@gmail.com> wrote:
> >> qemu supports all these features.
> >> E.g. to access the host fs use:
> >> qemu ... \
> >>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
> >> \
> >>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare
> > 
> > IIRC, QEMU uses SLIRP non-root zero-config networking which is much
> > more limited than what LKVM offers out of the box.
> 
> Curious, what are the differences?
> 
Me too, especially as we discussed replacing SLIRP with lkvm code for
userspace networking and decided (for reasons I do not remember) that it
lacks futures SLIRP has. Was it host port redirection?

--
			Gleb.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-22 10:16                     ` Gleb Natapov
@ 2012-10-23  2:20                       ` Asias He
  2012-10-31 15:05                         ` Gleb Natapov
  0 siblings, 1 reply; 32+ messages in thread
From: Asias He @ 2012-10-23  2:20 UTC (permalink / raw)
  To: Gleb Natapov
  Cc: Avi Kivity, Pekka Enberg, richard -rw- weinberger, Ingo Molnar,
	Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Linus Torvalds, Andrew Morton, linux-kernel,
	Sasha Levin, Cyrill Gorcunov

On Mon, Oct 22, 2012 at 6:16 PM, Gleb Natapov <gleb@redhat.com> wrote:
> On Mon, Oct 22, 2012 at 11:24:19AM +0200, Avi Kivity wrote:
>> On 10/21/2012 05:39 PM, Pekka Enberg wrote:
>> >
>> > On Sun, Oct 21, 2012 at 5:02 PM, richard -rw- weinberger
>> > <richard.weinberger@gmail.com> wrote:
>> >> qemu supports all these features.
>> >> E.g. to access the host fs use:
>> >> qemu ... \
>> >>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
>> >> \
>> >>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare
>> >
>> > IIRC, QEMU uses SLIRP non-root zero-config networking which is much
>> > more limited than what LKVM offers out of the box.
>>
>> Curious, what are the differences?
>>
> Me too, especially as we discussed replacing SLIRP with lkvm code for
> userspace networking and decided (for reasons I do not remember) that it
> lacks futures SLIRP has. Was it host port redirection?

Yes.  Currently, there is no host to guest port forward support in lkvm.
However, it's faster than slirp.
e.g. tcp bandwidth in a 100Mb/s environment
lkvm's userspace networking ~90Mb/s  v.s qemu's slirp  ~10Mb/s

-- 
Asias He

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-23  2:20                       ` Asias He
@ 2012-10-31 15:05                         ` Gleb Natapov
  0 siblings, 0 replies; 32+ messages in thread
From: Gleb Natapov @ 2012-10-31 15:05 UTC (permalink / raw)
  To: Asias He
  Cc: Avi Kivity, Pekka Enberg, richard -rw- weinberger, Ingo Molnar,
	Christoph Hellwig, Dave Airlie, Borislav Petkov,
	Stephen Rothwell, Linus Torvalds, Andrew Morton, linux-kernel,
	Sasha Levin, Cyrill Gorcunov

On Tue, Oct 23, 2012 at 10:20:34AM +0800, Asias He wrote:
> On Mon, Oct 22, 2012 at 6:16 PM, Gleb Natapov <gleb@redhat.com> wrote:
> > On Mon, Oct 22, 2012 at 11:24:19AM +0200, Avi Kivity wrote:
> >> On 10/21/2012 05:39 PM, Pekka Enberg wrote:
> >> >
> >> > On Sun, Oct 21, 2012 at 5:02 PM, richard -rw- weinberger
> >> > <richard.weinberger@gmail.com> wrote:
> >> >> qemu supports all these features.
> >> >> E.g. to access the host fs use:
> >> >> qemu ... \
> >> >>   -fsdev local,security_model=passthrough,id=fsdev-root,path=/your/root/,readonly
> >> >> \
> >> >>   -device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=rootshare
> >> >
> >> > IIRC, QEMU uses SLIRP non-root zero-config networking which is much
> >> > more limited than what LKVM offers out of the box.
> >>
> >> Curious, what are the differences?
> >>
> > Me too, especially as we discussed replacing SLIRP with lkvm code for
> > userspace networking and decided (for reasons I do not remember) that it
> > lacks futures SLIRP has. Was it host port redirection?
> 
> Yes.  Currently, there is no host to guest port forward support in lkvm.
> However, it's faster than slirp.
> e.g. tcp bandwidth in a 100Mb/s environment
> lkvm's userspace networking ~90Mb/s  v.s qemu's slirp  ~10Mb/s
> 
This is not entirely slirp fault BTW. If you run QEMU with "-usbdevice tablet", slirp
bandwidth goes up to 80-90Mb too.

--
			Gleb.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-10-20  7:04     ` Stephen Rothwell
  2012-10-20 18:14       ` Borislav Petkov
@ 2012-11-14  5:24       ` Stephen Rothwell
  2012-11-14  6:02         ` Theodore Ts'o
  1 sibling, 1 reply; 32+ messages in thread
From: Stephen Rothwell @ 2012-11-14  5:24 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Linus Torvalds, Andrew Morton, Ingo Molnar, Avi Kivity,
	linux-kernel, Christoph Hellwig

[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]

Hi all again,

On Sat, 20 Oct 2012 18:04:36 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Tue, 16 Oct 2012 07:50:52 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> > On Mon, Oct 15, 2012 at 7:41 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> > >>
> > >>   git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux.git kvmtool/for-linus
> > >
> > > So you have not taken this in the v3.7 merge window.
> > >
> > > Will you ever merge this?
> > 
> > I have yet to see a compelling argument for merging it. It's tons of
> > code, it doesnt match the original "small simple" model, and I think
> > it would be better off as a separate project.
> 
> So are there any compelling arguments from the proponents, or can I
> remove this from linux-next (and have it removed from the tip auto-latest
> branch)?

So, where did we get to?  I *think* the consensus was that the KVM tool
did not need to be in the kernel tree, right?  In which case:

	1) I need to remove the kvmtool tree from linux-next
	2) the same code needs to be removed from the tip tree

hmm?
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [GIT PULL] Linux KVM tool for v3.7-rc0
  2012-11-14  5:24       ` Stephen Rothwell
@ 2012-11-14  6:02         ` Theodore Ts'o
  0 siblings, 0 replies; 32+ messages in thread
From: Theodore Ts'o @ 2012-11-14  6:02 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Pekka Enberg, Linus Torvalds, Andrew Morton, Ingo Molnar,
	Avi Kivity, linux-kernel, Christoph Hellwig

On Wed, Nov 14, 2012 at 04:24:48PM +1100, Stephen Rothwell wrote:
> So, where did we get to?  I *think* the consensus was that the KVM tool
> did not need to be in the kernel tree, right?  In which case:
> 
> 	1) I need to remove the kvmtool tree from linux-next
> 	2) the same code needs to be removed from the tip tree

I believe Linus has made his preferences clear on this...

  	  	    	     		       	  - Ted

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2012-11-14  6:02 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-12 11:34 [GIT PULL] Linux KVM tool for v3.7-rc0 Pekka Enberg
2012-10-12 17:27 ` Christoph Hellwig
2012-10-18 10:03   ` Ingo Molnar
2012-10-18 10:31     ` Pekka Enberg
2012-10-16  2:41 ` Stephen Rothwell
2012-10-16 14:50   ` Linus Torvalds
2012-10-20  7:04     ` Stephen Rothwell
2012-10-20 18:14       ` Borislav Petkov
2012-10-21  3:07         ` Dave Airlie
2012-10-21  3:46           ` Yinghai Lu
2012-10-21 11:03           ` Christoph Hellwig
2012-10-21 12:59             ` Ingo Molnar
2012-10-21 14:02               ` richard -rw- weinberger
2012-10-21 15:03                 ` Ingo Molnar
2012-10-21 17:15                   ` Borislav Petkov
2012-10-21 17:40                     ` Markus Trippelsdorf
2012-10-21 17:51                       ` Ingo Molnar
2012-10-21 17:54                         ` Markus Trippelsdorf
2012-10-21 18:04                           ` Markus Trippelsdorf
2012-10-21 18:10                             ` Ingo Molnar
2012-10-22  9:26                               ` Avi Kivity
2012-10-21 18:09                           ` Ingo Molnar
2012-10-21 15:39                 ` Pekka Enberg
2012-10-22  9:24                   ` Avi Kivity
2012-10-22 10:16                     ` Gleb Natapov
2012-10-23  2:20                       ` Asias He
2012-10-31 15:05                         ` Gleb Natapov
2012-10-21 11:18           ` Borislav Petkov
2012-10-21 11:29             ` richard -rw- weinberger
2012-10-21 22:16               ` Theodore Ts'o
2012-11-14  5:24       ` Stephen Rothwell
2012-11-14  6:02         ` Theodore Ts'o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.