diff options
author | Nathan Ringo <nathan@remexre.com> | 2024-09-01 19:59:44 -0500 |
---|---|---|
committer | Nathan Ringo <nathan@remexre.com> | 2024-09-01 19:59:44 -0500 |
commit | 386df39c9866a4d945de46ef0dcab2363c674e0e (patch) | |
tree | c0572ce6a2c81c93546210f599dff553783c5760 /crates/kernel/src/arch/hosted.rs | |
parent | 6b98b6afea6e790abe738a67aa28bab54c91afe0 (diff) |
Move almost all the kernel into crates/.
Diffstat (limited to 'crates/kernel/src/arch/hosted.rs')
-rw-r--r-- | crates/kernel/src/arch/hosted.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/crates/kernel/src/arch/hosted.rs b/crates/kernel/src/arch/hosted.rs new file mode 100644 index 0000000..df62bab --- /dev/null +++ b/crates/kernel/src/arch/hosted.rs @@ -0,0 +1,29 @@ +//! Support for running under an operating system that provides libstd, for testing. + +extern crate std; + +use std::{thread::sleep, time::Duration}; + +/// The size of a page of memory. +/// +/// Obviously, this value is unrealistic, but for now we just need the hosted arch to compile. +pub const PAGE_SIZE: usize = 64; + +/// The number of bits in the size of a page of memory. +/// +/// Obviously, this value is unrealistic, but for now we just need the hosted arch to compile. +pub const PAGE_SIZE_BITS: usize = 6; + +/// No-opped interrupt support. +/// +/// TODO: Should this use Unix signals? +pub mod interrupts { + pub fn disable_interrupts() {} +} + +/// Sleeps forever, in one-second chunks. +pub fn sleep_forever() -> ! { + loop { + sleep(Duration::from_secs(1)); + } +} |