Subrata Banik has uploaded this change for review.

View Change

libpayload: Save EAX and EBX for multiboot payloads

When CONFIG_LP_MULTIBOOT is enabled, save the values of EAX and EBX
passed from the bootloader. This information can be useful for
multiboot payloads feature alone.

Change-Id: I98c2cd00206ee48eb0fc67edd9533032bcf3e5eb
Signed-off-by: Subrata Banik <subratabanik@google.com>
---
M payloads/libpayload/arch/x86/head.S
M payloads/libpayload/arch/x86/main.c
2 files changed, 4 insertions(+), 0 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/82040/1
diff --git a/payloads/libpayload/arch/x86/head.S b/payloads/libpayload/arch/x86/head.S
index 1e0e4a0..2bac700 100644
--- a/payloads/libpayload/arch/x86/head.S
+++ b/payloads/libpayload/arch/x86/head.S
@@ -63,9 +63,11 @@
/* No interrupts, please. */
cli

+#if CONFIG(LP_MULTIBOOT)
/* Store EAX and EBX */
movl %eax, loader_eax
movl %ebx, loader_ebx
+#endif

/* save pointer to coreboot tables */
movl 4(%esp), %eax
diff --git a/payloads/libpayload/arch/x86/main.c b/payloads/libpayload/arch/x86/main.c
index 288f474..85636a4 100644
--- a/payloads/libpayload/arch/x86/main.c
+++ b/payloads/libpayload/arch/x86/main.c
@@ -30,8 +30,10 @@
#include <libpayload.h>
#include <arch/apic.h>

+#if CONFIG(LP_MULTIBOOT)
unsigned long loader_eax; /**< The value of EAX passed from the loader */
unsigned long loader_ebx; /**< The value of EBX passed from the loader */
+#endif

int main_argc; /**< The argc value to pass to main() */


To view, visit change 82040. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I98c2cd00206ee48eb0fc67edd9533032bcf3e5eb
Gerrit-Change-Number: 82040
Gerrit-PatchSet: 1
Gerrit-Owner: Subrata Banik <subratabanik@google.com>
Gerrit-MessageType: newchange