Index: boot/arch/ia64/src/asm.S
===================================================================
--- boot/arch/ia64/src/asm.S	(revision 1e3c2f1c02126e406d3a8766c27d0995b9642f58)
+++ boot/arch/ia64/src/asm.S	(revision fe7abd0cbe2c640b55d1d8e2f9150cf78fa8871b)
@@ -113,5 +113,5 @@
 jump_to_kernel:
 	alloc loc0 = ar.pfs, 1, 1, 0, 0
-	mov r1 = in0 ;;			# Pass bootinfo address
+	mov r2 = in0 ;;			# Pass bootinfo address
 	movl r8 = KERNEL_ADDRESS;;
 	mov b1 = r8 ;;
Index: kernel/arch/ia64/src/start.S
===================================================================
--- kernel/arch/ia64/src/start.S	(revision 1e3c2f1c02126e406d3a8766c27d0995b9642f58)
+++ kernel/arch/ia64/src/start.S	(revision fe7abd0cbe2c640b55d1d8e2f9150cf78fa8871b)
@@ -47,4 +47,13 @@
 
 stack0:
+
+#
+# Kernel entry point.
+#
+# This is where we are passed control from the boot code.
+# Register contents:
+#
+#	r2	Address of the boot code's bootinfo structure.
+#
 kernel_image_start:
 	.auto
@@ -165,11 +174,11 @@
 	
 	# Initialize gp (Global Pointer) register
-	movl r20 = (VRN_KERNEL << VRN_SHIFT) ;;
-	or r20 = r20, gp ;;
 	movl gp = kernel_image_start
 	
-	/*
-	 * Initialize bootinfo on BSP.
-	 */
+	#	
+	# Initialize bootinfo on BSP.
+	#
+	movl r20 = (VRN_KERNEL << VRN_SHIFT) ;;
+	or r20 = r20, r2 ;;
 	addl r21 = @gprel(bootinfo), gp ;;
 	st8 [r21] = r20
