payloads/external/tianocore: Add and apply patches for tianocore

Create a directory patches, and add necessary patches to be applied to
upstream tianocore.

Patches include:
-Patch for no PCI address enumeration
-Patches to enable keyboard input
-Patch to disable serial to speed up boot process.

Patches pulled from https://github.com/MattDevo/edk2.

Additionally, modify tianocore Makefile to apply patches during build.

Change-Id: I4eaa602418995a68753b1ed13af8c6374eaa312f
Signed-off-by: Evelyn Huang <evhuang@google.com>
Reviewed-on: https://review.coreboot.org/20639
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 10e760d..ade0be8 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -61,6 +61,12 @@
 			git checkout master; \
 			git branch -D coreboot 2>/dev/null; \
 			git checkout -b coreboot $(TAG-y); \
+		for patch in $(CURDIR)/patches/*.patch; do \
+			echo "Applying $$patch"; \
+			cd $(project_dir); \
+			git am --keep-cr $$patch || \
+				( echo " Error when applying patches.\n"; git am --abort; exit 1; ); \
+		done; \
 		if ! [ "$(TAG-y)" = "origin/master" ] ; then \
 			touch $(project_dir)/.version_$(STABLE_COMMIT_ID); \
 		fi; \