History log of /seL4-test-master/projects/sel4_projects_libs/libsel4vm/CMakeLists.txt
Revision Date Author Comments
# 745291ce 27-Nov-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert to SPDX license tags

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# ced53328 13-May-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Disconnect libsel4dma from vmm libraries

This is an unused dependency and can be removed.


# e2901f48 05-Mar-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4vm: Remove allocman dependency

allocman is an object allocation manager that provides an implementation
of the `vka_t` interface. As libsel4vm can perform all allocation
through the `vka_t` interface, it doesn't need to know about allocman.
This commit also adds some missing #includes for dependencies that were
being originally included through the allocman header.


# bfd52389 13-Dec-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4vm: Fixup includes and clean cmake file

Organise CMakeLists.txt file to be consistent with other projects.


# d2664459 13-Dec-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4vm: Remove VChan support

These mechanisms aren't actively maintained and won't currently be
supported. It is possible that they will be reintegrated at a future
date on more stable underlying mechanisms.


# 983db070 11-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Added CMake config for deferred mapping

Enabling the config allows memory mappings to be deferred until
actually faulted upon. This can be utilised as a possible
optimisation to system initialisation.


# 2f5f608b 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Moved memory utils into vmmplatsupport

Moved the guest memory utils interface into libsel4vmmplatsupport.
This interface better exists in libsel4vmmplatsupport as its more
relevant to support vmm devices and drivers. This in turn
simplifies libsel4vm's interfaces.


# 58a8b656 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: default error callback out of mem utils

Moved the function 'default_error_fault_callback' out of
the guest memory utils interface and into its own interface
'guest_memory_helpers'. The intention is to eventually move
guest memory utils out of libsel4vm but we want to keep the
'default_error_fault_callback'.


# be7718cd 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed X86 VMMDebug CMake configs

These configs are no longer used and thus can be removed.


# 6a4eae2d 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Moved VESA config to sel4vmmplatsupport

The initialisation of the VESA Frame Buffer has since been moved
out libsel4vmmplatsupport.This changes moves to config into
libsel4vmmplatsupport.


# 6667596e 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed Sel4ArmVMMOnDemandDeviceInstall

This policy is now controlled by the Camkes ARM VMM. Moved the
config definition to the VMM component.


# 14b8aaca 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Renamed sel4_arch/vm.h into processor.h

Moved the arm sel4_arch include directory into a higher
level sel4_arch directory. In addition renamed the containing
include 'vm.h' into 'processor.h'. This name more closely aligns
with the contents of the include file.


# 007de985 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Made arm fault interface private

The arm fault interface is only used internally as external
source uses the vcpu fault interface instead. Moved and
consolidated the fault interface into the internal arm sources.


# 83614ed1 09-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed arm plat includes

The remaining definitions in the arm plat includes are no
longer used or referenced in any source. This allows us to remove
the plat includes. In addition updated sources that included the
plat files.


# e1947740 22-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed uses of 'vmm' in x86 source

Updated x86 source such that the naming convention used is to
prefix/postfix with 'vm' rather than 'vmm'. This change makes
the naming convention consistent as this library now represents a
single 'vm' instance rather than a vmm.


# a29198d5 21-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: x86 vmcall interface to arch sub-dir

Moved the x86 vmcall interface into the architecture subdirectory.
This is an architecture specific interface we want to make
available to library users.


# 7d0b9e0d 21-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Made x86 interrupt interface private

The usage of the interrupt functions is only performed
internally. Moved the interrupt header and source into x86
architecture directory such that that implementation is private.


# 1283782d 21-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: x86 processor src as private interface

Moved the x86 processor source and header into the x86
architecture subdirectory. This has been transformed into an
private interface that only internal code can access. We choose
to abstract over processor source. Updated the processor header
includes to reflect this change.


# b1c1bed4 21-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Made x86 debug a private interface

Moved the debug source into a private interface. This updates the
location of the source and header. In addition updates includes
of the interface, either deleting them (as its no longer used) or
updating the name.


# 4c439cc9 16-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Added ARM VCPU context interface

Added an interface to manipulate the guest vcpu context including
thread registers and arm VCPU register fields.


# 5d9bef1c 16-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Refactored x86 vmcs interface

The vmcs interface has been made private, this ensuring the guest
x86 context interface is the only interface with public methods for
updating vmcs fields. This ensures external vmcs updates are always
consistent with our internal shadow state. The vmcs read and write
helpers have been merged into the guest x86 context implementation
and made privately available to our internal source.


# a6bf5bd5 15-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Added x86 VCPU context interface

Added an interface to manipulate the guest vcpu context including
thread register and vmcs fields. This overlays the internal
guest_state interface to ensure shadow registers or vmcs fields
are updated (if applicable).


# 409752e2 10-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: vgic implements arm irq controller

Updated the vgic to implement the guest irq controller interface.
This updates the vgic source to implement the interface
prototypes.


# 271455b0 10-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: i8259 implements x86 irq controller

Updated the i8259 to implement the guest irq controller interface.
This updates the i8259 source to implement the interface
prototypes. In addition this commit lifts the initialisation of
the APIC memory region to create a single guest irq controller
init function.


# d5b358db 09-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Moved location of x86 ioports

Moved file location of x86 ioports into the appropriate
x86 architecture subdirectory. Additionally updated file names
from 'io.h' to 'ioports.h'. Updated include references to reflect
change.


# da62f868 09-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed unused library dependencies

Removed linking against libsel4vmmcore and libsel4pci as code
that used it has since been refactored out of the library.


# 2fcdf2eb 25-Sep-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Consolidated VCPU fault interface

Added a new utility interface to extract general fault information
out of a vcpu object. This abstracts the architecture specific
interfaces for retrieving fault information. This interface is
introduced such that the architecture specific interfaces can
be made private and to also create a utility that future drivers
can use across different platforms.


# 54fc9dfe 14-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Refactored arm vm event handler

Refactored the arm vm event/exit handler. This refactors the vm
exit handler code into a series of individual handlers for the
various vm exit cases. The overall intention with these changes
is to make the vm exit handler more modular and to reduce the
complexity of the vm_run function.


# d25a190c 13-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: VM run interface

Refactored the run invocation into 'vm_run'. This updates the x86
and arm source to implement their runtime event loops when the
'vm_run' interface is used. The intented functionality of vm run
is such that it will start the vm catching vm exits. This will
either handle the exits internally or forward it to the user.


# ba96c719 21-Aug-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Moved vgic src in main arm directory

Moved the arm vgic source into the arm arch sub-directory. This
implementation doesn't need to be significantly refactored and is
fine to exist with the main arm source.


# 8e3a856c 31-Jul-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Implemented guest memory util interface

Implemented a wrapper over the guest memory interface that
contains common use cases for creating reservations and mappings.


# e83d889e 19-Jul-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: New guest memory interface

Developed a generic guest memory interface that can be used by
the x86 and arm vm implementations. This can be used to create
reservations in the guest vm memory and perform mappings on those
reservations.


# 5032b89d 17-Jul-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Renamed guest_memory to guest_ram

Renamed the guest_memory interface to 'guest_ram'. The functions
in the interface are intended to interact with guest ram memory.
Updated calls to the guest ram interface.


# ed2b25d5 10-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Made guest_vspace interface private

Refactored the guest_vspace source to be private. This in
particular makes 'vm_init_guest_vspace' a private function
(named 'vm_get_guest_vspace' prior).


# 64a1147d 10-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Refactored guest_vspace_touch

Removed vm_guest_vspace_touch out of the guest_vspace. This has
been reimplemented in a new interface, being 'guest_memory.h'.
Now called 'vm_guest_mem_touch'. Rather than relying on an
internal vm->vmm translation mechanism, vm_guest_mem_touch uses
the vspace interface 'vspace_access_page_with_callback' to
perform page accesses.


# 0c927a0f 05-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Consolidated guest vspace source

The guest vspace management existed in both the x86 and arm
vmm implementation. This commit creates a consolidated guest vspace
management interface, refactoring the implementations that existed
in sel4-arm-vmm and sel4-x86-vmm.


# 7867c421 06-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Made arch_init functions private

Refactored the architecture specific init/boot functions into a
private interface. These are no needed in the public boot.h
interface.


# 59a50ebe 30-Apr-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Updated CMakeList to use vm & boot code

Incremental update of CMakeLists to include new vm-datastructure
includes and boot interface.


# 964a08ca 29-Apr-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Updated include header name

Updated the include header name from
[<sel4arm-vmm>|<vmm>] -> <sel4vm>. This initial update focuses
on getting the different library sources to use the same include
naming scheme. This doesn't change any functionality.


# f84f544f 29-Apr-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Added libsel4vm

This is intended to be a vm library, unifying the codebases of
libsel4arm-vmm and libsel4vmm (x86) into a single project. This
an initial commit that bases all the code from the libsel4vmm and
libsel4arm-vmm into a single library, where further work will
focus on refactoring and merging the source code into a unified
interface.