Messages in this thread | | | Date | 23 Sep 2006 10:13:37 +0200 | Date | Sat, 23 Sep 2006 10:13:37 +0200 | From | Andi Kleen <> | Subject | Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel |
| |
> >+ > >+ /* 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |