On Fri, Jul 24, 2009 at 7:13 PM, Robert Millan<invalid.nore...@gnu.org> wrote:
>
> URL:
>  <http://savannah.gnu.org/bugs/?27100>
>
>                 Summary: [REGRESSION] multiboot can't load freeldr.sys
>                 Project: GNU GRUB
>            Submitted by: robertmh
>            Submitted on: Fri Jul 24 19:13:29 2009
>                Category: Booting
>                Severity: Major
>                Priority: 5 - Normal
>              Item Group: Software Error
>                  Status: None
>                 Privacy: Public
>             Assigned to: None
>         Originator Name:
>        Originator Email:
>             Open/Closed: Open
>         Discussion Lock: Any
>                 Release: trunk
>         Reproducibility: Every Time
>         Planned Release:
>
>    _______________________________________________________
>
> Details:
>
> Starting with r1760 (the commit that introduced payload relocation), the
> multiboot loader fails to load freeldr.sys (a Multiboot-aout bootloader
> included with ReactOS).
>
> This could be an indication that Multiboot-aout in general is not working, or
> a bug in freeldr.sys (assumption about MBI location).
>
>
>
>
>
>    _______________________________________________________
>
> Reply to this item at:
>
>  <http://savannah.gnu.org/bugs/?27100>
>
> _______________________________________________
>  Message sent via/by Savannah
>  http://savannah.gnu.org/
>
>
>
> _______________________________________________
> Bug-grub mailing list
> Bug-grub@gnu.org
> http://lists.gnu.org/mailman/listinfo/bug-grub
>



-- 
Regards
Vladimir 'phcoder' Serbinenko

Personal git repository: http://repo.or.cz/w/grub2/phcoder.git
diff --git a/ChangeLog b/ChangeLog
index 752bde8..bb8aff3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-27  Vladimir Serbinenko  <phco...@gmail.com>
+
+       * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
+       Clear direction flag before jumping to OS.
+       (grub_multiboot2_real_boot): Likewise.
+
 2009-07-25  Felix Zielcke  <fziel...@z-51.de>
 
        * kern/file.c (grub_file_open): Revert to previous check with
diff --git a/loader/i386/multiboot_helper.S b/loader/i386/multiboot_helper.S
index d7539f1..d109458 100644
--- a/loader/i386/multiboot_helper.S
+++ b/loader/i386/multiboot_helper.S
@@ -71,6 +71,7 @@ VARIABLE(grub_multiboot_backward_relocator)
        rep
        movsb
 
+       cld
        jmp     *%edx
 VARIABLE(grub_multiboot_backward_relocator_end)
 
@@ -112,4 +113,6 @@ FUNCTION(grub_multiboot2_real_boot)
         /* Move the magic value into eax and jump to the kernel.  */
         movl    $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
         popl    %ecx
+
+        cld
         jmp     *%ecx
_______________________________________________
Bug-grub mailing list
Bug-grub@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-grub

Reply via email to