The box index is currently initialized in vmpu_load_boxes, which executed in privileged mode.
We want to move this initialization out of uvisor to be executed by the box itself when initialized.
A similar mechanism is already used to initialize the process heap, where the active_heap member is NULL and signals to the first invoker of malloc to initialize the process heap.
uVisor would therefore only zero the entire box bss, which zeroes the box index as well.
This can be used as an indicator to the box init method to initialize the box index.
The box index is currently initialized in
vmpu_load_boxes
, which executed in privileged mode. We want to move this initialization out of uvisor to be executed by the box itself when initialized.A similar mechanism is already used to initialize the process heap, where the
active_heap
member isNULL
and signals to the first invoker of malloc to initialize the process heap. uVisor would therefore only zero the entire box bss, which zeroes the box index as well. This can be used as an indicator to the box init method to initialize the box index.