Compare commits

..

No commits in common. "77edb07211bd910bc6fa05c3499b8f519a5282cb" and "d1ea8756998dae6e7727bc5b72d172e6cade97ea" have entirely different histories.

5 changed files with 8 additions and 54 deletions

View File

@ -1,48 +0,0 @@
name: Continuous Integration
on: [push]
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: cargo check
# Disabled until custom test harness is implemented.
#test:
# name: Test Suite
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions-rust-lang/setup-rust-toolchain@v1
# - run: cargo test
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: rustup component add clippy
- run: cargo clippy -- -D warnings
build:
name: Build (x86_64)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: rustup target add x86_64-unknown-none
- run: cargo build --bin kernel --target x86_64-unknown-none

View File

@ -14,7 +14,8 @@ compile_error!(
#[cfg(target_arch = "x86_64")] #[cfg(target_arch = "x86_64")]
pub mod x86_64; pub mod x86_64;
#[cfg(target_arch = "x86_64")] #[cfg(target_arch = "x86_64")]
pub use x86_64::{asm, paging}; pub use x86_64::asm;
pub use x86_64::paging;
#[cfg(target_arch = "aarch64")] #[cfg(target_arch = "aarch64")]
pub mod aarch64; pub mod aarch64;

View File

@ -6,9 +6,10 @@ use x86_64::structures::idt::*;
lazy_static! { lazy_static! {
pub static ref IDT: InterruptDescriptorTable = { pub static ref IDT: InterruptDescriptorTable = {
InterruptDescriptorTable::new() let idt = InterruptDescriptorTable::new();
// TODO: Re-implement this once the x86-interrupt ABI is fixed. // TODO: Re-implement this once the x86-interrupt ABI is fixed.
// Alternatively: Write our own interrupt handler wrappers. // Alternatively: Write our own interrupt handler wrappers.
idt
}; };
} }

View File

@ -40,7 +40,7 @@ pub struct Process {
#[allow(dead_code)] #[allow(dead_code)]
pub fn context_switch() -> ! { pub fn context_switch() -> ! {
todo!() loop {}
} }
#[allow(dead_code)] #[allow(dead_code)]

View File

@ -36,6 +36,6 @@ impl From<u64> for SyscallStatus {
} }
} }
//pub fn exit(code: u64) -> SyscallStatus { pub fn exit(code: u64) -> SyscallStatus {
// arch::syscall_impl::caller_syscall_1(Syscall::Exit as u64, code).into() arch::syscall_impl::caller_syscall_1(Syscall::Exit as u64, code).into()
//} }