Next Generation WASM Microkernel Operating System

chore: allow riscv crate to be compiled on non-riscv architectures

+11 -7
+4
libs/riscv/src/lib.rs
··· 9 9 10 10 #![cfg_attr(not(test), no_std)] 11 11 #![allow(edition_2024_expr_fragment_specifier, reason = "vetted usage")] 12 + #![cfg_attr( 13 + not(any(target_arch = "riscv32", target_arch = "riscv64")), 14 + allow(unused) 15 + )] 12 16 13 17 mod error; 14 18 pub mod extensions;
+7 -7
libs/riscv/src/register/satp.rs
··· 90 90 } 91 91 } 92 92 impl Satp { 93 - #[cfg(target_arch = "riscv32")] 93 + #[cfg(target_pointer_width = "32")] 94 94 pub fn ppn(&self) -> usize { 95 95 self.bits & 0x3f_ffff // bits 0-21 96 96 } 97 - #[cfg(target_arch = "riscv64")] 97 + #[cfg(target_pointer_width = "64")] 98 98 #[must_use] 99 99 pub fn ppn(&self) -> usize { 100 100 self.bits & 0xfff_ffff_ffff // bits 0-43 101 101 } 102 - #[cfg(target_arch = "riscv32")] 102 + #[cfg(target_pointer_width = "32")] 103 103 pub fn asid(&self) -> usize { 104 104 (self.bits >> 22) & 0x1ff // bits 22-30 105 105 } 106 - #[cfg(target_arch = "riscv64")] 106 + #[cfg(target_pointer_width = "64")] 107 107 #[must_use] 108 108 pub fn asid(&self) -> u16 { 109 109 // Safety: `& 0xffff` ensures the number must be 16 bit 110 110 unsafe { u16::try_from((self.bits >> 44) & 0xffff).unwrap_unchecked() } // bits 44-60 111 111 } 112 - #[cfg(target_arch = "riscv32")] 112 + #[cfg(target_pointer_width = "32")] 113 113 pub fn mode(&self) -> Mode { 114 114 match (self.bits >> 31) != 0 { 115 115 true => Mode::Sv32, 116 116 false => Mode::Bare, 117 117 } 118 118 } 119 - #[cfg(target_arch = "riscv64")] 119 + #[cfg(target_pointer_width = "64")] 120 120 #[must_use] 121 121 pub fn mode(&self) -> Mode { 122 122 // bits 60-64 ··· 148 148 Sv64 = 11, 149 149 } 150 150 151 - #[cfg(any(target_arch = "riscv32", target_arch = "riscv64"))] 151 + #[cfg(any(target_pointer_width = "32", target_pointer_width = "64"))] 152 152 impl fmt::Debug for Satp { 153 153 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 154 154 f.debug_struct("Satp")