Loading arch/x86/kernel/crash.c +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <asm/nmi.h> #include <asm/hw_irq.h> #include <asm/apic.h> #include <asm/hpet.h> #include <linux/kdebug.h> #include <asm/smp.h> Loading Loading @@ -139,6 +140,9 @@ void machine_crash_shutdown(struct pt_regs *regs) lapic_shutdown(); #if defined(CONFIG_X86_IO_APIC) disable_IO_APIC(); #endif #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif crash_save_cpu(regs, safe_smp_processor_id()); } arch/x86/kernel/head_32.S +6 −6 Original line number Diff line number Diff line Loading @@ -193,6 +193,12 @@ default_entry: jb 10b movl %edi,(init_pg_tables_end - __PAGE_OFFSET) /* Do an early initialization of the fixmap area */ movl $(swapper_pg_dir - __PAGE_OFFSET), %edx movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */ movl %eax, 4092(%edx) xorl %ebx,%ebx /* This is the boot CPU (BSP) */ jmp 3f /* Loading @@ -208,12 +214,6 @@ default_entry: .section .init.text,"ax",@progbits #endif /* Do an early initialization of the fixmap area */ movl $(swapper_pg_dir - __PAGE_OFFSET), %edx movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */ movl %eax, 4092(%edx) #ifdef CONFIG_SMP ENTRY(startup_32_smp) cld Loading arch/x86/kernel/hpet.c +14 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,20 @@ static __init int hpet_late_init(void) } fs_initcall(hpet_late_init); void hpet_disable(void) { if (is_hpet_capable()) { unsigned long cfg = hpet_readl(HPET_CFG); if (hpet_legacy_int_enabled) { cfg &= ~HPET_CFG_LEGACY; hpet_legacy_int_enabled = 0; } cfg &= ~HPET_CFG_ENABLE; hpet_writel(cfg, HPET_CFG); } } #ifdef CONFIG_HPET_EMULATE_RTC /* HPET in LegacyReplacement Mode eats up RTC interrupt line. When, HPET Loading arch/x86/kernel/reboot_32.c +4 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #include <linux/reboot.h> #include <asm/uaccess.h> #include <asm/apic.h> #include <asm/hpet.h> #include <asm/desc.h> #include "mach_reboot.h" #include <asm/reboot_fixups.h> Loading Loading @@ -326,6 +327,9 @@ static void native_machine_shutdown(void) #ifdef CONFIG_X86_IO_APIC disable_IO_APIC(); #endif #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif } void __attribute__((weak)) mach_reboot_fixups(void) Loading arch/x86/kernel/reboot_64.c +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <asm/pgtable.h> #include <asm/tlbflush.h> #include <asm/apic.h> #include <asm/hpet.h> #include <asm/gart.h> /* Loading Loading @@ -113,6 +114,9 @@ void machine_shutdown(void) disable_IO_APIC(); #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif local_irq_restore(flags); pci_iommu_shutdown(); Loading Loading
arch/x86/kernel/crash.c +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <asm/nmi.h> #include <asm/hw_irq.h> #include <asm/apic.h> #include <asm/hpet.h> #include <linux/kdebug.h> #include <asm/smp.h> Loading Loading @@ -139,6 +140,9 @@ void machine_crash_shutdown(struct pt_regs *regs) lapic_shutdown(); #if defined(CONFIG_X86_IO_APIC) disable_IO_APIC(); #endif #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif crash_save_cpu(regs, safe_smp_processor_id()); }
arch/x86/kernel/head_32.S +6 −6 Original line number Diff line number Diff line Loading @@ -193,6 +193,12 @@ default_entry: jb 10b movl %edi,(init_pg_tables_end - __PAGE_OFFSET) /* Do an early initialization of the fixmap area */ movl $(swapper_pg_dir - __PAGE_OFFSET), %edx movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */ movl %eax, 4092(%edx) xorl %ebx,%ebx /* This is the boot CPU (BSP) */ jmp 3f /* Loading @@ -208,12 +214,6 @@ default_entry: .section .init.text,"ax",@progbits #endif /* Do an early initialization of the fixmap area */ movl $(swapper_pg_dir - __PAGE_OFFSET), %edx movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */ movl %eax, 4092(%edx) #ifdef CONFIG_SMP ENTRY(startup_32_smp) cld Loading
arch/x86/kernel/hpet.c +14 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,20 @@ static __init int hpet_late_init(void) } fs_initcall(hpet_late_init); void hpet_disable(void) { if (is_hpet_capable()) { unsigned long cfg = hpet_readl(HPET_CFG); if (hpet_legacy_int_enabled) { cfg &= ~HPET_CFG_LEGACY; hpet_legacy_int_enabled = 0; } cfg &= ~HPET_CFG_ENABLE; hpet_writel(cfg, HPET_CFG); } } #ifdef CONFIG_HPET_EMULATE_RTC /* HPET in LegacyReplacement Mode eats up RTC interrupt line. When, HPET Loading
arch/x86/kernel/reboot_32.c +4 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #include <linux/reboot.h> #include <asm/uaccess.h> #include <asm/apic.h> #include <asm/hpet.h> #include <asm/desc.h> #include "mach_reboot.h" #include <asm/reboot_fixups.h> Loading Loading @@ -326,6 +327,9 @@ static void native_machine_shutdown(void) #ifdef CONFIG_X86_IO_APIC disable_IO_APIC(); #endif #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif } void __attribute__((weak)) mach_reboot_fixups(void) Loading
arch/x86/kernel/reboot_64.c +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <asm/pgtable.h> #include <asm/tlbflush.h> #include <asm/apic.h> #include <asm/hpet.h> #include <asm/gart.h> /* Loading Loading @@ -113,6 +114,9 @@ void machine_shutdown(void) disable_IO_APIC(); #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif local_irq_restore(flags); pci_iommu_shutdown(); Loading