-
Notifications
You must be signed in to change notification settings - Fork 19
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
Booting on QEMU Morello #197
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of nits to clean up. But I hope the spinlock mentioned in the TODO gets in sooner rather than later.
"[gicv3] GICD_ISENABLER1: {:#x}", | ||
read_reg(self.distr.as_ptr(), 0x0100 + 4 * 1) | ||
); | ||
// emerglogln!("[gicv3] GICD_ISENABLER1: {:#x}", denable); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove commented out lines, and let the VCS do its work.
bootloader_dtb_addr | ||
} | ||
}; | ||
// should not fail, but it might ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a bit more commentary here? Why might it? This is a very enigmatic comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
* Added a nvme fs prototype * Added fat repo as just code instead of submodule * fmted code and added optimizations * OS Side FS STD integration * Added std fs changes to rust * Added error handling, minor design changes * Added compaction to fd allocator * Ran cargo fmt * Formatted and documented the fs runtimme * Booting on QEMU Morello (#197) * Add support for CHERI QEMU * Add Morello build target * Implement basic GICv3 support * Run cargo fmt * Fix interrupt initialization * Cleanup and comments * Changed the rust submodule to point to the twizzler branch * Moved back rust submodule to previous commit * Fixed cargo lock because of a typo I made --------- Co-authored-by: Allen Aboytes <[email protected]>
This patch implements the first in a series of patches to port Twizzler to the CHERI Morello system architecture. Morello is an ARMv8-A based platform that implements architectural capabilities. Our first line of work is getting the kernel to boot in a virtualized environment by implementing support for a different interrupt controller (i.e., GICv3). The changes to the code base were mostly architecture-specific with a small change to xtask to use
qemu-system-morello
. The kernel can process basic interrupts in the QEMU-Morello environment, and run user programs like in a normal ARM system.The port so far is limited since QEMU-Morello does not perfectly model the system environment of Morello (e.g., device tree). We leave advanced interrupt controller functionality and improvements to the kernel bootstrap implementation for future work.