[package] name = "rcore" version = "0.2.0" edition = "2018" authors = [ "WangRunji ", "Ben Pig Chu ", "dzy ", "equation314 ", "cfgbd ", "koumingyang <1761674434@qq.com>", "lcy1996 <992195697@qq.com>", "chenqiuhao ", "maoyuchaxue ", "Jiajie Chen ", "chyyuu " ] [features] # Page table sv39 or sv48 (for riscv64) sv39 = [] board_u540 = ["sv39", "link_user"] # (for aarch64 RaspberryPi3) nographic = [] board_raspi3 = ["bcm2837", "link_user"] raspi3_use_generic_timer = ["bcm2837/use_generic_timer"] # Hard link user program link_user = [] # Run cmdline instead of user shell, useful for automatic testing run_cmdline = [] [profile.dev] # MUST >= 2 : Enable RVO to avoid stack overflow opt-level = 2 [dependencies] log = "0.4" spin = "0.5" once = "0.3" xmas-elf = "0.6" bitflags = "1.0" bit_field = "0.9" volatile = "0.2" heapless = "0.4" bitvec = { git = "https://github.com/myrrlyn/bitvec.git", default-features = false, features = ["alloc"] } console-traits = "0.3" buddy_system_allocator = "0.1" pci = { git = "https://github.com/rcore-os/pci-rs" } device_tree = { git = "https://github.com/rcore-os/device_tree-rs" } isomorphic_drivers = { git = "https://github.com/rcore-os/isomorphic_drivers" } lazy_static = { version = "1.3", features = ["spin_no_std"] } smoltcp = { version = "0.5.0", default-features = false, features = ["alloc", "log", "proto-ipv4", "proto-igmp", "socket-icmp", "socket-udp", "socket-tcp", "socket-raw"] } bitmap-allocator = { git = "https://github.com/rcore-os/bitmap-allocator" } rcore-memory = { path = "../crate/memory" } rcore-thread = { git = "https://github.com/rcore-os/rcore-thread" } rcore-fs = { git = "https://github.com/rcore-os/rcore-fs" } rcore-fs-sfs = { git = "https://github.com/rcore-os/rcore-fs" } [target.'cfg(target_arch = "x86_64")'.dependencies] bootloader = { git = "https://github.com/rcore-os/bootloader" } apic = { git = "https://github.com/rcore-os/apic-rs" } x86_64 = "0.5" raw-cpuid = "6.0" uart_16550 = "0.1" pc-keyboard = "0.5" [target.'cfg(any(target_arch = "riscv32", target_arch = "riscv64"))'.dependencies] riscv = { git = "https://github.com/rcore-os/riscv", features = ["inline-asm"] } [target.'cfg(target_arch = "aarch64")'.dependencies] aarch64 = { git = "https://github.com/rcore-os/aarch64" } bcm2837 = { git = "https://github.com/rcore-os/bcm2837", optional = true } [package.metadata.bootimage] default-target = "targets/x86_64.json" output = "target/x86_64/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"