X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=choosers%2Fsimple.c;h=f064e12b973ccf26b3b27b0050f37bd49400101d;hb=90dc485b21e0c6b3417e22e86f637f45e62748f2;hp=b246a910fad125e5dd59a9edab40edd9495fb931;hpb=8e0034665aa8483b27191c723608575536d01303;p=debian%2Felilo diff --git a/choosers/simple.c b/choosers/simple.c index b246a91..f064e12 100644 --- a/choosers/simple.c +++ b/choosers/simple.c @@ -1,6 +1,10 @@ /* * Copyright (C) 2001-2003 Hewlett-Packard Co. * Contributed by Stephane Eranian + * Copyright (C) 2006-2009 Intel Corporation + * Contributed by Fenghua Yu + * Contributed by Bibo Mao + * Contributed by Chandramouli Narayanan * * This file is part of the ELILO, the EFI Linux boot loader. * @@ -28,6 +32,7 @@ #include "elilo.h" #include "vars.h" +#include "console.h" /* static is ugly but does the job here! */ static CHAR16 **alt_argv; @@ -136,7 +141,8 @@ reprint: first_time = 0; for (;;) { - while ((status=ip->ReadKeyStroke(ip, &key)) == EFI_NOT_READY); + while ((status = uefi_call_wrapper(ip->ReadKeyStroke, 2, ip, &key)) + == EFI_NOT_READY); if (EFI_ERROR(status)) { ERR_PRT((L"select_kernel readkey: %r", status)); return -1; @@ -215,7 +221,7 @@ display_message(VOID) { fops_fd_t fd; EFI_STATUS status; - INTN len, i; + UINTN len, i; CHAR16 *filename; CHAR8 buf[256]; @@ -274,7 +280,7 @@ restart: argc = argify(alt_buffer,sizeof(alt_buffer), argv); alt_argv = argv; index = 0; - args[0] = initrd_name[0] = 0; + args[0] = initrd_name[0] = vmcode_name[0] = 0; /* * don't check twice because the variable is deleted after * first access @@ -283,6 +289,7 @@ restart: } if (elilo_opt.prompt) { + console_textmode(); ret = select_kernel(buffer, sizeof(buffer)); if (ret == -1) return -1; argc = argify(buffer,sizeof(buffer), argv); @@ -350,11 +357,11 @@ restart: if (elilo_opt.prompt == 0) { /* minimal printing */ - Print(L"ELILO\n"); + Print(L"ELILO v%s for EFI/%a\n", ELILO_VERSION, ELILO_ARCH); ret = wait_timeout(elilo_opt.delay); if (ret != 0) { elilo_opt.prompt = 1; - elilo_opt.initrd[0] = CHAR_NULL; + elilo_opt.initrd[0] = elilo_opt.vmcode[0] = CHAR_NULL; elilo_opt.timeout = ELILO_TIMEOUT_INFINITY; goto restart; }