Hi Masahiro, On Tue, Dec 3, 2019 at 1:29 PM Masahiro Yamada <[email protected]> wrote: > > You can directly specify the label as the operand for ljmp. > > This commit saves 4-byte code. > > Signed-off-by: Masahiro Yamada <[email protected]> > --- > > 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 `*' > > /* 48-bit far pointer */ > code32start: > -- Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> Regards, Bin

