aboutsummaryrefslogtreecommitdiff
path: root/mc
diff options
context:
space:
mode:
Diffstat (limited to 'mc')
-rw-r--r--mc/Cargo.toml18
-rw-r--r--mc/README.md1
-rw-r--r--mc/examples/smallest.rs7
-rw-r--r--mc/examples/x-init-2.rs39
-rw-r--r--mc/examples/x-init.rs26
-rw-r--r--mc/examples/x-schedule.rs36
-rw-r--r--mc/examples/x-spawn.rs20
-rw-r--r--mc/src/lib.rs99
8 files changed, 0 insertions, 246 deletions
diff --git a/mc/Cargo.toml b/mc/Cargo.toml
deleted file mode 100644
index 7c75335d..00000000
--- a/mc/Cargo.toml
+++ /dev/null
@@ -1,18 +0,0 @@
-[package]
-authors = ["Jorge Aparicio <jorge@japaric.io>"]
-edition = "2018"
-name = "mc"
-# this crate is only used for testing
-publish = false
-version = "0.0.0-alpha.0"
-
-[dependencies]
-cortex-m = "0.6.0"
-
-[dependencies.cortex-m-rtfm]
-path = ".."
-features = ["heterogeneous"]
-
-[dev-dependencies]
-panic-halt = "0.2.0"
-microamp = "0.1.0-alpha.1"
diff --git a/mc/README.md b/mc/README.md
deleted file mode 100644
index e1335bbf..00000000
--- a/mc/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains multi-core compile pass tests.
diff --git a/mc/examples/smallest.rs b/mc/examples/smallest.rs
deleted file mode 100644
index 792935a8..00000000
--- a/mc/examples/smallest.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#![no_main]
-#![no_std]
-
-use panic_halt as _;
-
-#[rtfm::app(cores = 2, device = mc)]
-const APP: () = {};
diff --git a/mc/examples/x-init-2.rs b/mc/examples/x-init-2.rs
deleted file mode 100644
index ff48b110..00000000
--- a/mc/examples/x-init-2.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-//! [compile-pass] Cross initialization of late resources
-
-#![deny(unsafe_code)]
-#![deny(warnings)]
-#![no_main]
-#![no_std]
-
-use panic_halt as _;
-
-#[rtfm::app(cores = 2, device = mc)]
-const APP: () = {
- extern "C" {
- // owned by core #1 but initialized by core #0
- static mut X: u32;
-
- // owned by core #0 but initialized by core #1
- static mut Y: u32;
- }
-
- #[init(core = 0, late = [X])]
- fn a(_: a::Context) -> a::LateResources {
- a::LateResources { X: 0 }
- }
-
- #[idle(core = 0, resources = [Y])]
- fn b(_: b::Context) -> ! {
- loop {}
- }
-
- #[init(core = 1)]
- fn c(_: c::Context) -> c::LateResources {
- c::LateResources { Y: 0 }
- }
-
- #[idle(core = 1, resources = [X])]
- fn d(_: d::Context) -> ! {
- loop {}
- }
-};
diff --git a/mc/examples/x-init.rs b/mc/examples/x-init.rs
deleted file mode 100644
index 3f26c5c9..00000000
--- a/mc/examples/x-init.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-//! [compile-pass] Split initialization of late resources
-
-#![deny(unsafe_code)]
-#![deny(warnings)]
-#![no_main]
-#![no_std]
-
-use panic_halt as _;
-
-#[rtfm::app(cores = 2, device = mc)]
-const APP: () = {
- extern "C" {
- static mut X: u32;
- static mut Y: u32;
- }
-
- #[init(core = 0, late = [X])]
- fn a(_: a::Context) -> a::LateResources {
- a::LateResources { X: 0 }
- }
-
- #[init(core = 1)]
- fn b(_: b::Context) -> b::LateResources {
- b::LateResources { Y: 0 }
- }
-};
diff --git a/mc/examples/x-schedule.rs b/mc/examples/x-schedule.rs
deleted file mode 100644
index 76e70acf..00000000
--- a/mc/examples/x-schedule.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-#![no_main]
-#![no_std]
-
-use panic_halt as _;
-
-#[rtfm::app(cores = 2, device = mc, monotonic = mc::MT)]
-const APP: () = {
- #[init(core = 0, spawn = [ping])]
- fn init(c: init::Context) {
- c.spawn.ping().ok();
- }
-
- #[task(core = 0, schedule = [ping])]
- fn pong(c: pong::Context) {
- c.schedule.ping(c.scheduled + 1_000_000).ok();
- }
-
- #[task(core = 1, schedule = [pong])]
- fn ping(c: ping::Context) {
- c.schedule.pong(c.scheduled + 1_000_000).ok();
- }
-
- extern "C" {
- #[core = 0]
- fn I0();
-
- #[core = 0]
- fn I1();
-
- #[core = 1]
- fn I0();
-
- #[core = 1]
- fn I1();
- }
-};
diff --git a/mc/examples/x-spawn.rs b/mc/examples/x-spawn.rs
deleted file mode 100644
index 749918fd..00000000
--- a/mc/examples/x-spawn.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![no_main]
-#![no_std]
-
-use panic_halt as _;
-
-#[rtfm::app(cores = 2, device = mc)]
-const APP: () = {
- #[init(core = 0, spawn = [foo])]
- fn init(c: init::Context) {
- c.spawn.foo().ok();
- }
-
- #[task(core = 1)]
- fn foo(_: foo::Context) {}
-
- extern "C" {
- #[core = 1]
- fn I0();
- }
-};
diff --git a/mc/src/lib.rs b/mc/src/lib.rs
deleted file mode 100644
index d86c0e8e..00000000
--- a/mc/src/lib.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-//! Fake multi-core PAC
-
-#![no_std]
-
-use core::{
- cmp::Ordering,
- ops::{Add, Sub},
-};
-
-use cortex_m::interrupt::Nr;
-use rtfm::Monotonic;
-
-// Fake priority bits
-pub const NVIC_PRIO_BITS: u8 = 3;
-
-pub struct CrossPend;
-
-pub fn xpend(_core: u8, _interrupt: impl Nr) {}
-
-/// Fake monotonic timer
-pub struct MT;
-
-unsafe impl Monotonic for MT {
- type Instant = Instant;
-
- fn ratio() -> u32 {
- 1
- }
-
- unsafe fn reset() {
- (0xE0001004 as *mut u32).write_volatile(0)
- }
-
- fn now() -> Instant {
- unsafe { Instant((0xE0001004 as *const u32).read_volatile() as i32) }
- }
-
- fn zero() -> Instant {
- Instant(0)
- }
-}
-
-#[derive(Clone, Copy, Eq, PartialEq)]
-pub struct Instant(i32);
-
-impl Add<u32> for Instant {
- type Output = Instant;
-
- fn add(self, rhs: u32) -> Self {
- Instant(self.0.wrapping_add(rhs as i32))
- }
-}
-
-impl Sub for Instant {
- type Output = u32;
-
- fn sub(self, rhs: Self) -> u32 {
- self.0.checked_sub(rhs.0).unwrap() as u32
- }
-}
-
-impl Ord for Instant {
- fn cmp(&self, rhs: &Self) -> Ordering {
- self.0.wrapping_sub(rhs.0).cmp(&0)
- }
-}
-
-impl PartialOrd for Instant {
- fn partial_cmp(&self, rhs: &Self) -> Option<Ordering> {
- Some(self.cmp(rhs))
- }
-}
-
-// Fake interrupts
-pub enum Interrupt {
- I0,
- I1,
- I2,
- I3,
- I4,
- I5,
- I6,
- I7,
-}
-
-unsafe impl Nr for Interrupt {
- fn nr(&self) -> u8 {
- match self {
- Interrupt::I0 => 0,
- Interrupt::I1 => 1,
- Interrupt::I2 => 2,
- Interrupt::I3 => 3,
- Interrupt::I4 => 4,
- Interrupt::I5 => 5,
- Interrupt::I6 => 6,
- Interrupt::I7 => 7,
- }
- }
-}