History log of /seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/boot.c
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>


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


# a0c98c87 19-Feb-2020 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

Style: Updated style of modified files

Updated the style of various source files recently updated.


# 21d40304 22-Jan-2020 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Helper to assign target cpu val to vcpu

Added a helper that updates a vcpu with a target_cpu value. This
is a basic setter utility that additionally ensure two vcpus
aren't assigned to the same target


# 9aeba82a 10-Dec-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Added vcpu field 'target_cpu'

Added a new vcpu field to record the physical core the vcpu
corresponds with.

Co-authored-by: Anna Lyons <anna@gh.st>


# 3853cbb3 09-Dec-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Set default val of 'vcpu_online' field

Set the default value of the 'vcpu_online' field to false


# cc23637c 08-Dec-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: MAX_NUM_VCPUS -> CONFIG_MAX_NUM_NODES

Replace usages of 'MAX_NUM_VCPUS' with 'CONFIG_MAX_NUM_NODES' as
this directly correlates with the number of cores made available.
This in addition avoids the need of having to allocate the VM's
vcpus array.


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

trivial: Style changed files


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

libsel4vm*: Switch malloc calls to calloc

Reduces chances of an uninitialised structure being used and causing
issues that are painful to debug.


# ca31812e 01-Dec-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed page_size field in VM object

Removed the page_size field in the VM object. The page size of
allocations and mappings can be left to the library user to
define. Updated uses of the page_size field to directly define the
page size value instead.


# f1bcc013 01-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed vpcu_init cookie parameter

This parameter has never been needed or used hence we can remove
it.


# 29b7a4f3 01-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed vm_init cookie for arch params

Removed architecture specific vm initialisation params as both
architecture sources no longer need to pass in specific
parameters. This additionally means we can delete the 'cookie'
parameter since its no longer used.


# aa782bfb 01-Nov-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Consolidate notification/fault endpoint

Both arm and x86 source take in the hosts own endpoint such that
it can wait on it for notifications and events. Removed the
passing of the endpoint as an arch specfic boot parameter as
its now passed through the common vm_init function.


# 94113f06 17-Oct-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Moved VM tcb object into vcpu object

There is a strong association between a VCPU and the TCB it is
binded to. Thus the TCB object should exist in the context of the
VCPU it is associated with. In addition this makes the VM library
open to possible SMP extensions. This commit updates the
initialisation of the TCB object when creating a VCPU and
the means of accessing TCB objects.


# dd8820f3 09-Sep-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Removed vm_plat_callbacks

Due to the async notification callback being refactored to a new
location, the vm_plat_callbacks is only relevant to x86 source
code. This has been refactored to a x86 specific configuration
datastructure.


# d7437c3d 15-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Enabled vm_run to exit to caller

Introduced vm exit constants that can be used to return to the
library caller (vmm) for handling specific vm exits. Updated the
exit handling functions and vm run loop to handle cases where it
may exit and return an exit reason to the vmm. This is an initial
change that will allow the vm to reduce policy and refactor out
various drivers from the library such that it can be handled and
managed by the vmm.


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

libsel4vm: VM initialises the memory interface

Updated the vm abstraction to use and initialise the guest memory
interface.


# 6cd6b022 07-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Dropped 'vm_' prefix in vm_vcpu struct

The 'vm_' prefix is reduntant since it exists in the vm_vcpu
struct context.


# 0d1f7b98 07-May-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: Simplified vm_create_vcpu interface

Made the vcpu creation interface easier to use. It now returns
an allocated vm_vpcu object with a sequential id. This removes
the requirement for the user to supply a vcpu id and a vcpu
pointer to allocate.


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


# 668be99f 30-Apr-2019 Alison Felizzi <Alison.Felizzi@data61.csiro.au>

libsel4vm: vm data-structure initialisation

Refactored the x86 and arm initialisation of the guest vm
data-structure. This brings the initialisation of the
vm data structure under the one interface 'sel4vm/boot.h'.