tangled
alpha
login
or
join now
cass.cityboundforest.com
/
dasos
0
fork
atom
A repository for a long-term OS project titled DasOS (named after the Greek for "forest")
0
fork
atom
overview
issues
pulls
pipelines
Starting over (yet again -_-)
cass.cityboundforest.com
4 months ago
9c332da8
e5d1348b
-72
5 changed files
expand all
collapse all
unified
split
.cargo
config.toml
Cargo.toml
rust-toolchain.toml
src
main.rs
x86_64-dasos.json
-9
.cargo/config.toml
···
1
1
-
[unstable]
2
2
-
build-std = ["core", "compiler_builtins"]
3
3
-
build-std-features = ["compiler-builtins-mem"]
4
4
-
5
5
-
[build]
6
6
-
target = "x86_64-dasos.json"
7
7
-
8
8
-
[target.'cfg(target_os = "none")']
9
9
-
runner = "bootimage runner"
-18
Cargo.toml
···
1
1
-
[package]
2
2
-
name = "dasos"
3
3
-
version = "0.1.0"
4
4
-
edition = "2024"
5
5
-
6
6
-
[dependencies]
7
7
-
bootloader = "0.9"
8
8
-
9
9
-
[profile.dev]
10
10
-
panic = "abort"
11
11
-
12
12
-
[profile.release]
13
13
-
panic = "abort"
14
14
-
15
15
-
[[bin]]
16
16
-
name = "dasos"
17
17
-
test = false
18
18
-
bench = false
-4
rust-toolchain.toml
···
1
1
-
[toolchain]
2
2
-
channel = "nightly"
3
3
-
profile = "default"
4
4
-
targets = ["x86_64-unknown-none"]
-25
src/main.rs
···
1
1
-
#![no_std]
2
2
-
#![no_main]
3
3
-
4
4
-
use core::panic::PanicInfo;
5
5
-
6
6
-
#[panic_handler]
7
7
-
fn panic(_info: &PanicInfo) -> ! {
8
8
-
loop {}
9
9
-
}
10
10
-
11
11
-
static HELLO: &[u8] = b"Hello World!";
12
12
-
13
13
-
#[unsafe(no_mangle)]
14
14
-
pub extern "C" fn _start() -> ! {
15
15
-
let vga_buffer = 0xb8000 as *mut u8;
16
16
-
17
17
-
for (i, &byte) in HELLO.iter().enumerate() {
18
18
-
unsafe {
19
19
-
*vga_buffer.offset(i as isize * 2) = byte;
20
20
-
*vga_buffer.offset(i as isize * 2 + 1) = 0xb;
21
21
-
}
22
22
-
}
23
23
-
24
24
-
loop {}
25
25
-
}
-16
x86_64-dasos.json
···
1
1
-
{
2
2
-
"llvm-target": "x86_64-unknown-none",
3
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
4
-
"arch": "x86_64",
5
5
-
"target-endian": "little",
6
6
-
"target-pointer-width": 64,
7
7
-
"target-c-int-width": 32,
8
8
-
"os": "none",
9
9
-
"executables": true,
10
10
-
"linker-flavor": "ld.lld",
11
11
-
"linker": "rust-lld",
12
12
-
"panic-strategy": "abort",
13
13
-
"disable-redzone": true,
14
14
-
"features": "-mmx,-sse,+soft-float",
15
15
-
"rustc-abi": "x86-softfloat"
16
16
-
}