minimal_rt/arch/
mod.rs

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4//! Imports and re-exports architecture-specific implementations.
5
6mod aarch64;
7mod x86_64;
8
9cfg_if::cfg_if!(
10    if #[cfg(target_arch = "x86_64")] {
11        pub use x86_64::msr;
12        pub use x86_64::serial::InstrIoAccess;
13        pub use x86_64::serial::IoAccess;
14        use x86_64 as arch;
15    } else if #[cfg(target_arch = "aarch64")] {
16        use aarch64 as arch;
17    } else {
18        compile_error!("target_arch is not supported");
19    }
20);
21
22pub(crate) use arch::enlightened_panic::write_crash_reg;
23pub use arch::hypercall;
24pub use arch::intrinsics::dead_loop;
25pub use arch::intrinsics::fault;
26pub(crate) use arch::reftime::reference_time;
27pub use arch::serial::Serial;