Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4168
-gerrit
commit 80a0bea125ef627477db49ef76fa90d67cd51e74 Author: Duncan Laurie dlaurie@chromium.org Date: Fri May 10 13:50:09 2013 -0700
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 --- src/mainboard/google/butterfly/mainboard.c | 16 ++++++++-------- src/mainboard/google/link/mainboard.c | 18 +++++++++--------- src/mainboard/google/parrot/mainboard.c | 16 ++++++++-------- src/mainboard/google/slippy/mainboard.c | 16 ++++++++-------- src/mainboard/google/stout/mainboard.c | 16 ++++++++-------- src/mainboard/intel/baskingridge/mainboard.c | 16 ++++++++-------- src/mainboard/intel/wtm2/mainboard.c | 16 ++++++++-------- 7 files changed, 57 insertions(+), 57 deletions(-)
diff --git a/src/mainboard/google/butterfly/mainboard.c b/src/mainboard/google/butterfly/mainboard.c index c33b9cf..32a8308 100644 --- a/src/mainboard/google/butterfly/mainboard.c +++ b/src/mainboard/google/butterfly/mainboard.c @@ -194,7 +194,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); @@ -210,7 +210,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CL = 0x00; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f35: /* @@ -226,7 +226,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f51: /* @@ -238,7 +238,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0001; /* Int-LVDS */ - res = 0; + res = 1; break; case 0x5f70: switch (X86_CH) { @@ -246,25 +246,25 @@ 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;
diff --git a/src/mainboard/google/link/mainboard.c b/src/mainboard/google/link/mainboard.c index 01d4484..2731df0 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); diff --git a/src/mainboard/google/parrot/mainboard.c b/src/mainboard/google/parrot/mainboard.c index c07d9e2..bc505be 100644 --- a/src/mainboard/google/parrot/mainboard.c +++ b/src/mainboard/google/parrot/mainboard.c @@ -52,7 +52,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); @@ -68,7 +68,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CL = 0x00; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f35: /* @@ -84,7 +84,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f51: /* @@ -96,7 +96,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0003; /* eDP */ - res = 0; + res = 1; break; case 0x5f70: switch (X86_CH) { @@ -104,25 +104,25 @@ 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;
diff --git a/src/mainboard/google/slippy/mainboard.c b/src/mainboard/google/slippy/mainboard.c index 8efe77b..c91be19 100644 --- a/src/mainboard/google/slippy/mainboard.c +++ b/src/mainboard/google/slippy/mainboard.c @@ -45,7 +45,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); @@ -61,7 +61,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0001; - res = 0; + res = 1; break; case 0x5f35: /* @@ -77,7 +77,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; case 0x5f51: /* @@ -89,7 +89,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0003; - res = 0; + res = 1; break; case 0x5f70: switch ((X86_CX >> 8) & 0xff) { @@ -97,26 +97,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;
diff --git a/src/mainboard/google/stout/mainboard.c b/src/mainboard/google/stout/mainboard.c index 62ac7ea..7f6b7dd 100644 --- a/src/mainboard/google/stout/mainboard.c +++ b/src/mainboard/google/stout/mainboard.c @@ -52,7 +52,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); @@ -68,7 +68,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CL = 0x00; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f35: /* @@ -84,7 +84,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; /* Use video bios default */ - res = 0; + res = 1; break; case 0x5f51: /* @@ -96,7 +96,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0001; - res = 0; + res = 1; break; case 0x5f70: switch (X86_CH) { @@ -104,25 +104,25 @@ 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;
diff --git a/src/mainboard/intel/baskingridge/mainboard.c b/src/mainboard/intel/baskingridge/mainboard.c index d49ba45..69943cb 100644 --- a/src/mainboard/intel/baskingridge/mainboard.c +++ b/src/mainboard/intel/baskingridge/mainboard.c @@ -45,7 +45,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); @@ -61,7 +61,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0001; - res = 0; + res = 1; break; case 0x5f35: /* @@ -77,7 +77,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; case 0x5f51: /* @@ -89,7 +89,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0003; - res = 0; + res = 1; break; case 0x5f70: switch ((X86_CX >> 8) & 0xff) { @@ -97,26 +97,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;
diff --git a/src/mainboard/intel/wtm2/mainboard.c b/src/mainboard/intel/wtm2/mainboard.c index d49ba45..e7650fa 100644 --- a/src/mainboard/intel/wtm2/mainboard.c +++ b/src/mainboard/intel/wtm2/mainboard.c @@ -45,7 +45,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 = 1;
printk(BIOS_DEBUG, "%s: AX=%04x BX=%04x CX=%04x DX=%04x\n", __func__, X86_AX, X86_BX, X86_CX, X86_DX); @@ -61,7 +61,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0001; - res = 0; + res = 1; break; case 0x5f35: /* @@ -77,7 +77,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0000; - res = 0; + res = 1; break; case 0x5f51: /* @@ -89,7 +89,7 @@ static int int15_handler(void) */ X86_AX = 0x005f; X86_CX = 0x0003; - res = 0; + res = 1; break; case 0x5f70: switch ((X86_CX >> 8) & 0xff) { @@ -97,26 +97,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;