Add simple paging, use rust libcore and compile without sse

This commit is contained in:
Jeremy Soller 2016-08-15 11:29:53 -06:00
parent 9f0819dafb
commit 465363f0a1
18 changed files with 601 additions and 53 deletions

View file

@ -14,12 +14,25 @@ qemu: build/harddrive.bin
FORCE:
build:
mkdir build
build/libcore.rlib: rust/src/libcore/lib.rs
mkdir -p build
./rustc.sh --target $(ARCH)-unknown-none.json -C soft-float -o $@ $<
build/libkernel.a: build FORCE
cargo rustc -- --crate-type staticlib -o $@
#--target $(ARCH)-unknown-none.json
build/liballoc.rlib: rust/src/liballoc/lib.rs build/libcore.rlib
mkdir -p build
./rustc.sh --target $(ARCH)-unknown-none.json -C soft-float -o $@ $<
build/librustc_unicode.rlib: rust/src/librustc_unicode/lib.rs build/libcore.rlib
mkdir -p build
./rustc.sh --target $(ARCH)-unknown-none.json -C soft-float -o $@ $<
build/libcollections.rlib: rust/src/libcollections/lib.rs build/libcore.rlib build/liballoc.rlib build/librustc_unicode.rlib
mkdir -p build
./rustc.sh --target $(ARCH)-unknown-none.json -C soft-float -o $@ $<
build/libkernel.a: build/libcore.rlib build/liballoc.rlib build/libcollections.rlib FORCE
mkdir -p build
RUSTC="./rustc.sh" cargo rustc --verbose --target $(ARCH)-unknown-none.json -- -C soft-float -o $@
build/kernel.bin: build/libkernel.a
ld -m elf_$(ARCH) --gc-sections -z max-page-size=0x1000 -T bootloader/x86/kernel.ld -o $@ $<
@ -31,4 +44,4 @@ build/harddrive.bin: build/kernel.bin
nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/x86/ -ibuild/ bootloader/x86/harddrive.asm
clean:
rm -rf build/*
rm -rf build/* target/*