From: Sylvain Gault <sylvain.gault@gmail.com>
Date: Wed, 19 Feb 2014 05:18:14 +0100
Subject: [PATCH] make install: Don't overwrite up-to-date files

make install used to copy files unconditionnally to their destination.
However, if the destination is used by another Makefile, it will always
see modified files. "install" target now only update the files when they
need to.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: Sylvain Gault <sylvain.gault@gmail.com>
Date: Fri, 21 Feb 2014 06:03:00 +0100
Subject: [PATCH] Makefile: Don't clean what doesn't already exists

Trying to recurse into subdirectories of object files may lead to an
error if the directory doesn't exist. Even when cleaning.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Add support for the simple pointer and absolute pointer protocols

Signed-off-by: John Cronin <johncronin@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Remove incumbent GPL 'debian' subdiretory.
Update ChangeLog

Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
   Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
   Not used anymore.

   Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Here is a patch for "DevicePathToStr()" to display device path according to UEFI 2 specification.
The path is in the two files inc/efidevp.h and lib/dpath.c.

It also add the Sata device path and removes the "/?" path for unknown device paths.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Here is a very small patch to remove *~ files in include diretory.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Here is a very small patch to remove compiler warning in function
"LibLocateHandleByDiskSignature()" because the "Start" variable is
give a value which is not used.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Here is a very small patch to remove a compiler warning when processing lib/smbios.c.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Module lib/ParseCmdLine.c has errors, it incorrectly mixes "char" and "CHAR16"
and uses a pointer to argv[] like it's argv[]. The compiler only issues
warnings though. Here is a patch to remove compiler warnings and make the
code behave.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Cleaned up compile warnings.

Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h".
Consequently, when your program calls DbgPrint() via the DEBUG() macro,
it fails to set up the stack correctly (it does not pass the arguments
through the ellipsis (...) according to the EFIAPI calling convention).
However, va_start() inside DbgPrint() *assumes* that stack.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
Revert "The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h"."
A problem was found compiling on GCC 4.8.

This reverts commit 644898eabc06c8efaa3aa54f84cdd468960a2f6c.
Add VPoolPrint Function

Equivalent to PoolPrint but using a va_list parameter

Signed-off-by: Sylvain Chouleur <sylvain.chouleur@intel.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: Laszlo Ersek <lersek@redhat.com>
Date: Mon, 2 Jun 2014 23:26:48 +0200
Subject: [PATCH] always observe EFIAPI calling convention when calling
 STO.SetAttribute

We have to consider the following cases wrt. the PRINT_STATE.Output and
PRINT_STATE.SetAttr EFIAPI function pointers, especially when building for
x86_64 with gcc:

(1) The compiler is new enough, and EFIAPI actually ensures the Microsoft
    calling convention. In this case everything happens to work fine even
    if we forget uefi_call_wrapper(), because the wrapper would expand to
    a normal C function call anyway.

(2) Otherwise (ie. gcc is old), EFIAPI expands to nothing, and we must
    take into account the called function's origin:

  (2a) If the callee that is declared EFIAPI is *defined* inside gnu-efi,
       then EFIAPI means nothing for the callee too, so caller and callee
       only understand each other if the caller intentionally omits
       uefi_call_wrapper().

  (2b) If the callee that is declared EFIAPI is defined by the platform
       UEFI implementation, then the caller *must* use
       uefi_call_wrapper().

The PRINT_STATE.Output EFIAPI function pointer is dereferenced correctly:
the PFLUSH() distinguishes cases (2a) from (2b) by using IsLocalPrint().

However use of the PRINT_STATE.SetAttr EFIAPI function pointer is not
always correct:

- The PSETATTR() helper function always relies on the wrapper (case (2b)).
  This is correct, because PRINT_STATE.SetAttr always points to a
  platform-provided function.

- The DbgPrint() function contains two incorrect calls: they mistakenly
  assume case (2a) (or case (1)), even though the pointer always points to
  a platform function, implying (2b). (The error is masked in case (1).)
  Fix them.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: Julian Klode <julian.klode@gmail.com>
Date: Mon, 21 Jul 2014 14:26:23 -0400
Subject: [PATCH] inc/efistdarg.h: Use gcc builtins instead of stdarg.h or broken stubs

We cannot use stdarg.h, as this breaks applications compiling
with -nostdinc because those will not find the header.
We also cannot use the stubs, as they just produce broken code,
as seen in the gummiboot 45-1 Debian release.

Signed-off-by: Julian Klode <julian.klode@gmail.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: David Decotigny <decot@googlers.com>
Date: Mon, 28 Jul 2014 21:01:35 -0700
Subject: [PATCH 1/3] Fix cmdline parser

The cmdline parser would not return the correct number of args, would
allocate one too many. Also make it clear from the declaration that we
expect a suitably lare argv.

Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: David Decotigny <decot@googlers.com>
Date: Mon, 28 Jul 2014 21:00:52 -0700
Subject: [PATCH 2/3] Avoid buffer overflow while parsing the cmdline args

Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
From: David Decotigny <decot@googlers.com>
Date: Mon, 28 Jul 2014 21:28:50 -0700
Subject: [PATCH 3/3] make cmdline parsing a 1st class citizen

Refactor ParseCmdline and apps/Alloc+FreePages to factorize
boilerplate and move the new parser to the main API.

Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>