]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add 2 new archsw interfaces:
authorMarcel Moolenaar <marcel@FreeBSD.org>
Sun, 3 Apr 2011 22:31:51 +0000 (22:31 +0000)
committerMarcel Moolenaar <marcel@FreeBSD.org>
Sun, 3 Apr 2011 22:31:51 +0000 (22:31 +0000)
commit0cca5d3d9051161e8f90ac65f731b7e57826bc67
treeeca323dd0978bd6b21c62e82ce8932b641bfb4e0
parent6c352e994cb468809a54937f4f5fd831c3ffaaaf
Add 2 new archsw interfaces:
1.  arch_loadaddr - used by platform code to adjust the address at which
    the object gets loaded. Implement PC98 using this new interface instead
    of using conditional compilation. For ELF objects the ELF header is
    passed as the data pointer. For raw files it's the filename. Note that
    ELF objects are first considered as raw files.
2.  arch_loadseg - used by platform code to keep track of actual segments,
    so that (instruction) caches can be flushed or translations can be
    created. Both the ELF header as well as the program header are passed
    to allow platform code to treat the kernel proper differently from any
    additional modules and to have all the relevant details of the loaded
    segment (e.g. protection).
sys/boot/common/bootstrap.h
sys/boot/common/load_elf.c
sys/boot/common/load_elf_obj.c
sys/boot/common/module.c
sys/boot/pc98/loader/main.c