diff options
author | kato <kato@FreeBSD.org> | 1998-10-10 09:38:02 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1998-10-10 09:38:02 +0000 |
commit | e677608687c0a0c80f95a69c1a0960b8adb964e5 (patch) | |
tree | 1806f4440a762e371e3443dc69ce612606f5f91d /sys/kern/subr_smp.c | |
parent | eb21e816c4b378a3c74cf2716c7abf0cc811a671 (diff) | |
download | FreeBSD-src-e677608687c0a0c80f95a69c1a0960b8adb964e5.zip FreeBSD-src-e677608687c0a0c80f95a69c1a0960b8adb964e5.tar.gz |
PC-98 doesn't have CMOS ram.
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r-- | sys/kern/subr_smp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index aa31930..d575d03 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mp_machdep.c,v 1.80 1998/09/06 22:41:40 tegge Exp $ + * $Id: mp_machdep.c,v 1.81 1998/10/08 16:15:22 kato Exp $ */ #include "opt_smp.h" @@ -188,7 +188,7 @@ typedef struct BASETABLE_ENTRY { #define CHECK_POINTS */ -#if defined(CHECK_POINTS) +#if defined(CHECK_POINTS) && !defined(PC98) #define CHECK_READ(A) (outb(CMOS_REG, (A)), inb(CMOS_DATA)) #define CHECK_WRITE(A,D) (outb(CMOS_REG, (A)), outb(CMOS_DATA, (D))) @@ -1765,10 +1765,12 @@ start_all_aps(u_int boot_addr) install_ap_tramp(boot_addr); +#ifndef PC98 /* save the current value of the warm-start vector */ mpbioswarmvec = *((u_long *) WARMBOOT_OFF); outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); +#endif /* record BSP in CPU map */ all_cpus = 1; @@ -1838,11 +1840,13 @@ start_all_aps(u_int boot_addr) gd->prv_CMAP3 = &newpt[5 + UPAGES]; gd->prv_PMAP1 = &newpt[6 + UPAGES]; +#ifndef PC98 /* setup a vector to our boot code */ *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET; *((volatile u_short *) WARMBOOT_SEG) = (boot_addr >> 4); outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ +#endif bootPTD = myPTD; /* attempt to start the Application Processor */ @@ -1869,10 +1873,12 @@ start_all_aps(u_int boot_addr) /* fill in our (BSP) APIC version */ cpu_apic_versions[0] = lapic.version; +#ifndef PC98 /* restore the warmstart vector */ *(u_long *) WARMBOOT_OFF = mpbioswarmvec; outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); +#endif /* * Set up the idle context for the BSP. Similar to above except |