diff options
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/kprobes.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/smpboot.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/time.c | 6 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c index dddeb678b440..afe11f4fbd1d 100644 --- a/arch/x86_64/kernel/kprobes.c +++ b/arch/x86_64/kernel/kprobes.c | |||
@@ -329,7 +329,7 @@ int __kprobes kprobe_handler(struct pt_regs *regs) | |||
329 | */ | 329 | */ |
330 | save_previous_kprobe(kcb); | 330 | save_previous_kprobe(kcb); |
331 | set_current_kprobe(p, regs, kcb); | 331 | set_current_kprobe(p, regs, kcb); |
332 | p->nmissed++; | 332 | kprobes_inc_nmissed_count(p); |
333 | prepare_singlestep(p, regs); | 333 | prepare_singlestep(p, regs); |
334 | kcb->kprobe_status = KPROBE_REENTER; | 334 | kcb->kprobe_status = KPROBE_REENTER; |
335 | return 1; | 335 | return 1; |
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 683c33f7b967..ecbd7b83acc1 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
@@ -1181,7 +1181,7 @@ int __cpu_disable(void) | |||
1181 | if (cpu == 0) | 1181 | if (cpu == 0) |
1182 | return -EBUSY; | 1182 | return -EBUSY; |
1183 | 1183 | ||
1184 | disable_APIC_timer(); | 1184 | clear_local_APIC(); |
1185 | 1185 | ||
1186 | /* | 1186 | /* |
1187 | * HACK: | 1187 | * HACK: |
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index fdaddc4e5284..74102796e5c0 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -59,7 +59,7 @@ static int notsc __initdata = 0; | |||
59 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ | 59 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ |
60 | static unsigned long hpet_period; /* fsecs / HPET clock */ | 60 | static unsigned long hpet_period; /* fsecs / HPET clock */ |
61 | unsigned long hpet_tick; /* HPET clocks / interrupt */ | 61 | unsigned long hpet_tick; /* HPET clocks / interrupt */ |
62 | static int hpet_use_timer; | 62 | static int hpet_use_timer; /* Use counter of hpet for time keeping, otherwise PIT */ |
63 | unsigned long vxtime_hz = PIT_TICK_RATE; | 63 | unsigned long vxtime_hz = PIT_TICK_RATE; |
64 | int report_lost_ticks; /* command line option */ | 64 | int report_lost_ticks; /* command line option */ |
65 | unsigned long long monotonic_base; | 65 | unsigned long long monotonic_base; |
@@ -908,12 +908,14 @@ void __init time_init(void) | |||
908 | if (!hpet_init()) | 908 | if (!hpet_init()) |
909 | vxtime_hz = (1000000000000000L + hpet_period / 2) / | 909 | vxtime_hz = (1000000000000000L + hpet_period / 2) / |
910 | hpet_period; | 910 | hpet_period; |
911 | else | ||
912 | vxtime.hpet_address = 0; | ||
911 | 913 | ||
912 | if (hpet_use_timer) { | 914 | if (hpet_use_timer) { |
913 | cpu_khz = hpet_calibrate_tsc(); | 915 | cpu_khz = hpet_calibrate_tsc(); |
914 | timename = "HPET"; | 916 | timename = "HPET"; |
915 | #ifdef CONFIG_X86_PM_TIMER | 917 | #ifdef CONFIG_X86_PM_TIMER |
916 | } else if (pmtmr_ioport) { | 918 | } else if (pmtmr_ioport && !vxtime.hpet_address) { |
917 | vxtime_hz = PM_TIMER_FREQUENCY; | 919 | vxtime_hz = PM_TIMER_FREQUENCY; |
918 | timename = "PM"; | 920 | timename = "PM"; |
919 | pit_init(); | 921 | pit_init(); |