|
33 | 33 | //! # extern crate linux_loader; |
34 | 34 | //! # extern crate vm_memory; |
35 | 35 | //! # use std::{io::{Cursor, Read}, fs::File}; |
36 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
37 | | -//! # use linux_loader::configurator::{BootConfigurator, BootParams}; |
38 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
39 | | -//! # use linux_loader::configurator::pvh::PvhBootConfigurator; |
40 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
41 | | -//! # use linux_loader::loader::elf::start_info::{hvm_memmap_table_entry, hvm_start_info}; |
42 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
43 | | -//! # use linux_loader::loader::elf::Elf; |
| 36 | +//! |
| 37 | +//! # #[cfg(all( |
| 38 | +//! # any(target_arch = "x86", target_arch = "x86_64"), |
| 39 | +//! # any(feature = "elf", feature = "pe", feature = "bzimage") |
| 40 | +//! # ))] |
| 41 | +//! # mod imports { |
| 42 | +//! # pub use linux_loader::configurator::{BootConfigurator, BootParams}; |
| 43 | +//! # pub use linux_loader::configurator::pvh::PvhBootConfigurator; |
| 44 | +//! # pub use linux_loader::loader::elf::start_info::{hvm_memmap_table_entry, hvm_start_info}; |
| 45 | +//! # pub use linux_loader::loader::elf::Elf; |
| 46 | +//! # } |
| 47 | +//! |
| 48 | +//! # #[cfg(all( |
| 49 | +//! # any(target_arch = "x86", target_arch = "x86_64"), |
| 50 | +//! # any(feature = "elf", feature = "pe", feature = "bzimage") |
| 51 | +//! # ))] |
| 52 | +//! # pub use imports::*; |
| 53 | +//! |
44 | 54 | //! # use linux_loader::loader::KernelLoader; |
45 | 55 | //! # use vm_memory::{Address, GuestAddress, GuestMemoryMmap}; |
46 | 56 | //! # const E820_RAM: u32 = 1; |
47 | 57 | //! # const MEM_SIZE: usize = 0x100_0000; |
48 | 58 | //! # const XEN_HVM_START_MAGIC_VALUE: u32 = 0x336ec578; |
49 | 59 | //! |
50 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
| 60 | +//! # #[cfg(all( |
| 61 | +//! # any(target_arch = "x86", target_arch = "x86_64"), |
| 62 | +//! # any(feature = "elf", feature = "pe", feature = "bzimage") |
| 63 | +//! # ))] |
51 | 64 | //! fn build_boot_params() -> (hvm_start_info, Vec<hvm_memmap_table_entry>) { |
52 | 65 | //! let mut start_info = hvm_start_info::default(); |
53 | 66 | //! let memmap_entry = hvm_memmap_table_entry { |
|
63 | 76 | //! (start_info, vec![memmap_entry]) |
64 | 77 | //! } |
65 | 78 | //! |
66 | | -//! # #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] |
| 79 | +//! # #[cfg(all( |
| 80 | +//! # any(target_arch = "x86", target_arch = "x86_64"), |
| 81 | +//! # any(feature = "elf", feature = "pe", feature = "bzimage") |
| 82 | +//! # ))] |
67 | 83 | //! fn main() { |
68 | 84 | //! let guest_mem = GuestMemoryMmap::from_ranges(&[(GuestAddress(0x0), MEM_SIZE)]).unwrap(); |
69 | 85 | //! |
|
93 | 109 | //! PvhBootConfigurator::write_bootparams::<GuestMemoryMmap>(&boot_params, &guest_mem).unwrap(); |
94 | 110 | //! } |
95 | 111 | //! |
96 | | -//! # #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))] |
| 112 | +//! # #[cfg(all( |
| 113 | +//! # any(target_arch = "aarch64", target_arch = "riscv64"), |
| 114 | +//! # any(feature = "elf", feature = "pe", feature = "bzimage") |
| 115 | +//! # ))] |
| 116 | +//! # fn main() {} |
| 117 | +//! |
| 118 | +//! # #[cfg(not(any(feature = "elf", feature = "pe", feature = "bzimage")))] |
97 | 119 | //! # fn main() {} |
98 | 120 | //! ``` |
99 | 121 | //! |
|
0 commit comments