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.


8 years agofix potential overflow condition in VMX assist
Kyle Hale [Sun, 6 Sep 2015 20:01:20 +0000]
fix potential overflow condition in VMX assist

8 years agoHVM support for forwarding events to ROS
Peter Dinda [Tue, 8 Sep 2015 22:41:34 +0000]
HVM support for forwarding events to ROS

Protocol and hypercall logic to support forwarding
of system calls and page faults from the HRT to the ROS

This allows an HRT with a merged address space to rely on
the ROS for page faults on the shared part of the address
space, and it allows the HRT to make system calls on the
ROS, provided all arguments, directly or indirectly, are
in the shared part of the address space.

8 years agoMore init checks to allow graceful fail out when VM cannot be created
Peter Dinda [Tue, 8 Sep 2015 22:32:22 +0000]
More init checks to allow graceful fail out when VM cannot be created

8 years agoMinor tweak to fix handling of extensions without initializers
Peter Dinda [Mon, 7 Sep 2015 16:29:20 +0000]
Minor tweak to fix handling of extensions without initializers

8 years agoCleanup and sanity-checking of assorted additional issues from second pass (Coverity...
Peter Dinda [Tue, 1 Sep 2015 21:47:54 +0000]
Cleanup and sanity-checking of assorted additional issues from second pass (Coverity static analysis)

8 years agoCleanup and sanity-checking of unintentional integer overflow, unsigned/zero comparis...
Peter Dinda [Tue, 1 Sep 2015 21:12:15 +0000]
Cleanup and sanity-checking of unintentional integer overflow, unsigned/zero comparisons, untrusted or tainted data tracking, weird operator choice (Coverity static analysis)

There are a fair number of uses of tainted data (e.g., from user or file) -
I left most of these alone for now.

8 years agoCleanup and sanity-checking of endianness, dead code, unchecked returns (Coverity...
Peter Dinda [Tue, 1 Sep 2015 20:51:01 +0000]
Cleanup and sanity-checking of endianness, dead code, unchecked returns (Coverity static analysis)

8 years agoCleanup and sanity-checking of switch issues, negative array indexes, operand indepen...
Peter Dinda [Tue, 1 Sep 2015 20:21:34 +0000]
Cleanup and sanity-checking of switch issues, negative array indexes, operand independence (Coverity static analysis)

8 years agoCleanup and sanity-checking of integer overflow, null comparisons, dead code (Coverit...
Peter Dinda [Tue, 1 Sep 2015 19:54:38 +0000]
Cleanup and sanity-checking of integer overflow, null comparisons, dead code (Coverity static analysis)

8 years agoCleanup and sanity-checking of explicit null derefs (Coverity static analysis)
Peter Dinda [Tue, 1 Sep 2015 19:11:36 +0000]
Cleanup and sanity-checking of explicit null derefs (Coverity static analysis)

8 years agoCleanup and sanity-checking of divide-by-zero and floating point use bugs (Coverity...
Peter Dinda [Tue, 1 Sep 2015 18:28:59 +0000]
Cleanup and sanity-checking of divide-by-zero and floating point use bugs (Coverity static analysis)

Note that varargs use within Palacios itself is problematic
as the varargs implementation used handles floating point as well
as integer.  This means that an innocuous use of a va_list
results in FP register reads.

8 years agoCleanup and sanity-checking of before/after null-check and copy+paste errors (Coverit...
Peter Dinda [Tue, 1 Sep 2015 16:47:14 +0000]
Cleanup and sanity-checking of before/after null-check and copy+paste errors (Coverity static analysis)

8 years agoCleanup and sanity-checking of OOB accesses and pointer-to-local issues (Coverity...
Peter Dinda [Mon, 31 Aug 2015 23:18:28 +0000]
Cleanup and sanity-checking of OOB accesses and pointer-to-local issues (Coverity static analysis)

8 years agoCleanup and sanity-checking of use of strncpy/strcpy (Coverity static analysis)
Peter Dinda [Mon, 31 Aug 2015 22:21:34 +0000]
Cleanup and sanity-checking of use of strncpy/strcpy (Coverity static analysis)

8 years agoAssorted cleanup of memory-related user-level stuff
Peter Dinda [Mon, 31 Aug 2015 20:44:28 +0000]
Assorted cleanup of memory-related user-level stuff

- adjust guest memory access library to handle truncated
  output describing VMs with too many base regions (can happen with cache part)
- adjust memory allocation utility to handle fractional amounts
  (tiny chunks are best for cache part) while not allowing
  the amounts to be too tiny
- seperate concept of memory block size and base region size
  when configuring palacios - cachepart needs a base region
  size that is generally smaller than the memory block size
  because there are other page allocations (e.g., vmcb bitmasks)
  that are larger than one page

- removal of debug cruft in cachepart

8 years agoCache partitioning support
Peter Dinda [Mon, 31 Aug 2015 20:34:00 +0000]
Cache partitioning support

This is an experimental feature that allows you to map all
of a VM's page allocations such that they map to a partition
of the last level cache.

The syntax is:

  <cachepart
        block_size=BLOCK_SIZE
        num_colors=NUM_COLORS
        min_color=MIN_COLOR
        max_color=MAX_COLOR />

The BLOCK_SIZE needs to be one page, and your base region
size for the VM needs to be one page, and your allocations of
physical memory to Palacios needs to support enough one page
allocations to satisfy the constraints and the amount of memory
you are asking for.

NUM_COLORS is your view of how many colors (distinct pages) the
abstract cache has while MIN_COLOR to MAX_COLOR are the range
of cache pages of the abstract cache you want to use.  The
system will conform this requested color range on your abstract
cache to a real color range on the actual cache, provided it is
possible.

Note that currently this is implemented (on Linux) by having
the allocator (the buddy allocator) filter prospective free
blocks by their color (the color of their first page).  As
a consequence, allocating the VM is slow:  you need to allocate a
lot of separate pages (one page per base region), and each page
needs to be the right color.

8 years agoImplementation of resource control host os interface for Linux
Peter Dinda [Mon, 31 Aug 2015 20:20:23 +0000]
Implementation of resource control host os interface for Linux

This associates a pointer to a resource control structure with
each thread created by Palacios.   If this structure exists, its
contents are then used to control resource allocations.  Currently,
the controls are on page allocation: alignment, numa node, and
page allocation filtering.  The latter is what cache partitioning
builds on.

This also changes the /proc/v3vee/v3-guest-info-details output
slightly.  For a guest with too many cores or memory regions to
display, the output is now truncated in a graceful way.

8 years agoResource control extensions to host OS interface
Peter Dinda [Mon, 31 Aug 2015 20:12:45 +0000]
Resource control extensions to host OS interface
plus changes internal to Palacios to use them

The basic idea here is that on creating a thread, Palacios
can hand the host a resource control structure for that thread.
For resource allocations (e.g., page allocations) made by
that thread, the host can then use the resource control
structure to decide which resources will be provided.
This makes it possible for code in Palacios to be
resource aware despite separation of concerns.

This is used by cache partitioning to make any subsequent
page allocations by a core thread (e.g., in nested or shadow
page fault handling) to obey the cache placement constraints.

8 years agomultiboot memory header corrections
Kyle Hale [Mon, 31 Aug 2015 19:51:32 +0000]
multiboot memory header corrections

8 years agoHVM synchronous operation facility
Peter Dinda [Mon, 3 Aug 2015 22:19:23 +0000]
HVM synchronous operation facility

This lets the ROS and HRT synchronize, via the VMM, on a memory
location for for future synchronization indepedent of the VMM

8 years agoRemoval of debugging code from halt code
Peter Dinda [Mon, 3 Aug 2015 01:20:03 +0000]
Removal of debugging code from halt code

8 years agoMinor fix
Peter Dinda [Sun, 2 Aug 2015 23:45:05 +0000]
Minor fix

8 years agoHVM capability enhancments
Peter Dinda [Sun, 2 Aug 2015 23:31:43 +0000]
HVM capability enhancments

- ROS / HRT boot-time interaction protocol enhancements
- ROS / HRT / VMM run-time interaction protocol
- ROS->HRT resets
- ROS->HRT address space merges
- ROS->HRT sequential and parallel function invocations
- More generalized paging environment build for HRT
  including offsets, PIC, etc.
- Refactoring between multiboot and HVM
- More consistent magic numbers
- Descriptor, EFER, and ctrl reg corrections

8 years agoIDE/ATAPI bug fix - allow sense and other requests to read past
Peter Dinda [Sun, 2 Aug 2015 23:26:54 +0000]
IDE/ATAPI bug fix - allow sense and other requests to read past
end of transfer length as long as not past the end of the IDE buffer
This is technically correct, and common for modern atapi drivers
talking to old drives

8 years agoHave unregistered hypercalls fail to guest
Peter Dinda [Sun, 2 Aug 2015 23:15:28 +0000]
Have unregistered hypercalls fail to guest

8 years agoLeave a HLT on exception injection
Peter Dinda [Sun, 2 Aug 2015 23:14:02 +0000]
Leave a HLT on exception injection

8 years agoAvoid physical/virtual contiguity assumptions using new guest memory access functions
Peter Dinda [Sun, 2 Aug 2015 23:12:33 +0000]
Avoid physical/virtual contiguity assumptions using new guest memory access functions

8 years agoSVM Bug Fixes and Enhancements (Missing changed file)
Peter Dinda [Sun, 2 Aug 2015 23:08:44 +0000]
SVM Bug Fixes and Enhancements (Missing changed file)

8 years agoDeallocation bug fix in device manager to allow backing out from VM creation failure
Peter Dinda [Sun, 2 Aug 2015 23:03:22 +0000]
Deallocation bug fix in device manager to allow backing out from VM creation failure

if VM creation fails before the device manager is inited, for example on
running out of memory, device manager deinit needs to avoid running

8 years agoSVM Bug Fixes and Enhancements
Peter Dinda [Sun, 2 Aug 2015 22:59:49 +0000]
SVM Bug Fixes and Enhancements

- Correct behavior of exit during injection of SW intr / exception / other events (BIG ONE)
- Sanity-checked deallocations
- VMCB, etc, modernized to current versions
- Sanity-check to see if we are on old hardware that doesn't do nrip / SW intr
- Spot interrupt shadows

8 years agoCache information interface and implementation for AMD and Intel on Linux
Peter Dinda [Mon, 13 Jul 2015 21:17:35 +0000]
Cache information interface and implementation for AMD and Intel on Linux

8 years agoCleanup of linkage issues for non-Linux hosts
Peter Dinda [Sun, 12 Jul 2015 21:50:03 +0000]
Cleanup of linkage issues for non-Linux hosts

- minor asm fixes to allow -fPIC
- elimination of unneeded global
- conditional compilation of assorted string functions

8 years ago Cleanup based on cppcheck pass (Core)
Peter Dinda [Wed, 1 Jul 2015 22:42:43 +0000]
 Cleanup based on cppcheck pass (Core)

8 years ago Cleanup based on cppcheck pass (Devices and Extensions)
Peter Dinda [Wed, 1 Jul 2015 22:38:56 +0000]
 Cleanup based on cppcheck pass (Devices and Extensions)

8 years ago Cleanup based on cppcheck pass (VNET)
Peter Dinda [Wed, 1 Jul 2015 22:37:52 +0000]
 Cleanup based on cppcheck pass (VNET)

8 years ago Cleanup based on cppcheck pass (GEARS)
Peter Dinda [Wed, 1 Jul 2015 22:36:11 +0000]
 Cleanup based on cppcheck pass (GEARS)

8 years ago Cleanup based on cppcheck pass (GEARS)
Peter Dinda [Wed, 1 Jul 2015 22:35:24 +0000]
 Cleanup based on cppcheck pass (GEARS)

8 years agoCleanup based on cppcheck pass (Linux module and user)
Peter Dinda [Wed, 1 Jul 2015 22:33:41 +0000]
Cleanup based on cppcheck pass (Linux module and user)

8 years agoDebugging output changes to pci_front
Peter Dinda [Mon, 29 Jun 2015 18:31:18 +0000]
Debugging output changes to pci_front

8 years agoExpose HVM state to host + Linux host /proc additions for it
Peter Dinda [Mon, 29 Jun 2015 18:26:10 +0000]
Expose HVM state to host + Linux host /proc additions for it

8 years agoVM Reset Bugfixes
Peter Dinda [Mon, 29 Jun 2015 18:22:05 +0000]
VM Reset Bugfixes

- ROS reset does not clobber HRT
- Missing keyboard reset command added
- More debugging output

8 years agoMinor cleanup (eliminate dead code, correct errno return)
William Gross and Akhil Guliani [Tue, 23 Jun 2015 00:40:03 +0000]
Minor cleanup (eliminate dead code, correct errno return)

8 years agoDevice File Virtualization Proof of Concept (Host Shadow + Patches)
William Gross and Akhil Guliani [Tue, 23 Jun 2015 00:25:42 +0000]
Device File Virtualization Proof of Concept (Host Shadow + Patches)

This is an implementation of device file virtualization in Palacios
for a Linux Host.   Please consult palacios/gears/services/devfile/README
for more information.

8 years agoDevice File Virtualization Proof of Concept (Kernel+Preload)
Akhil Guliani and William Gross [Tue, 23 Jun 2015 00:12:32 +0000]
Device File Virtualization Proof of Concept (Kernel+Preload)

This is an implementation of device file virtualization in Palacios
for a Linux Host.   Please consult palacios/gears/services/devfile/README
for more information.

8 years agoMinor bugfix
Peter Dinda [Fri, 19 Jun 2015 15:13:20 +0000]
Minor bugfix

8 years agoMultiboot and HVM reset integrated into VMX
Peter Dinda [Thu, 18 Jun 2015 22:41:21 +0000]
Multiboot and HVM reset integrated into VMX

8 years agoExpose VM reset capability to Linux and Linux user
Peter Dinda [Thu, 18 Jun 2015 22:33:54 +0000]
Expose VM reset capability to Linux and Linux user

8 years agoVM reset from keyboard controller
Peter Dinda [Thu, 18 Jun 2015 22:26:15 +0000]
VM reset from keyboard controller

8 years agoVM reset capability
Peter Dinda [Thu, 18 Jun 2015 22:20:37 +0000]
VM reset capability

Allows reset of "normal" VM, a multiboot VM, or either the
ROS or HRT components of an HVM

8 years agoSVM reset capability + integration with multiboot+hvm reset capability
Peter Dinda [Thu, 18 Jun 2015 22:17:30 +0000]
SVM reset capability + integration with multiboot+hvm reset capability

8 years agoHVM enhancements
Peter Dinda [Thu, 18 Jun 2015 22:10:56 +0000]
HVM enhancements

- more integration with multiboot
- init scratch stacks for HRT cores
- reset capability

8 years agoMultiboot enhancements
Peter Dinda [Thu, 18 Jun 2015 22:06:07 +0000]
Multiboot enhancements

- enhancements to HRT info block
- clear of BSS (expected by MB kernel)
- actually included header file
- reset capability

8 years agoDetailed segmentation output from v3_debug
Peter Dinda [Thu, 18 Jun 2015 22:02:55 +0000]
Detailed segmentation output from v3_debug

8 years agoGuest mem gpa/gva memset functions
Peter Dinda [Thu, 18 Jun 2015 21:59:05 +0000]
Guest mem gpa/gva memset functions

8 years agoFactoring of BIOS setup so that it can be reused during reset
Peter Dinda [Thu, 18 Jun 2015 21:54:06 +0000]
Factoring of BIOS setup so that it can be reused during reset

8 years agoSubset barrier support (counting barriers)
Peter Dinda [Thu, 18 Jun 2015 21:47:38 +0000]
Subset barrier support (counting barriers)

8 years agoSEABIOS updates to support reset and to simplify
Peter Dinda [Thu, 18 Jun 2015 21:41:46 +0000]
SEABIOS updates to support reset and to simplify

8 years agoDisallow symbiotic functionality unless a compatible bios is in use
Peter Dinda [Thu, 18 Jun 2015 16:19:24 +0000]
Disallow symbiotic functionality unless a compatible bios is in use

The symspy page is by default mapped at a location that will conflict
with a larger bios.  This is a non-issue when booting a non-symbiotic
kernel or even booting a symbiotic kernel the first time, but leads
to a mess on a VM reset

8 years agoAvoid strict-aliasing related issues when compiling with optimization
Peter Dinda [Sun, 14 Jun 2015 16:22:57 +0000]
Avoid strict-aliasing related issues when compiling with optimization

8 years agoAPIC bug fixes and cleanup
Peter Dinda [Tue, 9 Jun 2015 20:36:13 +0000]
APIC bug fixes and cleanup

- handle access to unsupported registers gracefully (return 0 on read, drop writes)
- correct handling of APIC address MSR write (do not delete memory region twice)
- cleanup of debugging output

8 years agopci_front bugfix - do not propagate cmd reg write twice
Peter Dinda [Mon, 8 Jun 2015 20:00:26 +0000]
pci_front bugfix - do not propagate cmd reg write twice

8 years agoAbility to add remappable roms for pci front-end devices.
Peter Dinda [Tue, 19 May 2015 16:36:43 +0000]
Ability to add remappable roms for pci front-end devices.

Syntax:

  <file id="file_id" ...>

  <device class="PCI_FRONT" ...>
    <rom file="file_id" />
  </device>

Note that for ROM that is not remappable (fixed address), the <bios> block
can be used to add it.

8 years agoCleanup of locking in host device interface
Peter Dinda [Tue, 19 May 2015 16:36:11 +0000]
Cleanup of locking in host device interface

8 years agoAddition of basic multiboot functionality plus refactor of HVM
Peter Dinda [Tue, 19 May 2015 16:27:47 +0000]
Addition of basic multiboot functionality plus refactor of HVM
functionality to extend multiboot

9 years agoMinor compile warning fixup and error checks
Peter Dinda [Tue, 28 Apr 2015 17:03:40 +0000]
Minor compile warning fixup and error checks

9 years agoGeneralization of constraints on page allocation and implementation/use
Peter Dinda [Fri, 17 Apr 2015 17:11:43 +0000]
Generalization of constraints on page allocation and implementation/use

The idea here is to allow Palacios code to request pages that satisfy some
filter function.  For example, a filter function might reject allocations
above the 4GB line, or it might reject allocations that map to undesirable
cache lines.

- it removes the notion of a constraint mask in page allocation
- eliminates the < 4GB flag
- adds the notion of constraints in page allocation as filter
  functions
- modifies the implementation and uses to match

9 years agoExpose vmalloc-like os interface to Palacios, and updates to use it
Peter Dinda [Fri, 17 Apr 2015 15:11:53 +0000]
Expose vmalloc-like os interface to Palacios, and updates to use it

The purpose of finally exposing virtually contiguous /
not necessarily physically contiguous allocations to Palacios
is to get around a catch-22.   We support arbitrarily small
base region chunks at this point, down to a page size.  We
also support host kernels that do not provide large contiguous
physical page allocations.    The result is that we can
end up needing to build a base region chunk array that is
larger than the amount of memory we can either malloc or
contiguously page alloc to support it. Yet the base region
array itself does not need to be physically contiguous.

Two places where this currently burns us is:   large memory
VM allocated over linux host that does not support hot remove;
moderate memory VM using tiny chunk size, for example in
cache partitioning

9 years agoQCOW2 block storage backend for Palacios
Yang Yang and Weixiao Fu [Wed, 1 Apr 2015 20:57:51 +0000]
QCOW2 block storage backend for Palacios

This commit adds a new backend, qcowdisk, that allows
the use of QCOW2 format files as the storage for
virtual hard drives, cds, virtio block devices, etc.

- Backing stores are supported
- Snapshots are not supported
- Encryption is not supported

9 years agoMinor tweak to fix accidental new feature leak
Peter Dinda [Wed, 1 Apr 2015 20:55:49 +0000]
Minor tweak to fix accidental new feature leak

9 years agoTypo fix
Peter Dinda [Wed, 25 Mar 2015 21:24:24 +0000]
Typo fix

9 years agoBasic HRT startup for HVM, plus assorted cleanup
Peter Dinda [Wed, 25 Mar 2015 21:18:53 +0000]
Basic HRT startup for HVM, plus assorted cleanup

This builds and launches a basic guest environment for an HRT
It does not yet handle ELF load, but it is able to bootstrap
a simple code blob, including with interrupts, on HRT cores
while ROS cores happily run Linux

9 years agoSupport HVM partitioning for APICs
Peter Dinda [Mon, 23 Mar 2015 21:13:19 +0000]
Support HVM partitioning for APICs

This allows us to treat the APICs as belonging to two
groups:  the "ROS" group and the "HRT" group.   Semantics
for lowest priority, broadcast, etc, are determined by
the HVM logic for an HVM VM.

9 years agoHVM configuration logic (create mptables, acpi tables, etc, based on ROS config)
Peter Dinda [Mon, 23 Mar 2015 21:11:00 +0000]
HVM configuration logic (create mptables, acpi tables, etc, based on ROS config)

This updates the various ways we tell the guest what hardware is available.
In an HVM, we describe only the ROS components of the guest, not the
additional components (e.g., cores, memory, etc) that the HRT can also see.

9 years agoAdd HVM configuration capability, init/deinit, etc
Peter Dinda [Mon, 23 Mar 2015 21:09:33 +0000]
Add HVM configuration capability, init/deinit, etc

9 years agoHVM updates to support apic partitioning
Peter Dinda [Mon, 23 Mar 2015 20:59:03 +0000]
HVM updates to support apic partitioning

9 years agoBasic HVM data structures and functions
Peter Dinda [Sun, 22 Mar 2015 23:06:04 +0000]
Basic HVM data structures and functions

9 years agoUse page allocation for base memory region array
Peter Dinda [Sun, 22 Mar 2015 23:02:40 +0000]
Use page allocation for base memory region array

This allows us to support a much larger number of base regions
than the heap allocation allows.   Important for page-by-page
management, for example for swapping and cache partitioning

9 years agoAdd proper cleanup for a nested VMX guest This also fixes a bug that was preventing...
Peter Dinda [Thu, 12 Mar 2015 02:00:40 +0000]
Add proper cleanup for a nested VMX guest This also fixes a bug that was preventing such a guest from being freed

9 years agoIDE/ATA enhancements and bug-fixing: DMA operation
Peter Dinda [Thu, 5 Mar 2015 00:46:43 +0000]
IDE/ATA enhancements and bug-fixing:   DMA operation

This makes DMA operation with ATA hard drives work
by fixing multiple issues and making it conform to
the physical hardware model

Remaining issues:
   DMA disabled on CDs due to bad identity info
   UDMA5 not seen (probably not consequential since
     programatic model is identical to all the rest)

9 years agoPCI Fix: do not let buggy guest turn off I/O bit in an I/O BAR
Peter Dinda [Thu, 5 Mar 2015 00:40:00 +0000]
PCI Fix: do not let buggy guest turn off I/O bit in an I/O BAR

An example of such a "guest" is the fucking SEABIOS

9 years agoIDE/ATA enhancements: read/write multiple, lba48 addressing, cleanup
Peter Dinda [Wed, 4 Mar 2015 21:24:22 +0000]
IDE/ATA enhancements: read/write multiple, lba48 addressing, cleanup

This commit cleans up the code and adds:

- ATA PIO READ/WRITE MULTIPLE support
- LBA48 Addressing (Allowing >128 GB volumes)
- General cleanup of type sizes, and assorted other
  mods to support LBA48

9 years agoIDE / ATA rewrites (1st step)
Peter Dinda [Wed, 4 Mar 2015 18:22:21 +0000]
IDE / ATA rewrites (1st step)

This adds functional support for ATA hard drives in PIO mode
giving both read and write access.  It also does a bit of
bugfixing throughout.

9 years agoFPU stub change to support more recent kernels
Kyle Hale [Mon, 29 Dec 2014 19:54:15 +0000]
FPU stub change to support more recent kernels

9 years agoMissing user space library
Kyle Hale [Mon, 22 Dec 2014 22:21:33 +0000]
Missing user space library

9 years agoUserspace tool compile fix
Peter Dinda [Mon, 22 Dec 2014 22:21:04 +0000]
Userspace tool compile fix

9 years agoMore debugging output (APIC, LDT, etc)
Maciek Swiech [Thu, 9 Oct 2014 22:44:30 +0000]
More debugging output (APIC, LDT, etc)

- APIC state can now be dumped
- LDT is included
- LDT/GDT/IDT/TSS can now be dumped via v3_debug

9 years ago Added guest GDT and IDT printing
Maciek Swiech [Thu, 9 Oct 2014 18:16:55 +0000]
 Added guest GDT and IDT printing

- 32bit functionality untested
- LDT printing unsupported

9 years agoRevert mistakenly overwritten lazy FP change (no functional change)
Peter Dinda [Sun, 21 Sep 2014 20:13:01 +0000]
Revert mistakenly overwritten lazy FP change (no functional change)

9 years agoInitial cut at handling configuration of qemu devices
Peter Dinda [Thu, 11 Sep 2014 22:24:38 +0000]
Initial cut at handling configuration of qemu devices

9 years agoadd ability to load custom BIOS ROMs.
Kyle Hale [Tue, 26 Aug 2014 18:13:51 +0000]
add ability to load custom BIOS ROMs.

This patch allows you to override the default ROMBIOS and VGABIOS with
your own ROM binaries in the guest pal file.

here's an example overriding the default rombios and vgabios, with
another non-default BIOS rom:

<files>
    <file id="somebios" filename="/path/to/mybios.bin"/>
    <file id="somevgabios" filename="/path/to/myvgabios.bin"/>
    <file id="somerombin" filename="/path/to/myrom.bin"/>
</files>

here's the new PAL syntax:

<bioses>
    <disable_rombios/> <--- kills the default rombios
    <disable_vgabios/> <--- kills the default vgabios
    <bios file="somebios" address="0xf0000"/>
    <bios file="somevgabios" address="0xc0000"/>
    <bios file="somerombin" address="0xe70000"/>
</bioses>

9 years agoadd userspace shared library for QEMU use
Kyle Hale [Tue, 26 Aug 2014 18:10:23 +0000]
add userspace shared library for QEMU use

This is more or less a wrapper around v3_user_host_dev but
is intended to encompass anything that is QEMU-specific.

9 years agochanges and fixes to support QEMU integration with pci_front
Kyle Hale [Tue, 26 Aug 2014 18:06:29 +0000]
changes and fixes to support QEMU integration with pci_front

Most of these changes (in pci.c and pci_front.c) involve properly
directing PCI config space  and BAR reads and writes down to
the host device. Other changes are minor.

9 years agoprevent oops in generic device when port mode not correctly provided
Kyle Hale [Tue, 26 Aug 2014 18:04:19 +0000]
prevent oops in generic device when port mode not correctly provided

9 years agoP-State more detailed hw info from ACPI
Peter Dinda [Sun, 31 Aug 2014 22:00:07 +0000]
P-State more detailed hw info from ACPI

9 years agoP-State control - minor tweaks and change to proc interface
Peter Dinda [Sun, 31 Aug 2014 20:10:22 +0000]
P-State control - minor tweaks and change to proc interface

9 years agoP-State: add notifier block for linux frequency transitions, bug fixes
Kyle Hale [Wed, 27 Aug 2014 22:23:04 +0000]
P-State: add notifier block for linux frequency transitions, bug fixes

9 years agofix pstate set lockup by setting frequency using linux work queues
Kyle Hale [Wed, 27 Aug 2014 20:02:43 +0000]
fix pstate set lockup by setting frequency using linux work queues

9 years agoP-State (DVFS) Enhancements
Peter Dinda [Tue, 26 Aug 2014 15:41:40 +0000]
P-State (DVFS) Enhancements

- Change of pstate interface to be opaque 64 bit number
- Nearly complete "direct" implementation for Intel

9 years agoadded linux cpufreq interface to dvfs code.
Kyle Hale [Sat, 23 Aug 2014 03:40:10 +0000]
added linux cpufreq interface to dvfs code.

Writes (setting of frequency/governors) currently
occur in sysfs via linux userspace helper API.
Reads occur through the cpufreq policy interface.

9 years agoDVFS - added forgotten user-space library
Peter Dinda [Wed, 20 Aug 2014 14:35:38 +0000]
DVFS - added forgotten user-space library