[BACK]Return to lapic.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / x86 / x86

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/x86/x86/lapic.c between version 1.76 and 1.76.6.3

version 1.76, 2019/12/01 08:23:09 version 1.76.6.3, 2020/04/18 14:47:56
Line 41  __KERNEL_RCSID(0, "$NetBSD$");
Line 41  __KERNEL_RCSID(0, "$NetBSD$");
 #include "opt_mpbios.h"         /* for MPDEBUG */  #include "opt_mpbios.h"         /* for MPDEBUG */
 #include "opt_multiprocessor.h"  #include "opt_multiprocessor.h"
 #include "opt_ntp.h"  #include "opt_ntp.h"
   #include "opt_xen.h"
   
   
 #include <sys/param.h>  #include <sys/param.h>
 #include <sys/proc.h>  #include <sys/proc.h>
Line 52  __KERNEL_RCSID(0, "$NetBSD$");
Line 54  __KERNEL_RCSID(0, "$NetBSD$");
   
 #include <dev/ic/i8253reg.h>  #include <dev/ic/i8253reg.h>
   
   #include <x86/machdep.h>
 #include <machine/cpu.h>  #include <machine/cpu.h>
 #include <machine/cpu_counter.h>  #include <machine/cpu_counter.h>
 #include <machine/cpufunc.h>  #include <machine/cpufunc.h>
Line 70  __KERNEL_RCSID(0, "$NetBSD$");
Line 73  __KERNEL_RCSID(0, "$NetBSD$");
 #include <machine/i82489reg.h>  #include <machine/i82489reg.h>
 #include <machine/i82489var.h>  #include <machine/i82489var.h>
   
   #ifndef XENPV
 #if NACPICA > 0  #if NACPICA > 0
 #include <dev/acpi/acpica.h>  #include <dev/acpi/acpica.h>
 #include <dev/acpi/acpivar.h>  #include <dev/acpi/acpivar.h>
Line 278  lapic_setup_bsp(paddr_t lapic_base)
Line 282  lapic_setup_bsp(paddr_t lapic_base)
                             !ISSET(regs[0], VCPUINFO_LEGACY_X2APIC))                              !ISSET(regs[0], VCPUINFO_LEGACY_X2APIC))
                                 reason = "inside VMWare without intr "                                  reason = "inside VMWare without intr "
                                     "redirection";                                      "redirection";
                 } else if (vm_guest == VM_GUEST_XEN) {                  } else if (vm_guest == VM_GUEST_XENHVM) {
                         reason = "due to running under XEN";                          reason = "due to running under XEN";
                 } else if (vm_guest == VM_GUEST_NO &&                  } else if (vm_guest == VM_GUEST_NO &&
                     CPUID_TO_FAMILY(curcpu()->ci_signature) == 6 &&                      CPUID_TO_FAMILY(curcpu()->ci_signature) == 6 &&
Line 591  lapic_initclocks(void)
Line 595  lapic_initclocks(void)
         lapic_writereg(LAPIC_EOI, 0);          lapic_writereg(LAPIC_EOI, 0);
 }  }
   
 extern u_long rtclock_tval; /* XXX put in header file */  
 extern void (*initclock_func)(void); /* XXX put in header file */  
   
 /*  /*
  * Calibrate the local apic count-down timer (which is running at   * Calibrate the local apic count-down timer (which is running at
  * bus-clock speed) vs. the i8254 counter/timer (which is running at   * bus-clock speed) vs. the i8254 counter/timer (which is running at
Line 635  lapic_calibrate_timer(struct cpu_info *c
Line 636  lapic_calibrate_timer(struct cpu_info *c
         for (seen = 0; seen < TIMER_FREQ / 100; seen += delta) {          for (seen = 0; seen < TIMER_FREQ / 100; seen += delta) {
                 cur_i8254 = gettick();                  cur_i8254 = gettick();
                 if (cur_i8254 > initial_i8254)                  if (cur_i8254 > initial_i8254)
                         delta = rtclock_tval - (cur_i8254 - initial_i8254);                          delta = x86_rtclock_tval - (cur_i8254 - initial_i8254);
                 else                  else
                         delta = initial_i8254 - cur_i8254;                          delta = initial_i8254 - cur_i8254;
                 initial_i8254 = cur_i8254;                  initial_i8254 = cur_i8254;
Line 700  calibrate_done:
Line 701  calibrate_done:
                  * for all our timing needs..                   * for all our timing needs..
                  */                   */
                 delay_func = lapic_delay;                  delay_func = lapic_delay;
                 initclock_func = lapic_initclocks;                  x86_cpu_initclock_func = lapic_initclocks;
                   x86_initclock_func = x86_dummy_initclock;
                 initrtclock(0);                  initrtclock(0);
   
                 if (lapic_timecounter.tc_frequency == 0) {                  if (lapic_timecounter.tc_frequency == 0) {
Line 963  lapic_dump(void)
Line 965  lapic_dump(void)
   
 #undef APIC_LVT_PRIINT  #undef APIC_LVT_PRIINT
 }  }
   #else /* XENPV */
   void
   lapic_boot_init(paddr_t lapic_base)
   {
   }
   #endif /* XENPV */

Legend:
Removed from v.1.76  
changed lines
  Added in v.1.76.6.3

CVSweb <webmaster@jp.NetBSD.org>