|
41 | 41 | #include "system_table.h" |
42 | 42 | #include "text_protocol.h" |
43 | 43 |
|
| 44 | +#include <uefi.h> |
| 45 | + |
44 | 46 | namespace { |
45 | 47 |
|
46 | 48 | constexpr auto EFI_SYSTEM_TABLE_SIGNATURE = |
@@ -130,6 +132,23 @@ int load_sections_and_execute(bdev_t *dev, |
130 | 132 | return call_with_stack(stack + kStackSize, entry, image_base, &table); |
131 | 133 | } |
132 | 134 |
|
| 135 | + |
| 136 | +int cmd_uefi_load(int argc, const console_cmd_args *argv) { |
| 137 | + if (argc != 2) { |
| 138 | + printf("Usage: %s <name of block device to load from>\n", argv[0].str); |
| 139 | + return 1; |
| 140 | + } |
| 141 | + load_pe_file(argv[1].str); |
| 142 | + return 0; |
| 143 | +} |
| 144 | + |
| 145 | +STATIC_COMMAND_START |
| 146 | +STATIC_COMMAND("uefi_load", "load UEFI application and run it", &cmd_uefi_load) |
| 147 | +STATIC_COMMAND_END(uefi); |
| 148 | + |
| 149 | +} // namespace |
| 150 | + |
| 151 | + |
133 | 152 | int load_pe_file(const char *blkdev) { |
134 | 153 | bdev_t *dev = bio_open(blkdev); |
135 | 154 | if (!dev) { |
@@ -186,18 +205,3 @@ int load_pe_file(const char *blkdev) { |
186 | 205 | printf("UEFI Application return code: %d\n", ret); |
187 | 206 | return ret; |
188 | 207 | } |
189 | | - |
190 | | -int cmd_uefi_load(int argc, const console_cmd_args *argv) { |
191 | | - if (argc != 2) { |
192 | | - printf("Usage: %s <name of block device to load from>\n", argv[0].str); |
193 | | - return 1; |
194 | | - } |
195 | | - load_pe_file(argv[1].str); |
196 | | - return 0; |
197 | | -} |
198 | | - |
199 | | -STATIC_COMMAND_START |
200 | | -STATIC_COMMAND("uefi_load", "load UEFI application and run it", &cmd_uefi_load) |
201 | | -STATIC_COMMAND_END(uefi); |
202 | | - |
203 | | -} // namespace |
|
0 commit comments