Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


11 years agoAdd v3_cons_sc sanity check for Terminal size
Thomas Naughton [Fri, 24 Aug 2012 15:38:26 +0000]
Add v3_cons_sc sanity check for Terminal size

11 years agoCleanup in thread name handling
Peter Dinda [Fri, 17 Aug 2012 22:12:04 +0000]
Cleanup in thread name handling

11 years agoCleaner handling of tx kick threads in vnet core
Peter Dinda [Fri, 17 Aug 2012 21:50:05 +0000]
Cleaner handling of tx kick threads in vnet core

11 years agoAvoid corruption when freeing a guest fails
Peter Dinda [Fri, 17 Aug 2012 21:01:47 +0000]
Avoid corruption when freeing a guest fails

11 years agobetter UI for v3_free
Peter Dinda [Fri, 17 Aug 2012 20:55:29 +0000]
better UI for v3_free

11 years agoDisallow startup with shadow paging + memory region outside 4GB boundary
Peter Dinda [Fri, 17 Aug 2012 20:40:17 +0000]
Disallow startup with shadow paging + memory region outside 4GB boundary

11 years agofiledisk XML configuration language tweak
Peter Dinda [Fri, 17 Aug 2012 16:21:43 +0000]
filedisk XML configuration language tweak

11 years agoVirtio NIC's guest-driven, vmm-driven, or adaptive modes can now
Peter Dinda [Thu, 9 Aug 2012 18:52:52 +0000]
Virtio NIC's guest-driven, vmm-driven, or adaptive modes can now
be set from a configuration block:

<device ... >
   <model mode="guest-driven|vmm-driven|adaptive"
          upper="pkts_per_sec"
          lower="pkts_per_sec"
          period="usec"  />

...

11 years agoConfigurable yielding strategies in VNET bridge thread and tx kick threads
Peter Dinda [Thu, 9 Aug 2012 18:50:02 +0000]
Configurable yielding strategies in VNET bridge thread and tx kick threads

11 years agoHalt handling uses global performance parameters to decide yield strategy
Peter Dinda [Thu, 9 Aug 2012 18:48:49 +0000]
Halt handling uses global performance parameters to decide yield strategy

11 years agoConfiguration of global performance parameters
Peter Dinda [Thu, 9 Aug 2012 18:44:03 +0000]
Configuration of global performance parameters
Integration of yielding parameters into this framework

11 years agoEnhancements to VNET and to halting:
Peter Dinda [Sun, 5 Aug 2012 23:14:14 +0000]
Enhancements to VNET and to halting:

- VNET sends UDP packets without checksumming
- VNET threads (bridge and transmit kick thread)
  adaptively choose yielding strategy
- halt handler adaptive chooses yielding strategy

11 years agoSupport for new Palacios image file format (Version 1)
Kyle Hale [Sat, 28 Jul 2012 22:40:26 +0000]
Support for new Palacios image file format (Version 1)

The VMM configuration side and the utilities side have been updated to now support
two file formats:

Version 0 : The previous version "legacy"
Version 1 : The new version "file integrity checking"

build_vm now has an option [-v] to select versions, version 1 is the default
v3_create now creates version 1 images when dynamic construction of an image file is done

Version 1 has these changes:

add integrity checking for files included in guest configs

This patch adds a hash field to the file headers built from guest
configurations. Both methods of guest creation (in-memory with XML and
file building with build_vm) have been modified to support this. The hash
is passed along with the file when it's added to Palacios, so integrity checks
can theoretically happen at any point, but currently
this is only being done at configuration time.

11 years agorepurpose v3_ctrl.c as a utility library for palacios userspace progs
Kyle Hale [Sat, 28 Jul 2012 20:46:05 +0000]
repurpose v3_ctrl.c as a utility library for palacios userspace progs

I've taken some common idioms used in a lot of the userspace utilities
and put them in a (for now, static) library that all programs can utilize.
One example: when running an ioctl, it's no longer necessary to open the vm device,
close it, etc. This is taken care of by v3_vm_ioctl.
This should give us some more code sharing and make the userspace utilities quicker to write and a bit smaller.
For now, I've modified v3_free, v3_launch, v3_stop, and v3_create to use this library,
so you can look to those for examples.

11 years agoTypo fix
Peter Dinda [Fri, 3 Aug 2012 18:04:17 +0000]
Typo fix

11 years agoupdate palacios mempool status when onlining memory in userspace
Kyle Hale [Fri, 27 Jul 2012 03:55:36 +0000]
update palacios mempool status when onlining memory in userspace

/proc/v3vee/v3-mem will now report correctly after memory has been onlined

11 years agoAPIC and CR8 changes for vector priorization vs TPR
Peter Dinda [Fri, 3 Aug 2012 16:47:30 +0000]
APIC and CR8 changes for vector priorization vs TPR

This patch does the following:

- It moves the TPR into the guest core structure, replacing CR8
- It intercepts CR8 reads/writes to update the TPR accordingly
- It moves prioritization into the APIC, away from the architecture-specific
  SVM or VMX handling
- It computes APIC PPR and APR dynamically in the APIC
- It does vector to PPR priority comparison (this was not done before at all)
- It does vector to APR comparison for IPI delivery
- It updates checkpointing, etc, to reflect these changes

11 years agotypo fix
Jack Lange [Sat, 28 Jul 2012 20:23:57 +0000]
typo fix

11 years agoMerge branch 'devel' of palacios@newskysaw.cs.northwestern.edu:/home/palacios/palacio...
Peter Dinda [Fri, 27 Jul 2012 23:18:07 +0000]
Merge branch 'devel' of palacios@newskysaw.cs.northwestern.edu:/home/palacios/palacios into devel

11 years agoFurther cleanup of vnet /proc interface
Peter Dinda [Fri, 27 Jul 2012 23:17:17 +0000]
Further cleanup of vnet /proc interface

11 years agoCleaned up /proc parsing for vnet
Peter Dinda [Fri, 27 Jul 2012 22:03:19 +0000]
Cleaned up /proc parsing for vnet

11 years agoadded 64bit bar support to passthrough PCI
Jack Lange [Wed, 25 Apr 2012 14:33:58 +0000]
added 64bit bar support to passthrough PCI

11 years agoadded vmware paravirtual extension
Jack Lange [Fri, 27 Jul 2012 19:07:08 +0000]
added vmware paravirtual extension

11 years agoadded error check to 8259
Jack Lange [Fri, 27 Jul 2012 19:06:45 +0000]
added error check to 8259

11 years agomemory leak fixes
Jack Lange [Wed, 4 Jul 2012 23:06:01 +0000]
memory leak fixes

11 years agomake bitmap operations atomic, fixes potential barrier race condition
Jack Lange [Wed, 4 Jul 2012 22:03:15 +0000]
make bitmap operations atomic, fixes potential barrier race condition

11 years agoreworked v3_create to allow loading XML files directly and runtime configuration...
Jack Lange [Wed, 27 Jun 2012 00:15:17 +0000]
reworked v3_create to allow loading XML files directly and runtime configuration options

11 years agoadded host_pci passthrough PCI support
Jack Lange [Tue, 17 Apr 2012 22:19:30 +0000]
added host_pci passthrough PCI support

11 years agoadded state checks for VM control commands
Jack Lange [Fri, 27 Jul 2012 19:04:38 +0000]
added state checks for VM control commands

11 years agoincorporate changes to intelligent barriers
Jack Lange [Fri, 27 Jul 2012 18:55:59 +0000]
incorporate changes to intelligent barriers

11 years agoenabled VMX exit hooks
Jack Lange [Fri, 27 Jul 2012 18:42:35 +0000]
enabled VMX exit hooks

11 years agorevert to earlier rdtsc intercepts
Jack Lange [Fri, 27 Jul 2012 18:39:17 +0000]
revert to earlier rdtsc intercepts

11 years agoexit handler tweaks
Jack Lange [Fri, 27 Jul 2012 18:34:56 +0000]
exit handler tweaks

11 years agoevent tweaks
Jack Lange [Fri, 27 Jul 2012 18:34:40 +0000]
event tweaks

11 years agoadded event hooking framework
Jack Lange [Thu, 26 Jul 2012 20:36:25 +0000]
added event hooking framework

11 years agoadded runstate checks in barrier to allow locking operations to proceed when VM is...
Jack Lange [Thu, 26 Jul 2012 20:34:40 +0000]
added runstate checks in barrier to allow locking operations to proceed when VM is not running

11 years agoinitial implementation of hookable exits
Jack Lange [Thu, 26 Jul 2012 18:36:44 +0000]
initial implementation of hookable exits

11 years agofix for 1GB pages
Jack Lange [Mon, 4 Jun 2012 18:39:17 +0000]
fix for 1GB pages

11 years agoCorrected vnet locking with irqsave/restore
Peter Dinda [Fri, 27 Jul 2012 18:05:58 +0000]
Corrected vnet locking with irqsave/restore

11 years agoAPIC checks enabled register on irr scan
Peter Dinda [Fri, 27 Jul 2012 17:16:20 +0000]
APIC checks enabled register on irr scan

11 years agoMissing file
Peter Dinda [Fri, 27 Jul 2012 17:14:52 +0000]
Missing file

11 years agoadd cleanup for Palacios extensions, add per-core data to extensions
Kyle Hale [Fri, 20 Jul 2012 00:20:42 +0000]
add cleanup for Palacios extensions, add per-core data to extensions

extensions can now have their own per-core extension state without
adding cruft to the guest_info structure

11 years agosmall fixes to swint code, add proper cleanup
Kyle Hale [Thu, 19 Jul 2012 23:58:07 +0000]
small fixes to swint code, add proper cleanup

11 years agostop and free all VMs on Linux module exit
Kyle Hale [Thu, 19 Jul 2012 23:56:37 +0000]
stop and free all VMs on Linux module exit

11 years agoadd cleanup to graphics console code
Kyle Hale [Thu, 19 Jul 2012 23:50:57 +0000]
add cleanup to graphics console code

11 years agoLinux userspace tools for live migration
Diana Palsetia, Steve Rangel, and Mark Cartwright [Thu, 19 Jul 2012 23:24:51 +0000]
Linux userspace tools for live migration

11 years agoLinux-side availability of live migration functionality
Diana Palsetia, Steve Rangel, and Mark Cartwright [Thu, 19 Jul 2012 21:36:43 +0000]
Linux-side availability of live migration functionality

11 years agoLive Migration Functionality
Mark Cartwright, Diana Palsetia, and Steve Rangel [Thu, 19 Jul 2012 23:22:49 +0000]
Live Migration Functionality

11 years agoAdditional features for vmm_bitmap
Mark Cartwright [Thu, 19 Jul 2012 21:24:19 +0000]
Additional features for vmm_bitmap

11 years agoShadow-paging event callbacks
Peter Dinda [Thu, 19 Jul 2012 21:23:00 +0000]
Shadow-paging event callbacks

These changes allow VMM code to get a callback before and after various shadow paging events
including page fault, invlpg, page table activation, page table flush, etc.

11 years agoParallelize build of linux module
Peter Dinda [Thu, 19 Jul 2012 00:01:54 +0000]
Parallelize build of linux module

11 years agoVNET Hypercall interface, implemented as a new stub device
Peter Dinda [Wed, 18 Jul 2012 17:13:01 +0000]
VNET Hypercall interface, implemented as a new stub device

11 years agompi accelerator hcall fix
Peter Dinda [Wed, 18 Jul 2012 17:12:26 +0000]
mpi accelerator hcall fix

11 years agoAdded ability to hook memory by access (no instruction emulation)
Peter Dinda [Fri, 13 Jul 2012 20:17:26 +0000]
Added ability to hook memory by access (no instruction emulation)

11 years agopatch for v3_dump_mem print output
Peter Dinda [Fri, 13 Jul 2012 19:18:25 +0000]
patch for v3_dump_mem print output

11 years agoproper cleanup in iface-file and iface-host-dev
Kyle Hale [Tue, 10 Jul 2012 23:36:31 +0000]
proper cleanup in iface-file and iface-host-dev

11 years agocompilation fix in vmm_debug.c
Kyle Hale [Sun, 8 Jul 2012 17:45:12 +0000]
compilation fix in vmm_debug.c

11 years agoRevised check for already-launched VM
Kyle Hale [Sat, 7 Jul 2012 23:39:09 +0000]
Revised check for already-launched VM

11 years agoExpose kmalloc flags within linux_module + add further debugging features for heap...
Peter Dinda [Sat, 7 Jul 2012 23:33:46 +0000]
Expose kmalloc flags within linux_module + add further debugging features for heap alloc

11 years agoChange to internal v3_yield/yield_cond semantics:
Peter Dinda [Sat, 7 Jul 2012 23:23:23 +0000]
Change to internal v3_yield/yield_cond semantics:

v3_yield(guest, time (usec) )

time <   0 => direct call to host yield os hook
time >=0 0 => direct call to host yield_timed os hook
              (this usually implies interruptible, even if time=0)

time is in usec

11 years agoSmall fixes in v3_free.c
Kyle Hale [Thu, 5 Jul 2012 19:38:51 +0000]
Small fixes in v3_free.c

Use strtol instead of atoi for more flexible index numbers. Also, fail
on error returned from ioctl.

11 years agoFail gracefully on VM create or free errors
Kyle Hale [Sat, 7 Jul 2012 22:47:17 +0000]
Fail gracefully on VM create or free errors

11 years agoActually do cleanup in guest deinit in stream iface
Kyle Hale [Sat, 7 Jul 2012 22:41:28 +0000]
Actually do cleanup in guest deinit in stream iface

11 years agoCheck to make sure extension name is provided
Kyle Hale [Thu, 5 Jul 2012 19:32:37 +0000]
Check to make sure extension name is provided

Fixes a null pointer dereference that occurs if an extension is
provided without a name

11 years agoLots of pedantic error checking in Palacios proper, especially for memory
Peter Dinda [Sat, 7 Jul 2012 22:28:06 +0000]
Lots of pedantic error checking in Palacios proper, especially for memory

11 years agomake v3_launch fail on ioctl error
Kyle Hale [Wed, 27 Jun 2012 23:55:44 +0000]
make v3_launch fail on ioctl error

11 years agodon't allow launch of an already running VM
Kyle Hale [Wed, 27 Jun 2012 23:48:39 +0000]
don't allow launch of an already running VM

11 years agoadd file and line number to linux module error prints
Kyle Hale [Wed, 27 Jun 2012 22:49:19 +0000]
add file and line number to linux module error prints

11 years agoParanoid error checking in userspace utils
Kyle Hale [Wed, 27 Jun 2012 22:46:15 +0000]
Paranoid error checking in userspace utils

11 years agoFixes to allocation order and functions
Peter Dinda [Sat, 7 Jul 2012 21:28:14 +0000]
Fixes to allocation order and functions

11 years agoExtensive, Pedantic Error Checking in Linux module, especially for memory
Peter Dinda [Wed, 27 Jun 2012 19:20:45 +0000]
Extensive, Pedantic Error Checking in Linux module, especially for memory

11 years agoCorrected timed yield
Peter Dinda [Wed, 27 Jun 2012 02:24:38 +0000]
Corrected timed yield

11 years agoUpdates to VNET. Most importantly, better yielding in the transmit kick threads and...
Peter Dinda [Tue, 26 Jun 2012 21:35:36 +0000]
Updates to VNET. Most importantly, better yielding in the transmit kick threads and other fixes to allow removal of v3vee.ko with vnet on, and to avoid potential synchronization issues.

11 years agoTimed yielding in vmm_halt to avoid pegging CPU
Peter Dinda [Tue, 26 Jun 2012 21:33:10 +0000]
Timed yielding in vmm_halt to avoid pegging CPU

11 years agoUpdated lock/unlock irq save/restore to directly use os hooks versions
Peter Dinda [Tue, 26 Jun 2012 21:32:21 +0000]
Updated lock/unlock irq save/restore to directly use os hooks versions

11 years agoMake V3_Yield and V3_Yield_Timed macros globally visible as non-guest-associated...
Peter Dinda [Tue, 26 Jun 2012 21:31:07 +0000]
Make V3_Yield and V3_Yield_Timed macros globally visible as non-guest-associated yields are needed in some components (e.g. vnet)

11 years agoVNET fixes and adaptation to new API
Peter Dinda [Tue, 26 Jun 2012 21:29:17 +0000]
VNET fixes and adaptation to new API

The most important fixes here are in eliminating the use of blocking receives
and using timed yields

11 years agoChanges to linux interfaces:
Peter Dinda [Tue, 26 Jun 2012 21:27:41 +0000]
Changes to linux interfaces:

- relevant palacios stubs exposed globally so other linux_module code can use them
- irq_save and irq_restore versions of mutex locks directly exposed to allow linux
  lock debugging features to work across linux and palacios
- timed yield
- global proc dir

11 years agoFurther printing cleanup
Peter Dinda [Sun, 24 Jun 2012 20:54:04 +0000]
Further printing cleanup

11 years agoCompilation fixes for more recent kernels
Peter Dinda [Fri, 22 Jun 2012 21:29:02 +0000]
Compilation fixes for more recent kernels

11 years agoUser utils for memory offlining and VM creation with binding
Ferrol Aderholdt [Fri, 22 Jun 2012 18:46:27 +0000]
User utils for memory offlining and VM creation with binding

11 years ago/proc info showing vm device and vm name mapping, and memory use
Ferrol Aderholdt [Fri, 22 Jun 2012 18:45:15 +0000]
/proc info showing vm device and vm name mapping, and memory use

11 years agoReinstate v3_console (accidental delete)
Peter Dinda [Wed, 20 Jun 2012 23:08:42 +0000]
Reinstate v3_console (accidental delete)

11 years agoUpdate host dev and keyed stream user to reflect changes in ioctl define locations
Peter Dinda [Wed, 20 Jun 2012 23:01:39 +0000]
Update host dev and keyed stream user to reflect changes in ioctl define locations

11 years agoreplace errant printks in linux module with macro calls
Peter Dinda [Wed, 20 Jun 2012 23:01:04 +0000]
replace errant printks in linux module with macro calls

11 years agoCleaned up help messages for userspace utils
Peter Dinda [Wed, 20 Jun 2012 22:55:24 +0000]
Cleaned up help messages for userspace utils
Updated Makefile to build v3_debug

11 years agotype fix
Jack Lange [Fri, 25 May 2012 20:08:47 +0000]
type fix

11 years agoadded symbolic backtrace functionality
Jack Lange [Wed, 2 May 2012 20:48:57 +0000]
added symbolic backtrace functionality

11 years agoadded dedicated debugging framework with associated interface
Jack Lange [Wed, 20 Jun 2012 19:28:38 +0000]
added dedicated debugging framework with associated interface

11 years agovmx fixes
Jack Lange [Wed, 20 Jun 2012 19:23:02 +0000]
vmx fixes

11 years agocleaned up ioctl linux interfaces
Jack Lange [Wed, 20 Jun 2012 19:00:27 +0000]
cleaned up ioctl linux interfaces

11 years agoUtility cleanup
Peter Dinda [Wed, 20 Jun 2012 18:05:58 +0000]
Utility cleanup
  - v3_create does not mention launching
  - v3_cons_sc does not do debugging by default (no more 2>/dev/null)
  - v3_cons_sc checks to make sure window is big enough before running

11 years agoNew style printk for vnet
Peter Dinda [Wed, 20 Jun 2012 16:07:41 +0000]
New style printk for vnet

11 years agoNetwork support for keyed streams "net:"
Diana Palsetia and Steve Rangel [Wed, 20 Jun 2012 03:58:48 +0000]
Network support for keyed streams "net:"

11 years agoMore extensive error checking in checkpoint/restore + other cleanup
Peter Dinda [Wed, 20 Jun 2012 01:48:39 +0000]
More extensive error checking in checkpoint/restore + other cleanup

11 years agoPrefaced output from V3_Print on linux module
Peter Dinda [Tue, 19 Jun 2012 21:28:09 +0000]
Prefaced output from V3_Print on linux module

11 years agoUpdates to linux module to use linux print macros
Ben Scholbrock [Tue, 19 Jun 2012 20:46:39 +0000]
Updates to linux module to use linux print macros

11 years agoLinux printing macros for linux module
Ben Scholbrock [Tue, 19 Jun 2012 20:44:39 +0000]
Linux printing macros for linux module

11 years agoCorrect key name in pci save/restore
Peter Dinda [Tue, 19 Jun 2012 20:41:01 +0000]
Correct key name in pci save/restore

11 years agoAdded user-space utilities for controlling the selective syscall exiting utility
Kyle Hale [Tue, 29 May 2012 18:20:38 +0000]
Added user-space utilities for controlling the selective syscall exiting utility