|
119 | 119 | //! protocols can be defined with the [`unsafe_protocol`] macro.
|
120 | 120 | //!
|
121 | 121 | //! ## Optional Cargo crate features
|
122 |
| -//! |
| 122 | +//! |
| 123 | +//! ### Feature List |
| 124 | +//! |
123 | 125 | //! - `alloc`: Enable functionality requiring the [`alloc`] crate from
|
124 | 126 | //! the Rust standard library. For example, methods that return a
|
125 | 127 | //! `Vec` rather than filling a statically-sized array. This requires
|
|
134 | 136 | //! - `logger`: Logging implementation for the standard [`log`] crate
|
135 | 137 | //! that prints output to the UEFI console. No buffering is done; this
|
136 | 138 | //! is not a high-performance logger.
|
| 139 | +//! - `log-debugcon`: Whether the logger set up by `logger` should also log |
| 140 | +//! to the debugcon device (available in QEMU or Cloud Hypervisor on x86). |
137 | 141 | //! - `panic_handler`: Add a default panic handler that logs to `stdout`.
|
138 | 142 | //! - `unstable`: Enable functionality that depends on [unstable
|
139 | 143 | //! features] in the nightly compiler.
|
|
147 | 151 | //! only unfold their potential when you invoke `uefi::helpers::init` as soon
|
148 | 152 | //! as possible in your application.
|
149 | 153 | //!
|
| 154 | +//! ### TL;DR: Recommended Default Features |
| 155 | +//! |
| 156 | +//! In typical use-cases, the following features are useful for you: |
| 157 | +//! - Building a UEFI image: |
| 158 | +//! - Recommend `alloc`, `global_allocator`, `logger`, `panic_handler` |
| 159 | +//! - Optional `log-debugcon`, `unstable`, `qemu` |
| 160 | +//! - Building another application/library: |
| 161 | +//! - Recommend `alloc`, |
| 162 | +//! - Optional `unstable` |
| 163 | +//! |
150 | 164 | //! # Discuss and Contribute
|
151 | 165 | //!
|
152 | 166 | //! For general discussions, feel free to join us in our [Zulip] and ask
|
|
0 commit comments