1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// SPDX-License-Identifier: MIT OR Apache-2.0
//! Standard UEFI tables.
pub use Header;
pub use Revision;
use ;
use ;
/// Global system table pointer. This is only modified by [`set_system_table`].
static SYSTEM_TABLE: =
new;
/// Get the raw system table pointer.
///
/// If called before `set_system_table` has been called, this will return `None`.
/// Get the raw system table pointer. This may only be called after
/// `set_system_table` has been used to set the global pointer.
///
/// # Panics
///
/// Panics if the global system table pointer is null.
pub
/// Update the global system table pointer.
///
/// This is called automatically in the `main` entry point as part of
/// [`uefi::entry`].
///
/// It is also called by [`set_virtual_address_map`] to transition from a
/// physical address to a virtual address.
///
/// This function should not be called at any other point in time, unless the
/// executable does not use [`uefi::entry`], in which case it should be called
/// once before calling any other API in this crate.
///
/// # Safety
///
/// This function should only be called as described above, and the
/// `ptr` must be a valid [`SystemTable`].
///
/// [`SystemTable`]: uefi_raw::table::system::SystemTable
/// [`set_virtual_address_map`]: uefi::runtime::set_virtual_address_map
pub unsafe
/// Common trait implemented by all standard UEFI tables.