Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 01 Aug 2002 22:44:57 +0900
From:      Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
To:        jhb@FreeBSD.org
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   RE: cvs commit: src/sys/i386/acpica acpi_wakeup.c
Message-ID:  <20020801224457E.iwasaki@jp.FreeBSD.org>
In-Reply-To: <XFMail.20020801091608.jhb@FreeBSD.org>
References:  <200208010948.g719m2DZ068561@freefall.freebsd.org> <XFMail.20020801091608.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 01-Aug-2002 Mitsuru IWASAKI wrote:
> > iwasaki     2002/08/01 02:48:02 PDT
> > 
> >   Modified files:
> >     sys/i386/acpica      acpi_wakeup.c 
> >   Log:
> >   Fix a bug about stack manipulation at ACPI wakeup.
> >   This should avoid kernel panic on kernel compiled w/o
> >   NO_CPU_COPTFLAGS.
> >   
> >   Suggested by:   optimized code by -mcpu=pentiumpro
> 
> Sorry I couldn't help you with this earlier.  Thanks for fixing it!
> I have a couple of questions about acpu_restorecpu():
> 
> 1) Why bother moving r_eax into %eax when you zero %eax anyways
>    right before returning?

Maybe we were too honest, wanted to restore A to D :)

> 2) To make the code perhaps a bit easier to follow (esp. to explain
>    why you had to add the popl) maybe you could remove the extra
>    pop and change the last 3 lines to look like this:
> 
>         movl    ret_addr,%eax   # override      \n\
>         movl    %eax,(%esp)     # ret addr      \n\
>         xorl    %eax,%eax                       \n\
>         ret                                     \n\

Ah, this is much better, thanks!  I will also remove extra popl
added in my previous commit later on.

Thanks again!

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020801224457E.iwasaki>