On Mon, 13 Jul 2020 21:19:05 -0700 Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > Replace a '%' with a '$' to encode a literal in when initializing CR4. > This fixes the build on i386 as gcc complains about a non-existent > register. > > x86/cstart.S: Assembler messages: > x86/cstart.S:128: Error: bad register name `%(1<<4)' > Makefile:101: recipe for target 'x86/cstart.o' failed > > Fixes: d86ef58519645 ("cstart: do not assume CR4 starts as zero") > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> Reviewed-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > --- > x86/cstart.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/x86/cstart.S b/x86/cstart.S > index e63e4e2..c0efc5f 100644 > --- a/x86/cstart.S > +++ b/x86/cstart.S > @@ -125,7 +125,7 @@ start: > jmpl $8, $start32 > > prepare_32: > - mov %(1 << 4), %eax // pse > + mov $(1 << 4), %eax // pse > mov %eax, %cr4 > > mov $pt, %eax