aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2013-02-14 09:17:17 +0000
committerKevin O'Connor <kevin@koconnor.net>2013-02-15 22:48:34 -0500
commit84b7dcbd579ba72d693edab7cd60063ca41b4372 (patch)
tree62d48ff5916a8e5d5798ac876f1e7de21c5fdfb8
parent0feab5362789f559a66c0397a2f3aa4c30619ccc (diff)
downloadseabios-84b7dcbd579ba72d693edab7cd60063ca41b4372.tar.gz
Implement !CONFIG_BOOT for CSM
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r--src/csm.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/csm.c b/src/csm.c
index 6e48bc6..b5d8b54 100644
--- a/src/csm.c
+++ b/src/csm.c
@@ -91,6 +91,11 @@ handle_csm_0000(struct bregs *regs)
static void
handle_csm_0001(struct bregs *regs)
{
+ if (!CONFIG_BOOT) {
+ regs->ax = 1;
+ return;
+ }
+
dprintf(3, "Legacy16UpdateBbs table %04x:%04x\n", regs->es, regs->bx);
csm_boot_table = MAKE_FLATPTR(regs->es, regs->bx);
@@ -117,6 +122,11 @@ handle_csm_0001(struct bregs *regs)
static void
handle_csm_0002(struct bregs *regs)
{
+ if (!CONFIG_BOOT) {
+ regs->ax = 1;
+ return;
+ }
+
dprintf(3, "PrepareToBoot table %04x:%04x\n", regs->es, regs->bx);
struct e820entry *p = (void *)csm_compat_table.E820Pointer;
@@ -172,6 +182,11 @@ handle_csm_0002(struct bregs *regs)
static void
handle_csm_0003(struct bregs *regs)
{
+ if (!CONFIG_BOOT) {
+ regs->ax = 1;
+ return;
+ }
+
dprintf(3, "Boot\n");
startBoot();