string: factorize skip_spaces and export it to be generally available
[safe/jmp/linux-2.6] / arch / x86 / kernel / doublefault_32.c
index 395acb1..37250fe 100644 (file)
@@ -27,9 +27,7 @@ static void doublefault_fn(void)
 
        if (ptr_ok(gdt)) {
                gdt += GDT_ENTRY_TSS << 3;
-               tss = *(u16 *)(gdt+2);
-               tss += *(u8 *)(gdt+4) << 16;
-               tss += *(u8 *)(gdt+7) << 24;
+               tss = get_desc_base((struct desc_struct *)gdt);
                printk(KERN_EMERG "double fault, tss at %08lx\n", tss);
 
                if (ptr_ok(tss)) {
@@ -66,6 +64,6 @@ struct tss_struct doublefault_tss __cacheline_aligned = {
                .ds             = __USER_DS,
                .fs             = __KERNEL_PERCPU,
 
-               .__cr3          = __phys_addr_const((unsigned long)swapper_pg_dir)
+               .__cr3          = __pa_nodebug(swapper_pg_dir),
        }
 };