hpcmips support of kloader.
This commit is contained in:
parent
1edc58c08c
commit
f39553cc10
@ -1,4 +1,4 @@
|
||||
# $NetBSD: files.hpcmips,v 1.68 2002/01/27 14:18:11 takemura Exp $
|
||||
# $NetBSD: files.hpcmips,v 1.69 2002/01/29 18:47:29 uch Exp $
|
||||
|
||||
# maxpartitions must be first item in files.${ARCH}.
|
||||
maxpartitions 8
|
||||
@ -59,9 +59,15 @@ file arch/hpcmips/hpcmips/conf.c
|
||||
file arch/hpcmips/hpcmips/interrupt.c
|
||||
file arch/hpcmips/hpcmips/machdep.c
|
||||
file arch/hpcmips/hpcmips/mainbus.c
|
||||
file arch/hpcmips/hpcmips/bitdisp.c
|
||||
file arch/hpcmips/hpcmips/procfs_machdep.c procfs
|
||||
|
||||
file arch/hpc/hpc/kloader.c
|
||||
file arch/hpcmips/hpcmips/kloader_machdep.c
|
||||
file arch/hpcmips/hpcmips/kloader_vr41.S vr41xx
|
||||
file arch/hpcmips/hpcmips/kloader_tx39.S tx39xx
|
||||
defflag debug_kloader.h KLOADER_DEBUG
|
||||
defparam opt_kloader_kernel_path.h KLOADER_KERNEL_PATH
|
||||
|
||||
#
|
||||
# H/PC Platform common files.
|
||||
#
|
||||
@ -72,6 +78,11 @@ include "dev/hpc/files.hpcfb"
|
||||
include "dev/hpc/files.hpckbd"
|
||||
include "dev/hpc/files.hpctp"
|
||||
|
||||
#
|
||||
# Debug utility
|
||||
#
|
||||
file arch/hpc/hpc/debug_subr.c
|
||||
|
||||
# Console autoconfiguration code: selects between a framebuffers
|
||||
file dev/cons.c
|
||||
|
||||
@ -202,13 +213,12 @@ file arch/hpcmips/vr/vrc4173kiu.c vrc4173kiu
|
||||
#
|
||||
# TOSHIBA TX3912/3922
|
||||
#
|
||||
defflag TX39_DEBUG
|
||||
defflag TX39_WATCHDOGTIMER
|
||||
defflag TX39ICUDEBUG
|
||||
defflag TX39CLKDEBUG
|
||||
defflag TX39BIUDEBUG
|
||||
defflag TX39POWERDEBUG
|
||||
defflag TX39UARTDEBUG
|
||||
defflag TX39ICU_DEBUG
|
||||
defflag TX39CLOCK_DEBUG
|
||||
defflag TX39BIU_DEBUG
|
||||
defflag TX39POWER_DEBUG
|
||||
defflag TX39UART_DEBUG
|
||||
defflag USE_POLL
|
||||
|
||||
device txsim { }
|
||||
|
70
sys/arch/hpcmips/hpcmips/kloader_machdep.c
Normal file
70
sys/arch/hpcmips/hpcmips/kloader_machdep.c
Normal file
@ -0,0 +1,70 @@
|
||||
/* $NetBSD: kloader_machdep.c,v 1.1 2002/01/29 18:47:26 uch Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
|
||||
#include <mips/cache.h>
|
||||
#include <machine/kloader.h>
|
||||
|
||||
void kloader_mips_jump(kloader_bootfunc_t *, vaddr_t,
|
||||
struct kloader_bootinfo *, struct kloader_page_tag *);
|
||||
extern kloader_bootfunc_t kloader_vr_boot;
|
||||
extern kloader_bootfunc_t kloader_tx_boot;
|
||||
|
||||
struct kloader_ops kloader_mips_ops = {
|
||||
.jump = kloader_mips_jump,
|
||||
.boot = 0
|
||||
};
|
||||
|
||||
void
|
||||
kloader_reboot_setup(const char *filename)
|
||||
{
|
||||
|
||||
kloader_mips_ops.boot = CPUISMIPS3 ? kloader_vr_boot : kloader_tx_boot;
|
||||
|
||||
__kloader_reboot_setup(&kloader_mips_ops, filename);
|
||||
}
|
||||
|
||||
void
|
||||
kloader_mips_jump(kloader_bootfunc_t func, vaddr_t sp,
|
||||
struct kloader_bootinfo *info, struct kloader_page_tag *tag)
|
||||
{
|
||||
|
||||
mips_icache_sync_all();
|
||||
|
||||
(*func)(info, tag); /* 2nd-bootloader don't use stack */
|
||||
/* NOTREACHED */
|
||||
}
|
131
sys/arch/hpcmips/hpcmips/kloader_tx39.S
Normal file
131
sys/arch/hpcmips/hpcmips/kloader_tx39.S
Normal file
@ -0,0 +1,131 @@
|
||||
/* $NetBSD: kloader_tx39.S,v 1.1 2002/01/29 18:47:26 uch Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <mips/asm.h>
|
||||
#include <mips/cpuregs.h>
|
||||
|
||||
.set noreorder
|
||||
.text
|
||||
/*
|
||||
* void kloader_tx_boot(struct kloader_bootinfo *kbi, kloader_page_tag *p)
|
||||
* must be PIC.
|
||||
*/
|
||||
EXPORT(kloader_tx_boot)
|
||||
LEAF_NOPROFILE(kloader_tx_boot)
|
||||
/*
|
||||
* 1. load kernel image.
|
||||
*/
|
||||
move t6, a1 # p
|
||||
1:
|
||||
beqz t6, 3f
|
||||
move t7, t6
|
||||
lw t6, 0(t7) # p = next
|
||||
lw t0, 4(t7) # src
|
||||
lw t4, 8(t7) # dst
|
||||
lw t2, 12(t7) # sz
|
||||
addu t5, t4, t2 # dst + sz
|
||||
2:
|
||||
lw t3, 0(t0) # copy
|
||||
sw t3, 0(t4)
|
||||
addiu t4, t4, 4
|
||||
addiu t0, t0, 4
|
||||
bltu t4, t5, 2b
|
||||
nop
|
||||
b 1b
|
||||
nop
|
||||
3:
|
||||
nop
|
||||
|
||||
/*
|
||||
* 2. Cache flush
|
||||
*/
|
||||
li t1, 16384
|
||||
li t2, 8192
|
||||
|
||||
/* Disable I-cache */
|
||||
li t5, ~0x00000020
|
||||
mfc0 t6, $3
|
||||
and t5, t5, t6
|
||||
nop
|
||||
mtc0 t5, $3
|
||||
|
||||
/* Stop streaming */
|
||||
beq zero, zero, 1f
|
||||
nop
|
||||
1:
|
||||
/* Flush I-cache */
|
||||
li t0, 0x80000000
|
||||
addu t1, t0, t1
|
||||
subu t1, t1, 128
|
||||
2:
|
||||
.set push
|
||||
.set mips3
|
||||
cache 0x0, 0($0)
|
||||
cache 0x0, 16(t0)
|
||||
cache 0x0, 32(t0)
|
||||
cache 0x0, 48(t0)
|
||||
cache 0x0, 64(t0)
|
||||
cache 0x0, 80(t0)
|
||||
cache 0x0, 96(t0)
|
||||
cache 0x0, 112(t0)
|
||||
.set pop
|
||||
bne t0, t1, 2b
|
||||
addu t0, t0, 128
|
||||
|
||||
/* Flush D-cache */
|
||||
li t0, 0x80000000
|
||||
addu t1, t0, t2
|
||||
|
||||
3:
|
||||
lw t2, 0(t0)
|
||||
bne t1, t0, 3b
|
||||
addiu t0, t0, 4
|
||||
|
||||
/* Enable I-cache */
|
||||
nop
|
||||
mtc0 t6, $3
|
||||
nop
|
||||
|
||||
/*
|
||||
* 3. jump to kernel entry
|
||||
*/
|
||||
move t0, a0
|
||||
lw t1, 0(a0) # kbi->entry
|
||||
lw a0, 4(t0) # kbi->argc
|
||||
lw a1, 8(t0) # kbi->argv
|
||||
j t1
|
||||
addiu a2, t0, 12 # &kbi->bootinfo
|
||||
/* NOTREACHED */
|
||||
END(kloader_tx_boot)
|
122
sys/arch/hpcmips/hpcmips/kloader_vr41.S
Normal file
122
sys/arch/hpcmips/hpcmips/kloader_vr41.S
Normal file
@ -0,0 +1,122 @@
|
||||
/* $NetBSD: kloader_vr41.S,v 1.1 2002/01/29 18:47:25 uch Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <mips/asm.h>
|
||||
#include <mips/cpuregs.h>
|
||||
|
||||
.set noreorder
|
||||
.text
|
||||
/*
|
||||
* void kloader_vr_boot(struct kloader_bootinfo *kbi, kloader_page_tag *p)
|
||||
* must be PIC.
|
||||
*/
|
||||
EXPORT(kloader_vr_boot)
|
||||
LEAF_NOPROFILE(kloader_vr_boot)
|
||||
/*
|
||||
* 1. load kernel image.
|
||||
*/
|
||||
move t6, a1 # p
|
||||
1:
|
||||
beqz t6, 3f
|
||||
move t7, t6
|
||||
lw t6, 0(t7) # p = next
|
||||
lw t0, 4(t7) # src
|
||||
lw t4, 8(t7) # dst
|
||||
lw t2, 12(t7) # sz
|
||||
addu t5, t4, t2 # dst + sz
|
||||
2:
|
||||
lw t3, 0(t0) # copy
|
||||
sw t3, 0(t4)
|
||||
addiu t4, t4, 4
|
||||
addiu t0, t0, 4
|
||||
bltu t4, t5, 2b
|
||||
nop
|
||||
b 1b
|
||||
nop
|
||||
3:
|
||||
nop
|
||||
|
||||
/*
|
||||
* 2. Cache flush
|
||||
*/
|
||||
/* Flush I-cache */
|
||||
li t0, 0x80000000
|
||||
addu t1, t0, 1024 * 128
|
||||
subu t1, t1, 128
|
||||
1:
|
||||
.set push
|
||||
.set mips3
|
||||
cache 0, 0(t0)
|
||||
cache 0, 16(t0)
|
||||
cache 0, 32(t0)
|
||||
cache 0, 48(t0)
|
||||
cache 0, 64(t0)
|
||||
cache 0, 80(t0)
|
||||
cache 0, 96(t0)
|
||||
cache 0, 112(t0)
|
||||
.set pop
|
||||
bne t0, t1, 1b
|
||||
addu t0, t0, 128
|
||||
|
||||
/* Flush D-cache */
|
||||
li t0, 0x80000000
|
||||
addu t1, t0, 1024 * 128
|
||||
subu t1, t1, 128
|
||||
2:
|
||||
.set push
|
||||
.set mips3
|
||||
cache 1, 0(t0)
|
||||
cache 1, 16(t0)
|
||||
cache 1, 32(t0)
|
||||
cache 1, 48(t0)
|
||||
cache 1, 64(t0)
|
||||
cache 1, 80(t0)
|
||||
cache 1, 96(t0)
|
||||
cache 1, 112(t0)
|
||||
.set pop
|
||||
bne t0, t1, 2b
|
||||
addu t0, t0, 128
|
||||
|
||||
/*
|
||||
* 3. jump to kernel entry
|
||||
*/
|
||||
move t0, a0
|
||||
lw t1, 0(a0) # kbi->entry
|
||||
lw a0, 4(t0) # kbi->argc
|
||||
lw a1, 8(t0) # kbi->argv
|
||||
j t1
|
||||
addiu a2, t0, 12 # &kbi->bootinfo
|
||||
/* NOTREACHED */
|
||||
END(kloader_vr_boot)
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: machdep.c,v 1.65 2002/01/02 13:13:20 uch Exp $ */
|
||||
/* $NetBSD: machdep.c,v 1.66 2002/01/29 18:47:27 uch Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999 Shin Takemura, All rights reserved.
|
||||
@ -73,7 +73,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.65 2002/01/02 13:13:20 uch Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.66 2002/01/29 18:47:27 uch Exp $");
|
||||
|
||||
#include "opt_vr41xx.h"
|
||||
#include "opt_tx39xx.h"
|
||||
@ -85,6 +85,7 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.65 2002/01/02 13:13:20 uch Exp $");
|
||||
#include "opt_kgdb.h"
|
||||
#include "opt_rtc_offset.h"
|
||||
#include "fs_nfs.h"
|
||||
#include "opt_kloader_kernel_path.h"
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
@ -104,6 +105,7 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.65 2002/01/02 13:13:20 uch Exp $");
|
||||
#include <machine/bootinfo.h>
|
||||
#include <machine/platid.h>
|
||||
#include <machine/platid_mask.h>
|
||||
#include <machine/kloader.h>
|
||||
|
||||
#include <hpcmips/hpcmips/machdep.h>
|
||||
|
||||
@ -202,6 +204,12 @@ extern void stacktrace(void); /*XXX*/
|
||||
void
|
||||
mach_init(int argc, char *argv[], struct bootinfo *bi)
|
||||
{
|
||||
/*
|
||||
* this routines stack is never polluted since stack pointer
|
||||
* is lower than kernel text segment, and at exiting, stack pointer
|
||||
* is changed to proc0.
|
||||
*/
|
||||
struct kloader_bootinfo kbi;
|
||||
extern struct user *proc0paddr;
|
||||
extern char edata[], end[];
|
||||
#ifdef DDB
|
||||
@ -262,6 +270,8 @@ mach_init(int argc, char *argv[], struct bootinfo *bi)
|
||||
platid.dw.dw1 = bootinfo->platid_machine;
|
||||
}
|
||||
}
|
||||
/* copy boot parameter for kloader */
|
||||
kloader_bootinfo_set(&kbi, argc, argv, bi, FALSE);
|
||||
|
||||
/*
|
||||
* CPU core Specific Function Hooks
|
||||
@ -646,8 +656,13 @@ cpu_reboot(int howto, char *bootstr)
|
||||
}
|
||||
|
||||
/* If "always halt" was specified as a boot flag, obey. */
|
||||
if ((boothowto & RB_HALT) != 0)
|
||||
if ((boothowto & RB_HALT) != 0) {
|
||||
howto |= RB_HALT;
|
||||
} else {
|
||||
#ifdef KLOADER_KERNEL_PATH
|
||||
kloader_reboot_setup(KLOADER_KERNEL_PATH);
|
||||
#endif
|
||||
}
|
||||
|
||||
boothowto = howto;
|
||||
if ((howto & RB_NOSYNC) == 0) {
|
||||
@ -667,12 +682,8 @@ cpu_reboot(int howto, char *bootstr)
|
||||
splhigh();
|
||||
|
||||
/* If rebooting and a dump is requested do it. */
|
||||
#if 0
|
||||
if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
|
||||
#else
|
||||
if (howto & RB_DUMP)
|
||||
#endif
|
||||
dumpsys();
|
||||
if (howto & RB_DUMP)
|
||||
dumpsys();
|
||||
|
||||
haltsys:
|
||||
|
||||
@ -680,9 +691,16 @@ cpu_reboot(int howto, char *bootstr)
|
||||
doshutdownhooks();
|
||||
|
||||
/* Finally, halt/reboot the system. */
|
||||
printf("%s\n\n", howto & RB_HALT ? "halted." : "rebooting...");
|
||||
(*platform.reboot)(howto, bootstr);
|
||||
if (howto & RB_HALT) {
|
||||
printf("halted.\n");
|
||||
} else {
|
||||
#ifdef KLOADER_KERNEL_PATH
|
||||
kloader_reboot();
|
||||
/* NOTREACHED */
|
||||
#endif
|
||||
}
|
||||
|
||||
(*platform.reboot)(howto, bootstr);
|
||||
while(1)
|
||||
;
|
||||
/*NOTREACHED*/
|
||||
|
40
sys/arch/hpcmips/include/kloader.h
Normal file
40
sys/arch/hpcmips/include/kloader.h
Normal file
@ -0,0 +1,40 @@
|
||||
/* $NetBSD: kloader.h,v 1.1 2002/01/29 18:47:28 uch Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <hpc/include/kloader.h>
|
||||
|
||||
#define PG_VADDR(pg) MIPS_PHYS_TO_KSEG0(VM_PAGE_TO_PHYS(pg))
|
||||
|
||||
void kloader_reboot_setup(const char *);
|
Loading…
Reference in New Issue
Block a user