]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
authorVladimir Serbinenko <phcoder@gmail.com>
Wed, 4 Dec 2013 18:54:37 +0000 (19:54 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Wed, 4 Dec 2013 18:54:37 +0000 (19:54 +0100)
so it doesn't land in the middle of loaded image.

ChangeLog
grub-core/boot/sparc64/ieee1275/boot.S
include/grub/sparc64/ieee1275/boot.h

index bd80d1a8014801c07091082067a75f55791a9315..8fba56c05e4994263082f8162cedf2fadc784a34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
+       so it doesn't land in the middle of loaded image.
+
 2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * configure.ac: Move all warning options that may be absent in
index 0ab9a4af37e012fc4e0ab61861943093d16976f2..efe090e0c799c0e93c6c3ae7624ad3d264587b71 100644 (file)
@@ -48,7 +48,7 @@ kernel_byte:          .xword (2 << 9)
 boot_path_end:
 kernel_address:                .word  GRUB_BOOT_MACHINE_KERNEL_ADDR
 #else
-#define boot_path (_start + 512)
+#define boot_path (_start + 512 + SCRATCH_PAD_BOOT_SIZE)
 #define boot_path_end (_start + 1024)
 #include <grub/offsets.h>
 
@@ -140,7 +140,11 @@ prom_call:
 
 boot_continue:
        mov     %o7, PIC_REG            /* PIC base */
+#ifndef CDBOOT
        sethi   %hi(SCRATCH_PAD_BOOT), %l1      /* OF argument slots */
+#else
+       GET_ABS(_start + 512, %l1)      /* OF argument slots */
+#endif
 
        /* Find the /chosen node so we can fetch the stdout handle,
         * and thus perform console output.
index 60edc712e8a34e295231c66309616ac4b5f9d229..a54e47566fa6245ddb8983143ee609db552cf853 100644 (file)
@@ -27,6 +27,7 @@
 
 #define        SCRATCH_PAD_BOOT                0x5000
 #define        SCRATCH_PAD_DISKBOOT            0x4000
+#define        SCRATCH_PAD_BOOT_SIZE           0x110
 
 #define GET_ABS(symbol, reg)   \
        add     PIC_REG, (symbol - pic_base), reg