On Mon, Oct 05, 2009 at 05:36:02PM -0700, Jeremy Fitzhardinge wrote:
> On 10/05/09 15:43, Bastian Blank wrote:
> > On Mon, Oct 05, 2009 at 10:21:01AM -0700, Jeremy Fitzhardinge wrote:
> >>> Save all caller-saved registers on x86_32 for the paravirt callee saved
> >>> registers.
> >> That looks better, but it is still overkill. We only need to save the
> >> set of registers the ABI requires the callee to preserve. What
> >> additional register(s) gets clobbered by stack-protector that need to be
> >> saved?
> > Well, exactly the two, ecx and edx. eax is still clobbered by the return
> > value. Anyway, it works in praxis.
> I'm confused. It already saves ecx, so what else needs saving?
The original version saves ecx, but not edx. Both are official
caller-saved registers.
> Besides, most of the code in that file isn't used unless you're using a
> very old version of Xen; it will generally prefer to use the ones in
> xen-asm_X.S.
Well, my call stack say something different. It crashs during early
startup without a console. The modifications to the function pointers is
done much later.
Bastian
--
Vulcans never bluff.
-- Spock, "The Doomsday Machine", stardate 4202.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|