A repository for a long-term OS project titled DasOS (named after the Greek for "forest")

Starting over (yet again -_-)

-72
-9
.cargo/config.toml
··· 1 - [unstable] 2 - build-std = ["core", "compiler_builtins"] 3 - build-std-features = ["compiler-builtins-mem"] 4 - 5 - [build] 6 - target = "x86_64-dasos.json" 7 - 8 - [target.'cfg(target_os = "none")'] 9 - runner = "bootimage runner"
-18
Cargo.toml
··· 1 - [package] 2 - name = "dasos" 3 - version = "0.1.0" 4 - edition = "2024" 5 - 6 - [dependencies] 7 - bootloader = "0.9" 8 - 9 - [profile.dev] 10 - panic = "abort" 11 - 12 - [profile.release] 13 - panic = "abort" 14 - 15 - [[bin]] 16 - name = "dasos" 17 - test = false 18 - bench = false
-4
rust-toolchain.toml
··· 1 - [toolchain] 2 - channel = "nightly" 3 - profile = "default" 4 - targets = ["x86_64-unknown-none"]
-25
src/main.rs
··· 1 - #![no_std] 2 - #![no_main] 3 - 4 - use core::panic::PanicInfo; 5 - 6 - #[panic_handler] 7 - fn panic(_info: &PanicInfo) -> ! { 8 - loop {} 9 - } 10 - 11 - static HELLO: &[u8] = b"Hello World!"; 12 - 13 - #[unsafe(no_mangle)] 14 - pub extern "C" fn _start() -> ! { 15 - let vga_buffer = 0xb8000 as *mut u8; 16 - 17 - for (i, &byte) in HELLO.iter().enumerate() { 18 - unsafe { 19 - *vga_buffer.offset(i as isize * 2) = byte; 20 - *vga_buffer.offset(i as isize * 2 + 1) = 0xb; 21 - } 22 - } 23 - 24 - loop {} 25 - }
-16
x86_64-dasos.json
··· 1 - { 2 - "llvm-target": "x86_64-unknown-none", 3 - "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", 4 - "arch": "x86_64", 5 - "target-endian": "little", 6 - "target-pointer-width": 64, 7 - "target-c-int-width": 32, 8 - "os": "none", 9 - "executables": true, 10 - "linker-flavor": "ld.lld", 11 - "linker": "rust-lld", 12 - "panic-strategy": "abort", 13 - "disable-redzone": true, 14 - "features": "-mmx,-sse,+soft-float", 15 - "rustc-abi": "x86-softfloat" 16 - }