Refactoring-only CL - rename files to disambiguate capsule/HAL/etc.
Change-Id: I9dfaccc1961e66cad6c24bc70d3c4b957f4ab75d
diff --git a/app/src/dprintf.rs b/app/src/dprintf.rs
index c9c75e0..e4aa62e 100644
--- a/app/src/dprintf.rs
+++ b/app/src/dprintf.rs
@@ -21,8 +21,8 @@
if cur.write_fmt(args).is_ok() {
let pos = cur.position();
drop(cur);
- let allow = syscalls::allow(DRIVER_NUM_DEBUG_UART, 0, &mut uart_buf);
- let _result = syscalls::command(DRIVER_NUM_DEBUG_UART, 0, pos as usize, 0);
+ let allow = syscalls::allow(CAPSULE_DPRINTF, 0, &mut uart_buf);
+ let _result = syscalls::command(CAPSULE_DPRINTF, CMD_DPRINTF_PRINT, pos as usize, 0);
drop(allow);
}
}
diff --git a/app/src/main.rs b/app/src/main.rs
index dd4d4cb..f06d653 100644
--- a/app/src/main.rs
+++ b/app/src/main.rs
@@ -15,7 +15,7 @@
dprintf!("sw/matcha/app/src/main.rs::main()\n");
dprintf!("Booting sel4 from TockOS app!\n");
- let _result = syscalls::command(DRIVER_NUM_ELF_LOADER, CMD_ELF_LOADER_BOOT_SEL4, 0, 0);
+ let _result = syscalls::command(CAPSULE_ELFLOADER, CMD_ELFLOADER_BOOT_SEL4, 0, 0);
dprintf!("Booting sel4 from TockOS app done!\n");
Ok(())
diff --git a/capsules/src/debug_uart.rs b/capsules/src/dprintf_capsule.rs
similarity index 91%
rename from capsules/src/debug_uart.rs
rename to capsules/src/dprintf_capsule.rs
index f1e18f3..0026cbc 100644
--- a/capsules/src/debug_uart.rs
+++ b/capsules/src/dprintf_capsule.rs
@@ -19,11 +19,11 @@
pub buffer: Option<AppSlice<Shared, u8>>,
}
-pub struct DebugUartCapsule {
+pub struct DprintfCapsule {
pub app_data_grant: Grant<AppData>,
}
-impl Driver for DebugUartCapsule {
+impl Driver for DprintfCapsule {
fn subscribe(&self, _: usize, _: Option<Callback>, _: AppId) -> ReturnCode {
ReturnCode::EINVAL
}
@@ -35,7 +35,7 @@
let _ = self.app_data_grant.enter(app_id, |app_data, _| {
if let Some(buf) = &app_data.buffer {
- matcha_hal::debug_uart::send_sync(buf.as_ref(), r2);
+ matcha_hal::dprintf_hal::send_sync(buf.as_ref(), r2);
}
});
return ReturnCode::SUCCESS;
diff --git a/capsules/src/elf_loader.rs b/capsules/src/elfloader_capsule.rs
similarity index 91%
rename from capsules/src/elf_loader.rs
rename to capsules/src/elfloader_capsule.rs
index 84d9fc3..393fec5 100644
--- a/capsules/src/elf_loader.rs
+++ b/capsules/src/elfloader_capsule.rs
@@ -13,7 +13,7 @@
fn command(&self, minor_num: usize, _r2: usize, _r3: usize, _app_id: AppId) -> ReturnCode {
dprintf!("ElfLoaderCapsule::command()\n");
- if minor_num == matcha_config::CMD_ELF_LOADER_BOOT_SEL4 {
+ if minor_num == matcha_config::CMD_ELFLOADER_BOOT_SEL4 {
matcha_utils::load_sel4();
return ReturnCode::SUCCESS;
}
diff --git a/capsules/src/lib.rs b/capsules/src/lib.rs
index bd4ff3f..1b59b4a 100644
--- a/capsules/src/lib.rs
+++ b/capsules/src/lib.rs
@@ -1,7 +1,7 @@
#![forbid(unsafe_code)]
#![no_std]
-pub mod debug_uart;
-pub mod elf_loader;
-pub mod mailbox;
-pub mod storage_manager;
+pub mod dprintf_capsule;
+pub mod elfloader_capsule;
+pub mod mailbox_capsule;
+pub mod storage_capsule;
diff --git a/capsules/src/mailbox.rs b/capsules/src/mailbox_capsule.rs
similarity index 92%
rename from capsules/src/mailbox.rs
rename to capsules/src/mailbox_capsule.rs
index 4f9676f..1b93b0d 100644
--- a/capsules/src/mailbox.rs
+++ b/capsules/src/mailbox_capsule.rs
@@ -7,11 +7,11 @@
pub buffer: Option<AppSlice<Shared, u8>>,
}
-pub struct Mailbox {
+pub struct MailboxCapsule {
pub app_data_grant: Grant<AppData>,
}
-impl Driver for Mailbox {
+impl Driver for MailboxCapsule {
fn subscribe(&self, _: usize, _: Option<Callback>, _: AppId) -> ReturnCode {
ReturnCode::EINVAL
}
diff --git a/capsules/src/storage_manager.rs b/capsules/src/storage_capsule.rs
similarity index 77%
rename from capsules/src/storage_manager.rs
rename to capsules/src/storage_capsule.rs
index ab26383..be6f049 100644
--- a/capsules/src/storage_manager.rs
+++ b/capsules/src/storage_capsule.rs
@@ -12,14 +12,14 @@
pub arg3: usize,
}
-pub struct StorageManagerCapsule {
+pub struct StorageCapsule {
app_data_grant: Grant<AppData>,
}
-impl StorageManagerCapsule {
+impl StorageCapsule {
pub fn new(app_data_grant: Grant<AppData>) -> Self {
- dprintf!("StorageManager::new()");
- return StorageManagerCapsule {
+ dprintf!("StorageManager::new()\n");
+ return StorageCapsule {
app_data_grant: app_data_grant,
};
}
@@ -32,7 +32,7 @@
arg3: usize,
) -> ReturnCode {
dprintf!(
- "StorageManagerCapsule::handle_command({}, {}, {})",
+ "StorageCapsule::handle_command({}, {}, {})",
minor_num,
arg2,
arg3
@@ -44,12 +44,12 @@
0 => ReturnCode::SUCCESS,
1 => {
if let Some(mut callback) = app_data.callback {
- dprintf!("StorageManagerCapsule::handle_command : Calling callback!");
+ dprintf!("StorageCapsule::handle_command : Calling callback!");
callback.schedule(1, 2, 3);
app_data.callback = Some(callback);
ReturnCode::SUCCESS
} else {
- dprintf!("StorageManagerCapsule::handle_command : No callback!");
+ dprintf!("StorageCapsule::handle_command : No callback!");
ReturnCode::EINVAL
}
}
@@ -63,11 +63,11 @@
minor_num: usize,
callback: Option<Callback>,
) -> ReturnCode {
- dprintf!("StorageManagerCapsule::handle_subscribe({})", minor_num);
+ dprintf!("StorageCapsule::handle_subscribe({})", minor_num);
if callback.is_some() {
- dprintf!("StorageManagerCapsule::handle_subscribe got Some callback");
+ dprintf!("StorageCapsule::handle_subscribe got Some callback");
} else {
- dprintf!("StorageManagerCapsule::handle_subscribe got None callback");
+ dprintf!("StorageCapsule::handle_subscribe got None callback");
}
app_data.callback = callback;
return ReturnCode::SUCCESS;
@@ -80,18 +80,18 @@
slice: Option<AppSlice<Shared, u8>>,
) -> ReturnCode {
if let Some(slice) = slice {
- dprintf!("StorageManagerCapsule::handle_allow({})", slice.len());
+ dprintf!("StorageCapsule::handle_allow({})", slice.len());
app_data.buffer = Some(slice);
} else {
- dprintf!("StorageManagerCapsule::handle_allow(None)");
+ dprintf!("StorageCapsule::handle_allow(None)");
}
return ReturnCode::SUCCESS;
}
}
-/// Driver impl just enters the app_data grant and delegates to StorageManagerCapsule.
+/// Driver impl just enters the app_data grant and delegates to StorageCapsule.
-impl Driver for StorageManagerCapsule {
+impl Driver for StorageCapsule {
fn subscribe(&self, minor_num: usize, callback: Option<Callback>, app_id: AppId) -> ReturnCode {
self.app_data_grant
.enter(app_id, |app_data, _| {
diff --git a/config/src/lib.rs b/config/src/lib.rs
index 49d782c..08f6eaf 100644
--- a/config/src/lib.rs
+++ b/config/src/lib.rs
@@ -7,10 +7,14 @@
// right now due to some sort of toolchain mismatch that we need to figure out
// later.
-pub const DRIVER_NUM_ALARM: usize = 0x00000;
-pub const DRIVER_NUM_CONSOLE: usize = 0x00001;
-pub const DRIVER_NUM_DEBUG_UART: usize = 0x00009;
-pub const DRIVER_NUM_STORAGE_MANAGER: usize = 0x50003;
-pub const DRIVER_NUM_ELF_LOADER: usize = 0x50004;
+pub const CAPSULE_ALARM: usize = 0x00000;
+pub const CAPSULE_CONSOLE: usize = 0x00001;
+pub const CAPSULE_LLDB: usize = 0x00008;
+pub const CAPSULE_DPRINTF: usize = 0x00009;
+pub const CAPSULE_STORAGE: usize = 0x50003;
+pub const CAPSULE_ELFLOADER: usize = 0x50004;
+pub const CAPSULE_MAILBOX: usize = 0x50005;
-pub const CMD_ELF_LOADER_BOOT_SEL4: usize = 10;
+pub const CMD_ELFLOADER_BOOT_SEL4: usize = 10;
+
+pub const CMD_DPRINTF_PRINT: usize = 0;
diff --git a/hal/src/debug_uart.rs b/hal/src/dprintf_hal.rs
similarity index 86%
rename from hal/src/debug_uart.rs
rename to hal/src/dprintf_hal.rs
index 9dcc161..d6e5ffb 100644
--- a/hal/src/debug_uart.rs
+++ b/hal/src/dprintf_hal.rs
@@ -27,9 +27,9 @@
#[macro_export]
macro_rules! dprintf {
($msg:expr) => ({
- $crate::debug_uart::vdprintf(format_args!($msg))
+ $crate::dprintf_hal::vdprintf(format_args!($msg))
});
($fmt:expr, $($arg:tt)+) => ({
- $crate::debug_uart::vdprintf(format_args!($fmt, $($arg)+))
+ $crate::dprintf_hal::vdprintf(format_args!($fmt, $($arg)+))
});
}
diff --git a/hal/src/lib.rs b/hal/src/lib.rs
index bc607a6..6a929e7 100644
--- a/hal/src/lib.rs
+++ b/hal/src/lib.rs
@@ -4,9 +4,9 @@
#![no_std]
#![feature(asm)]
-pub mod debug_uart;
-pub mod mailbox;
-pub mod plic;
+pub mod dprintf_hal;
+pub mod mailbox_hal;
+pub mod plic_hal;
pub mod plic_constants;
// Software interrupt enable bits in MIE
diff --git a/hal/src/mailbox.rs b/hal/src/mailbox_hal.rs
similarity index 95%
rename from hal/src/mailbox.rs
rename to hal/src/mailbox_hal.rs
index d4acf4b..cff310d 100644
--- a/hal/src/mailbox.rs
+++ b/hal/src/mailbox_hal.rs
@@ -46,14 +46,14 @@
}
}
-pub struct Mailbox {
+pub struct MailboxHAL {
regs: StaticRef<MailboxRegisters>,
plic_wtirq: u32,
plic_rtirq: u32,
plic_eirq: u32,
}
-pub const MAILBOX: Mailbox = Mailbox {
+pub const MAILBOX: MailboxHAL = MailboxHAL {
regs: unsafe { StaticRef::new(MAILBOX_BASE as *mut MailboxRegisters) },
plic_wtirq: MAILBOX_WTIRQ,
plic_rtirq: MAILBOX_RTIRQ,
@@ -76,7 +76,7 @@
buf.offset(bit_index >> 5).write_volatile(bits);
}
-impl Mailbox {
+impl MailboxHAL {
// Synchronously send a message. Blocks the caller if there's no room in the
// outbox.
pub fn send_message_sync(&self, message: &[u32]) {
@@ -101,7 +101,7 @@
self.regs.reg_intr_enable.set(INTR_ENABLE_BIT_RTIRQ);
unsafe {
- set_bit(plic::PLIC_EN0, self.plic_rtirq as isize);
+ set_bit(plic_hal::PLIC_EN0, self.plic_rtirq as isize);
}
// Wait for the read interrupt to fire.
@@ -116,7 +116,7 @@
// Turn the interrupt and IRQ line back off.
unsafe {
- clear_bit(plic::PLIC_EN0, self.plic_rtirq as isize);
+ clear_bit(plic_hal::PLIC_EN0, self.plic_rtirq as isize);
}
self.regs.reg_intr_enable.set(0);
diff --git a/hal/src/plic.rs b/hal/src/plic_hal.rs
similarity index 100%
rename from hal/src/plic.rs
rename to hal/src/plic_hal.rs
diff --git a/platform/src/chip.rs b/platform/src/chip.rs
index b063c46..dd37838 100644
--- a/platform/src/chip.rs
+++ b/platform/src/chip.rs
@@ -11,7 +11,7 @@
use crate::timer;
use crate::uart;
-use matcha_hal::plic;
+use matcha_hal::plic_hal;
PMPConfigMacro!(4);
@@ -39,18 +39,18 @@
}
pub unsafe fn enable_plic_interrupts(&self) {
- plic::disable_all();
- plic::clear_all_pending();
- plic::enable_all();
+ plic_hal::disable_all();
+ plic_hal::clear_all_pending();
+ plic_hal::enable_all();
}
unsafe fn handle_plic_interrupts(&self) {
- while let Some(interrupt) = plic::next_pending() {
+ while let Some(interrupt) = plic_hal::next_pending() {
match interrupt {
UART0_TX_WATERMARK..=UART0_RX_PARITY_ERR => uart::UART0.handle_interrupt(),
_ => debug!("Pidx {}", interrupt),
}
- plic::complete(interrupt);
+ plic_hal::complete(interrupt);
}
}
}
diff --git a/platform/src/main.rs b/platform/src/main.rs
index 7d67cdf..9a811b2 100644
--- a/platform/src/main.rs
+++ b/platform/src/main.rs
@@ -16,9 +16,9 @@
use kernel::Chip;
use kernel::Platform;
use kernel::{create_capability, debug, static_init};
-use matcha_capsules::debug_uart::DebugUartCapsule;
-use matcha_capsules::elf_loader::ElfLoaderCapsule;
-use matcha_capsules::storage_manager::StorageManagerCapsule;
+use matcha_capsules::dprintf_capsule::DprintfCapsule;
+use matcha_capsules::elfloader_capsule::ElfLoaderCapsule;
+use matcha_capsules::storage_capsule::StorageCapsule;
use matcha_config::*;
use matcha_hal::dprintf;
use rv32i::csr;
@@ -62,15 +62,15 @@
/// A structure representing this platform that holds references to all
/// capsules for this platform. We've included an alarm and console.
struct MatchaPlatform {
- console: &'static capsules::console::Console<'static>,
- alarm: &'static capsules::alarm::AlarmDriver<
+ console_capsule: &'static capsules::console::Console<'static>,
+ alarm_capsule: &'static capsules::alarm::AlarmDriver<
'static,
VirtualMuxAlarm<'static, crate::timer::RvTimer<'static>>,
>,
- debug_uart: &'static DebugUartCapsule,
- storage_manager: &'static StorageManagerCapsule,
- elf_loader: &'static ElfLoaderCapsule,
- lldb: &'static capsules::low_level_debug::LowLevelDebug<
+ dprintf_capsule: &'static DprintfCapsule,
+ storage_capsule: &'static StorageCapsule,
+ elfloader_capsule: &'static ElfLoaderCapsule,
+ lldb_capsule: &'static capsules::low_level_debug::LowLevelDebug<
'static,
capsules::virtual_uart::UartDevice<'static>,
>,
@@ -83,12 +83,12 @@
F: FnOnce(Option<&dyn kernel::Driver>) -> R,
{
match driver_num {
- DRIVER_NUM_CONSOLE => f(Some(self.console)),
- DRIVER_NUM_ALARM => f(Some(self.alarm)),
- DRIVER_NUM_DEBUG_UART => f(Some(self.debug_uart)),
- DRIVER_NUM_STORAGE_MANAGER => f(Some(self.storage_manager)),
- DRIVER_NUM_ELF_LOADER => f(Some(self.elf_loader)),
- capsules::low_level_debug::DRIVER_NUM => f(Some(self.lldb)),
+ CAPSULE_CONSOLE => f(Some(self.console_capsule)),
+ CAPSULE_ALARM => f(Some(self.alarm_capsule)),
+ CAPSULE_DPRINTF => f(Some(self.dprintf_capsule)),
+ CAPSULE_STORAGE => f(Some(self.storage_capsule)),
+ CAPSULE_ELFLOADER => f(Some(self.elfloader_capsule)),
+ CAPSULE_LLDB => f(Some(self.lldb_capsule)),
_ => f(None),
}
}
@@ -151,14 +151,14 @@
VirtualMuxAlarm<'static, crate::timer::RvTimer>,
VirtualMuxAlarm::new(mux_alarm)
);
- let alarm = static_init!(
+ let alarm_capsule = static_init!(
capsules::alarm::AlarmDriver<'static, VirtualMuxAlarm<'static, crate::timer::RvTimer>>,
capsules::alarm::AlarmDriver::new(
virtual_alarm_user,
board_kernel.create_grant(&memory_allocation_cap)
)
);
- hil::time::Alarm::set_alarm_client(virtual_alarm_user, alarm);
+ hil::time::Alarm::set_alarm_client(virtual_alarm_user, alarm_capsule);
let chip = static_init!(
crate::chip::Matcha<VirtualMuxAlarm<'static, crate::timer::RvTimer>>,
@@ -175,38 +175,40 @@
csr::CSR.mstatus.modify(csr::mstatus::mstatus::mie::SET);
// Setup the console.
- let console = components::console::ConsoleComponent::new(board_kernel, uart_mux).finalize(());
+ let console_capsule =
+ components::console::ConsoleComponent::new(board_kernel, uart_mux).finalize(());
// Create the debugger object that handles calls to `debug!()`.
components::debug_writer::DebugWriterComponent::new(uart_mux).finalize(());
- let lldb = components::lldb::LowLevelDebugComponent::new(board_kernel, uart_mux).finalize(());
+ let lldb_capsule =
+ components::lldb::LowLevelDebugComponent::new(board_kernel, uart_mux).finalize(());
- let debug_uart_capsule = static_init!(
- DebugUartCapsule,
- DebugUartCapsule {
+ let dprintf_capsule = static_init!(
+ DprintfCapsule,
+ DprintfCapsule {
app_data_grant: board_kernel.create_grant(&memory_allocation_cap)
}
);
- let storage_manager = static_init!(
- matcha_capsules::storage_manager::StorageManagerCapsule,
- matcha_capsules::storage_manager::StorageManagerCapsule::new(
+ let storage_capsule = static_init!(
+ matcha_capsules::storage_capsule::StorageCapsule,
+ matcha_capsules::storage_capsule::StorageCapsule::new(
board_kernel.create_grant(&memory_allocation_cap)
)
);
- let elf_loader = static_init!(
- matcha_capsules::elf_loader::ElfLoaderCapsule,
- matcha_capsules::elf_loader::ElfLoaderCapsule {}
+ let elfloader_capsule = static_init!(
+ matcha_capsules::elfloader_capsule::ElfLoaderCapsule,
+ matcha_capsules::elfloader_capsule::ElfLoaderCapsule {}
);
let platform = MatchaPlatform {
- console: console,
- alarm: alarm,
- debug_uart: debug_uart_capsule,
- storage_manager: storage_manager,
- elf_loader: elf_loader,
- lldb: lldb,
+ console_capsule: console_capsule,
+ alarm_capsule: alarm_capsule,
+ dprintf_capsule: dprintf_capsule,
+ storage_capsule: storage_capsule,
+ elfloader_capsule: elfloader_capsule,
+ lldb_capsule: lldb_capsule,
};
kernel::procs::load_processes(
diff --git a/utils/src/lib.rs b/utils/src/lib.rs
index c18295b..03c45c6 100644
--- a/utils/src/lib.rs
+++ b/utils/src/lib.rs
@@ -62,7 +62,7 @@
transmute(sel4_pend - elf_loader::elf_phys_min(capdl_segments)),
transmute((*capdl_elf).e_entry),
];
- matcha_hal::mailbox::MAILBOX.send_message_sync(&message);
+ matcha_hal::mailbox_hal::MAILBOX.send_message_sync(&message);
dprintf!("seL4 boot message posted\n");
SMC_CONTROL_BLOCK.write_volatile(entry_point);
@@ -70,7 +70,7 @@
dprintf!("SMC started, waiting on ACK\n");
let mut reply : [u32;1] = [0];
- matcha_hal::mailbox::MAILBOX.recv_message_sync(&mut reply);
+ matcha_hal::mailbox_hal::MAILBOX.recv_message_sync(&mut reply);
dprintf!("ACK = 0x{:08X} received.\n", reply[0]);