uhyve
uhyve copied to clipboard
A specialized hypervisor for Hermit.
To reproduce, run `cargo test new_file_test` or `cargo test --test fs-test`: https://github.com/hermit-os/uhyve/pull/725#pullrequestreview-2161560881 ``` ~ cargo test new_file_test Finished test [unoptimized + debuginfo] target(s) in 0.06s Running unittests src/lib.rs (target/debug/deps/uhyvelib-bc3acb47a2075c26) running...
This is the result of an excruciatingly long debugging session for https://github.com/hermit-os/uhyve/pull/711. Say that we want to replace `arch::RAM_START` in the line 98 of vm.rs: https://github.com/hermit-os/uhyve/blob/efc35639f8c6939b9ec6745ad44c71dd4fda0a28/src/vm.rs#L94 ... to `let mem...
Currently, `virt_to_phys` requires the location of the root-pagetable as a parameter. This value can actually be retrieved from the CPUs registers instead, making the interface easier and more flexible. https://github.com/hermit-os/uhyve/blob/e6ffffa81e04522479f374878da435a4fc99e8e1/src/arch/x86_64/mod.rs#L196-L200
As Hermit is relocatable, we should load the Kernel to a random address in the virtual address space. The starting point for this is here: https://github.com/hermit-os/uhyve/blob/9ba3c9d638a94d847bace37db092a20611e6a865/src/vm.rs#L182-L200
Currently, we have plenty of `pub mod` and `pub fn` in Uhyve. However, I think we basically only need `vm` and `params` to be exposed. This results in plenty of...
- Print to stdout as soon as the kernel successfully boots - Print to stdout in run_simple_vm to make it clear that the kernel has been compiled - Clarify the...
Inspired by a PEBKAC from yours truly. Related: https://github.com/hermit-os/uhyve/issues/763 (#763)
Running Uhyve directly (this does not happen with `cargo run`) seems to cause the process to hang indefinitely without a (graceful) exit: ```sh $ ./target/debug/uhyve ./data/x86_64/hello_world frequencies: 1331 CPU frequencies...
The old uhyve interface is based on the `outb` instruction (on x86_64). This creates issues, when the physical memory of the guest is beyond the 32-Bit boundary, as the `outb`...