summaryrefslogtreecommitdiff
path: root/src/mainboard/google/slippy/mainboard.c
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2013-05-10 13:50:09 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-11-25 23:27:35 +0100
commit1c0540000dc4705cee44857293285382f4ae8bad (patch)
tree905451a7882e33e696c5ce8d4c2a56d43b5eb2f1 /src/mainboard/google/slippy/mainboard.c
parent0e939155a332c884b2a068da6a9fc89246c34cb7 (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/slippy/mainboard.c')
-rw-r--r--src/mainboard/google/slippy/mainboard.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mainboard/google/slippy/mainboard.c b/src/mainboard/google/slippy/mainboard.c
index cce2260fcf..0159bd0b6c 100644
--- a/src/mainboard/google/slippy/mainboard.c
+++ b/src/mainboard/google/slippy/mainboard.c
@@ -46,7 +46,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: AX=%04x BX=%04x CX=%04x DX=%04x\n",
__func__, X86_AX, X86_BX, X86_CX, X86_DX);
@@ -62,7 +62,7 @@ static int int15_handler(void)
*/
X86_AX = 0x005f;
X86_CX = 0x0001;
- res = 0;
+ res = 1;
break;
case 0x5f35:
/*
@@ -78,7 +78,7 @@ static int int15_handler(void)
*/
X86_AX = 0x005f;
X86_CX = 0x0000;
- res = 0;
+ res = 1;
break;
case 0x5f51:
/*
@@ -90,7 +90,7 @@ static int int15_handler(void)
*/
X86_AX = 0x005f;
X86_CX = 0x0003;
- res = 0;
+ res = 1;
break;
case 0x5f70:
switch ((X86_CX >> 8) & 0xff) {
@@ -98,26 +98,26 @@ 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_CX >> 8) & 0xff));
- return 0;
+ break;
}
break;