Skip to main content

rustc_target/spec/targets/
x86_64_unknown_hyperlight.rs

1// Hyperlight Guest target for x86_64
2
3use crate::spec::{Arch, RelroLevel, SanitizerSet, Target, TargetMetadata, TargetOptions, base};
4
5pub(crate) fn target() -> Target {
6    let opts = TargetOptions {
7        features: "-mmx,+sse,+sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2,-soft-float".into(),
8
9        cpu: "x86-64".into(),
10        plt_by_default: false,
11        max_atomic_width: Some(64),
12        relro_level: RelroLevel::Full,
13        supported_sanitizers: SanitizerSet::KCFI | SanitizerSet::KERNELADDRESS,
14        ..base::hyperlight::opts()
15    };
16    Target {
17        llvm_target: "x86_64-unknown-none-elf".into(),
18        metadata: TargetMetadata {
19            description: Some("x86_64 Hyperlight guest".into()),
20            tier: Some(3),
21            host_tools: Some(false),
22            std: Some(false),
23        },
24        pointer_width: 64,
25        data_layout:
26            "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
27        arch: Arch::X86_64,
28        options: opts,
29    }
30}