[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49CE77F7.8020509@zytor.com>
Date: Sat, 28 Mar 2009 12:18:15 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Ingo Molnar <mingo@...e.hu>
CC: "Michael K. Johnson" <johnsonm@...th.com>, jmforbes@...uxtx.org,
Jordan_Hargrave@...l.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mark %esi as clobbered in E820 BIOS call
Ingo Molnar wrote:
> * Michael K. Johnson <johnsonm@...th.com> wrote:
>
>> Justin and Peter, please review this for stable .y trees. Peter,
>> please review this for trunk unless you decide to do a more
>> extensive workaround for BIOS register clobbering.
>>
>> Thanks!
>>
>> $ cat e820-esi-clobber-workaround.patch
>> Jordan Hargrave diagnosed a BIOS clobbering %esi in the E820 call.
>> That particular BIOS has been fixed, but there is a possibility that
>> this is responsible for other occasional reports of early boot
>> failure, and it does not hurt to add %esi to the clobbers.
>
> nice fix! Would you mind to update the clobber list to include _all_
> registers? I dont see why any of the other registers couldnt be
> clobbered by a BIOS, and this is boot-only code so micro-performance
> is not an issue.
%esi and %ebp are the only registers that aren't already clobbered. gcc
doesn't like %ebp clobbers, so it has to be done via push..pop. I have
been thinking about doing a generic register-save wrapper for *all* BIOS
calls; this plus the recent patch to do a bunch of similar hacks for
VESA calls kind of tells me it's time to do this. However, I'm going to
clean up this for the trunk and Cc: stable for now.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists