> >+
> >+    /* Set up GDT entry for 16bit stack */
> >+    stk16_off = (u32)&per_cpu(cpu_16bit_stack, cpu);
> >+    gdt = per_cpu(cpu_gdt_table, cpu);
> >+    *(__u64 *)(&gdt[GDT_ENTRY_ESPFIX_SS]) |=
> >+            ((((__u64)stk16_off) << 16) & 0x000000ffffff0000ULL) |
> >+            ((((__u64)stk16_off) << 32) & 0xff00000000000000ULL) |
> >+            (CPU_16BIT_STACK_SIZE - 1);
> >  
> 
> This should use pack_descriptor().  I'd never got around to changing it, 
> but it really should.

I fixed it now in the original patch

> >+    /* Complete percpu area setup early, before calling printk(),
> >+       since it may end up using it indirectly. */
> >+    setup_percpu_for_this_cpu(cpu);
> >+
> >  
> 
> I managed to get all this done in head.S before going into C code; is 
> that not still possible?  Or is there a later patch to do this.

Why write in assembler what you can write in C?

-Andi
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization

Reply via email to