Namespaces
Enumerations
enum TtyType
| Name | Value |
|---|---|
| kAny | 0 |
| kSerial | 1 |
| kAml | 2 |
| kMsm | 3 |
| kSac | 4 |
Defined at line 17 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/tty.h
Records
-
class AcpiRsdpItem -
class AcpiUartItem -
class ArmDevicetreeCpuTopologyItem -
class ArmDevicetreeGicItem -
class ArmDevicetreePsciCpuSuspendItem -
class ArmDevicetreePsciItem -
class ArmDevicetreeQcomRngItem -
class ArmDevicetreeTimerItem -
class ArmDevicetreeTimerMmioItem -
class BootShim -
class BootShimBase -
class DebugdataItem -
class DevicetreeBootShim -
class DevicetreeChosenNodeMatcher -
class DevicetreeChosenNodeMatcherBase -
class DevicetreeCpuTopologyItem -
class DevicetreeIrqResolver -
class DevicetreeItemBase -
class DevicetreeItemBase -
class DevicetreeItemBase -
class DevicetreeMemoryMatcher -
class DevicetreeSecureEntropyItem -
class DevicetreeSerialNumberItem -
class EfiBootShim -
class EfiBootShimLoader -
class EfiSmbiosItem -
class EfiSystemTableItem -
class GenericWatchdogItemBase -
class ItemBase -
class PoolMemConfigItem -
class QualcomMsmWatchdog -
class RebootReasonItem -
class RiscvDevicetreeCpuTopologyItem -
class RiscvDevicetreeCpuTopologyItemBase -
class RiscvDevicetreePlicItem -
class RiscvDevicetreeTimerItem -
class SingleItem -
class SingleOptionalItem -
class SingleVariantItemBase -
class StandardBootShimItems -
class TestSerialNumberItem -
class Tty -
class UartItem
Functions
-
MmioRange MmioRangeFrom (const devicetree::RegPropertyElement & reg)Defined at line 39 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree-boot-shim.h
-
const void * EfiGetVendorTable (const efi_system_table * systab, const efi_guid & guid, std::string_view prefix)Look up the given GUID in the ConfigurionTable.
Return it only if it matches the prefix.
Defined at line 53 of file ../../zircon/kernel/phys/lib/boot-shim/efi.cc
-
const void * EfiGetVendorTable (const efi_system_table * systab, const efi_guid & guid, std::string_view prefix)Look up the given GUID in the ConfigurionTable.
Return it only if it matches the prefix.
Defined at line 53 of file ../../zircon/kernel/phys/lib/boot-shim/efi.cc
-
zx::result<acpi_lite::AcpiParser> EfiGetAcpi (const efi_system_table * systab)Create an AcpiParser for the ACPI tables found in the ConfigurionTable.
Defined at line 68 of file ../../zircon/kernel/phys/lib/boot-shim/efi.cc
-
std::optional<Tty> TtyFromCmdline (std::string_view cmdline)Best effort at parsing Linux-compatible `console=` command, if present.
Defined at line 47 of file ../../zircon/kernel/phys/lib/boot-shim/tty.cc
-
std::optional<Tty> TtyFromCmdline (std::string_view cmdline)Best effort at parsing Linux-compatible `console=` command, if present.
Defined at line 47 of file ../../zircon/kernel/phys/lib/boot-shim/tty.cc
-
template <typename Callback>bool ForEachDevicetreeMemoryReservation (const devicetree::Devicetree & fdt, std::span<const memalloc::Range> exclusions, Callback && cb)This routine passes each memory reservation to a provided callback,
excluding the ranges that overlap with a select number of "exclusions". The
The callback should return `true` if it wishes to proceed with the iteration
and `false` if it wishes to short-circuit; in the latter case the routine
itself will return `false`. The exclusions should be non-overlapping and in
order.
While contrary to the devicetree spec - which says that a memory reservation
is memory that should not be used by the kernel - we have encountered
bootloaders that do generate reservations for the devicetree blob and
ramdisk. This routine works around that to ensure that such ranges do not
end up accounted for as RESERVED.
This logic is separate from any matcher as memory reservations are not
encoded within a devicetree blob's tree structure, and the ramdisk - one of
the intended exclusions - is the product itself of a 'chosen' matcher.
Defined at line 488 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
-
template <typename Callback>bool ForEachDevicetreeMemoryReservation (const devicetree::Devicetree & fdt, std::span<const memalloc::Range> exclusions, Callback && cb)This routine passes each memory reservation to a provided callback,
excluding the ranges that overlap with a select number of "exclusions". The
The callback should return `true` if it wishes to proceed with the iteration
and `false` if it wishes to short-circuit; in the latter case the routine
itself will return `false`. The exclusions should be non-overlapping and in
order.
While contrary to the devicetree spec - which says that a memory reservation
is memory that should not be used by the kernel - we have encountered
bootloaders that do generate reservations for the devicetree blob and
ramdisk. This routine works around that to ensure that such ranges do not
end up accounted for as RESERVED.
This logic is separate from any matcher as memory reservations are not
encoded within a devicetree blob's tree structure, and the ramdisk - one of
the intended exclusions - is the product itself of a 'chosen' matcher.
Defined at line 488 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
-
template <typename Callback>bool ForEachDevicetreeMemoryReservation (const devicetree::Devicetree & fdt, std::span<const memalloc::Range> exclusions, Callback && cb)This routine passes each memory reservation to a provided callback,
excluding the ranges that overlap with a select number of "exclusions". The
The callback should return `true` if it wishes to proceed with the iteration
and `false` if it wishes to short-circuit; in the latter case the routine
itself will return `false`. The exclusions should be non-overlapping and in
order.
While contrary to the devicetree spec - which says that a memory reservation
is memory that should not be used by the kernel - we have encountered
bootloaders that do generate reservations for the devicetree blob and
ramdisk. This routine works around that to ensure that such ranges do not
end up accounted for as RESERVED.
This logic is separate from any matcher as memory reservations are not
encoded within a devicetree blob's tree structure, and the ramdisk - one of
the intended exclusions - is the product itself of a 'chosen' matcher.
Defined at line 488 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
-
template <typename Callback>bool ForEachDevicetreeMemoryReservation (const devicetree::Devicetree & fdtstd::span<const memalloc::Range> exclusionsCallback && cb)This routine passes each memory reservation to a provided callback,
excluding the ranges that overlap with a select number of "exclusions". The
The callback should return `true` if it wishes to proceed with the iteration
and `false` if it wishes to short-circuit; in the latter case the routine
itself will return `false`. The exclusions should be non-overlapping and in
order.
While contrary to the devicetree spec - which says that a memory reservation
is memory that should not be used by the kernel - we have encountered
bootloaders that do generate reservations for the devicetree blob and
ramdisk. This routine works around that to ensure that such ranges do not
end up accounted for as RESERVED.
This logic is separate from any matcher as memory reservations are not
encoded within a devicetree blob's tree structure, and the ramdisk - one of
the intended exclusions - is the product itself of a 'chosen' matcher.
Defined at line 488 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
Concepts
template <typename T> WatchdogMmioHelper requires (T t, uint64_t base_addr, uint32_t contents) { { T::Read(base_addr) } -> std::convertible_to<uint64_t>; { T::Write(contents, base_addr) }; }
Defined at line 22 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/watchdog.h
template <typename T, typename Shim> DevicetreeItem devicetree::Matcher<T> && std::is_base_of_v<ItemBase, T> && requires (T &t, Shim shim) { { t.Init(shim) }; }
Defined at line 29 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree-boot-shim.h
template <typename Ttypename MmioHelper> Watchdog WatchdogMmioHelper<MmioHelper> && requires (std::decay_t<T> t, const devicetree::PropertyDecoder &decoder, const DevicetreeBootShimMmioObserver *mmio_observer) { { decltype(t)::kCompatibleDevices } -> std::ranges::range; { *decltype(t)::kCompatibleDevices.begin() } -> std::convertible_to<std::string_view>; { decltype(t)::template MaybeCreate<MmioHelper>(decoder, mmio_observer) } -> std::convertible_to<std::optional<zbi_dcfg_generic32_watchdog_t>>; }
A `Watchdog` Item must provide the following API:
Defined at line 29 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/watchdog.h