|
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