linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* arch/i386/boot/video.S hang
@ 2005-06-15 22:05 Simon Richard Grint
  2005-06-16 17:33 ` Venkatesh Pallipadi
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Richard Grint @ 2005-06-15 22:05 UTC (permalink / raw)
  To: linux-kernel


I'm trying to upgrade an old AMD K6-2 machine (aladdin bios/gigabyte GA-5AX
motherboard, latest version of the bios) to 2.6.11. Unfortunately kernels later 
than 2.6.9 hang very early in the boot process just after the vga= mode selection, 
but before the kernel announces "uncompressing linux".

I have narrowed the problem down to the store_edid function in
arch/i386/boot/video.S where the edid block is obtained and stored before
entering protected mode.  The exact patch which seems to cause me problems
is http://www.ussg.iu.edu/hypermail/linux/kernel/0409.3/1786.html

Storing the edid block at 0x140 causes this machine to hang, whereas backing
this patch out and instead using 0x440 (or even 0x160) seems to work fine.

Is this problem just because of an old and buggy bios or is there another
reason?

Thanks for your help

sr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/i386/boot/video.S hang
  2005-06-15 22:05 arch/i386/boot/video.S hang Simon Richard Grint
@ 2005-06-16 17:33 ` Venkatesh Pallipadi
  2005-06-16 17:58   ` Simon Richard Grint
  0 siblings, 1 reply; 4+ messages in thread
From: Venkatesh Pallipadi @ 2005-06-16 17:33 UTC (permalink / raw)
  To: Simon Richard Grint; +Cc: linux-kernel, Andrew Morton, Rajesh Shah

On Wed, Jun 15, 2005 at 11:05:54PM +0100, Simon Richard Grint wrote:
> 
> I'm trying to upgrade an old AMD K6-2 machine (aladdin bios/gigabyte GA-5AX
> motherboard, latest version of the bios) to 2.6.11. Unfortunately kernels later 
> than 2.6.9 hang very early in the boot process just after the vga= mode selection, 
> but before the kernel announces "uncompressing linux".
> 
> I have narrowed the problem down to the store_edid function in
> arch/i386/boot/video.S where the edid block is obtained and stored before
> entering protected mode.  The exact patch which seems to cause me problems
> is http://www.ussg.iu.edu/hypermail/linux/kernel/0409.3/1786.html
> 
> Storing the edid block at 0x140 causes this machine to hang, whereas backing
> this patch out and instead using 0x440 (or even 0x160) seems to work fine.
> 
> Is this problem just because of an old and buggy bios or is there another
> reason?
> 

What boot loader are you using. grub/lilo?

Does it work with CONFIG_VIDEO_SELECT disabled in your kernel CONFIG?

Thanks,
Venki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/i386/boot/video.S hang
  2005-06-16 17:33 ` Venkatesh Pallipadi
@ 2005-06-16 17:58   ` Simon Richard Grint
  2005-06-18  0:25     ` Venkatesh Pallipadi
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Richard Grint @ 2005-06-16 17:58 UTC (permalink / raw)
  To: Venkatesh Pallipadi; +Cc: linux-kernel

On Thu, Jun 16, 2005 at 10:33:41AM -0700, Venkatesh Pallipadi wrote:
> What boot loader are you using. grub/lilo?

The same thing happens with either grub or lilo, but I'm using grub at 
present
 
> Does it work with CONFIG_VIDEO_SELECT disabled in your kernel CONFIG?

It works fine if CONFIG_VIDEO_SELECT is disabled.  Even with 
CONFIG_VIDEO_SELECT enabled, the problem only arises if I pass a vga= 
parameter to the kernel

Thanks for your help

sr

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: arch/i386/boot/video.S hang
  2005-06-16 17:58   ` Simon Richard Grint
@ 2005-06-18  0:25     ` Venkatesh Pallipadi
  0 siblings, 0 replies; 4+ messages in thread
From: Venkatesh Pallipadi @ 2005-06-18  0:25 UTC (permalink / raw)
  To: Simon Richard Grint; +Cc: linux-kernel

On Thu, Jun 16, 2005 at 06:58:51PM +0100, Simon Richard Grint wrote:
> On Thu, Jun 16, 2005 at 10:33:41AM -0700, Venkatesh Pallipadi wrote:
> > What boot loader are you using. grub/lilo?
> 
> The same thing happens with either grub or lilo, but I'm using grub at 
> present
>  
> > Does it work with CONFIG_VIDEO_SELECT disabled in your kernel CONFIG?
> 
> It works fine if CONFIG_VIDEO_SELECT is disabled.  Even with 
> CONFIG_VIDEO_SELECT enabled, the problem only arises if I pass a vga= 
> parameter to the kernel
> 
> Thanks for your help
> 

This one continues to be mysterious.

One reason I could think of: VBE call 4f15:0s is storing more than 128 bytes on this platform. With the base address at 0x440, it can write much longer, without affecting anything else in zero page. But, at 0x140 it overwrites some other fields.

But, that doesn't explain why it only fails when vga=<num> is passed. For the above theory it should fail whenever VIDEO_SELECT is enabled.

Can you try some other address higher than 0x440 and less than 0x600 for and see whether it works? Or you can also try and print complete boot_params[] at some place in arch/i386/kernel/setup.c:setup_arch() in the case where it runs fine (with 0x440) and send me the log.

Thanks,
Venki

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-06-18  0:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-15 22:05 arch/i386/boot/video.S hang Simon Richard Grint
2005-06-16 17:33 ` Venkatesh Pallipadi
2005-06-16 17:58   ` Simon Richard Grint
2005-06-18  0:25     ` Venkatesh Pallipadi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).