feat: use workspace

This commit is contained in:
Paul Pan 2024-02-16 19:22:06 +08:00
parent fb1fc2a663
commit daaea9d158
42 changed files with 58 additions and 60 deletions

View File

@ -1,10 +1,6 @@
name: Rust
on:
push:
branches: [ "dev" ]
pull_request:
branches: [ "dev" ]
on: [ push, pull_request ]
env:
CARGO_TERM_COLOR: always

View File

@ -2,7 +2,7 @@
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/kernel/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />

28
Cargo.lock generated
View File

@ -38,6 +38,20 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89"
[[package]]
name = "kernel"
version = "0.1.0"
dependencies = [
"bitflags 2.4.2",
"lazy_static",
"log",
"riscv",
"sbi-rt",
"spin 0.9.8",
"static_assertions",
"uart_16550",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
@ -130,20 +144,6 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "tiny_os"
version = "0.1.0"
dependencies = [
"bitflags 2.4.2",
"lazy_static",
"log",
"riscv",
"sbi-rt",
"spin 0.9.8",
"static_assertions",
"uart_16550",
]
[[package]]
name = "uart_16550"
version = "0.3.0"

View File

@ -1,37 +1,3 @@
[package]
name = "tiny_os"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["arch_riscv64", "board_virt", "log_color", "frame_freelist"]
arch_riscv64 = []
arch_riscv32 = []
board_default = []
board_virt = []
board_thead = []
log_color = []
frame_bitmap = []
frame_freelist = []
[profile.dev]
panic = "abort"
[profile.release]
panic = "abort"
[dependencies]
bitflags = "2.4.1"
lazy_static = { version = "1.4.0", features = ["spin_no_std"] }
log = "0.4"
riscv = { version = "0.11.1", features = ["s-mode"] }
sbi-rt = { version = "0.0.3", features = ["legacy"] }
spin = "0.9.8"
static_assertions = "1.1.0"
uart_16550 = "0.3"
[workspace]
resolver = "2"
members = ["kernel"]

37
kernel/Cargo.toml Normal file
View File

@ -0,0 +1,37 @@
[package]
name = "kernel"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["arch_riscv64", "board_virt", "log_color", "frame_freelist"]
arch_riscv64 = []
arch_riscv32 = []
board_default = []
board_virt = []
board_thead = []
log_color = []
frame_bitmap = []
frame_freelist = []
[profile.dev]
panic = "abort"
[profile.release]
panic = "abort"
[dependencies]
bitflags = "2.4.1"
lazy_static = { version = "1.4.0", features = ["spin_no_std"] }
log = "0.4"
riscv = { version = "0.11.1", features = ["s-mode"] }
sbi-rt = { version = "0.0.3", features = ["legacy"] }
spin = "0.9.8"
static_assertions = "1.1.0"
uart_16550 = "0.3"

View File

@ -9,11 +9,11 @@ fn main() {
const TARGET_LDS: &[TargetConfig] = &[
TargetConfig {
target: "riscv64",
lds: "src/arch/riscv/linker.ld",
lds: "kernel/src/arch/riscv/linker.ld",
},
TargetConfig {
target: "riscv32",
lds: "src/arch/riscv/linker.ld",
lds: "kernel/src/arch/riscv/linker.ld",
},
];

View File

@ -1,5 +1,4 @@
use bitflags::bitflags;
use static_assertions::assert_eq_size;
use crate::mm::addr::{AddressOps, PhysAddr};
use crate::mm::page;