| version 1.70, 2008/04/29 18:27:18 |
version 1.71, 2008/05/02 15:26:38 |
| Line 205 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| Line 205 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| |
|
| .globl _C_LABEL(cpu) |
.globl _C_LABEL(cpu) |
| .globl _C_LABEL(esym) |
.globl _C_LABEL(esym) |
| |
.globl _C_LABEL(eblob) |
| .globl _C_LABEL(atdevbase) |
.globl _C_LABEL(atdevbase) |
| .globl _C_LABEL(proc0uarea),_C_LABEL(PDPpaddr) |
.globl _C_LABEL(proc0uarea),_C_LABEL(PDPpaddr) |
| .globl _C_LABEL(gdt) |
.globl _C_LABEL(gdt) |
| Line 488 try586: /* Use the `cpuid' instruction. |
|
| Line 489 try586: /* Use the `cpuid' instruction. |
|
| /* |
/* |
| * Virtual address space of kernel: |
* Virtual address space of kernel: |
| * |
* |
| * text | data | bss | [syms] | page dir | proc0 kstack | L1 ptp |
* text | data | bss | [syms] | [blobs] | page dir | proc0 kstack | L1 ptp |
| * 0 1 2 3 |
* 0 1 2 3 |
| */ |
*/ |
| |
|
| #define PROC0_PDIR_OFF 0 |
#define PROC0_PDIR_OFF 0 |
| Line 512 try586: /* Use the `cpuid' instruction. |
|
| Line 513 try586: /* Use the `cpuid' instruction. |
|
| |
|
| /* Find end of kernel image. */ |
/* Find end of kernel image. */ |
| movl $RELOC(end),%edi |
movl $RELOC(end),%edi |
| |
|
| #if (NKSYMS || defined(DDB) || defined(LKM)) && !defined(SYMTAB_SPACE) |
#if (NKSYMS || defined(DDB) || defined(LKM)) && !defined(SYMTAB_SPACE) |
| /* Save the symbols (if loaded). */ |
/* Save the symbols (if loaded). */ |
| movl RELOC(esym),%eax |
movl RELOC(esym),%eax |
| Line 522 try586: /* Use the `cpuid' instruction. |
|
| Line 524 try586: /* Use the `cpuid' instruction. |
|
| 1: |
1: |
| #endif |
#endif |
| |
|
| |
/* Skip over any modules/blobs. */ |
| |
movl RELOC(eblob),%eax |
| |
testl %eax,%eax |
| |
jz 1f |
| |
subl $KERNBASE,%eax |
| |
movl %eax,%edi |
| |
1: |
| /* Compute sizes */ |
/* Compute sizes */ |
| movl %edi,%esi # edi = esym ? esym : end |
movl %edi,%esi |
| addl $PGOFSET,%esi # page align up |
addl $PGOFSET,%esi # page align up |
| andl $~PGOFSET,%esi |
andl $~PGOFSET,%esi |
| |
|