diff --git a/src/arch/aarch64/interrupt/handler.rs b/src/arch/aarch64/interrupt/handler.rs index 9be3973..1965d13 100644 --- a/src/arch/aarch64/interrupt/handler.rs +++ b/src/arch/aarch64/interrupt/handler.rs @@ -285,7 +285,7 @@ macro_rules! pop_special { ldp x14, x15, [sp], 16 msr tpidrro_el0, x15 msr spsr_el1, x14 - + ldp x14, x15, [sp], 16 msr elr_el1, x15 msr tpidr_el0, x14 diff --git a/src/arch/aarch64/interrupt/irq.rs b/src/arch/aarch64/interrupt/irq.rs index 27636e4..21e5c4a 100644 --- a/src/arch/aarch64/interrupt/irq.rs +++ b/src/arch/aarch64/interrupt/irq.rs @@ -38,6 +38,7 @@ unsafe fn trigger(irq: u32) { } pub unsafe fn acknowledge(_irq: usize) { + // TODO } pub unsafe fn irq_handler_com1(irq: u32) { diff --git a/src/elf.rs b/src/elf.rs index d74fe3f..4914a39 100644 --- a/src/elf.rs +++ b/src/elf.rs @@ -9,6 +9,7 @@ pub use goblin::elf32::{header, program_header, section_header, sym}; #[cfg(any( target_arch = "aarch64", + target_arch = "riscv64", target_arch = "x86_64" ))] pub use goblin::elf64::{header, program_header, section_header, sym}; diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs index c07771b..922905a 100644 --- a/src/scheme/proc.rs +++ b/src/scheme/proc.rs @@ -335,7 +335,7 @@ impl Scheme for ProcScheme { Ok(value) } - #[cfg(target_arch = "aarch64")] + #[cfg(not(target_arch = "x86_64"))] fn read(&self, id: usize, buf: &mut [u8]) -> Result { //TODO Err(Error::new(EINVAL)) diff --git a/src/syscall/driver.rs b/src/syscall/driver.rs index a816f9c..1e64e1b 100644 --- a/src/syscall/driver.rs +++ b/src/syscall/driver.rs @@ -18,7 +18,7 @@ fn enforce_root() -> Result<()> { } } -#[cfg(target_arch = "aarch64")] +#[cfg(not(target_arch = "x86_64"))] pub fn iopl(level: usize, stack: &mut InterruptStack) -> Result { Err(Error::new(syscall::error::ENOSYS)) } diff --git a/src/syscall/mod.rs b/src/syscall/mod.rs index 2287e25..5792cd8 100644 --- a/src/syscall/mod.rs +++ b/src/syscall/mod.rs @@ -124,7 +124,7 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u SYS_CLONE => { let b = CloneFlags::from_bits_truncate(b); - #[cfg(target_arch = "aarch64")] + #[cfg(not(target_arch = "x86_64"))] { //TODO: CLONE_STACK let ret = clone(b, bp).map(ContextId::into); diff --git a/src/syscall/process.rs b/src/syscall/process.rs index 5ae6fdc..850dfeb 100644 --- a/src/syscall/process.rs +++ b/src/syscall/process.rs @@ -124,7 +124,7 @@ pub fn clone(flags: CloneFlags, stack_base: usize) -> Result { } } - #[cfg(target_arch = "aarch64")] + #[cfg(not(target_arch = "x86_64"))] { if let Some(ref stack) = context.kstack { offset = stack_base - stack.as_ptr() as usize; @@ -374,7 +374,7 @@ pub fn clone(flags: CloneFlags, stack_base: usize) -> Result { new_ktable }; - #[cfg(target_arch = "x86_64")] + #[cfg(not(target_arch = "aarch64"))] let mut new_ktable = unsafe { InactivePageTable::from_address(new_utable.address()) };