Changeset View
Changeset View
Standalone View
Standalone View
head/sys/boot/efi/loader/main.c
Show First 20 Lines • Show All 328 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
UINTN cols, rows; | UINTN cols, rows; | ||||
unsigned int mode; | unsigned int mode; | ||||
int i; | int i; | ||||
char *cp; | char *cp; | ||||
char rowenv[8]; | char rowenv[8]; | ||||
EFI_STATUS status; | EFI_STATUS status; | ||||
SIMPLE_TEXT_OUTPUT_INTERFACE *conout; | SIMPLE_TEXT_OUTPUT_INTERFACE *conout; | ||||
extern void HO(void); | |||||
conout = ST->ConOut; | conout = ST->ConOut; | ||||
if (argc > 1) { | if (argc > 1) { | ||||
mode = strtol(argv[1], &cp, 0); | mode = strtol(argv[1], &cp, 0); | ||||
if (cp[0] != '\0') { | if (cp[0] != '\0') { | ||||
printf("Invalid mode\n"); | printf("Invalid mode\n"); | ||||
return (CMD_ERROR); | return (CMD_ERROR); | ||||
} | } | ||||
status = conout->QueryMode(conout, mode, &cols, &rows); | status = conout->QueryMode(conout, mode, &cols, &rows); | ||||
if (EFI_ERROR(status)) { | if (EFI_ERROR(status)) { | ||||
printf("invalid mode %d\n", mode); | printf("invalid mode %d\n", mode); | ||||
return (CMD_ERROR); | return (CMD_ERROR); | ||||
} | } | ||||
status = conout->SetMode(conout, mode); | status = conout->SetMode(conout, mode); | ||||
if (EFI_ERROR(status)) { | if (EFI_ERROR(status)) { | ||||
printf("couldn't set mode %d\n", mode); | printf("couldn't set mode %d\n", mode); | ||||
return (CMD_ERROR); | return (CMD_ERROR); | ||||
} | } | ||||
sprintf(rowenv, "%u", (unsigned)rows); | sprintf(rowenv, "%u", (unsigned)rows); | ||||
setenv("LINES", rowenv, 1); | setenv("LINES", rowenv, 1); | ||||
HO(); /* set cursor */ | |||||
return (CMD_OK); | return (CMD_OK); | ||||
} | } | ||||
printf("Current mode: %d\n", conout->Mode->Mode); | printf("Current mode: %d\n", conout->Mode->Mode); | ||||
for (i = 0; i <= conout->Mode->MaxMode; i++) { | for (i = 0; i <= conout->Mode->MaxMode; i++) { | ||||
status = conout->QueryMode(conout, i, &cols, &rows); | status = conout->QueryMode(conout, i, &cols, &rows); | ||||
if (EFI_ERROR(status)) | if (EFI_ERROR(status)) | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 80 Lines • Show Last 20 Lines |