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:
parent
84ad095a1c
commit
83aa1632bb
@ -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;;");
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;;");
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user