Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build issue on current branches #18

Open
oriordain-s opened this issue Oct 22, 2024 · 2 comments
Open

Build issue on current branches #18

oriordain-s opened this issue Oct 22, 2024 · 2 comments

Comments

@oriordain-s
Copy link

Hi folks,

Beginning to look at the repo mods here for TDX.
My initial attempts at building from the branches provided (svsm-tdp, svsm-tdp-vtpm) leads to compile issues.
Is this currently a WIP or is there a clean build at some level ?

Many thanks.
-Seo

:/work/svsm/td-partitioning-svsm$ make
cargo build --features "default" --bin stage2
Compiling version_check v0.9.4
Compiling proc-macro2 v1.0.78
Compiling unicode-ident v1.0.12
Compiling typenum v1.17.0
Compiling syn v1.0.109
Compiling cfg-if v1.0.0
Compiling cpufeatures v0.2.12
Compiling byteorder v1.5.0
Compiling subtle v2.5.0
Compiling autocfg v1.1.0
Compiling opaque-debug v0.3.0
Compiling libmstpm v0.1.0 (/work/svsm/td-partitioning-svsm/libmstpm)
Compiling const-oid v0.7.1
Compiling svsm v0.1.0 (/work/svsm/td-partitioning-svsm/kernel)
Compiling spin v0.5.2
Compiling static_assertions v1.1.0
Compiling cpuarch v0.1.0 (/work/svsm/td-partitioning-svsm/cpuarch)
Compiling log v0.4.20
Compiling bitflags v2.4.2
Compiling lazy_static v1.4.0
Compiling generic-array v0.14.7
Compiling proc-macro-error-attr v1.0.4
Compiling proc-macro-error v1.0.4
Compiling memoffset v0.9.0
Compiling intrusive-collections v0.9.6
Compiling quote v1.0.35
Compiling syn v2.0.48
Compiling crypto-common v0.1.6
Compiling inout v0.1.3
Compiling block-buffer v0.10.4
Compiling universal-hash v0.5.1
Compiling aead v0.5.2
Compiling cipher v0.4.4
Compiling digest v0.10.7
Compiling polyval v0.6.1
Compiling sha1 v0.10.6
Compiling sha2 v0.10.8
Compiling ghash v0.5.0
Compiling aes v0.8.3
Compiling ctr v0.9.2
Compiling aes-gcm v0.10.3
Compiling open-enum-derive v0.4.1
Compiling der_derive v0.5.0
Compiling zerocopy-derive v0.7.32
Compiling zerocopy-derive v0.6.6
Compiling bitfield-struct v0.5.6
Compiling bitfield-struct v0.6.0
Compiling open-enum v0.4.1
Compiling der v0.5.1
Compiling zerocopy v0.6.6
Compiling zerocopy v0.7.32
Compiling packit v0.1.1 (https://github.com/coconut-svsm/packit#f31283dd)
Compiling igvm_defs v0.1.3
Compiling bootlib v0.1.0 (/work/svsm/td-partitioning-svsm/bootlib)
warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:8:23
|
8 | #![cfg_attr(all(test, test_in_svsm), no_main)]
| ^^^^^^^^^^^^
|
= help: expected names are: clippy, debug_assertions, doc, docsrs, doctest, feature, fmt_debug, miri, overflow_checks, panic, proc_macro, relocation_model, rustfmt, sanitize, sanitizer_cfi_generalize_pointers, sanitizer_cfi_normalize_integers, target_abi, target_arch, target_endian, target_env, target_family, target_feature, target_has_atomic, target_has_atomic_equal_alignment, target_has_atomic_load_store, target_os, target_pointer_width, target_thread_local, target_vendor, test, ub_checks, unix, and windows
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration
= note: #[warn(unexpected_cfgs)] on by default

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:9:23
|
9 | #![cfg_attr(all(test, test_in_svsm), feature(custom_test_frameworks))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:10:23
|
10 | #![cfg_attr(all(test, test_in_svsm), test_runner(crate::testing::svsm_test_runner))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:11:23
|
11 | #![cfg_attr(all(test, test_in_svsm), reexport_test_harness_main = "test_main")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:51:17
|
51 | #[cfg(all(test, test_in_svsm))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:55:17
|
55 | #[cfg(all(test, test_in_svsm))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/lib.rs:58:17
|
58 | #[cfg(all(test, test_in_svsm))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:49:20
|
49 | if size != mem::size_of::() {
| ^^^^^^^^^^^^^^^^^^^^
|
= note: requested on the command line with -D unused-qualifications
help: remove the unnecessary path segments
|
49 - if size != mem::size_of::() {
49 + if size != size_of::() {
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:174:20
|
174 | .get(..mem::size_of::())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
174 - .get(..mem::size_of::())
174 + .get(..size_of::())
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:208:22
|
208 | let offset = mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
208 - let offset = mem::size_of::();
208 + let offset = size_of::();
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:227:38
|
227 | let end = offset.checked_add(mem::size_of::())?;
| ^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
227 - let end = offset.checked_add(mem::size_of::())?;
227 + let end = offset.checked_add(size_of::())?;
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:329:27
|
329 | .chunks_exact(mem::size_of::())
| ^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
329 - .chunks_exact(mem::size_of::())
329 + .chunks_exact(size_of::())
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:334:30
|
334 | .checked_add(mem::size_of::())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
334 - .checked_add(mem::size_of::())
334 + .checked_add(size_of::())
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:500:31
|
500 | 0 if entry_len == mem::size_of::() => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
500 - 0 if entry_len == mem::size_of::() => {
500 + 0 if entry_len == size_of::() => {
|

error: unnecessary qualification
--> kernel/src/acpi/tables.rs:510:31
|
510 | 9 if entry_len == mem::size_of::() => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
510 - 9 if entry_len == mem::size_of::() => {
510 + 9 if entry_len == size_of::() => {
|

error: unnecessary qualification
--> kernel/src/cpu/extable.rs:39:33
|
39 | current = current + mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
39 - current = current + mem::size_of::();
39 + current = current + size_of::();
|

error: unnecessary qualification
--> kernel/src/cpu/extable.rs:63:33
|
63 | current = current + mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
63 - current = current + mem::size_of::();
63 + current = current + size_of::();
|

error: unnecessary qualification
--> kernel/src/cpu/gdt.rs:72:23
|
72 | let limit = ((mem::size_of::() * gdt_entries) - 1) as u32;
| ^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
72 - let limit = ((mem::size_of::() * gdt_entries) - 1) as u32;
72 + let limit = ((size_of::() * gdt_entries) - 1) as u32;
|

error: unnecessary qualification
--> kernel/src/cpu/idt/common.rs:222:36
|
222 | let limit = (IDT_ENTRIES * mem::size_of::()) as u32;
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
222 - let limit = (IDT_ENTRIES * mem::size_of::()) as u32;
222 + let limit = (IDT_ENTRIES * size_of::()) as u32;
|

error: unnecessary qualification
--> kernel/src/cpu/interrupts.rs:50:27
|
50 | let order = get_order(core::mem::size_of::());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
50 - let order = get_order(core::mem::size_of::());
50 + let order = get_order(size_of::());
|

error: unnecessary qualification
--> kernel/src/cpu/tss.rs:25:28
|
25 | pub const TSS_LIMIT: u64 = core::mem::size_of::() as u64;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
25 - pub const TSS_LIMIT: u64 = core::mem::size_of::() as u64;
25 + pub const TSS_LIMIT: u64 = size_of::() as u64;
|

error: unnecessary qualification
--> kernel/src/debug/stacktrace.rs:105:62
|
105 | let Some(range) = MemoryRegion::checked_new(rsp, 2 * mem::size_of::()) else {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
105 - let Some(range) = MemoryRegion::checked_new(rsp, 2 * mem::size_of::()) else {
105 + let Some(range) = MemoryRegion::checked_new(rsp, 2 * size_of::()) else {
|

error: unnecessary qualification
--> kernel/src/debug/stacktrace.rs:114:25
|
114 | let rsp = rsp + mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
114 - let rsp = rsp + mem::size_of::();
114 + let rsp = rsp + size_of::();
|

error: unnecessary qualification
--> kernel/src/debug/stacktrace.rs:116:25
|
116 | let rsp = rsp + mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
116 - let rsp = rsp + mem::size_of::();
116 + let rsp = rsp + size_of::();
|

error: unnecessary qualification
--> kernel/src/debug/stacktrace.rs:122:58
|
122 | let Some(range) = MemoryRegion::checked_new(rsp, mem::size_of::())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
122 - let Some(range) = MemoryRegion::checked_new(rsp, mem::size_of::())
122 + let Some(range) = MemoryRegion::checked_new(rsp, size_of::())
|

error: unnecessary qualification
--> kernel/src/elf/mod.rs:1106:52
|
1106 | if e_ident[Self::EI_MAG0..(Self::EI_MAG0 + mem::size_of_val(&Self::ELFMAG))] != Self::ELFMAG
| ^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
1106 - if e_ident[Self::EI_MAG0..(Self::EI_MAG0 + mem::size_of_val(&Self::ELFMAG))] != Self::ELFMAG
1106 + if e_ident[Self::EI_MAG0..(Self::EI_MAG0 + size_of_val(&Self::ELFMAG))] != Self::ELFMAG
|

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/fs/filesystem.rs:216:12
|
216 | #[cfg_attr(test_in_svsm, derive(Clone, Copy))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/fs/filesystem.rs:241:53
|
241 | #[cfg(all(any(test, feature = "fuzzing-hooks"), not(test_in_svsm)))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/fs/filesystem.rs:181:57
|
181 | #[cfg(all(any(test, feature = "fuzzing-hooks"), not(test_in_svsm)))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/fs/filesystem.rs:235:19
|
235 | #[cfg(not(test_in_svsm))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1734:15
|
1734 | #[cfg(all(not(test_in_svsm), any(test, feature = "fuzzing-hooks")))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1776:12
|
1776 | #[cfg_attr(test_in_svsm, ignore = "FIXME")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1809:12
|
1809 | #[cfg_attr(test_in_svsm, ignore = "FIXME")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1842:12
|
1842 | #[cfg_attr(test_in_svsm, ignore = "FIXME")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1953:12
|
1953 | #[cfg_attr(test_in_svsm, ignore = "FIXME")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1990:12
|
1990 | #[cfg_attr(test_in_svsm, ignore = "FIXME")]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1534:19
|
1534 | #[cfg(all(not(test_in_svsm), any(test, feature = "fuzzing-hooks")))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1688:11
|
1688 | #[cfg(test_in_svsm)]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

warning: unexpected cfg condition name: test_in_svsm
--> kernel/src/mm/alloc.rs:1709:15
|
1709 | #[cfg(not(test_in_svsm))]
| ^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead
= help: or consider adding in Cargo.toml the check-cfg lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_in_svsm)'] }
= help: or consider adding println!("cargo::rustc-check-cfg=cfg(test_in_svsm)"); to the top of the build.rs
= note: see https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html for more information about checking conditional configuration

error: unnecessary qualification
--> kernel/src/mm/validate.rs:23:37
|
23 | const PAGE_N64: usize = PAGE_SIZE / core::mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
23 - const PAGE_N64: usize = PAGE_SIZE / core::mem::size_of::();
23 + const PAGE_N64: usize = PAGE_SIZE / size_of::();
|

error: unnecessary qualification
--> kernel/src/sev/ghcb.rs:356:27
|
356 | let size: isize = mem::size_of::() as isize;
| ^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
356 - let size: isize = mem::size_of::() as isize;
356 + let size: isize = size_of::() as isize;
|

error: unnecessary qualification
--> kernel/src/tdx/percpu.rs:99:35
|
99 | let order = get_order(core::mem::size_of::());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
99 - let order = get_order(core::mem::size_of::());
99 + let order = get_order(size_of::());
|

error: unnecessary qualification
--> kernel/src/tdx/sirte.rs:156:25
|
156 | let data_size = core::mem::size_of::() - core::mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
156 - let data_size = core::mem::size_of::() - core::mem::size_of::();
156 + let data_size = size_of::() - core::mem::size_of::();
|

error: unnecessary qualification
--> kernel/src/tdx/sirte.rs:156:61
|
156 | let data_size = core::mem::size_of::() - core::mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
156 - let data_size = core::mem::size_of::() - core::mem::size_of::();
156 + let data_size = core::mem::size_of::() - size_of::();
|

error: unnecessary qualification
--> kernel/src/tdx/sirte.rs:157:25
|
157 | let elem_size = core::mem::size_of::();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
157 - let elem_size = core::mem::size_of::();
157 + let elem_size = size_of::();
|

error: unnecessary qualification
--> kernel/src/tdx/sirte.rs:205:32
|
205 | let num_shared_pages = core::mem::size_of::() / PAGE_SIZE;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
205 - let num_shared_pages = core::mem::size_of::() / PAGE_SIZE;
205 + let num_shared_pages = size_of::() / PAGE_SIZE;
|

error: unnecessary qualification
--> kernel/src/tdx/sirte.rs:207:48
|
207 | td_convert_kernel_pages(paddr, paddr + core::mem::size_of::(), true)?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
207 - td_convert_kernel_pages(paddr, paddr + core::mem::size_of::(), true)?;
207 + td_convert_kernel_pages(paddr, paddr + size_of::(), true)?;
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:113:14
|
113 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
113 - r12: core::mem::size_of::() as u64,
113 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:134:14
|
134 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
134 - r12: core::mem::size_of::() as u64,
134 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:155:14
|
155 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
155 - r12: core::mem::size_of::() as u64,
155 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:176:14
|
176 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
176 - r12: core::mem::size_of::() as u64,
176 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:196:14
|
196 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
196 - r12: core::mem::size_of::() as u64,
196 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:216:14
|
216 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
216 - r12: core::mem::size_of::() as u64,
216 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:240:14
|
240 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
240 - r12: core::mem::size_of::() as u64,
240 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/tdcall/tdx_tdcall.rs:263:14
|
263 | r12: core::mem::size_of::() as u64,
| ^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
263 - r12: core::mem::size_of::() as u64,
263 + r12: size_of::() as u64,
|

error: unnecessary qualification
--> kernel/src/tdx/vcr.rs:279:49
|
279 | *v = copy_from_gpa::(cr3 + i * core::mem::size_of::()).map_err(|e| {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
279 - *v = copy_from_gpa::(cr3 + i * core::mem::size_of::()).map_err(|e| {
279 + *v = copy_from_gpa::(cr3 + i * size_of::()).map_err(|e| {
|

error: unnecessary qualification
--> kernel/src/tdx/vcr.rs:282:31
|
282 | cr3 + i * core::mem::size_of::(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: remove the unnecessary path segments
|
282 - cr3 + i * core::mem::size_of::(),
282 + cr3 + i * size_of::(),
|

warning: unnecessary unsafe block
--> kernel/src/cpu/idt/common.rs:254:16
|
254 | let addr = unsafe { VirtAddr::from(addr_of!(generic_idt_handler_return)) };
| ^^^^^^ unnecessary unsafe block
|
= note: #[warn(unused_unsafe)] on by default

warning: unnecessary unsafe block
--> kernel/src/cpu/idt/stage2.rs:15:5
|
15 | unsafe {
| ^^^^^^ unnecessary unsafe block

warning: unnecessary unsafe block
--> kernel/src/cpu/idt/stage2.rs:23:5
|
23 | unsafe {
| ^^^^^^ unnecessary unsafe block

warning: unnecessary unsafe block
--> kernel/src/cpu/idt/svsm.rs:85:20
|
85 | let handlers = unsafe { VirtAddr::from(core::ptr::addr_of!(interrupt_handler_array)) };
| ^^^^^^ unnecessary unsafe block

warning: field 0 is never read
--> kernel/src/tdx/opcode.rs:11:12
|
11 | OpCode(u8),
| ------ ^^
| |
| field in this variant
|
= note: OpCodeError has derived impls for the traits Debug and Clone, but these are intentionally ignored during dead code analysis
= note: #[warn(dead_code)] on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
11 | OpCode(()),
| ~~

warning: fields fault_gla and exit_instr_info are never read
--> kernel/src/tdx/utils.rs:208:9
|
205 | pub struct L2ExitInfo {
| ---------- fields in this struct
...
208 | pub fault_gla: u64,
| ^^^^^^^^^
...
214 | pub exit_instr_info: u32,
| ^^^^^^^^^^^^^^^
|
= note: L2ExitInfo has a derived impl for the trait Clone, but this is intentionally ignored during dead code analysis

warning: svsm (lib) generated 26 warnings
error: could not compile svsm (lib) due to 37 previous errors; 26 warnings emitted
make: *** [Makefile:87: stage1/stage2.bin] Error 101
:/work/svsm/td-partitioning-svsm$

@vijaydhanraj
Copy link
Contributor

The svsm-tdp branch is not based on the latest coconut-svsm and so requires an older version of rust, 1.75. By switching to this version, I don't see the build issue anymore. I have pushed a fix for the same, can you please give it a try and let us know?

@oriordain-s
Copy link
Author

Hi Vijay,
This patch worked for the svsm-tdp branch, but it's also required for the svsm-tdp-vtpm branch.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants