Conversation
This comment was marked as outdated.
This comment was marked as outdated.
|
Squashed and rebased. |
wt
left a comment
There was a problem hiding this comment.
I was curious. Could we use naked functions to make this a little less ugly?
Naked functions didn’t play nice with the interworking attribute. There was a bug and it only got fixed recently. But I guess it’s okay for the examples because they only build with a recent version of nightly. |
* Adds more Hyp register details. * A bunch of fixes to the docs * Makes sure CI actually runs these and the SMP examples
|
I tried making some examples use naked functions, but the compiler added prologue threw off my careful counting of bytes when it comes to verifying where the exception was throw. So I don't think it makes it better. |
|
Is this a bug in naked function support in the compiler? |
|
BTW, otherwise LGTM. |
Ah, I was wrong. It's not the prologue (there isn't one). It's that naked functions with the In this case I was testing the UDF trap as a naked function, and it did trap, but not because it hit a UDF instruction but instead because it hit a Thumb instruction in Arm mode. The trap handler didn't like the error that was reported. TL;DR: Naked functions are OK if I use a newer nightly Rust. This is changed over in #111. |
|
TFW PRs have been open so long you've forgotten about bugs, and the fact you already fixed them months ago, and debug them all over again. |
Adds another batch of examples which all run at EL2.
eret, so a while new batch of assembly trampolines were requiredaarch32-rtto enable these new EL2 trampolines. This feature also skips putting you into EL1 automatically.