Author: sobomax
Date: Sun Oct 26 18:58:04 2008
New Revision: 184293
URL: http://svn.freebsd.org/changeset/base/184293

Log:
  Fix division by zero panic if kern.hz less than 32.
  
  MFC after:    1 day

Modified:
  head/sys/amd64/amd64/local_apic.c
  head/sys/i386/i386/local_apic.c

Modified: head/sys/amd64/amd64/local_apic.c
==============================================================================
--- head/sys/amd64/amd64/local_apic.c   Sun Oct 26 17:20:37 2008        
(r184292)
+++ head/sys/amd64/amd64/local_apic.c   Sun Oct 26 18:58:04 2008        
(r184293)
@@ -401,7 +401,11 @@ lapic_setup_clock(void)
                lapic_timer_hz = hz * 2;
        else
                lapic_timer_hz = hz * 4;
-       stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+       if (lapic_timer_hz < 128) {
+               stathz = 128;
+       } else {
+               stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+       }
        profhz = lapic_timer_hz;
        lapic_timer_period = value / lapic_timer_hz;
 

Modified: head/sys/i386/i386/local_apic.c
==============================================================================
--- head/sys/i386/i386/local_apic.c     Sun Oct 26 17:20:37 2008        
(r184292)
+++ head/sys/i386/i386/local_apic.c     Sun Oct 26 18:58:04 2008        
(r184293)
@@ -403,7 +403,11 @@ lapic_setup_clock(void)
                lapic_timer_hz = hz * 2;
        else
                lapic_timer_hz = hz * 4;
-       stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+       if (lapic_timer_hz < 128) {
+               stathz = 128;
+       } else {
+               stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+       }
        profhz = lapic_timer_hz;
        lapic_timer_period = value / lapic_timer_hz;
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to