2023-07-17 09:36:39 -05:00
|
|
|
use {core::arch::asm, limine::FramebufferRequest};
|
|
|
|
|
|
|
|
pub const PAGE_SIZE: usize = 4096;
|
2023-07-14 20:00:50 -05:00
|
|
|
|
2023-07-13 22:41:09 -05:00
|
|
|
#[no_mangle]
|
2023-07-14 19:38:13 -05:00
|
|
|
unsafe extern "C" fn _kernel_start() -> ! {
|
2023-07-17 00:36:06 -05:00
|
|
|
static FB_REQ: FramebufferRequest = FramebufferRequest::new(0);
|
2023-07-17 09:36:39 -05:00
|
|
|
let fb1 = &FB_REQ.get_response().get().unwrap().framebuffers()[0];
|
2023-07-17 00:36:06 -05:00
|
|
|
|
2023-07-17 09:36:39 -05:00
|
|
|
for i in 0..100_usize {
|
|
|
|
let offset = i * fb1.pitch as usize + i * 4;
|
|
|
|
unsafe {
|
|
|
|
*(fb1.address.as_ptr().unwrap().offset(offset as isize) as *mut u32) = 0xFFFFFFFF;
|
|
|
|
}
|
|
|
|
}
|
2023-07-14 19:38:13 -05:00
|
|
|
|
2023-07-17 09:36:39 -05:00
|
|
|
spin_loop();
|
2023-07-14 19:38:13 -05:00
|
|
|
}
|
|
|
|
|
2023-07-15 08:04:53 -05:00
|
|
|
pub fn spin_loop() -> ! {
|
2023-07-17 09:36:39 -05:00
|
|
|
loop {
|
|
|
|
unsafe { asm!("wfi") }
|
|
|
|
}
|
2023-07-14 19:38:13 -05:00
|
|
|
}
|
2023-07-17 09:36:39 -05:00
|
|
|
|
2023-07-14 19:38:13 -05:00
|
|
|
pub fn hardware_random_u64() -> u64 {
|
|
|
|
0
|
|
|
|
}
|
|
|
|
|
2023-07-17 09:36:39 -05:00
|
|
|
pub fn log(_args: core::fmt::Arguments<'_>) -> core::fmt::Result {
|
|
|
|
panic!()
|
|
|
|
}
|