diff options
Diffstat (limited to 'sys/mips')
-rw-r--r-- | sys/mips/mips/elf_trampoline.c | 5 | ||||
-rw-r--r-- | sys/mips/mips/inckern.S | 17 |
2 files changed, 19 insertions, 3 deletions
diff --git a/sys/mips/mips/elf_trampoline.c b/sys/mips/mips/elf_trampoline.c index 4b38761..70aedeb 100644 --- a/sys/mips/mips/elf_trampoline.c +++ b/sys/mips/mips/elf_trampoline.c @@ -42,7 +42,10 @@ __FBSDID("$FreeBSD$"); * need to include opt_global.h manually. */ #include "opt_global.h" -#include "opt_kernname.h" + +#ifndef KERNNAME +#error Kernel name not provided +#endif extern char kernel_start[]; extern char kernel_end[]; diff --git a/sys/mips/mips/inckern.S b/sys/mips/mips/inckern.S index 8610196..ca0e8d1 100644 --- a/sys/mips/mips/inckern.S +++ b/sys/mips/mips/inckern.S @@ -22,10 +22,23 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "opt_kernname.h" - #include <machine/asm.h> __FBSDID("$FreeBSD$") + +ENTRY(_start) + PTR_LA t0, kernel_end + move sp, t0 + add sp, 0x2000 + and sp, ~0x7 + PTR_LA t0, _startC + j t0 + nop +END(_start) + +#ifndef KERNNAME +#error Need a kernel name here +#endif + .section ".real_kernel","aw" .globl kernel_start; kernel_start: |