From 3d0b262435271460d45a253e6a54b93b90f67361 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Wed, 5 Sep 2018 23:00:23 -0700 Subject: [PATCH] Add null driver This will be the target of our real ELF loader --- assets/initrd.manifest | 3 ++- src/drivers/nulldrv/main.cpp | 1 + src/drivers/nulldrv/main.s | 11 +++++++++++ src/drivers/nulldrv/wscript | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/drivers/nulldrv/main.cpp create mode 100644 src/drivers/nulldrv/main.s create mode 100644 src/drivers/nulldrv/wscript diff --git a/assets/initrd.manifest b/assets/initrd.manifest index 0e1eef6..ca70342 100644 --- a/assets/initrd.manifest +++ b/assets/initrd.manifest @@ -1 +1,2 @@ -assets/fonts/tamsyn8x16r.psf screenfont.psf +#assets/fonts/tamsyn8x16r.psf screenfont.psf +build/kernel/src/drivers/nulldrv/nulldrv nulldrv diff --git a/src/drivers/nulldrv/main.cpp b/src/drivers/nulldrv/main.cpp new file mode 100644 index 0000000..60d7ba6 --- /dev/null +++ b/src/drivers/nulldrv/main.cpp @@ -0,0 +1 @@ +int main(int argc, const char **argv) { return 0; } diff --git a/src/drivers/nulldrv/main.s b/src/drivers/nulldrv/main.s new file mode 100644 index 0000000..cbb0009 --- /dev/null +++ b/src/drivers/nulldrv/main.s @@ -0,0 +1,11 @@ +global _start +_start: + xor rbp, rbp ; Sentinel rbp + + pop rsi ; My PID + mov rdi, 0 ; DEBUG syscall + +.loop: + syscall + jmp .loop + diff --git a/src/drivers/nulldrv/wscript b/src/drivers/nulldrv/wscript new file mode 100644 index 0000000..16adcf4 --- /dev/null +++ b/src/drivers/nulldrv/wscript @@ -0,0 +1,15 @@ + +def configure(ctx): + pass + +def build(bld): + sources = bld.path.ant_glob("**/*.cpp") + sources += bld.path.ant_glob("**/*.s") + + bld.program( + source = sources, + name = 'nulldrv', + target = 'nulldrv', + ) + +# vim: ft=python et