diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2013-05-10 13:50:09 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-11-25 23:27:35 +0100 |
commit | 1c0540000dc4705cee44857293285382f4ae8bad (patch) | |
tree | 905451a7882e33e696c5ce8d4c2a56d43b5eb2f1 /src/mainboard/google/link | |
parent | 0e939155a332c884b2a068da6a9fc89246c34cb7 (diff) |
Fix int15 return value for mainboard oprom handlers
These boards were returning 0 to indicate success when
the realmode handler expects it to return 1 to indicate
that it handled the interrupt.
Change-Id: I2baeaf8c2774fa7668a8b2f2d9ad698302eefb21
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/50881
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/4168
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/mainboard/google/link')
-rw-r--r-- | src/mainboard/google/link/mainboard.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mainboard/google/link/mainboard.c b/src/mainboard/google/link/mainboard.c index 01d4484103..2731df0204 100644 --- a/src/mainboard/google/link/mainboard.c +++ b/src/mainboard/google/link/mainboard.c @@ -64,7 +64,7 @@ void mainboard_suspend_resume(void) #if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN static int int15_handler(void) { - int res=-1; + int res = 0; printk(BIOS_DEBUG, "%s: INT15 function %04x!\n", __func__, X86_AX); @@ -80,7 +80,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CL = 0x00; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f35: /* @@ -96,7 +96,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f51: /* @@ -108,7 +108,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0003; /* eDP */ - res = 0; + res = 1; break; case 0x5f70: switch (X86_CH) { @@ -116,29 +116,29 @@ static int int15_handler(void) /* Get Mux */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; case 1: /* Set Mux */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; case 2: /* Get SG/Non-SG mode */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; default: /* Interrupt was not handled */ printk(BIOS_DEBUG, "Unknown INT15 5f70 function: 0x%02x\n", X86_CH); - return 0; + break; } break; case 0x5fac: - res = 0; + res = 1; break; default: printk(BIOS_DEBUG, "Unknown INT15 function %04x!\n", X86_AX); |