arch/x86: Enable ebda library for romstage and postcar

This patch provides a kconfig option as EARLY_EBDA_INIT to
ensures user can make use of EBDA library even during early
boot stages like romstage, postcar.

Change-Id: I603800a531f56b6ebd460d5951c35a645fbfe492
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/21388
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/device/device.c b/src/device/device.c
index 35f5909..4c6b6f9 100644
--- a/src/device/device.c
+++ b/src/device/device.c
@@ -1179,8 +1179,13 @@
 	printk(BIOS_INFO, "Initializing devices...\n");
 
 #if IS_ENABLED(CONFIG_ARCH_X86)
-	/* Ensure EBDA is prepared before Option ROMs. */
-	setup_default_ebda();
+	/*
+	 * Initialize EBDA area in ramstage if early
+	 * initialization is not done.
+	 */
+	if (!IS_ENABLED(CONFIG_EARLY_EBDA_INIT))
+		/* Ensure EBDA is prepared before Option ROMs. */
+		setup_default_ebda();
 #endif
 
 	/* First call the mainboard init. */