diff options
author | cl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk> | 2004-09-07 16:05:53 +0000 |
---|---|---|
committer | cl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk> | 2004-09-07 16:05:53 +0000 |
commit | f11bc5a8fcd2fc973db017fceed97a963598381b (patch) | |
tree | 37030ab56d789b0fdee46d23d3fd3a815b5c8294 /netbsd-2.0-xen-sparse | |
parent | 2a23966f2b1d63ecf237b11ab8d261e90e614212 (diff) | |
download | xen-f11bc5a8fcd2fc973db017fceed97a963598381b.tar.gz xen-f11bc5a8fcd2fc973db017fceed97a963598381b.tar.bz2 xen-f11bc5a8fcd2fc973db017fceed97a963598381b.zip |
bitkeeper revision 1.1159.1.131 (413ddc610qK3tZi2_2-e23mt5avoNA)
Load (Net)BSD symbol table from ELF image if requested.
Diffstat (limited to 'netbsd-2.0-xen-sparse')
-rw-r--r-- | netbsd-2.0-xen-sparse/sys/arch/xen/i386/locore.S | 22 | ||||
-rw-r--r-- | netbsd-2.0-xen-sparse/sys/arch/xen/i386/machdep.c | 6 |
2 files changed, 11 insertions, 17 deletions
diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/i386/locore.S b/netbsd-2.0-xen-sparse/sys/arch/xen/i386/locore.S index 45af67272f..6a1a3e7bd8 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/i386/locore.S +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/i386/locore.S @@ -180,7 +180,12 @@ * Xen guest identifier and loader selection */ .section __xen_guest - .asciz "GUEST_OS=netbsd,GUEST_VER=2.0,XEN_VER=2.0,LOADER=generic" + .ascii "GUEST_OS=netbsd,GUEST_VER=2.0,XEN_VER=2.0" + .ascii ",LOADER=generic" +#if (NKSYMS || defined(DDB) || defined(LKM)) && !defined(SYMTAB_SPACE) + .ascii ",BSD_SYMTAB" +#endif + .byte 0 /* @@ -189,7 +194,7 @@ .data .globl _C_LABEL(cpu) - .globl _C_LABEL(esym),_C_LABEL(boothowto) + .globl _C_LABEL(boothowto) .globl _C_LABEL(bootinfo),_C_LABEL(atdevbase) #ifdef COMPAT_OLDBOOT .globl _C_LABEL(bootdev) @@ -228,7 +233,6 @@ _C_LABEL(lapic_tpr): _C_LABEL(cpu): .long 0 # are we 386, 386sx, or 486, # or Pentium, or.. -_C_LABEL(esym): .long 0 # ptr to end of syms _C_LABEL(atdevbase): .long 0 # location of start of iomem in virtual _C_LABEL(proc0paddr): .long 0 _C_LABEL(PTDpaddr): .long 0 # paddr of PTD, for libkvm @@ -254,11 +258,6 @@ tmpstk: #define _RELOC(x) ((x)) #define RELOC(x) _RELOC(_C_LABEL(x)) -/* XXX assym.h */ -#define MOD_START 48 -#define MOD_LEN 56 -/* XXX assym.h */ - .text .globl _C_LABEL(kernel_text) .set _C_LABEL(kernel_text),KERNTEXTOFF @@ -271,13 +270,6 @@ start: movl %esi,%ebx # save start_info pointer -#if (NKSYMS || defined(DDB) || defined(LKM)) && !defined(SYMTAB_SPACE) - /* Save the symbol locations. */ - movl MOD_START(%ebx),%esi - addl MOD_LEN(%ebx),%esi - movl %esi,RELOC(esym) -#endif - /* Clear BSS first so that there are no surprises... */ xorl %eax,%eax movl $RELOC(__bss_start),%edi diff --git a/netbsd-2.0-xen-sparse/sys/arch/xen/i386/machdep.c b/netbsd-2.0-xen-sparse/sys/arch/xen/i386/machdep.c index 61d2898096..5ec2d45271 100644 --- a/netbsd-2.0-xen-sparse/sys/arch/xen/i386/machdep.c +++ b/netbsd-2.0-xen-sparse/sys/arch/xen/i386/machdep.c @@ -2061,7 +2061,6 @@ init386(paddr_t first_avail) #if NKSYMS || defined(DDB) || defined(LKM) { extern int end; - extern int *esym; struct btinfo_symtab *symtab; #ifdef DDB @@ -2077,7 +2076,10 @@ init386(paddr_t first_avail) (int *)symtab->esym); } else - ksyms_init(*(int *)&end, ((int *)&end) + 1, esym); + ksyms_init(*(int *)&end, ((int *)&end) + 1, + xen_start_info.mod_start ? + (void *)xen_start_info.mod_start : + (void *)xen_start_info.mfn_list); } #endif #ifdef DDB |