[package] name = "ucore" version = "0.1.0" authors = ["Runji Wang "] edition = "2018" [features] # Without BBL (for riscv32 FPGA board) no_bbl = [] # Disable paging (for riscv32) no_mmu = [] # Kernel in M-mode (for riscv32) m_mode = ["no_mmu"] # (for aarch64 RaspberryPi3) board_raspi3 = [] [profile.dev] # MUST >= 1 : Enable RVO to avoid stack overflow opt-level = 1 [profile.release] debug = true [dependencies] log = "0.4" spin = "0.4" once = "0.3" xmas-elf = "0.6" bitflags = "1.0" bit_field = "0.9" volatile = "0.2" linked_list_allocator = "0.6" lazy_static = { version = "1.2", features = ["spin_no_std"] } bit-allocator = { path = "../crate/bit-allocator" } ucore-memory = { path = "../crate/memory" } ucore-process = { path = "../crate/process" } simple-filesystem = { git = "https://github.com/wangrunji0408/SimpleFileSystem-Rust", branch = "multi-thread" } [target.'cfg(target_arch = "x86_64")'.dependencies] bootloader = { git = "https://github.com/wangrunji0408/bootloader" } apic = { git = "https://github.com/wangrunji0408/APIC-Rust" } #bootloader = { path = "../crate/bootloader" } #apic = { path = "../crate/apic" } x86_64 = "0.3" raw-cpuid = "6.0" uart_16550 = "0.1" pc-keyboard = "0.3" [target.'cfg(any(target_arch = "riscv32", target_arch = "riscv64"))'.dependencies] riscv = { path = "../crate/riscv" } bbl = { path = "../crate/bbl" } [target.'cfg(target_arch = "aarch64")'.dependencies] aarch64 = { git = "https://github.com/equation314/aarch64" } atags = { path = "../crate/atags" } bcm2837 = { path = "../crate/bcm2837", features = ["use_generic_timer"] } [package.metadata.bootimage] default-target = "x86_64-blog_os.json" output = "target/x86_64-blog_os/bootimage.bin" minimum-image-size = 0 # The minimum output file size (in MiB) # The command invoked on `bootimage run` # (the "{}" will be replaced with the path to the bootable disk image) run-command = ["qemu-system-x86_64", "-drive", "format=raw,file={}", # TODO: use SFSIMG environment variable "-drive", "format=raw,file=../user/img/ucore-i386-pic.img,media=disk,cache=writeback", "-serial", "mon:stdio", "-device", "isa-debug-exit", "-smp", "4" ] [build-dependencies] cc = "1.0"