lkml.org 
[lkml]   [2007]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: x86 setup code rewrite in C - revised
On Thu, 12 Jul 2007, Linus Torvalds wrote:
> On Thu, 12 Jul 2007, Andrew Morton wrote:
> >
> > This code has been in -mm since 11 May, as git-newsetup.patch. It has
> > caused (for what it is) astonishingly few problems. Maybe a couple of
> > build glitches and one runtime failure, all quickly fixed.
> >
> > I'd say it's ready.
>
> Ok. That makes it easy. I'll just merge it.
>
> Linus

Have fun, this code:
- do not open the fast A20 gate before checking if the slow A20 gate is open or closed.
- uses in asm("") inputs which may or may not be set by the compiler in the stack,
after modifying the stack pointer in the asm block: at least has_eflag()
- The VGA recalc has the same bug as the assembly version where a VGA write protected
register is written (Overflow register) without setting the enable bit (see VGA docs).
- Does not save and restore %ds when printing a char on the screen (%ds is destroyed
only when the content of the screen scroll - only for some video cards)
- Has a "dn" for outl() which sliped in instead of "dN"
and probably few other problems - just seen those by reading the patches (the asm("")
are inlined in the C code - I find it more difficult to check).

Also, I do not know if "m" is right in here:
static inline u8 rdfs8(addr_t addr)
{
u8 v;
asm("movb %%fs:%1,%0" : "=r" (v) : "m" (*(u8 *)addr));
return v;
}

I may repeat me, but to find these kind of problems, it is very nice to have an ELF
file to do a readelf/objdump -D -m i8086 (even after final link).

Etienne.
http://gujin.org

I like that message in this context...
http://marc.info/?l=linux-kernel&m=117077712515509&w=4


_____________________________________________________________________________
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-07-13 16:35    [W:0.068 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site