|
@@ -786,27 +786,6 @@ do_spurious_interrupt_bug(struct pt_regs *regs, long error_code)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_X86_32
|
|
|
-unsigned long patch_espfix_desc(unsigned long uesp, unsigned long kesp)
|
|
|
-{
|
|
|
- struct desc_struct *gdt = get_cpu_gdt_table(smp_processor_id());
|
|
|
- unsigned long base = (kesp - uesp) & -THREAD_SIZE;
|
|
|
- unsigned long new_kesp = kesp - base;
|
|
|
- unsigned long lim_pages = (new_kesp | (THREAD_SIZE - 1)) >> PAGE_SHIFT;
|
|
|
- __u64 desc = *(__u64 *)&gdt[GDT_ENTRY_ESPFIX_SS];
|
|
|
-
|
|
|
- /* Set up base for espfix segment */
|
|
|
- desc &= 0x00f0ff0000000000ULL;
|
|
|
- desc |= ((((__u64)base) << 16) & 0x000000ffffff0000ULL) |
|
|
|
- ((((__u64)base) << 32) & 0xff00000000000000ULL) |
|
|
|
- ((((__u64)lim_pages) << 32) & 0x000f000000000000ULL) |
|
|
|
- (lim_pages & 0xffff);
|
|
|
- *(__u64 *)&gdt[GDT_ENTRY_ESPFIX_SS] = desc;
|
|
|
-
|
|
|
- return new_kesp;
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
asmlinkage void __attribute__((weak)) smp_thermal_interrupt(void)
|
|
|
{
|
|
|
}
|