[LinuxBIOS] LinuxBIOSv3 lgdt and gdtptr patch

Myles Watson myles at pel.cs.byu.edu
Thu Dec 6 18:14:41 CET 2007


> -----Original Message-----
> From: Carl-Daniel Hailfinger [mailto:c-d.hailfinger.devel.2006 at gmx.net]
> Sent: Thursday, December 06, 2007 9:40 AM
> To: myles at mouselemur.cs.byu.edu
> Cc: 'Linuxbios'
> Subject: Re: [LinuxBIOS] r77 - in buildrom-devel: . config/payloads
> config/platforms packages/linuxbios
>
> On 06.12.2007 17:33, Myles Watson wrote:
> >>> Modified: buildrom-devel/Config.in
> >>> ===================================================================
> >>> --- buildrom-devel/Config.in      2007-12-05 23:27:08 UTC (rev 76)
> >>> +++ buildrom-devel/Config.in      2007-12-06 16:18:18 UTC (rev 77)
> >>> @@ -43,6 +43,23 @@
> >>>
> >>>  menu "LinuxBIOS configuration"
> >>>
> >>> +config LINUXBIOS_V3
> >>> + bool "Use LinuxBIOSv3"
> >>> + depends ADVANCED
> >>> + default n
> >>> + help
> >>> +   Use the v3 tree.  LinuxBIOSv3 doesn't support all platforms yet.
> >>> +
> >>> +config LINUXBIOS_V3_LGDT_PATCH
> >>> + bool "Avoid an error in stage0_i586 with some compilers"
> >>> + depends LINUXBIOS_V3
> >>> + default n
> >>> + help
> >>> +   Say 'y' here to use the patch from the mailing list to replace
> >>> +   "data32  lgdt %cs:gdtptr" with
> >>> +   "movl $gdtptr"
> >>> +          "%ebx lgdt %cs:(%bx)"
> >>> +
> >>>  config USE_LZMA
> >>>   bool "Enable LZMA compression"
> >>>   depends !PAYLOAD_OFW
> >>>
> >>>
> >> While I welcome almost everything in that patch, I dislike that part.
> >> Either we agree on some code sequence that works for everyone or we
> mark
> >> some compilers "broken".
> >>
> >
> > I like the "code sequence that works for everyone" thought.  That's more
> of
> > a LinuxBIOSv3 issue than a buildrom issue, though.  I'd hoped to make
> people
> > happy by not applying the patch by default.
> >
>
> Can you send it in as a patch with a short description? If comments are
> positive, we should just commit.

It was submitted (but not in patch form) by Brendan Trotter
http://www.mail-archive.com/linuxbios@linuxbios.org/msg08771.html

Here it is in patch form.
-	data32	lgdt %cs:gdtptr
+	movl	$gdtptr, %ebx
+	lgdt	%cs:(%bx)

It removes the first line, which causes some compilers to give a
"truncated gdtptr" error, and replaces it with an intermediate load
step. I think it should be tested by someone with the "working"
compiler, to compare the output.

Myles
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lgdt.patch
Type: application/octet-stream
Size: 435 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20071206/5210c626/attachment.obj>


More information about the coreboot mailing list