diff options
-rw-r--r-- | sys/conf/options.ia64 | 1 | ||||
-rw-r--r-- | sys/ia64/ia64/machdep.c | 16 |
2 files changed, 15 insertions, 2 deletions
diff --git a/sys/conf/options.ia64 b/sys/conf/options.ia64 index 134b1b0..2679d9b 100644 --- a/sys/conf/options.ia64 +++ b/sys/conf/options.ia64 @@ -70,3 +70,4 @@ SSC_NSECT opt_ski.h # Device options DEV_SPLASH opt_splash.h +DEV_ACPICA opt_acpica.h diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c index dc046bd..dbd66e4 100644 --- a/sys/ia64/ia64/machdep.c +++ b/sys/ia64/ia64/machdep.c @@ -30,6 +30,11 @@ #include "opt_ddb.h" #include "opt_ski.h" #include "opt_msgbuf.h" +#include "opt_acpica.h" + +#if !defined(SKI) && !defined(DEV_ACPICA) +#error "You need the SKI option and/or the acpica device" +#endif #include <sys/param.h> #include <sys/systm.h> @@ -223,12 +228,19 @@ cpu_startup(dummy) bufinit(); vm_pager_bufferinit(); -#ifndef SKI +#ifdef DEV_ACPICA /* * Traverse the MADT to discover IOSAPIC and Local SAPIC * information. */ - ia64_probe_sapics(); + if (!ia64_running_in_simulator()) + ia64_probe_sapics(); +#else + /* + * It is an error to boot a SKI-only kernel on hardware. + */ + if (!ia64_running_in_simulator()) + panic("Mandatory 'device acpica' is missing"); #endif } |