From eebc95a87230b5a42878f47eb81c9a277f19c3cd Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Sun, 13 Nov 2022 11:39:37 +0100 Subject: [PATCH 1/2] workspace: uefi (main library) is in a dedicated directory now --- uefi/Cargo.toml | 39 +++++++++++++++++++ {src => uefi/src}/alloc.rs | 0 {src => uefi/src}/data_types/chars.rs | 0 {src => uefi/src}/data_types/enums.rs | 0 {src => uefi/src}/data_types/guid.rs | 0 {src => uefi/src}/data_types/mod.rs | 0 {src => uefi/src}/data_types/owned_strs.rs | 0 {src => uefi/src}/data_types/strs.rs | 0 .../src}/data_types/unaligned_slice.rs | 0 {src => uefi/src}/lib.rs | 0 {src => uefi/src}/logger.rs | 0 {src => uefi/src}/prelude.rs | 0 {src => uefi/src}/proto/console/gop.rs | 0 {src => uefi/src}/proto/console/mod.rs | 0 .../src}/proto/console/pointer/mod.rs | 0 {src => uefi/src}/proto/console/serial.rs | 0 {src => uefi/src}/proto/console/text/input.rs | 0 {src => uefi/src}/proto/console/text/mod.rs | 0 .../src}/proto/console/text/output.rs | 0 {src => uefi/src}/proto/debug/context.rs | 0 {src => uefi/src}/proto/debug/exception.rs | 0 {src => uefi/src}/proto/debug/mod.rs | 0 {src => uefi/src}/proto/device_path/build.rs | 0 .../src}/proto/device_path/device_path_gen.rs | 0 {src => uefi/src}/proto/device_path/mod.rs | 0 {src => uefi/src}/proto/device_path/text.rs | 0 {src => uefi/src}/proto/loaded_image.rs | 0 {src => uefi/src}/proto/media/block.rs | 0 {src => uefi/src}/proto/media/disk.rs | 0 {src => uefi/src}/proto/media/file/dir.rs | 0 {src => uefi/src}/proto/media/file/info.rs | 0 {src => uefi/src}/proto/media/file/mod.rs | 0 {src => uefi/src}/proto/media/file/regular.rs | 0 {src => uefi/src}/proto/media/fs.rs | 0 {src => uefi/src}/proto/media/mod.rs | 0 {src => uefi/src}/proto/media/partition.rs | 0 {src => uefi/src}/proto/mod.rs | 0 {src => uefi/src}/proto/network/mod.rs | 0 {src => uefi/src}/proto/network/pxe.rs | 0 {src => uefi/src}/proto/pi/mod.rs | 0 {src => uefi/src}/proto/pi/mp.rs | 0 {src => uefi/src}/proto/rng.rs | 0 .../src}/proto/security/memory_protection.rs | 0 {src => uefi/src}/proto/security/mod.rs | 0 {src => uefi/src}/proto/shim/mod.rs | 0 {src => uefi/src}/proto/string/mod.rs | 0 .../src}/proto/string/unicode_collation.rs | 0 {src => uefi/src}/result/error.rs | 0 {src => uefi/src}/result/mod.rs | 0 {src => uefi/src}/result/status.rs | 0 {src => uefi/src}/table/boot.rs | 0 {src => uefi/src}/table/cfg.rs | 0 {src => uefi/src}/table/header.rs | 0 {src => uefi/src}/table/mod.rs | 0 {src => uefi/src}/table/revision.rs | 0 {src => uefi/src}/table/runtime.rs | 0 {src => uefi/src}/table/system.rs | 0 57 files changed, 39 insertions(+) create mode 100644 uefi/Cargo.toml rename {src => uefi/src}/alloc.rs (100%) rename {src => uefi/src}/data_types/chars.rs (100%) rename {src => uefi/src}/data_types/enums.rs (100%) rename {src => uefi/src}/data_types/guid.rs (100%) rename {src => uefi/src}/data_types/mod.rs (100%) rename {src => uefi/src}/data_types/owned_strs.rs (100%) rename {src => uefi/src}/data_types/strs.rs (100%) rename {src => uefi/src}/data_types/unaligned_slice.rs (100%) rename {src => uefi/src}/lib.rs (100%) rename {src => uefi/src}/logger.rs (100%) rename {src => uefi/src}/prelude.rs (100%) rename {src => uefi/src}/proto/console/gop.rs (100%) rename {src => uefi/src}/proto/console/mod.rs (100%) rename {src => uefi/src}/proto/console/pointer/mod.rs (100%) rename {src => uefi/src}/proto/console/serial.rs (100%) rename {src => uefi/src}/proto/console/text/input.rs (100%) rename {src => uefi/src}/proto/console/text/mod.rs (100%) rename {src => uefi/src}/proto/console/text/output.rs (100%) rename {src => uefi/src}/proto/debug/context.rs (100%) rename {src => uefi/src}/proto/debug/exception.rs (100%) rename {src => uefi/src}/proto/debug/mod.rs (100%) rename {src => uefi/src}/proto/device_path/build.rs (100%) rename {src => uefi/src}/proto/device_path/device_path_gen.rs (100%) rename {src => uefi/src}/proto/device_path/mod.rs (100%) rename {src => uefi/src}/proto/device_path/text.rs (100%) rename {src => uefi/src}/proto/loaded_image.rs (100%) rename {src => uefi/src}/proto/media/block.rs (100%) rename {src => uefi/src}/proto/media/disk.rs (100%) rename {src => uefi/src}/proto/media/file/dir.rs (100%) rename {src => uefi/src}/proto/media/file/info.rs (100%) rename {src => uefi/src}/proto/media/file/mod.rs (100%) rename {src => uefi/src}/proto/media/file/regular.rs (100%) rename {src => uefi/src}/proto/media/fs.rs (100%) rename {src => uefi/src}/proto/media/mod.rs (100%) rename {src => uefi/src}/proto/media/partition.rs (100%) rename {src => uefi/src}/proto/mod.rs (100%) rename {src => uefi/src}/proto/network/mod.rs (100%) rename {src => uefi/src}/proto/network/pxe.rs (100%) rename {src => uefi/src}/proto/pi/mod.rs (100%) rename {src => uefi/src}/proto/pi/mp.rs (100%) rename {src => uefi/src}/proto/rng.rs (100%) rename {src => uefi/src}/proto/security/memory_protection.rs (100%) rename {src => uefi/src}/proto/security/mod.rs (100%) rename {src => uefi/src}/proto/shim/mod.rs (100%) rename {src => uefi/src}/proto/string/mod.rs (100%) rename {src => uefi/src}/proto/string/unicode_collation.rs (100%) rename {src => uefi/src}/result/error.rs (100%) rename {src => uefi/src}/result/mod.rs (100%) rename {src => uefi/src}/result/status.rs (100%) rename {src => uefi/src}/table/boot.rs (100%) rename {src => uefi/src}/table/cfg.rs (100%) rename {src => uefi/src}/table/header.rs (100%) rename {src => uefi/src}/table/mod.rs (100%) rename {src => uefi/src}/table/revision.rs (100%) rename {src => uefi/src}/table/runtime.rs (100%) rename {src => uefi/src}/table/system.rs (100%) diff --git a/uefi/Cargo.toml b/uefi/Cargo.toml new file mode 100644 index 000000000..9daf8cad4 --- /dev/null +++ b/uefi/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "uefi" +version = "0.18.0" +authors = ["Gabriel Majeri "] +readme = "README.md" +edition = "2021" +exclude = [ + ".cargo/**", + "template/**", + "uefi-macros/**", + "uefi-services/**", + "uefi-test-runner/**", + "xtask/**", +] +description = "Safe and easy-to-use wrapper for building UEFI apps" +repository = "https://github.com/rust-osdev/uefi-rs" +keywords = ["uefi", "efi"] +categories = ["embedded", "no-std", "api-bindings"] +license = "MPL-2.0" + +[features] +default = ["panic-on-logger-errors"] +alloc = [] +exts = [] +logger = [] +# Ignore text output errors in logger as a workaround for firmware issues that +# were observed on the VirtualBox UEFI implementation (see uefi-rs#121). +# In those cases, this feature can be excluded by removing the default features. +panic-on-logger-errors = [] + +[dependencies] +bitflags = "1.3.1" +log = { version = "0.4.5", default-features = false } +ucs2 = "0.3.2" +uefi-macros = "0.9.0" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/src/alloc.rs b/uefi/src/alloc.rs similarity index 100% rename from src/alloc.rs rename to uefi/src/alloc.rs diff --git a/src/data_types/chars.rs b/uefi/src/data_types/chars.rs similarity index 100% rename from src/data_types/chars.rs rename to uefi/src/data_types/chars.rs diff --git a/src/data_types/enums.rs b/uefi/src/data_types/enums.rs similarity index 100% rename from src/data_types/enums.rs rename to uefi/src/data_types/enums.rs diff --git a/src/data_types/guid.rs b/uefi/src/data_types/guid.rs similarity index 100% rename from src/data_types/guid.rs rename to uefi/src/data_types/guid.rs diff --git a/src/data_types/mod.rs b/uefi/src/data_types/mod.rs similarity index 100% rename from src/data_types/mod.rs rename to uefi/src/data_types/mod.rs diff --git a/src/data_types/owned_strs.rs b/uefi/src/data_types/owned_strs.rs similarity index 100% rename from src/data_types/owned_strs.rs rename to uefi/src/data_types/owned_strs.rs diff --git a/src/data_types/strs.rs b/uefi/src/data_types/strs.rs similarity index 100% rename from src/data_types/strs.rs rename to uefi/src/data_types/strs.rs diff --git a/src/data_types/unaligned_slice.rs b/uefi/src/data_types/unaligned_slice.rs similarity index 100% rename from src/data_types/unaligned_slice.rs rename to uefi/src/data_types/unaligned_slice.rs diff --git a/src/lib.rs b/uefi/src/lib.rs similarity index 100% rename from src/lib.rs rename to uefi/src/lib.rs diff --git a/src/logger.rs b/uefi/src/logger.rs similarity index 100% rename from src/logger.rs rename to uefi/src/logger.rs diff --git a/src/prelude.rs b/uefi/src/prelude.rs similarity index 100% rename from src/prelude.rs rename to uefi/src/prelude.rs diff --git a/src/proto/console/gop.rs b/uefi/src/proto/console/gop.rs similarity index 100% rename from src/proto/console/gop.rs rename to uefi/src/proto/console/gop.rs diff --git a/src/proto/console/mod.rs b/uefi/src/proto/console/mod.rs similarity index 100% rename from src/proto/console/mod.rs rename to uefi/src/proto/console/mod.rs diff --git a/src/proto/console/pointer/mod.rs b/uefi/src/proto/console/pointer/mod.rs similarity index 100% rename from src/proto/console/pointer/mod.rs rename to uefi/src/proto/console/pointer/mod.rs diff --git a/src/proto/console/serial.rs b/uefi/src/proto/console/serial.rs similarity index 100% rename from src/proto/console/serial.rs rename to uefi/src/proto/console/serial.rs diff --git a/src/proto/console/text/input.rs b/uefi/src/proto/console/text/input.rs similarity index 100% rename from src/proto/console/text/input.rs rename to uefi/src/proto/console/text/input.rs diff --git a/src/proto/console/text/mod.rs b/uefi/src/proto/console/text/mod.rs similarity index 100% rename from src/proto/console/text/mod.rs rename to uefi/src/proto/console/text/mod.rs diff --git a/src/proto/console/text/output.rs b/uefi/src/proto/console/text/output.rs similarity index 100% rename from src/proto/console/text/output.rs rename to uefi/src/proto/console/text/output.rs diff --git a/src/proto/debug/context.rs b/uefi/src/proto/debug/context.rs similarity index 100% rename from src/proto/debug/context.rs rename to uefi/src/proto/debug/context.rs diff --git a/src/proto/debug/exception.rs b/uefi/src/proto/debug/exception.rs similarity index 100% rename from src/proto/debug/exception.rs rename to uefi/src/proto/debug/exception.rs diff --git a/src/proto/debug/mod.rs b/uefi/src/proto/debug/mod.rs similarity index 100% rename from src/proto/debug/mod.rs rename to uefi/src/proto/debug/mod.rs diff --git a/src/proto/device_path/build.rs b/uefi/src/proto/device_path/build.rs similarity index 100% rename from src/proto/device_path/build.rs rename to uefi/src/proto/device_path/build.rs diff --git a/src/proto/device_path/device_path_gen.rs b/uefi/src/proto/device_path/device_path_gen.rs similarity index 100% rename from src/proto/device_path/device_path_gen.rs rename to uefi/src/proto/device_path/device_path_gen.rs diff --git a/src/proto/device_path/mod.rs b/uefi/src/proto/device_path/mod.rs similarity index 100% rename from src/proto/device_path/mod.rs rename to uefi/src/proto/device_path/mod.rs diff --git a/src/proto/device_path/text.rs b/uefi/src/proto/device_path/text.rs similarity index 100% rename from src/proto/device_path/text.rs rename to uefi/src/proto/device_path/text.rs diff --git a/src/proto/loaded_image.rs b/uefi/src/proto/loaded_image.rs similarity index 100% rename from src/proto/loaded_image.rs rename to uefi/src/proto/loaded_image.rs diff --git a/src/proto/media/block.rs b/uefi/src/proto/media/block.rs similarity index 100% rename from src/proto/media/block.rs rename to uefi/src/proto/media/block.rs diff --git a/src/proto/media/disk.rs b/uefi/src/proto/media/disk.rs similarity index 100% rename from src/proto/media/disk.rs rename to uefi/src/proto/media/disk.rs diff --git a/src/proto/media/file/dir.rs b/uefi/src/proto/media/file/dir.rs similarity index 100% rename from src/proto/media/file/dir.rs rename to uefi/src/proto/media/file/dir.rs diff --git a/src/proto/media/file/info.rs b/uefi/src/proto/media/file/info.rs similarity index 100% rename from src/proto/media/file/info.rs rename to uefi/src/proto/media/file/info.rs diff --git a/src/proto/media/file/mod.rs b/uefi/src/proto/media/file/mod.rs similarity index 100% rename from src/proto/media/file/mod.rs rename to uefi/src/proto/media/file/mod.rs diff --git a/src/proto/media/file/regular.rs b/uefi/src/proto/media/file/regular.rs similarity index 100% rename from src/proto/media/file/regular.rs rename to uefi/src/proto/media/file/regular.rs diff --git a/src/proto/media/fs.rs b/uefi/src/proto/media/fs.rs similarity index 100% rename from src/proto/media/fs.rs rename to uefi/src/proto/media/fs.rs diff --git a/src/proto/media/mod.rs b/uefi/src/proto/media/mod.rs similarity index 100% rename from src/proto/media/mod.rs rename to uefi/src/proto/media/mod.rs diff --git a/src/proto/media/partition.rs b/uefi/src/proto/media/partition.rs similarity index 100% rename from src/proto/media/partition.rs rename to uefi/src/proto/media/partition.rs diff --git a/src/proto/mod.rs b/uefi/src/proto/mod.rs similarity index 100% rename from src/proto/mod.rs rename to uefi/src/proto/mod.rs diff --git a/src/proto/network/mod.rs b/uefi/src/proto/network/mod.rs similarity index 100% rename from src/proto/network/mod.rs rename to uefi/src/proto/network/mod.rs diff --git a/src/proto/network/pxe.rs b/uefi/src/proto/network/pxe.rs similarity index 100% rename from src/proto/network/pxe.rs rename to uefi/src/proto/network/pxe.rs diff --git a/src/proto/pi/mod.rs b/uefi/src/proto/pi/mod.rs similarity index 100% rename from src/proto/pi/mod.rs rename to uefi/src/proto/pi/mod.rs diff --git a/src/proto/pi/mp.rs b/uefi/src/proto/pi/mp.rs similarity index 100% rename from src/proto/pi/mp.rs rename to uefi/src/proto/pi/mp.rs diff --git a/src/proto/rng.rs b/uefi/src/proto/rng.rs similarity index 100% rename from src/proto/rng.rs rename to uefi/src/proto/rng.rs diff --git a/src/proto/security/memory_protection.rs b/uefi/src/proto/security/memory_protection.rs similarity index 100% rename from src/proto/security/memory_protection.rs rename to uefi/src/proto/security/memory_protection.rs diff --git a/src/proto/security/mod.rs b/uefi/src/proto/security/mod.rs similarity index 100% rename from src/proto/security/mod.rs rename to uefi/src/proto/security/mod.rs diff --git a/src/proto/shim/mod.rs b/uefi/src/proto/shim/mod.rs similarity index 100% rename from src/proto/shim/mod.rs rename to uefi/src/proto/shim/mod.rs diff --git a/src/proto/string/mod.rs b/uefi/src/proto/string/mod.rs similarity index 100% rename from src/proto/string/mod.rs rename to uefi/src/proto/string/mod.rs diff --git a/src/proto/string/unicode_collation.rs b/uefi/src/proto/string/unicode_collation.rs similarity index 100% rename from src/proto/string/unicode_collation.rs rename to uefi/src/proto/string/unicode_collation.rs diff --git a/src/result/error.rs b/uefi/src/result/error.rs similarity index 100% rename from src/result/error.rs rename to uefi/src/result/error.rs diff --git a/src/result/mod.rs b/uefi/src/result/mod.rs similarity index 100% rename from src/result/mod.rs rename to uefi/src/result/mod.rs diff --git a/src/result/status.rs b/uefi/src/result/status.rs similarity index 100% rename from src/result/status.rs rename to uefi/src/result/status.rs diff --git a/src/table/boot.rs b/uefi/src/table/boot.rs similarity index 100% rename from src/table/boot.rs rename to uefi/src/table/boot.rs diff --git a/src/table/cfg.rs b/uefi/src/table/cfg.rs similarity index 100% rename from src/table/cfg.rs rename to uefi/src/table/cfg.rs diff --git a/src/table/header.rs b/uefi/src/table/header.rs similarity index 100% rename from src/table/header.rs rename to uefi/src/table/header.rs diff --git a/src/table/mod.rs b/uefi/src/table/mod.rs similarity index 100% rename from src/table/mod.rs rename to uefi/src/table/mod.rs diff --git a/src/table/revision.rs b/uefi/src/table/revision.rs similarity index 100% rename from src/table/revision.rs rename to uefi/src/table/revision.rs diff --git a/src/table/runtime.rs b/uefi/src/table/runtime.rs similarity index 100% rename from src/table/runtime.rs rename to uefi/src/table/runtime.rs diff --git a/src/table/system.rs b/uefi/src/table/system.rs similarity index 100% rename from src/table/system.rs rename to uefi/src/table/system.rs From d5d82f61510d349c6e067ca93f2d1cf51fe8da95 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Sun, 13 Nov 2022 11:39:58 +0100 Subject: [PATCH 2/2] workspace: adapted files --- Cargo.toml | 43 +------------------ uefi-test-runner/Cargo.toml | 2 +- uefi/Cargo.toml | 8 ---- uefi/src/proto/device_path/device_path_gen.rs | 2 +- xtask/src/device_path/mod.rs | 4 +- 5 files changed, 6 insertions(+), 53 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b3001aa62..4d60f0d2b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,40 +1,5 @@ -[package] -name = "uefi" -version = "0.18.0" -authors = ["Gabriel Majeri "] -readme = "README.md" -edition = "2021" -exclude = [ - ".cargo/**", - "template/**", - "uefi-macros/**", - "uefi-services/**", - "uefi-test-runner/**", - "xtask/**", -] -description = "Safe and easy-to-use wrapper for building UEFI apps" -repository = "https://github.com/rust-osdev/uefi-rs" -keywords = ["uefi", "efi"] -categories = ["embedded", "no-std", "api-bindings"] -license = "MPL-2.0" - -[features] -default = ["panic-on-logger-errors"] -alloc = [] -exts = [] -logger = [] -# Ignore text output errors in logger as a workaround for firmware issues that -# were observed on the VirtualBox UEFI implementation (see uefi-rs#121). -# In those cases, this feature can be excluded by removing the default features. -panic-on-logger-errors = [] - -[dependencies] -bitflags = "1.3.1" -log = { version = "0.4.5", default-features = false } -ucs2 = "0.3.2" -uefi-macros = "0.9.0" - [workspace] +resolver = "2" members = [ "template", "uefi-macros", @@ -44,10 +9,6 @@ members = [ ] [patch.crates-io] +uefi = { path = "uefi" } uefi-macros = { path = "uefi-macros" } uefi-services = { path = "uefi-services" } -uefi = { path = "." } - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/uefi-test-runner/Cargo.toml b/uefi-test-runner/Cargo.toml index e3e74c31f..d66ca60d7 100644 --- a/uefi-test-runner/Cargo.toml +++ b/uefi-test-runner/Cargo.toml @@ -6,7 +6,7 @@ publish = false edition = "2021" [dependencies] -uefi = { path = "..", features = ['exts'] } +uefi = { path = "../uefi", features = ['exts'] } uefi-services = { path = "../uefi-services" } log = { version = "0.4.11", default-features = false } diff --git a/uefi/Cargo.toml b/uefi/Cargo.toml index 9daf8cad4..79fa9c854 100644 --- a/uefi/Cargo.toml +++ b/uefi/Cargo.toml @@ -4,14 +4,6 @@ version = "0.18.0" authors = ["Gabriel Majeri "] readme = "README.md" edition = "2021" -exclude = [ - ".cargo/**", - "template/**", - "uefi-macros/**", - "uefi-services/**", - "uefi-test-runner/**", - "xtask/**", -] description = "Safe and easy-to-use wrapper for building UEFI apps" repository = "https://github.com/rust-osdev/uefi-rs" keywords = ["uefi", "efi"] diff --git a/uefi/src/proto/device_path/device_path_gen.rs b/uefi/src/proto/device_path/device_path_gen.rs index 3c1b61484..224ac99a1 100644 --- a/uefi/src/proto/device_path/device_path_gen.rs +++ b/uefi/src/proto/device_path/device_path_gen.rs @@ -3,7 +3,7 @@ // This file was automatically generated with: // `cargo xtask gen-code` // -// See //xtask/src/device_path/README.md for more details. +// See `/xtask/src/device_path/README.md` for more details. use crate::data_types::UnalignedSlice; use crate::proto::device_path::{ diff --git a/xtask/src/device_path/mod.rs b/xtask/src/device_path/mod.rs index e00221bd6..d9369be72 100644 --- a/xtask/src/device_path/mod.rs +++ b/xtask/src/device_path/mod.rs @@ -12,7 +12,7 @@ use syn::{File, Item}; use util::rustfmt_string; const INPUT_PATH: &str = "xtask/src/device_path/spec.rs"; -const OUTPUT_PATH: &str = "src/proto/device_path/device_path_gen.rs"; +const OUTPUT_PATH: &str = "uefi/src/proto/device_path/device_path_gen.rs"; fn gen_code_as_string(groups: &[NodeGroup]) -> Result { let packed_modules = groups.iter().map(NodeGroup::gen_packed_module); @@ -63,7 +63,7 @@ fn gen_code_as_string(groups: &[NodeGroup]) -> Result { // This file was automatically generated with: // `cargo xtask gen-code` // -// See //xtask/src/device_path/README.md for more details. +// See `/xtask/src/device_path/README.md` for more details. {code}" );