Skip to content
Snippets Groups Projects
Commit 03f373fb authored by Jorge Aparicio's avatar Jorge Aparicio
Browse files

drop idle.locals

parent e56ab133
No related branches found
No related tags found
No related merge requests found
......@@ -11,7 +11,6 @@ pub fn app(app: &App, ownerships: &Ownerships) -> Tokens {
let mut root = vec![];
let mut main = vec![];
// ::trans::check(app, &mut main);
::trans::init(app, &mut main, &mut root);
::trans::idle(app, ownerships, &mut main, &mut root);
::trans::resources(app, ownerships, &mut root);
......@@ -27,12 +26,6 @@ pub fn app(app: &App, ownerships: &Ownerships) -> Tokens {
quote!(#(#root)*)
}
// Check that the exceptions / interrupts are valid
// Sadly we can't do this test at expansion time. Instead we'll generate some
// code that won't compile if the interrupt name is invalid.
// fn check(app: &App, main: &mut Vec<Tokens>) {
// }
fn idle(
app: &App,
ownerships: &Ownerships,
......@@ -55,40 +48,6 @@ fn idle(
exprs.push(quote!(unsafe { &mut #krate::Threshold::new(0) }));
}
if !app.idle.locals.is_empty() {
let mut lexprs = vec![];
let mut lfields = vec![];
for (name, resource) in &app.idle.locals {
let expr = &resource.expr;
let ty = &resource.ty;
lfields.push(quote! {
pub #name: #krate::Static<#ty>,
});
lexprs.push(quote! {
#name: unsafe { #krate::Static::new(#expr) },
});
}
mod_items.push(quote! {
#[allow(non_snake_case)]
pub struct Locals {
#(#lfields)*
}
});
tys.push(quote!(&'static mut idle::Locals));
exprs.push(quote!(unsafe { &mut LOCALS }));
main.push(quote! {
static mut LOCALS: idle::Locals = idle::Locals {
#(#lexprs)*
};
});
}
if !app.idle.resources.is_empty() {
let device = &app.device;
......@@ -424,7 +383,9 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec<Tokens>) {
&'cs self,
_cs: &'cs #krate::CriticalSection,
) -> &'cs #krate::Static<#device::#name> {
unsafe { #krate::Static::ref_(&*#device::#name.get()) }
unsafe {
#krate::Static::ref_(&*#device::#name.get())
}
}
fn borrow_mut<'cs>(
......@@ -432,7 +393,9 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec<Tokens>) {
_cs: &'cs #krate::CriticalSection,
) -> &'cs mut #krate::Static<#device::#name> {
unsafe {
#krate::Static::ref_mut(&mut *#device::#name.get())
#krate::Static::ref_mut(
&mut *#device::#name.get(),
)
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment