* edd breaking vesafb
@ 2008-09-18 15:17 Pascal Terjan
2008-09-18 16:26 ` H. Peter Anvin
0 siblings, 1 reply; 6+ messages in thread
From: Pascal Terjan @ 2008-09-18 15:17 UTC (permalink / raw)
To: linux-kernel
Hello
I got a report of vesafb no longer working since edd is used on a
machine (Shuttle FN41SP).
It's a BIOS bug that was easily workarounded by calling set_video before
query_edd.
Does someone see some issue in doing that ?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: edd breaking vesafb
2008-09-18 15:17 edd breaking vesafb Pascal Terjan
@ 2008-09-18 16:26 ` H. Peter Anvin
2008-09-18 17:10 ` Pascal Terjan
0 siblings, 1 reply; 6+ messages in thread
From: H. Peter Anvin @ 2008-09-18 16:26 UTC (permalink / raw)
To: Pascal Terjan; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 630 bytes --]
Pascal Terjan wrote:
> Hello
>
> I got a report of vesafb no longer working since edd is used on a
> machine (Shuttle FN41SP).
> It's a BIOS bug that was easily workarounded by calling set_video before
> query_edd.
> Does someone see some issue in doing that ?
>
Yes, it means that we won't get the status and error messages from
query_edd. In fact, we changed the ordering specifically for this reason.
The VESA code and EDD code both use the boot code heap. One could guess
that the problem is data left on the heap by the EDD code causing a
failure when combined with a bad BIOS.
Does this patch work for you?
-hpa
[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 497 bytes --]
diff --git a/arch/x86/boot/boot.h b/arch/x86/boot/boot.h
index cc0ef13..f087238 100644
--- a/arch/x86/boot/boot.h
+++ b/arch/x86/boot/boot.h
@@ -205,7 +205,13 @@ static inline int isdigit(int ch)
extern char _end[];
extern char *HEAP;
extern char *heap_end;
-#define RESET_HEAP() ((void *)( HEAP = _end ))
+
+static inline void *RESET_HEAP(void)
+{
+ HEAP = _end;
+ memset(HEAP, 0, heap_end-HEAP);
+ return HEAP;
+}
static inline char *__get_heap(size_t s, size_t a, size_t n)
{
char *tmp;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: edd breaking vesafb
2008-09-18 16:26 ` H. Peter Anvin
@ 2008-09-18 17:10 ` Pascal Terjan
2008-09-18 18:43 ` H. Peter Anvin
0 siblings, 1 reply; 6+ messages in thread
From: Pascal Terjan @ 2008-09-18 17:10 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: linux-kernel
Le jeudi 18 septembre 2008 à 09:26 -0700, H. Peter Anvin a écrit :
> Pascal Terjan wrote:
> > Hello
> >
> > I got a report of vesafb no longer working since edd is used on a
> > machine (Shuttle FN41SP).
> > It's a BIOS bug that was easily workarounded by calling set_video before
> > query_edd.
> > Does someone see some issue in doing that ?
> >
>
> Yes, it means that we won't get the status and error messages from
> query_edd. In fact, we changed the ordering specifically for this reason.
Indeed
> The VESA code and EDD code both use the boot code heap. One could guess
> that the problem is data left on the heap by the EDD code causing a
> failure when combined with a bad BIOS.
>
> Does this patch work for you?
>
No it does not help
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: edd breaking vesafb
2008-09-18 17:10 ` Pascal Terjan
@ 2008-09-18 18:43 ` H. Peter Anvin
2008-09-19 8:33 ` Pascal Terjan
0 siblings, 1 reply; 6+ messages in thread
From: H. Peter Anvin @ 2008-09-18 18:43 UTC (permalink / raw)
To: Pascal Terjan; +Cc: linux-kernel
Pascal Terjan wrote:
>
> No it does not help
>
What happens with edd=off or edd=skipmbr?
-hpa
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: edd breaking vesafb
2008-09-18 18:43 ` H. Peter Anvin
@ 2008-09-19 8:33 ` Pascal Terjan
0 siblings, 0 replies; 6+ messages in thread
From: Pascal Terjan @ 2008-09-19 8:33 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: linux-kernel, Frederic Crozat
Le jeudi 18 septembre 2008 à 11:43 -0700, H. Peter Anvin a écrit :
> Pascal Terjan wrote:
> >
> > No it does not help
> >
>
> What happens with edd=off or edd=skipmbr?
>
Here is the answer from original reporter, adding him in Cc
edd=off : vesafb works properly
edd=skipmbr : vesafb is not initialized (just like edd=on)
edd=on : vesafb is not initialized
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: edd breaking vesafb
@ 2008-10-03 9:57 gettinther
0 siblings, 0 replies; 6+ messages in thread
From: gettinther @ 2008-10-03 9:57 UTC (permalink / raw)
To: linux-kernel
Is there any news on this subject?
http://www.uwsg.iu.edu/hypermail/linux/kernel/0809.2/0890.html
I am still getting the issue with the 2.6.27.rc8 kernel. I use
bootsplash and the only way for vesafb to work is to disable edd.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-03 9:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-18 15:17 edd breaking vesafb Pascal Terjan
2008-09-18 16:26 ` H. Peter Anvin
2008-09-18 17:10 ` Pascal Terjan
2008-09-18 18:43 ` H. Peter Anvin
2008-09-19 8:33 ` Pascal Terjan
-- strict thread matches above, loose matches on Subject: below --
2008-10-03 9:57 gettinther
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).