Skip to contentSkip to conversation

Add grub_prefix for PowerPC

PATCH New Pavel Roskin 1 participant 1 message Aug 29, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add grub_prefix for PowerPC

ChangeLog:

* kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and grub/cpu/kernel.h. Add start label for consistency with other platforms. Add grub_prefix immediately after start. Add jump to the code after grub_prefix.
* include/grub/powerpc/kernel.h: Provide valid values for GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.

powerpc/ieee1275/crt0.S +20 -2
Index: kern/powerpc/ieee1275/crt0.S
===================================================================
@@ -17,13 +17,31 @@
  *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <grub/symbol.h>
+#include <grub/cpu/kernel.h>
+
 .extern __bss_start
 .extern _end
 
 	.text
 	.align	2
-	.globl	_start
-_start:	
+	.globl	start, _start
+start:
+_start:
+	b	codestart
+
+	. = EXT_C(start) + GRUB_KERNEL_CPU_PREFIX
+
+VARIABLE(grub_prefix)
+	/* to be filled by grub-mkelfimage */
+
+	/*
+	 *  Leave some breathing room for the prefix.
+	 */
+
+	. = EXT_C(start) + GRUB_KERNEL_CPU_DATA_END
+
+codestart:
 	li      2, 0
 	li      13, 0
 
grub/powerpc/kernel.h +2 -3
Index: include/grub/powerpc/kernel.h
===================================================================
@@ -26,8 +26,7 @@
    rewrite grub-mkimage to generate valid ELF files.  */
 #define GRUB_MOD_GAP 0x8000
 
-/* prefix not supported on powerpc yet.  */
-#define GRUB_KERNEL_CPU_PREFIX	0
-#define GRUB_KERNEL_CPU_DATA_END	0
+#define GRUB_KERNEL_CPU_PREFIX		0x4
+#define GRUB_KERNEL_CPU_DATA_END	0x44
 
 #endif
Signature · 2 lines
Regards,
Pavel Roskin