Commit graph

15 commits

Author SHA1 Message Date
Amaan Qureshi
0f95ca0f68
arch: add riscv32 support 2026-04-18 19:35:10 -04:00
Amaan Qureshi
07239e2c0b
arch: add armv7 support 2026-04-18 19:35:10 -04:00
Amaan Qureshi
03e6d1f4cf
arch: add powerpc64 support 2026-04-18 19:35:10 -04:00
Amaan Qureshi
05fc3d8df9
arch: add s390x support 2026-04-18 18:34:08 -04:00
Amaan Qureshi
ce7a8553a8
arch: add loongarch64 support 2026-04-18 18:33:43 -04:00
Amaan Qureshi
e77976b94b
asm: extract per-arch syscall impls into separate modules
The monolithic lib.rs had grown to 2600+ lines of `#[cfg(target_arch)]`
blocks interleaved inside every `sys_*` function. Reading or modifying one
arch's syscalls meant scrolling past thirteen others. Pull each arch's asm
into `<arch>.rs`, re-exported via a single `#[cfg] #[path] mod arch;` so
`lib.rs` only contains wrappers, structs, and module dispatch. Adding a new
architecture now touches one new file plus one three-line mod decl.
2026-04-18 18:31:49 -04:00
Amaan Qureshi
e434985d00
cpu: add CPU info with model name, core/thread counts, and P/E detection 2026-04-15 11:18:19 -04:00
Amaan Qureshi
2d4bb2e371
microfetch: move _start to binary crate, gate entry_rust with cfg(not(test)) 2026-04-11 02:53:36 -04:00
Amaan Qureshi
c4b7afbf46
crates/asm: fix aarch64 stack alignment in _start 2026-04-11 02:53:36 -04:00
Amaan Qureshi
c426e88d99
crates/asm: add bcmp and memcmp for static linking without libc
riscv64 codegen emits calls to bcmp for byte comparisons, which is
undefined when linking with -static and no libc. Provide both bcmp
and memcmp implementations alongside the existing memcpy/memset/strlen.
2026-04-11 00:24:36 -04:00
0f5fc124da
crates/asm: replicate some libc runtime symbols manually, unsafely
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6df95b1f0a9f117c8e108d8755389a4d6a6a6964
2026-03-27 23:48:26 +03:00
472dbfc7e7
treewide: going no_std
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia1c001eb099ea8cae9bdf76642b873376a6a6964
2026-03-27 21:39:41 +03:00
1b0e3070bb
crates: make assembly helpers no_std
Some checks failed
Rust / Test on aarch64-unknown-linux-gnu (push) Has been cancelled
Rust / Test on riscv64gc-unknown-linux-gnu (push) Has been cancelled
Rust / Test on x86_64-unknown-linux-gnu (push) Has been cancelled
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1af24924f436b3f552b67f54bad2c02a6a6a6964
2026-03-27 17:24:12 +03:00
1c781aff56
chore: don't benchmark binary crate; centralize assembly helpers
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia24cb1647df93034937a8fcd6cad895c6a6a6964
2026-03-27 14:38:33 +03:00
1408ca9f38
treewide: break into multiple crates
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifabe7af523ece1354b301b1a321659ee6a6a6964
2026-03-27 13:27:44 +03:00