Pass the physical address of the bootinfo block to the kernel in

register r8. We continue to write the bootinfo block at the same
hardwired address, because the kernel still expects it there.
It is expected that future kernels use register r8 to get to the
bootinfo block and don't depend on the hardwired address anymore.

Bump the loader version once again due to the interface change.
This commit is contained in:
marcel 2002-03-30 23:00:05 +00:00
parent 84ad095a1c
commit 83aa1632bb
4 changed files with 6 additions and 2 deletions

View File

@ -129,7 +129,7 @@ enter_kernel(u_int64_t start, struct bootinfo *bi)
__asm __volatile("mov cr.iip=%0" :: "r"(start));
__asm __volatile("mov cr.ifs=r0;;");
__asm __volatile("mov ar.rsc=0;; flushrs;;");
__asm __volatile("mov r8=%0" :: "r" (bi));
__asm __volatile("rfi;;");
}

View File

@ -3,6 +3,8 @@ $FreeBSD$
NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this
file is important. Make sure the current version number is on line 6.
0.3: Pass the physical address of the bootinfo block in register r8
to the kernel. Continue to put it at the fixed address for now.
0.2: Much improved version. Significant is the support for passing
the FPSWA interface pointer to the kernel.
0.1: Initial EFI version, germinated from the NetBSD i386

View File

@ -129,7 +129,7 @@ enter_kernel(u_int64_t start, struct bootinfo *bi)
__asm __volatile("mov cr.iip=%0" :: "r"(start));
__asm __volatile("mov cr.ifs=r0;;");
__asm __volatile("mov ar.rsc=0;; flushrs;;");
__asm __volatile("mov r8=%0" :: "r" (bi));
__asm __volatile("rfi;;");
}

View File

@ -3,6 +3,8 @@ $FreeBSD$
NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this
file is important. Make sure the current version number is on line 6.
0.3: Pass the physical address of the bootinfo block in register r8
to the kernel. Continue to put it at the fixed address for now.
0.2: Much improved version. Significant is the support for passing
the FPSWA interface pointer to the kernel.
0.1: Initial EFI version, germinated from the NetBSD i386