#
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.
|