From 7344a7bb2e4625c0ed43019e3907863f9c70fc4e Mon Sep 17 00:00:00 2001 From: KATO Takenori Date: Sat, 10 Oct 1998 13:37:16 +0000 Subject: [PATCH] mp_machdep.c: Set a vector to boot code (PC-98). locore.s: Tell the bios to warmboot next time (PC-98). --- sys/amd64/amd64/locore.S | 4 ++-- sys/amd64/amd64/locore.s | 4 ++-- sys/amd64/amd64/mp_machdep.c | 8 ++++---- sys/amd64/amd64/mptable.c | 8 ++++---- sys/amd64/include/mptable.h | 8 ++++---- sys/i386/i386/locore.s | 4 ++-- sys/i386/i386/mp_machdep.c | 8 ++++---- sys/i386/i386/mptable.c | 8 ++++---- sys/i386/include/mptable.h | 8 ++++---- sys/kern/subr_smp.c | 8 ++++---- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S index e45cdefe8f5..f6f735d9f2e 100644 --- a/sys/amd64/amd64/locore.S +++ b/sys/amd64/amd64/locore.S @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 - * $Id: locore.s,v 1.114 1998/10/08 21:03:41 msmith Exp $ + * $Id: locore.s,v 1.115 1998/10/09 23:36:25 peter Exp $ * * originally from: locore.s, by William F. Jolitz * @@ -229,10 +229,10 @@ _pc98_system_parameter: movb $1,R(_bdb_exists) 1: #endif +#endif /* PC98 */ /* Tell the bios to warmboot next time */ movw $0x1234,0x472 -#endif /* PC98 */ /* Set up a real frame in case the double return in newboot is executed. */ pushl %ebp diff --git a/sys/amd64/amd64/locore.s b/sys/amd64/amd64/locore.s index e45cdefe8f5..f6f735d9f2e 100644 --- a/sys/amd64/amd64/locore.s +++ b/sys/amd64/amd64/locore.s @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 - * $Id: locore.s,v 1.114 1998/10/08 21:03:41 msmith Exp $ + * $Id: locore.s,v 1.115 1998/10/09 23:36:25 peter Exp $ * * originally from: locore.s, by William F. Jolitz * @@ -229,10 +229,10 @@ _pc98_system_parameter: movb $1,R(_bdb_exists) 1: #endif +#endif /* PC98 */ /* Tell the bios to warmboot next time */ movw $0x1234,0x472 -#endif /* PC98 */ /* Set up a real frame in case the double return in newboot is executed. */ pushl %ebp diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index d575d0321d3..adf5131b1d8 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c index d575d0321d3..adf5131b1d8 100644 --- a/sys/amd64/amd64/mptable.c +++ b/sys/amd64/amd64/mptable.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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index d575d0321d3..adf5131b1d8 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/i386/i386/locore.s b/sys/i386/i386/locore.s index e45cdefe8f5..f6f735d9f2e 100644 --- a/sys/i386/i386/locore.s +++ b/sys/i386/i386/locore.s @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 - * $Id: locore.s,v 1.114 1998/10/08 21:03:41 msmith Exp $ + * $Id: locore.s,v 1.115 1998/10/09 23:36:25 peter Exp $ * * originally from: locore.s, by William F. Jolitz * @@ -229,10 +229,10 @@ _pc98_system_parameter: movb $1,R(_bdb_exists) 1: #endif +#endif /* PC98 */ /* Tell the bios to warmboot next time */ movw $0x1234,0x472 -#endif /* PC98 */ /* Set up a real frame in case the double return in newboot is executed. */ pushl %ebp diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index d575d0321d3..adf5131b1d8 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index d575d0321d3..adf5131b1d8 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h index d575d0321d3..adf5131b1d8 100644 --- a/sys/i386/include/mptable.h +++ b/sys/i386/include/mptable.h @@ -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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index d575d0321d3..adf5131b1d8 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.81 1998/10/08 16:15:22 kato Exp $ + * $Id: mp_machdep.c,v 1.82 1998/10/10 09:38:02 kato Exp $ */ #include "opt_smp.h" @@ -1765,9 +1765,9 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); mpbiosreason = inb(CMOS_DATA); #endif @@ -1840,10 +1840,10 @@ 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); +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif @@ -1873,9 +1873,9 @@ 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; +#ifndef PC98 outb(CMOS_REG, BIOS_RESET); outb(CMOS_DATA, mpbiosreason); #endif