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>
This commit is contained in:
Duncan Laurie
2013-05-10 13:50:09 -07:00
committed by Stefan Reinauer
parent 0e939155a3
commit 1c0540000d
7 changed files with 57 additions and 57 deletions

View File

@@ -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);