From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: [PATCH] powerpc: fix startup bss cleaning
Date: Tue, 16 Jul 2013 07:47:35 +0200 [thread overview]
Message-ID: <51E4DE77.40402@gmail.com> (raw)
In-Reply-To: <20130715151237.Horde.RWhdgZir309R5EmlUhPR2GA@imap.linux.ibm.com>
On 15.07.2013 21:12, Paulo Flabiano Smorigo/Brazil/IBM wrote:
> Hi,
>
> The trunk version of GRUB is crashing on power machines. Openfirmware
> returns the following message:
> Welcome to GRUB!
>
> DEFAULT CATCH!, exception-handler=fff00700
> at %SRR0: 0000000000003940 %SRR1: 0000000000083002
> Open Firmware exception handler entered from non-OF code
>
> Client's Fix Pt Regs:
> 00 000000000020a074 0000000001a3ff40 0000000000000000 00000000001e3de0
> 04 00000000001e3eb0 0000000000000004 00000000001d1fd0 000000000000007c
> 08 0000000000004000 0000000000003940 00000000001d4810 0000000001a3ff40
> 0c 0000000040000084 0000000000000000 0000000000000000 0000000000000000
> 10 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 14 0000000000c00000 0000000000000008 0000000000000000 0000000000000000
> 18 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 1c 0000000000219620 00000000001e3eb0 0000000000219620 00000000001e3de0
> Special Regs:
> %IV: 00000700 %CR: 20000084 %XER: 00000000 %DSISR: 00000000
> %SRR0: 0000000000003940 %SRR1: 0000000000083002
> %LR: 000000000020a0a4 %CTR: 0000000000003940
> %DAR: 0000000000000000
> Virtual PID = 0
> ok
> 0 >
>
> After some investigation, my colleague Gustavo Duarte discover that the
> problem is caused by grub_file_filters_enabled. Its initial value isn't
> zero:
> grub_file_filters_enabled[0]@0x219614 0x0
> grub_file_filters_enabled[1]@0x219618 0x0
> grub_file_filters_enabled[2]@0x21961c 0x0
> grub_file_filters_enabled[3]@0x219620 0x3940
>
>
> Using objdump I noticed that this variable is the last one from the bss
> section:
> $objdump -t grub-core/kernel.exec | sort
> ...
> 00218d14 l O .bss 00000004 count.2347
> 00218d18 l O .bss 00000100 buf.1909
> 00218e18 l O .bss 00000100 linebuf
> 00218f18 g O .bss 00000100 grub_errmsg
> 00219018 g O .bss 00000010 grub_file_filters_all
> 00219028 g O .bss 00000010 grub_file_filters_enabled
> 00219038 g .bss 00000000 _end
>
> It seems that startup.S for powerpc skips the last bytes, so I made a
> patch to fix it. Tried again and the problem was gone:
> grub_file_filters_enabled[0]@0x219614 0x0
> grub_file_filters_enabled[1]@0x219618 0x0
> grub_file_filters_enabled[2]@0x21961c 0x0
> grub_file_filters_enabled[3]@0x219620 0x0
>
As discussed on IRC this patch was wrong. The real problem was handling
unaligned BSS. Fixed in trunk now.
>
>
> Best regards!
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
prev parent reply other threads:[~2013-07-16 5:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-15 19:12 [PATCH] powerpc: fix startup bss cleaning Paulo Flabiano Smorigo/Brazil/IBM
2013-07-16 5:47 ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51E4DE77.40402@gmail.com \
--to=phcoder@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.