[PATCH] x86: simplify ljmp to 32-bit code
Bin Meng
bmeng.cn at gmail.com
Sun Dec 8 12:08:29 CET 2019
On Sun, Dec 8, 2019 at 6:43 PM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Hi Masahiro,
>
> On Tue, Dec 3, 2019 at 1:29 PM Masahiro Yamada <masahiroy at kernel.org> wrote:
> >
> > You can directly specify the label as the operand for ljmp.
> >
> > This commit saves 4-byte code.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy at kernel.org>
> > ---
> >
> > arch/x86/cpu/start16.S | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
> > index bcabd76741ef..7bad9f3e4d87 100644
> > --- a/arch/x86/cpu/start16.S
> > +++ b/arch/x86/cpu/start16.S
> > @@ -44,10 +44,8 @@ data32 cs lgdt gdt_ptr
> > ff:
> >
> > /* Finally restore BIST and jump to the 32-bit initialization code */
> > - movw $code32start, %ax
> > - movw %ax, %bp
> > movl %ecx, %eax
> > -data32 cs ljmp *(%bp)
> > +data32 cs ljmp code32start
>
> There should be a * before code32start, otherwise gas reportes:
>
> arch/x86/cpu/start16.S: Assembler messages:
> arch/x86/cpu/start16.S:48: Warning: indirect ljmp without `*'
fixed the warning by adding * before code32start
>
> >
> > /* 48-bit far pointer */
> > code32start:
> > --
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> Tested-by: Bin Meng <bmeng.cn at gmail.com>
and applied to u-boot-x86, thanks!
More information about the U-Boot
mailing list