Skip to content

Conversation

@tvsfx
Copy link
Contributor

@tvsfx tvsfx commented Jan 30, 2026

No description provided.

@tvsfx tvsfx requested review from raoulstrackx and sardok January 30, 2026 00:03
@tvsfx tvsfx force-pushed the tvsfx/RTE-709-runner branch from 3aff654 to eeaaa9d Compare January 30, 2026 00:04
}

impl FortanixVmeConfig {
const DEFAULT_CPU_COUNT: isize = 2;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: defaults removed here because I set them in the runner. Made more sense to me that way, and avoids Options or duplicate defaults.

@tvsfx tvsfx changed the title [RTE-710] amd-sev runner + cargo runner [RTE-709] amd-sev runner + cargo runner Jan 30, 2026
@tvsfx tvsfx force-pushed the tvsfx/RTE-709-runner branch from 1410dea to 346730d Compare January 30, 2026 01:01
@tvsfx tvsfx force-pushed the thomasvs/RTE-710-elf2uki branch from 8ee6765 to 0b285d0 Compare January 30, 2026 01:06
@tvsfx tvsfx force-pushed the tvsfx/RTE-709-runner branch from 346730d to eb3021c Compare January 30, 2026 01:09
@tvsfx tvsfx force-pushed the tvsfx/RTE-709-runner branch from eb3021c to 31707e4 Compare January 30, 2026 01:33
let memory_size = format!("{}M", memory_mib);

// TODO (RTE-740): id-block
let mut command = Command::new("sudo"); // TODO: look at "sudo" - needed for amd + `/dev/sev`?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when running in stimulator, we should not need sudo right ?

firmware_image_path: Option<PathBuf>,

/// Name for the enclave in the runner
#[arg(long, default_value = "FortanixVm")]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: could we make the default name more informative by including AmdSev?

pub fn help() -> String {
String::from("Usage: <ftxvme-runner-cargo> [--simulate] [--verbose] <elf_path> [others]*")
impl CargoArgs {
pub fn eif_path(&self) -> PathBuf {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo?

eif -> elf

} else {
Ok(cli)
}
pub fn uki_path(&self) -> PathBuf {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this function code is identical to eif_path

};
let uki_path = amd_sev_snp_args.uki_path();

// TODO: we can assume this is installed right?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, we can add code here to check if this tool exist, if not pop up error msg and guide user the way to install it

let mut ftxvme_elf2uki = Command::new("ftxvme-elf2uki");
ftxvme_elf2uki
.arg("--app")
.arg(&amd_sev_snp_args.elf_path)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as I mentioned above, with code above, amd_sev_snp_args.elf_path will be same to uki_path

are you intential to just inplace generate the uki?

@Taowyoo Taowyoo force-pushed the tvsfx/RTE-709-runner branch from 1ca2fbc to 087721d Compare January 30, 2026 13:48
let uki_path = amd_sev_snp_args.uki_path();

// TODO: we can assume this is installed right?
let mut ftxvme_elf2uki = Command::new("ftxvme-elf2uki");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, i missed that but, we're not usigx ftx* prefix anymore, so this should be fortanix-vme-elf2uki.

}
}

fn run_to_completion<P: Platform + 'static>(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, it would be nice if run_to_completion & create_runner functions (maybe everything with no relation to Cli related types) move to fortanix-vme-runner crate (aka lib). They will be needed in common runner in the mono repo.

/// https://docs.aws.amazon.com/enclaves/latest/user/cmd-nitro-run-enclave.html#cmd-nitro-run-enclave-options
/// https://docs.aws.amazon.com/enclaves/latest/user/cmd-nitro-build-enclave.html#cmd-nitro-build-enclave-options
struct FortanixVmeConfig {
// TODO: unused - remove this? Then we don't need to make `FortanixVmeConfig` generic
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be passed to fortanix-vme-runner. It is used by nitro, we may discard it for amd sev/snp.

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

Successfully merging this pull request may close these issues.

4 participants