PERFORCE change 28390 for review
Peter Wemm
peter at FreeBSD.org
Sun Apr 6 20:14:46 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=28390
Change 28390 by peter at peter_overcee on 2003/04/06 20:14:28
delete bootinfo.
print modulep and kernend for good luck at this point.
Affected files ...
.. //depot/projects/hammer/sys/boot/i386/libi386/elf64_freebsd.c#7 edit
Differences ...
==== //depot/projects/hammer/sys/boot/i386/libi386/elf64_freebsd.c#7 (text+ko) ====
@@ -65,10 +65,8 @@
{
struct file_metadata *md;
Elf_Ehdr *ehdr;
- vm_offset_t bootinfop, modulep;
+ vm_offset_t bootinfop, modulep, kernend;
int boothowto, err, bootdev;
- struct bootinfo *bi;
- vm_offset_t ssym, esym;
int i;
if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL)
@@ -78,16 +76,10 @@
if ((err = bi_load(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep)) != 0)
return(err);
- ssym = esym = 0;
- if ((md = file_findmetadata(fp, MODINFOMD_SSYM)) != NULL)
- ssym = *((vm_offset_t *)&(md->md_data));
- if ((md = file_findmetadata(fp, MODINFOMD_ESYM)) != NULL)
- esym = *((vm_offset_t *)&(md->md_data));
- if (ssym == 0 || esym == 0)
- ssym = esym = 0; /* sanity */
- bi = (struct bootinfo *)PTOV(bootinfop);
- bi->bi_symtab = ssym; /* XXX this is only the primary kernel symtab */
- bi->bi_esymtab = esym;
+ kernend = 0;
+ md = file_findmetadata(fp, MODINFOMD_KERNEND);
+ if (md != NULL)
+ kernend = *((vm_offset_t *)&(md->md_data));
#define PG_V 0x001
#define PG_RW 0x002
@@ -117,12 +109,14 @@
entry_lo = ehdr->e_entry & 0xffffffff;
entry_hi = (ehdr->e_entry >> 32) & 0xffffffff;
+ printf("modulep: 0x%x\n", modulep);
+ printf("kernend: 0x%x\n", kernend);
#ifdef DEBUG
printf("Start @ %#llx ...\n", ehdr->e_entry);
#endif
dev_cleanup();
- __exec((void *)VTOP(x86_64_tramp), boothowto, bootdev, 0, 0, 0, bootinfop, modulep, bi->bi_kernend);
+ __exec((void *)VTOP(x86_64_tramp), modulep, kernend);
panic("exec returned");
}
More information about the p4-projects
mailing list