Depending on the size of the data to be read/written, the buffers could cross page boundaries in HermitCore. Previously, uhyve expected the physical addresses of the pages behind the buffers to be contiguous. However, the OS only guarantees that the virtual addresses for the buffer memory are contiguous. On the contrary, each virtual address may map to a physical address anywhere in memory.
- add initial support for aarch64
- SMP support is currently missing
- uhyve and kernel are tested on Libre AML-S905X-CC (https://libre.computer/products/boards/aml-s905x-cc/)
- only GICv2 support is integrated
- this reduce the overhead because the boot time is smaller in
comparsion to qemu
- furthermore, a more direct communication via VM_EXISTS is possible
- the current version doesn't support a network interface
The hypervisor based on KVM and is called uhyve. You could test the
hypervisor with following command:
HERMIT_ISLE=uhyve HERMIT_VERBOSE=1 tools/proxy usr/tests/hello