Changeset View
Changeset View
Standalone View
Standalone View
head/sys/boot/efi/loader/main.c
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
#include <smbios.h> | #include <smbios.h> | ||||
#ifdef EFI_ZFS_BOOT | #ifdef EFI_ZFS_BOOT | ||||
#include <libzfs.h> | #include <libzfs.h> | ||||
#endif | #endif | ||||
#include "loader_efi.h" | #include "loader_efi.h" | ||||
extern char bootprog_name[]; | extern char bootprog_info[]; | ||||
extern char bootprog_rev[]; | |||||
extern char bootprog_date[]; | |||||
extern char bootprog_maker[]; | |||||
#ifdef BOOT_FORTH | #ifdef BOOT_FORTH | ||||
/* | /* | ||||
* Normally, efi.o from libefi.a would be brought in due to a function we call | * Normally, efi.o from libefi.a would be brought in due to a function we call | ||||
* there that's defined there. However, none of its functions are callable from | * there that's defined there. However, none of its functions are callable from | ||||
* here since it just adds words to the FORTH environment or implement those | * here since it just adds words to the FORTH environment or implement those | ||||
* words. So, add a reference to a symbol in efi.o to force it to be be brought | * words. So, add a reference to a symbol in efi.o to force it to be be brought | ||||
* in so the init function there gets added to the "compile" linker set happens | * in so the init function there gets added to the "compile" linker set happens | ||||
▲ Show 20 Lines • Show All 339 Lines • ▼ Show 20 Lines | #endif | ||||
printf("\n"); | printf("\n"); | ||||
printf("Image base: 0x%lx\n", (u_long)img->ImageBase); | printf("Image base: 0x%lx\n", (u_long)img->ImageBase); | ||||
printf("EFI version: %d.%02d\n", ST->Hdr.Revision >> 16, | printf("EFI version: %d.%02d\n", ST->Hdr.Revision >> 16, | ||||
ST->Hdr.Revision & 0xffff); | ST->Hdr.Revision & 0xffff); | ||||
printf("EFI Firmware: %S (rev %d.%02d)\n", ST->FirmwareVendor, | printf("EFI Firmware: %S (rev %d.%02d)\n", ST->FirmwareVendor, | ||||
ST->FirmwareRevision >> 16, ST->FirmwareRevision & 0xffff); | ST->FirmwareRevision >> 16, ST->FirmwareRevision & 0xffff); | ||||
printf("\n"); | printf("\n%s", bootprog_info); | ||||
printf("%s, Revision %s\n", bootprog_name, bootprog_rev); | |||||
printf("(%s, %s)\n", bootprog_maker, bootprog_date); | |||||
/* | /* | ||||
* Disable the watchdog timer. By default the boot manager sets | * Disable the watchdog timer. By default the boot manager sets | ||||
* the timer to 5 minutes before invoking a boot option. If we | * the timer to 5 minutes before invoking a boot option. If we | ||||
* want to return to the boot manager, we have to disable the | * want to return to the boot manager, we have to disable the | ||||
* watchdog timer and since we're an interactive program, we don't | * watchdog timer and since we're an interactive program, we don't | ||||
* want to wait until the user types "quit". The timer may have | * want to wait until the user types "quit". The timer may have | ||||
* fired by then. We don't care if this fails. It does not prevent | * fired by then. We don't care if this fails. It does not prevent | ||||
▲ Show 20 Lines • Show All 693 Lines • Show Last 20 Lines |