svn commit: r197014 - projects/mips/sys/mips/mips

Warner Losh imp at FreeBSD.org
Wed Sep 9 03:57:10 UTC 2009


Author: imp
Date: Wed Sep  9 03:57:10 2009
New Revision: 197014
URL: http://svn.freebsd.org/changeset/base/197014

Log:
  Ugly hack to get this to compile.  I'm sure there's a better way...

Modified:
  projects/mips/sys/mips/mips/elf_trampoline.c

Modified: projects/mips/sys/mips/mips/elf_trampoline.c
==============================================================================
--- projects/mips/sys/mips/mips/elf_trampoline.c	Wed Sep  9 03:54:55 2009	(r197013)
+++ projects/mips/sys/mips/mips/elf_trampoline.c	Wed Sep  9 03:57:10 2009	(r197014)
@@ -27,7 +27,11 @@ __FBSDID("$FreeBSD$");
 #include <machine/asm.h>
 #include <sys/param.h>
 
+#ifdef __mips_n64
+#include <sys/elf64.h>
+#else
 #include <sys/elf32.h>
+#endif
 #include <sys/inflate.h>
 #include <machine/elf.h>
 #include <machine/cpufunc.h>
@@ -89,12 +93,21 @@ bzero(void *addr, size_t count)
 void *
 load_kernel(void * kstart)
 {
+#ifdef __mips_n64
+	Elf64_Ehdr *eh;
+	Elf64_Phdr phdr[64] /* XXX */;
+#else
 	Elf32_Ehdr *eh;
 	Elf32_Phdr phdr[64] /* XXX */;
+#endif
 	int i;
 	void *entry_point;
 	
+#ifdef __mips_n64
+	eh = (Elf64_Ehdr *)kstart;
+#else
 	eh = (Elf32_Ehdr *)kstart;
+#endif
 	entry_point = (void*)eh->e_entry;
 	memcpy(phdr, (void *)(kstart + eh->e_phoff ),
 	    eh->e_phnum * sizeof(phdr[0]));


More information about the svn-src-projects mailing list