-
Notifications
You must be signed in to change notification settings - Fork 15
Add initial support for multiple vCPUs #116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`stdbool.h` is technically missing, it's already included by users of `dtb.h` which is why we have not seen a compiler error for it yet. But, better to fix this now than later.
These logs should be errors rather than just normal logs as it is a case that should not happen.
Co-authored-by: Jingyao Zhou <[email protected]>
This is an example showing off the virtIO support of libvmm. It currently only shows off the virtIO console device, with more devices such as block and graphics to be added later.
For some reason building in ReleaseFast mode, `-Doptimize=ReleaseFast` successfully boots Linux and lets us do serial input, but not debug mode. More investigation required.
0.12.0-dev.1533+b2ed2c4d4 was used.
It's unclear whether we actually do have UB somewhere in the C code. For now we turn off UBSAN in order to have the example work in debug mode.
The build system was confusing and I couldn't get this working and gave up. Now with some new build system documentation I could figure it out.
Having 'src/images/' was done before-hand since I wasn't familiar with how to include files from 'images' in the VMM if they were outside the 'src' directory.
0.12.0-dev.1664+8ca4a5240 caused some breaking changes and so we have to re-create libmicrokit.zig
Mainly for my own sake since I am very forgetful these days.
Signed-off-by: Eric Chan <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Not needed anymore since we use Zig to cross-compile for user-space. Signed-off-by: Ivan Velickovic <[email protected]>
Fixes for a bunch of block interface renames Signed-off-by: Ivan Velickovic <[email protected]>
Fixed two issues I encountered when previously updating to the latest rust-sel4 version. There's still one remaining issue which prevents us from switching to the mainline rust-sel4. Signed-off-by: Ivan Velickovic <[email protected]>
* Make virq_controller_init for the vGIC register the vGIC region with the appropriate callbacks using the library's API instead of hard-coding it in the fault handling code. * Don't use `BOARD_` defines, instead just use seL4 based defines since we eventually want the library to be Microkit agnostic. Still not satisfied with the vGIC/fault handling code, there's still lots of improvements to be made. Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
For QEMU virt AArch64 and Odroid-C4, what we did in the past is take the original DTS intended for booting Linux natively and adapt it to work in a virtualised environment. This patch gets those two platforms in line with the current convention for other platforms and examples which is to have `linux.dts` be the unmodified DTS from Linux source and then use the overlay to disable certain devices, change the amount and address of RAM, etc. Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
795a7a3
to
0834c5b
Compare
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
0834c5b
to
5d26bf9
Compare
Signed-off-by: Ivan Velickovic <[email protected]>
bd587a3
to
515a4e5
Compare
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Ivan Velickovic <[email protected]>
29d898b
to
e536750
Compare
Signed-off-by: Ivan-Velickovic <[email protected]>
f028579
to
05bf7d4
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It should be noted that multi-core virtual machines won't work yet because Microkit lacks support for it, but when Microkit does add support for pinning a virtual CPU to a particular core, there won't be any changes necessary to libvmm to enable multi-core guests.
Remaining TODOs:
Closes #4.