-
Notifications
You must be signed in to change notification settings - Fork 5
change rustc-abi in custom targets to x86-softfloat #15
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
base: main
Are you sure you want to change the base?
Conversation
This is a direct port of the Tom Dohrmann's PR: rust-osdev/bootloader#492 Which, in turn, "fixes a nightly breakage introduced by": rust-lang/rust#136146 Signed-off-by: Panagiotis "Ivory" Vasilopoulos <[email protected]>
Do keep in mind that this change was applied "blindly" - haven't gotten around to testing this with an actual image yet. |
@n0toose Cool, thanks! I don't remember if I've ever tried to test the crate on x86 tbh; if you have something I can replicate it to verify it works, it'd be helpful. |
I could try doing so manually and provide instructions, but I'm not sure how that would scale to, say, a CI test suite (which would be the more sustainable approach). Only approach I can come up with is booting a prebuilt .qcow2 with Xen (and the relevant QEMU configs), building a test image and making it visible to the VM using virtiofs and then checking if the run is successful within the VM. |
Check #12 which adds a test in the CI for aarch64 (which I should merge btw...) for how to do a simple smoke test that it boots and works, by writing to the hypervisor console with a hypercall. |
Thanks, I actually did take a look but forgot about it - the question I had when I originally took a look is "should I expect a huge fundamental difference when attempting to emulate an HVM image vs. a PV image" configuration-wise? Pardon if this comes across as trivial, but I am tinkering around and don't possess deep knowledge of the subject (not yet, anyway :D). |
Configuration in Xen or otherwise? Generally the difference in practice is what device drivers your kernel is using. Linux for example has specific drivers for Xen PV devices. |
I'd say Xen. Anyway, thanks for the tips - I don't know how long it will take me to find the time to try it out. |
Note that oxerun is a bare metal kernel, and neither the examples or the smoke test CI PR do anything other than performing hypercalls- no devices involved. The way I debugged/developed stuff with the
|
Summary of the PR
This is a direct port of the Tom Dohrmann's PR:
rust-osdev/bootloader#492
Which, in turn, "fixes a nightly breakage introduced by": rust-lang/rust#136146
Requirements
Before submitting your PR, please make sure you addressed the following
requirements:
git commit -s
), and the commit message has max 60 characters for thesummary and max 75 characters for each description line.
test.
Release" section of CHANGELOG.md (if no such section exists, please create one).
unsafe
code is properly documented.