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 agoCorrect memory addition calculations
Peter Dinda [Fri, 2 Aug 2013 01:27:10 +0000]
Correct memory addition calculations

10 years agoEnhanced user-space memory interface, allowing dynamic kernel-allocations
Peter Dinda [Fri, 2 Aug 2013 00:48:12 +0000]
Enhanced user-space memory interface, allowing dynamic kernel-allocations

10 years agoBuddy allocator metadata for pools
Peter Dinda [Fri, 2 Aug 2013 00:46:08 +0000]
Buddy allocator metadata for pools

10 years agoIntegration of buddy allocator
Jack Lange [Fri, 2 Aug 2013 00:45:15 +0000]
Integration of buddy allocator

This also includes a new dynamic allocation feature (Dinda)

10 years agoEnable barrier participation and core stop while in halt
Jack Lange [Thu, 1 Aug 2013 21:32:50 +0000]
Enable barrier participation and core stop while in halt

10 years agoMask hyperthreading CPUID bit
Peter Dinda [Wed, 31 Jul 2013 23:52:55 +0000]
Mask hyperthreading CPUID bit

10 years agoEnable cores to be reset via INIT IPI
Jack Lange [Wed, 31 Jul 2013 22:46:09 +0000]
Enable cores to be reset via INIT IPI

10 years agoupdated host pci interface to support non-contiguous memory regions
Jack Lange [Wed, 31 Jul 2013 22:01:10 +0000]
updated host pci interface to support non-contiguous memory regions

10 years agoFurther changes to support new non-contiguous memory model (checkpointing, vm informa...
Peter Dinda [Wed, 31 Jul 2013 22:00:22 +0000]
Further changes to support new non-contiguous memory model (checkpointing, vm information interface, vm guest memory interface)

10 years agoAdded non-contiguous memory region support.
Jack Lange [Wed, 31 Jul 2013 21:56:38 +0000]
Added non-contiguous memory region support.

10 years agoMinor tweaks and configuration comments for vmm_fw_cfg (the interface to the SEABIOS)
Peter Dinda [Mon, 1 Jul 2013 22:06:43 +0000]
Minor tweaks and configuration comments for vmm_fw_cfg (the interface to the SEABIOS)

This also includes some minor cleanup

fs

10 years agoAllow selection of different BIOSes for the PC hardware class
Peter Dinda [Mon, 1 Jul 2013 22:05:46 +0000]
Allow selection of different BIOSes for the PC hardware class

10 years agoadded high memory capacity to NVRAM memory space
Alexander Kudryavtsev [Tue, 22 Jan 2013 03:46:33 +0000]
added high memory capacity to NVRAM memory space

10 years agoSEABIOS binaries added for ease in building palacios
Peter Dinda [Fri, 28 Jun 2013 20:50:29 +0000]
SEABIOS binaries added for ease in building palacios

10 years agoupdates to enable functionality necessary for SEABIOS to run
Jack Lange [Fri, 28 Jun 2013 20:45:28 +0000]
updates to enable functionality necessary for SEABIOS to run
added fw_cfg framework, special mov instruction decoding

also added NUMA framework files to compilation process

10 years agoadded NUMA interface files to pass NUMA layout between host and Palacios
Peter Dinda [Fri, 28 Jun 2013 20:00:35 +0000]
added NUMA interface files to pass NUMA layout between host and Palacios

10 years agoquix86 instruction patches
Maciek Swiech [Fri, 7 Jun 2013 20:46:02 +0000]
quix86 instruction patches

10 years agoadded updated version of the VGABIOS needed to work with SEABIOS
Jack Lange [Fri, 7 Jun 2013 20:32:35 +0000]
added updated version of the VGABIOS needed to work with SEABIOS

10 years agoadded NUMA query support for Linux to allow Palacios to determine the NUMA layout...
Jack Lange [Fri, 7 Jun 2013 20:20:23 +0000]
added NUMA query support for Linux to allow Palacios to determine the NUMA layout of the host system

10 years agoadded modified buddy allocator derived from Kitten implementation
Jack Lange [Fri, 7 Jun 2013 20:16:59 +0000]
added modified buddy allocator derived from Kitten implementation

This version allows discontiguous memory pools, to enable NUMA support for Palacios VMs

10 years agoadd FW_CFG interface implementation for SEABIOS
Alexander Kudryavtsev [Fri, 7 Jun 2013 20:13:53 +0000]
add FW_CFG interface implementation for SEABIOS

10 years agoimported SEABIOS source tree
Jack Lange [Fri, 7 Jun 2013 20:01:11 +0000]
imported SEABIOS source tree

10 years agoPolling changes in host devices and keyed stream
Peter Dinda [Sun, 4 Aug 2013 22:16:02 +0000]
Polling changes in host devices and keyed stream

10 years agov3_stream fix for escape character handling
Peter Dinda [Fri, 2 Aug 2013 22:43:04 +0000]
v3_stream fix for escape character handling

10 years ago8259A PIC obeys master ICW3 masking of the slave
Peter Dinda [Fri, 2 Aug 2013 22:27:32 +0000]
8259A PIC obeys master ICW3 masking of the slave

10 years agoMajor rewrite of serial port device
Peter Dinda [Fri, 2 Aug 2013 21:15:26 +0000]
Major rewrite of serial port device

- 16450 and 16550A behaviors
- internal interrupt register, plus interrupt priority encoding
- numerous other fixes

10 years agoUpdate to virtio console for new stream interface
Peter Dinda [Fri, 2 Aug 2013 21:08:19 +0000]
Update to virtio console for new stream interface

10 years agoUpdate to char_stream device for new stream interface changes
Peter Dinda [Fri, 2 Aug 2013 21:07:31 +0000]
Update to char_stream device for new stream interface changes

10 years agoChanges to stream interface to allow for flow control and error signaling
Peter Dinda [Fri, 2 Aug 2013 21:06:28 +0000]
Changes to stream interface to allow for flow control and error signaling

10 years agoCopyrights for lock and memory checking
Peter Dinda [Fri, 2 Aug 2013 20:45:44 +0000]
Copyrights for lock and memory checking

10 years agoAdditional cleanup of v3_stream interactive mode.
Patrick G. Bridges [Fri, 2 Aug 2013 20:42:14 +0000]
Additional cleanup of v3_stream interactive mode.

10 years agoAdded basic escape handling to v3_stream interactive mode
Patrick G. Bridges [Thu, 1 Aug 2013 23:14:06 +0000]
Added basic escape handling to v3_stream interactive mode

10 years agoFixes to interrupt (IRQ and VIRQ) injection logic:
Peter Dinda [Fri, 2 Aug 2013 20:41:13 +0000]
Fixes to interrupt (IRQ and VIRQ) injection logic:

- eliminates potential race condition between intr being
  pending when intially checked, and no vector available before
  injection begins

- differentiates "do no have a vector" from "vector 0"

- detects VIRQ 0 correctly if it is raised

10 years agoDefault yield policy is now friendly with a 10 ms timeout
Peter Dinda [Fri, 2 Aug 2013 20:38:55 +0000]
Default yield policy is now friendly with a 10 ms timeout

10 years ago8259 PIC corrections and cleanup
Peter Dinda [Mon, 22 Jul 2013 22:34:37 +0000]
8259 PIC corrections and cleanup

- the weird priority-ordering between the slave and master chip are now implemented
- slave interrupt raises propgate correctly to master and are maskable by it
- better debugging and error output
- sanity checking / correction of "pending after EOI" bug, which
  was a combination of not a bug, incorrect slave interaction, and
  assumptions about concurrency

10 years agoLock-checking enhancements - simple deadlock detection
Peter Dinda [Mon, 22 Jul 2013 22:31:22 +0000]
Lock-checking enhancements - simple deadlock detection

The lockchecker will now detect when a lock is held for a long period of time.
When this occurs, it will dump out the state of all locks in the system,
tagging the ones that have been held longer than expected.   Of course, this will
find deadlocks.  But it will also find non-deadlocks that have this property.
By setting the time threshold, these can be filtered.

10 years agoFallback to shadow paging if nested not supported or no paging mode specified
Peter Dinda [Mon, 15 Jul 2013 23:29:43 +0000]
Fallback to shadow paging if nested not supported or no paging mode specified

10 years agoAdd interface for power monitoring and telemetry option for power-related statistics
Kyle Hale [Tue, 18 Jun 2013 22:16:38 +0000]
Add interface for power monitoring and telemetry option for power-related statistics

I added telemetry output for Intel's RAPL power monitoring capability
(present since Sandy Bridge). This code is pretty heavily based on the
PMU codebase, so it might make sense to merge them together at some point, but
for now the semantics of PMU and RAPL seemed different enough to justify
having them separate.

The code is organized in a way such that if AMD adds similar support or
if Intel adds new RAPL counters, they should be fairly straightforward
to integrate.

10 years agoLock checking enhancement to find frequently used (hot) locks
Peter Dinda [Tue, 18 Jun 2013 19:00:58 +0000]
Lock checking enhancement to find frequently used (hot) locks

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.