diff --git a/Cargo.lock b/Cargo.lock index 32d9f8a..d270d29 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,13 +68,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" [[package]] -name = "intbits" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5170c2c8ecda29c1bccb9d95ccbe107bc75fa084dc0c9c6087e719f9d46330e5" - -[[package]] -name = "kernel" +name = "gila" version = "0.3.2" dependencies = [ "acid_alloc", @@ -82,7 +76,6 @@ dependencies = [ "flagset", "intbits", "lazy_static", - "libgila", "limine", "num-derive", "num-traits", @@ -93,6 +86,12 @@ dependencies = [ "x86_64", ] +[[package]] +name = "intbits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5170c2c8ecda29c1bccb9d95ccbe107bc75fa084dc0c9c6087e719f9d46330e5" + [[package]] name = "lazy_static" version = "1.5.0" @@ -102,14 +101,6 @@ dependencies = [ "spin 0.9.8", ] -[[package]] -name = "libgila" -version = "0.1.0" -dependencies = [ - "num-derive", - "num-traits", -] - [[package]] name = "limine" version = "0.6.5" diff --git a/Cargo.toml b/Cargo.toml index b214f7b..44a5b66 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,33 @@ -[workspace] -resolver = "3" -members = ["kernel", "libgila"] +[package] +name = "gila" +version = "0.3.2" +edition = "2024" +license = "MIT" + +[dependencies] +acid_alloc = { version = "0.1.0", features = ["alloc"] } +enumflags2 = "0.7.12" +flagset = "0.4.7" +intbits = "0.2.0" +lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] } +limine = "0.6.5" +num-derive = "0.4.2" +num-traits = { version = "0.2.19", default-features = false } +once_cell = { version = "1.21.3", default-features = false, features = ["alloc", "critical-section"] } +spin = "0.12.1" +talc = "4.4.3" + +[target.'cfg(target_arch = "x86_64")'.dependencies] +x86_64 = "0.15.2" +raw-cpuid = "11.6.0" + +[[bin]] +name = "kernel" +path = "src/kernel/main.rs" +test = false +doctest = false +bench = false + +[lib] +name = "libgila" +path = "src/lib/lib.rs" diff --git a/Makefile.toml b/Makefile.toml index 961dce2..e4bf1bc 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -76,20 +76,20 @@ command = "rm" args = ["-rf", "build/iso", "build/gila.iso"] [tasks.lib] -condition = { files_modified = { input = ["libgila/src/**/*.rs"], output = ["${ARTIFACTDIR}/libgila.rlib"] }, fail_message = "(inputs unchanged)" } +condition = { files_modified = { input = ["src/lib/**/*.rs"], output = ["${ARTIFACTDIR}/libgila.rlib"] }, fail_message = "(inputs unchanged)" } dependencies = [] command = "cargo" -args = ["build", "--profile", "${PROFILE}", "-p", "libgila"] +args = ["build", "--profile", "${PROFILE}", "--lib"] [tasks.kernel] condition = { files_modified = { input = [ - "kernel/src/**/*.rs", - "kernel/src/**/*.ld", + "src/kernel/**/*.rs", + "src/kernel/**/*.ld", "${ARTIFACTDIR}/libgila.rlib" ], output = ["${ARTIFACTDIR}/kernel"] }, fail_message = "(inputs unchanged)" } dependencies = ["lib"] command = "cargo" -args = ["build", "--profile", "${PROFILE}", "-p", "kernel"] +args = ["build", "--profile", "${PROFILE}", "--bin", "kernel"] [tasks.iso] condition = { files_modified = { input = [ diff --git a/kernel/build.rs b/build.rs similarity index 59% rename from kernel/build.rs rename to build.rs index 758c2a2..481f7a6 100644 --- a/kernel/build.rs +++ b/build.rs @@ -1,7 +1,7 @@ fn main() { let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); // Tell cargo to pass the linker script to the linker.. - println!("cargo:rustc-link-arg=-Tkernel/src/arch/{arch}/linker.ld"); + println!("cargo:rustc-link-arg=-Tsrc/kernel/arch/{arch}/linker.ld"); // ..and to re-run if it changes. - println!("cargo:rerun-if-changed=kernel/src/arch/{arch}linker.ld"); -} + println!("cargo:rerun-if-changed=src/kernel/arch/{arch}linker.ld"); +} \ No newline at end of file diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml deleted file mode 100644 index f77b0d8..0000000 --- a/kernel/Cargo.toml +++ /dev/null @@ -1,31 +0,0 @@ -[package] -name = "kernel" -version = "0.3.2" -edition = "2024" -license = "MIT" - -[dependencies] -acid_alloc = { version = "0.1.0", features = ["alloc"] } -enumflags2 = "0.7.12" -flagset = "0.4.7" -intbits = "0.2.0" -lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] } -limine = "0.6.5" -num-derive = "0.4.2" -num-traits = { version = "0.2.19", default-features = false } -once_cell = { version = "1.21.3", default-features = false, features = ["alloc", "critical-section"] } -spin = "0.12.1" -talc = "4.4.3" - -libgila = { path = "../libgila" } - -[target.'cfg(target_arch = "x86_64")'.dependencies] -x86_64 = "0.15.2" -raw-cpuid = "11.6.0" - -[[bin]] -name = "kernel" -path = "src/main.rs" -test = false -doctest = false -bench = false diff --git a/kernel/src/arch/aarch64/asm.rs b/src/kernel/arch/aarch64/asm.rs similarity index 100% rename from kernel/src/arch/aarch64/asm.rs rename to src/kernel/arch/aarch64/asm.rs diff --git a/kernel/src/arch/aarch64/linker.ld b/src/kernel/arch/aarch64/linker.ld similarity index 100% rename from kernel/src/arch/aarch64/linker.ld rename to src/kernel/arch/aarch64/linker.ld diff --git a/kernel/src/arch/aarch64/mod.rs b/src/kernel/arch/aarch64/mod.rs similarity index 100% rename from kernel/src/arch/aarch64/mod.rs rename to src/kernel/arch/aarch64/mod.rs diff --git a/kernel/src/arch/loongarch64/asm.rs b/src/kernel/arch/loongarch64/asm.rs similarity index 100% rename from kernel/src/arch/loongarch64/asm.rs rename to src/kernel/arch/loongarch64/asm.rs diff --git a/kernel/src/arch/loongarch64/linker.ld b/src/kernel/arch/loongarch64/linker.ld similarity index 100% rename from kernel/src/arch/loongarch64/linker.ld rename to src/kernel/arch/loongarch64/linker.ld diff --git a/kernel/src/arch/loongarch64/mod.rs b/src/kernel/arch/loongarch64/mod.rs similarity index 100% rename from kernel/src/arch/loongarch64/mod.rs rename to src/kernel/arch/loongarch64/mod.rs diff --git a/kernel/src/arch/mod.rs b/src/kernel/arch/mod.rs similarity index 100% rename from kernel/src/arch/mod.rs rename to src/kernel/arch/mod.rs diff --git a/kernel/src/arch/riscv64/asm.rs b/src/kernel/arch/riscv64/asm.rs similarity index 100% rename from kernel/src/arch/riscv64/asm.rs rename to src/kernel/arch/riscv64/asm.rs diff --git a/kernel/src/arch/riscv64/linker.ld b/src/kernel/arch/riscv64/linker.ld similarity index 100% rename from kernel/src/arch/riscv64/linker.ld rename to src/kernel/arch/riscv64/linker.ld diff --git a/kernel/src/arch/riscv64/mod.rs b/src/kernel/arch/riscv64/mod.rs similarity index 100% rename from kernel/src/arch/riscv64/mod.rs rename to src/kernel/arch/riscv64/mod.rs diff --git a/kernel/src/arch/x86_64/amd_virt.rs b/src/kernel/arch/x86_64/amd_virt.rs similarity index 100% rename from kernel/src/arch/x86_64/amd_virt.rs rename to src/kernel/arch/x86_64/amd_virt.rs diff --git a/kernel/src/arch/x86_64/asm.rs b/src/kernel/arch/x86_64/asm.rs similarity index 100% rename from kernel/src/arch/x86_64/asm.rs rename to src/kernel/arch/x86_64/asm.rs diff --git a/kernel/src/arch/x86_64/cpuid.rs b/src/kernel/arch/x86_64/cpuid.rs similarity index 100% rename from kernel/src/arch/x86_64/cpuid.rs rename to src/kernel/arch/x86_64/cpuid.rs diff --git a/kernel/src/arch/x86_64/gdt.rs b/src/kernel/arch/x86_64/gdt.rs similarity index 100% rename from kernel/src/arch/x86_64/gdt.rs rename to src/kernel/arch/x86_64/gdt.rs diff --git a/kernel/src/arch/x86_64/intel_virt.rs b/src/kernel/arch/x86_64/intel_virt.rs similarity index 100% rename from kernel/src/arch/x86_64/intel_virt.rs rename to src/kernel/arch/x86_64/intel_virt.rs diff --git a/kernel/src/arch/x86_64/interrupts.rs b/src/kernel/arch/x86_64/interrupts.rs similarity index 100% rename from kernel/src/arch/x86_64/interrupts.rs rename to src/kernel/arch/x86_64/interrupts.rs diff --git a/kernel/src/arch/x86_64/linker.ld b/src/kernel/arch/x86_64/linker.ld similarity index 100% rename from kernel/src/arch/x86_64/linker.ld rename to src/kernel/arch/x86_64/linker.ld diff --git a/kernel/src/arch/x86_64/mod.rs b/src/kernel/arch/x86_64/mod.rs similarity index 100% rename from kernel/src/arch/x86_64/mod.rs rename to src/kernel/arch/x86_64/mod.rs diff --git a/kernel/src/arch/x86_64/serial.rs b/src/kernel/arch/x86_64/serial.rs similarity index 100% rename from kernel/src/arch/x86_64/serial.rs rename to src/kernel/arch/x86_64/serial.rs diff --git a/kernel/src/boot/mod.rs b/src/kernel/boot/mod.rs similarity index 100% rename from kernel/src/boot/mod.rs rename to src/kernel/boot/mod.rs diff --git a/kernel/src/boot/modules.rs b/src/kernel/boot/modules.rs similarity index 100% rename from kernel/src/boot/modules.rs rename to src/kernel/boot/modules.rs diff --git a/kernel/src/boot/params.rs b/src/kernel/boot/params.rs similarity index 100% rename from kernel/src/boot/params.rs rename to src/kernel/boot/params.rs diff --git a/kernel/src/constants.rs b/src/kernel/constants.rs similarity index 100% rename from kernel/src/constants.rs rename to src/kernel/constants.rs diff --git a/kernel/src/interrupt/mod.rs b/src/kernel/interrupt/mod.rs similarity index 100% rename from kernel/src/interrupt/mod.rs rename to src/kernel/interrupt/mod.rs diff --git a/kernel/src/log.rs b/src/kernel/log.rs similarity index 100% rename from kernel/src/log.rs rename to src/kernel/log.rs diff --git a/kernel/src/main.rs b/src/kernel/main.rs similarity index 100% rename from kernel/src/main.rs rename to src/kernel/main.rs diff --git a/kernel/src/memory/mod.rs b/src/kernel/memory/mod.rs similarity index 100% rename from kernel/src/memory/mod.rs rename to src/kernel/memory/mod.rs diff --git a/kernel/src/memory/paging.rs b/src/kernel/memory/paging.rs similarity index 100% rename from kernel/src/memory/paging.rs rename to src/kernel/memory/paging.rs diff --git a/kernel/src/panic.rs b/src/kernel/panic.rs similarity index 100% rename from kernel/src/panic.rs rename to src/kernel/panic.rs diff --git a/kernel/src/process.rs b/src/kernel/process.rs similarity index 100% rename from kernel/src/process.rs rename to src/kernel/process.rs diff --git a/kernel/src/syscall_runner.rs b/src/kernel/syscall_runner.rs similarity index 100% rename from kernel/src/syscall_runner.rs rename to src/kernel/syscall_runner.rs diff --git a/kernel/src/util.rs b/src/kernel/util.rs similarity index 100% rename from kernel/src/util.rs rename to src/kernel/util.rs diff --git a/libgila/src/arch/aarch64/mod.rs b/src/lib/arch/aarch64/mod.rs similarity index 100% rename from libgila/src/arch/aarch64/mod.rs rename to src/lib/arch/aarch64/mod.rs diff --git a/libgila/src/arch/loongarch64/mod.rs b/src/lib/arch/loongarch64/mod.rs similarity index 100% rename from libgila/src/arch/loongarch64/mod.rs rename to src/lib/arch/loongarch64/mod.rs diff --git a/libgila/src/arch/mod.rs b/src/lib/arch/mod.rs similarity index 100% rename from libgila/src/arch/mod.rs rename to src/lib/arch/mod.rs diff --git a/libgila/src/arch/riscv64/mod.rs b/src/lib/arch/riscv64/mod.rs similarity index 100% rename from libgila/src/arch/riscv64/mod.rs rename to src/lib/arch/riscv64/mod.rs diff --git a/libgila/src/arch/x86_64/mod.rs b/src/lib/arch/x86_64/mod.rs similarity index 100% rename from libgila/src/arch/x86_64/mod.rs rename to src/lib/arch/x86_64/mod.rs diff --git a/libgila/src/arch/x86_64/syscall_impl.rs b/src/lib/arch/x86_64/syscall_impl.rs similarity index 100% rename from libgila/src/arch/x86_64/syscall_impl.rs rename to src/lib/arch/x86_64/syscall_impl.rs diff --git a/libgila/src/lib.rs b/src/lib/lib.rs similarity index 100% rename from libgila/src/lib.rs rename to src/lib/lib.rs diff --git a/libgila/src/registers.rs b/src/lib/registers.rs similarity index 100% rename from libgila/src/registers.rs rename to src/lib/registers.rs diff --git a/libgila/src/syscall/mod.rs b/src/lib/syscall/mod.rs similarity index 100% rename from libgila/src/syscall/mod.rs rename to src/lib/syscall/mod.rs