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.


10 years agoLock and memory checking enhancements
Peter Dinda [Fri, 14 Jun 2013 21:40:01 +0000]
Lock and memory checking enhancements

10 years agocpuid bugfix for iface-pmu code
Kyle Hale [Mon, 17 Jun 2013 23:29:34 +0000]
cpuid bugfix for iface-pmu code

cpuid_string was not properly dereferencing a pointer, causing invalid
results to be returned by cpuid in eax

10 years agoLock bugfixes - missing lock deinits This also adds deinit calls in the linux_module...
Peter Dinda [Tue, 28 May 2013 22:24:04 +0000]
Lock bugfixes - missing lock deinits This also adds deinit calls in the linux_module code so that these locks are correclty tracked

10 years agoMemory alloction bugfix for vmm_events
Peter Dinda [Tue, 28 May 2013 22:23:15 +0000]
Memory alloction bugfix for vmm_events

10 years agoSpecial-cased handling of zero-byte mallocs since Linux does this insanely Also inclu...
Peter Dinda [Tue, 28 May 2013 22:20:36 +0000]
Special-cased handling of zero-byte mallocs since Linux does this insanely Also includes part of lock checking enhancments (lock deinit for use in linux module)

10 years agoMemory checking enhancements
Peter Dinda [Tue, 28 May 2013 22:20:20 +0000]
Memory checking enhancements

10 years agoLock checking enhancements
Peter Dinda [Tue, 28 May 2013 22:19:39 +0000]
Lock checking enhancements

10 years agoMinor bug fix
Peter Dinda [Mon, 27 May 2013 22:46:22 +0000]
Minor bug fix

10 years agoMemory allocation checking framework
Peter Dinda [Mon, 27 May 2013 22:32:22 +0000]
Memory allocation checking framework

10 years agoEnhancements to lock checking and its configurability
Peter Dinda [Sun, 26 May 2013 22:36:24 +0000]
Enhancements to lock checking and its configurability

10 years agoLock checking framework and cleanup of linux module code to use palacios interfaces...
Peter Dinda [Fri, 24 May 2013 22:42:35 +0000]
Lock checking framework and cleanup of linux module code to use palacios interfaces The idea here is to make it possible to track locks and memory across both the core VMM and the linux module code

10 years agoCheckpointing fixes
Maciek Swiech [Fri, 24 May 2013 16:45:20 +0000]
Checkpointing fixes

vmm_checkpoint.c
    - GUEST_CRO ==> GUEST_CR0
serial.c
    - Added TX and RX buffer tags
    - Fixed tag for COMX_IRQ_NUM
8254.c
    - Added LATCH_VALUE to checkpointing

11 years agoAdd missing CPU mapper files
Oscar Mondragon [Mon, 6 May 2013 20:53:01 +0000]
Add missing CPU mapper files

11 years agoAdd CPU mapper extension and fix to scheduler for time dilation
Oscar Mondragon [Mon, 6 May 2013 20:51:47 +0000]
Add CPU mapper extension and fix to scheduler for time dilation

11 years agoHost PCI with selective privilege (can dynamically permit or disallow PCI passthrough...
Peter Dinda [Thu, 25 Apr 2013 00:29:15 +0000]
Host PCI with selective privilege (can dynamically permit or disallow PCI passthrough access)
Also minor tweak to user space Makefile

11 years agoAdd tools for transforming a kernel module into a guarded module
Kyle Hale [Wed, 10 Apr 2013 21:07:37 +0000]
Add tools for transforming a kernel module into a guarded module

11 years agoAdd guarded module infrastructure
Kyle Hale [Wed, 10 Apr 2013 21:03:22 +0000]
Add guarded module infrastructure

This commit includes all of the changes for guarded modules that
do not touch the VMM core at all. This includes a host interface,
userspace utility, and Palacios extensions.

11 years agoMouse functionality and cleanup
Brian Ambielli [Fri, 12 Apr 2013 23:34:32 +0000]
Mouse functionality and cleanup

11 years agoUpdated vnc server to correspond to new mouse events
Peter Dinda [Fri, 12 Apr 2013 23:06:48 +0000]
Updated vnc server to correspond to new mouse events

11 years agoRevised mouse-related host events, graphics console, and userland support; mouse...
Peter Dinda [Fri, 12 Apr 2013 23:03:17 +0000]
Revised mouse-related host events, graphics console, and userland support; mouse packet generation

11 years agoParavirtualized graphics device
Peter Dinda [Fri, 22 Mar 2013 21:21:04 +0000]
Paravirtualized graphics device

11 years agoCorrect irq behavior for mouse
Brian Ambielli [Fri, 22 Mar 2013 21:13:56 +0000]
Correct irq behavior for mouse

11 years agoPCI bugfix for passthrough bars
Peter Dinda [Fri, 22 Mar 2013 20:59:57 +0000]
PCI bugfix for passthrough bars

11 years agoVNC server interface to graphics console source code
Peter Dinda [Fri, 22 Mar 2013 20:42:57 +0000]
VNC server interface to graphics console source code

11 years agoGraphics console user space interface library
Peter Dinda [Fri, 22 Mar 2013 20:41:21 +0000]
Graphics console user space interface library

11 years agoCheckpointing and migration now support options, the first of which are: skipping...
Peter Dinda [Mon, 18 Mar 2013 19:05:08 +0000]
Checkpointing and migration now support options, the first of which are: skipping memory, skipping devices, skipping cores, and skipping the archtecture-dependent state

11 years agoGeneral cleanup and help on v3_debug
Peter Dinda [Mon, 18 Mar 2013 18:58:08 +0000]
General cleanup and help on v3_debug

11 years agoUser space library and example tool for accessing guest physical memory from host...
Peter Dinda [Wed, 13 Mar 2013 15:51:29 +0000]
User space library and example tool for accessing guest physical memory from host user space

11 years agoSupport for optional full /dev/mem access even if host kernel has strict devmem
Peter Dinda [Wed, 13 Mar 2013 15:49:36 +0000]
Support for optional full /dev/mem access even if host kernel has strict devmem

This adds a new option:

  insmod v3vee.ko allow_devmem=1

This will enable host user space programs to mmap any host physical memory using
/dev/mem even if the host kernel has strict /dev/mem limitations.

11 years agoAMD PMU - load/store counts now use data cache access counter, tlb miss count
Peter Dinda [Fri, 1 Mar 2013 21:49:47 +0000]
AMD PMU - load/store counts now use data cache access counter, tlb miss count
counts on all levels

11 years agoRemoval of debugging crud
Peter Dinda [Fri, 1 Mar 2013 21:33:52 +0000]
Removal of debugging crud

11 years agoCorrected UCPI and UMPL estimation in PMU telemetry
Peter Dinda [Fri, 1 Mar 2013 20:58:26 +0000]
Corrected UCPI and UMPL estimation in PMU telemetry

11 years agonull check in host_sched_yield
Oscar [Mon, 25 Feb 2013 00:15:04 +0000]
null check in host_sched_yield

11 years agoCorrected PCI printdebug errors
Peter Dinda [Sun, 24 Feb 2013 21:07:57 +0000]
Corrected PCI printdebug errors

11 years agoCorrect scheduler startup when no option given
Peter Dinda [Sun, 24 Feb 2013 19:01:03 +0000]
Correct scheduler startup when no option given

11 years agoMinor PMU bugfix
Peter Dinda [Thu, 21 Feb 2013 22:36:15 +0000]
Minor PMU bugfix

11 years agoPMU-based telemetry extension to monitor guest and host behavior
Peter Dinda [Wed, 20 Feb 2013 02:14:28 +0000]
PMU-based telemetry extension to monitor guest and host behavior

11 years agoPMU Host Interface and initial implementation for Linux and AMD/Intel
Chang Bae [Wed, 20 Feb 2013 02:08:39 +0000]
PMU Host Interface and initial implementation for Linux and AMD/Intel

11 years agoRange-based invalidation for nested and direct paging + use in memory region managment
Peter Dinda [Thu, 21 Feb 2013 22:29:52 +0000]
Range-based invalidation for nested and direct paging + use in memory region managment

11 years agoUse passed in options to set scheduler
Patrick G. Bridges [Thu, 21 Feb 2013 20:15:45 +0000]
Use passed in options to set scheduler

11 years agoFix for option processing
Patrick G. Bridges [Wed, 20 Feb 2013 23:56:50 +0000]
Fix for option processing

11 years agoAdded missed Makefile update for option handling
Patrick G. Bridges [Wed, 20 Feb 2013 17:55:16 +0000]
Added missed Makefile update for option handling

11 years agoSplit global option processing code into a separate file
Patrick G. Bridges [Wed, 20 Feb 2013 17:54:50 +0000]
Split global option processing code into a separate file

11 years agoMerge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios...
Patrick G. Bridges [Wed, 20 Feb 2013 17:54:05 +0000]
Merge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios into devel

11 years agoFixed major palacios barrier implementation error with potentially serious implicatio...
Chang Bae [Tue, 19 Feb 2013 23:55:53 +0000]
Fixed major palacios barrier implementation error with potentially serious implications on all multicore guests

11 years agoMerge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios...
Patrick G. Bridges [Tue, 19 Feb 2013 19:19:03 +0000]
Merge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios into devel

11 years agoAdded null check to option processing call.
Patrick G. Bridges [Tue, 19 Feb 2013 16:04:12 +0000]
Added null check to option processing call.

11 years agoCorrection of scheduler registration check
Patrick G. Bridges [Thu, 14 Feb 2013 18:06:02 +0000]
Correction of scheduler registration check

11 years agoAdded first cut at options processing for the palacios module
Patrick G. Bridges [Mon, 11 Feb 2013 22:06:42 +0000]
Added first cut at options processing for the palacios module

11 years agoremove extraneous dos linefeeds from scheduling files
Oscar Mondragon [Mon, 11 Feb 2013 22:04:53 +0000]
remove extraneous dos linefeeds from scheduling files

11 years agoUpdate of scheduling infrastructure and newest version of EDF scheduler
Oscar Mondragon [Mon, 11 Feb 2013 21:19:30 +0000]
Update of scheduling infrastructure and newest version of EDF scheduler

11 years agoCopyright header corrections to scheduler interface
Patrick G. Bridges [Mon, 11 Feb 2013 18:08:29 +0000]
Copyright header corrections to scheduler interface

11 years agoMerge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios...
Patrick G. Bridges [Wed, 6 Feb 2013 18:29:00 +0000]
Merge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios into devel

11 years agoCommented in scheduler call previously commented out.
Oscar Mondragon [Wed, 6 Feb 2013 18:28:30 +0000]
Commented in scheduler call previously commented out.

11 years agobugfix: memory region is now removed from hook table on v3_unhook_mem
Kyle Hale [Wed, 6 Feb 2013 17:05:27 +0000]
bugfix: memory region is now removed from hook table on v3_unhook_mem

11 years agoInitial commit of new scheduling infrastructure. The EDF scheduler does not
Oscar Mondragon [Wed, 6 Feb 2013 17:50:52 +0000]
Initial commit of new scheduling infrastructure. The EDF scheduler does not
yet work, Linux/Kitten hooks still need to be added for sleep/wakeup, and
we still need a mechanism to specify options to Palacios when it starts up.
it is booted.

11 years agoAdded missed extension include update
Patrick G. Bridges [Tue, 5 Feb 2013 20:29:20 +0000]
Added missed extension include update

11 years agoAdded global initialization hook for extensions to support upcoming scheduling extensions
Patrick G. Bridges [Tue, 5 Feb 2013 20:05:08 +0000]
Added global initialization hook for extensions to support upcoming scheduling extensions

11 years agoAdded proper updated quix86 libraries that had been omitted from
Alexander Kudryavtsev [Mon, 4 Feb 2013 23:47:33 +0000]
Added proper updated quix86 libraries that had been omitted from
previous patch.

11 years agoMerge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios...
Patrick G. Bridges [Sun, 27 Jan 2013 01:03:21 +0000]
Merge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios into devel

11 years agoUpdated quix86 patch from Alexander. With latest version of library,
Alexander Kudryavtsev [Fri, 25 Jan 2013 20:55:04 +0000]
Updated quix86 patch from Alexander. With latest version of library,
boots 64-bit guests on real hardware.

11 years agoUpdated quix86 patch from Alexander. With latest version of library,
Patrick G. Bridges [Fri, 25 Jan 2013 20:55:04 +0000]
Updated quix86 patch from Alexander. With latest version of library,
boots 64-bit guests on real hardware.

11 years agoCorrect banner titles in configuration screens
Peter Dinda [Sat, 5 Jan 2013 18:15:18 +0000]
Correct banner titles in configuration screens

11 years agoOptional starting address for v3_mem
Peter Dinda [Sat, 5 Jan 2013 01:45:22 +0000]
Optional starting address for v3_mem

The idea here is that on hosts that already have a lot of stuff
running, it may be very costly to offline memory blocks low in the
physical address space - the kernel may take a looong time to copy
their contents and set things up accordingly.  With this patch, you can say
things like:

v3_mem 1024 1024

which means that you are looking to allocate 1024 MB of space
starting at or above the address 1024*(1024*1024)

11 years agoAdditional error checking / output for failing memory region operations
Peter Dinda [Tue, 1 Jan 2013 00:11:16 +0000]
Additional error checking / output for failing memory region operations

11 years agoContext-based output infrastructure (V3_Print, etc) and modifications to use it
Peter Dinda [Sat, 29 Dec 2012 18:59:47 +0000]
Context-based output infrastructure (V3_Print, etc) and modifications to use it

This commit is huge, but the vast majority of it is basically trivial changes in
how V3_Print, PrintDebug, PrintError, V3_ASSERT, and Vnet_Print are invoked
throughout our codebase. All compiles, with all debug and features enabled.
Functionality testing doesn't show problems.

These functions now include a context: the VM and the vcore.  There are
Several cases:

V3_Print(vm, vcore, ...)           => VM-specific, and vcore-specific
V3_Print(vm, VCORE_NONE,...)       => VM-specific, but not core specific
V3_Print(VM_NONE, VCORE_NONE),...) => non-specific

PrintDebug now prefaces data with DEBUG:
PrintError now prefaces data with ERROR:
Telementry prefaces with telem.# (as before)

The print OS hook has been modified so that it is called with:

print(void *host_priv_data_from_create, // NULL = non-specific
      int vcore_number,                 // -1 = non-specific
      ...)

The linux implementation now uses this functionality to decorate its
output in an enhanced way:

palacios (pcore num): ...
palacios (pcore num vm name): ...
palacios (pcore num vm name vcore num):...

The new userspace tool v3_info filters and formats dmesg or /proc/kmsg
output in numerous ways so that you can, for example, focus on the
debugging output of a specfic core on a specific VM. Run without
arguments for help.

Other minor compilation fixes for ancient code.

11 years agoUse of information interface to enhance output of /proc/v3vee-/v3-guests in Linux
Peter Dinda [Sat, 29 Dec 2012 00:47:39 +0000]
Use of information interface to enhance output of /proc/v3vee-/v3-guests in Linux

11 years agoinformation request api for the host - gives a more detailed view of VM and vcore...
Peter Dinda [Sat, 29 Dec 2012 00:46:44 +0000]
information request api for the host - gives a more detailed view of VM and vcore state to the host

11 years agoExplictly tags in saves for PIT, APIC, IOAPIC, SVM, and CORE
Madhav Suresh [Thu, 27 Dec 2012 02:11:54 +0000]
Explictly tags in saves for PIT, APIC, IOAPIC, SVM, and CORE

11 years agoAllow spaces in key names for textfile: saves
Peter Dinda [Thu, 27 Dec 2012 02:10:45 +0000]
Allow spaces in key names for textfile: saves

11 years agoLibrary and tools for manipulating text and binary file ("KEYED STREAM file: / textfi...
Peter Dinda [Wed, 26 Dec 2012 17:22:29 +0000]
Library and tools for manipulating text and binary file ("KEYED STREAM file: / textfile:") checkpoints at user level.

11 years agoCheckpointing of serial devices
Madhav Suresh [Wed, 26 Dec 2012 17:19:58 +0000]
Checkpointing of serial devices

11 years agoDevices updated for revised checkpoint interface
Peter Dinda [Wed, 26 Dec 2012 17:18:21 +0000]
Devices updated for revised checkpoint interface

11 years agoDevice manager updated with extended save/load model to facilitate devices that need...
Peter Dinda [Wed, 26 Dec 2012 17:16:26 +0000]
Device manager updated with extended save/load model to facilitate devices that need to manage their own contexts

11 years agoUpdate svm and vmx checkpoint functionality to new interface
Peter Dinda [Wed, 26 Dec 2012 17:15:40 +0000]
Update svm and vmx checkpoint functionality to new interface

11 years agoImplementation of revised checkpoint/migrate interface model
Peter Dinda [Wed, 26 Dec 2012 17:13:16 +0000]
Implementation of revised checkpoint/migrate interface model

11 years agoImplemntation of newer keyed stream interface on linux, includes new "textfile" ...
Peter Dinda [Wed, 26 Dec 2012 17:10:36 +0000]
Implemntation of newer keyed stream interface on linux, includes new "textfile" (ini file) output capability

11 years agoNew keyed stream interface
Peter Dinda [Wed, 26 Dec 2012 17:07:44 +0000]
New keyed stream interface

11 years agoMinor changes to eliminate warnings, and second-try allocation for pages
Peter Dinda [Wed, 26 Dec 2012 17:03:27 +0000]
Minor changes to eliminate warnings, and second-try allocation for pages

11 years agoFriendlier user-space build/run for graphical components (gui, vnc)
Peter Dinda [Fri, 21 Dec 2012 20:28:02 +0000]
Friendlier user-space build/run for graphical components (gui, vnc)

11 years agoPalacios GUI Added
Abhinav Kannan [Fri, 21 Dec 2012 19:26:04 +0000]
Palacios GUI Added

11 years agoV3_Yield_Timed(usec) was renamed V3_Sleep(usec)
Kevin Pedretti [Fri, 26 Oct 2012 16:36:27 +0000]
V3_Yield_Timed(usec) was renamed V3_Sleep(usec)

11 years agoCleanup of curses dependency in v3_cons/cons_sc build
Thomas Naughton [Thu, 18 Oct 2012 15:47:25 +0000]
Cleanup of curses dependency in v3_cons/cons_sc build

11 years agoRebuild v3_create by default
Peter Dinda [Mon, 1 Oct 2012 14:13:04 +0000]
Rebuild v3_create by default

11 years agocheck for out-of-bounds index when freeing a VM
Kyle Hale [Thu, 23 Aug 2012 08:59:11 +0000]
check for out-of-bounds index when freeing a VM

11 years agosmall updates to GEARS utilities (for use with v3_ctrl lib)
Kyle Hale [Wed, 22 Aug 2012 06:53:11 +0000]
small updates to GEARS utilities (for use with v3_ctrl lib)

11 years agoadd correct caching behavior to VMX EPT environments
Jack Lange [Mon, 24 Sep 2012 20:21:59 +0000]
add correct caching behavior to VMX EPT environments

11 years agoupdate CPUID to disable unsupported features (MTRRS, ARET, APIC2) and globalize the...
Jack Lange [Mon, 24 Sep 2012 20:21:19 +0000]
update CPUID to disable unsupported features (MTRRS, ARET, APIC2) and globalize the hypervisor flag

11 years agocorrectly handle NMI exits on VMX architectures
Jack Lange [Mon, 24 Sep 2012 20:21:00 +0000]
correctly handle NMI exits on VMX architectures

11 years agoAdded updated sleep/wakeup functionality
Patrick G. Bridges [Fri, 21 Sep 2012 16:36:52 +0000]
Added updated sleep/wakeup functionality

11 years agoAdded functionality for MONITOR and MWAIT instructions on SVM and VMX:
Peter Dinda [Mon, 10 Sep 2012 20:16:21 +0000]
Added functionality for MONITOR and MWAIT instructions on SVM and VMX:

  - CPUID now reports that MONITOR/MWAIT is not available
  - MONITOR and MWAIT are hooked on both VMX and SVM (previously only SVM)
  - If monitor or mwait are executed, they cause a #UD

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