Naked function must contain a single asm block #73
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
https://github.com/rust-lang/rust/issues/32408
Warning on latest nightly, would become hard error later.
But I'm not sure how should we run other functions from interrupt with asm block only, maybe we should mark the functions as
extern "C"
and call them from asm?That seems to be the way forward.
Perhaps we can create a shared abstraction (macro_rules) that works with our memory model for all our naked fns.
It seems that the new compiler also break our code regarding core1.
The experiments break even if changes to the
memcpy
is removed, and only works when I comment outboot::Core1::start(false);
and related core1 code.Not sure what is happening here.
My fork with updated compiler: https://git.m-labs.hk/pca006132/zynq-rs
Using
extern "C"
function instead of naked function would break kernel code. Getting weird interrupts after several restarts.Reopening to see if there is any better solution.
I'm not sure using a naked function to call an(It does not work)extern "C"
function bybl ...
could work.Maybe we should initialize
SP
for other interrupt handlers as well. idk why it works now, considering theSP
should point to 0 and idk how the registers are pushed to the stack...