[rumpkernel/rumprun] a63a92: hw: Consolidate clock-related code

  • From: GitHub <noreply@xxxxxxxxxx>
  • To: rumpkernel-builds@xxxxxxxxxxxxx
  • Date: Tue, 30 Jun 2015 09:32:58 -0700

Branch: refs/heads/wip-timekeeping
Home: https://github.com/rumpkernel/rumprun
Commit: a63a92da11977484aa1cdcc83af59ad4243c7a9b

https://github.com/rumpkernel/rumprun/commit/a63a92da11977484aa1cdcc83af59ad4243c7a9b
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/arch/amd64/Makefile.inc
M platform/hw/arch/amd64/machdep.c
M platform/hw/arch/i386/Makefile.inc
M platform/hw/arch/i386/machdep.c
A platform/hw/arch/x86/clock.c
M platform/hw/arch/x86/cpu_subr.c
M platform/hw/arch/x86/x86_subr.c
M platform/hw/include/arch/x86/var.h
M platform/hw/intr.c

Log Message:
-----------
hw: Consolidate clock-related code

This commit consolidates the common clock-related functions for the x86
and amd64 hw platform into platform/hw/arch/x86/clock.c.

No functional change intended.


Commit: 6faddda1a4d0e6e5f75e1abc1fcd0c5541f78589

https://github.com/rumpkernel/rumprun/commit/6faddda1a4d0e6e5f75e1abc1fcd0c5541f78589
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/arch/x86/clock.c
M platform/hw/include/arch/x86/reg.h
M platform/hw/include/bmk/kernel.h
M platform/hw/kernel.c

Log Message:
-----------
hw: Calibrate TSC and correctly scale monotonic time

This is the first phase of addressing issue #30. We calibrate the TSC at
boot against the i8254 timer and calculate a scaleing factor for
monotonic time.


Commit: 798d6881e585f83e46e56ff76b4326354fd37cd6

https://github.com/rumpkernel/rumprun/commit/798d6881e585f83e46e56ff76b4326354fd37cd6
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/arch/x86/x86_subr.c

Log Message:
-----------
hw: Initialise all IDT vectors to "no service"

Initialise all 48 IDT vectors, including those used by hardware
interrupts, to the "no service" routine. This lets us enable i8254
interrupts early.


Commit: b950d8a7261dda4e00c9363cbea6f4d0ac5bbcf3

https://github.com/rumpkernel/rumprun/commit/b950d8a7261dda4e00c9363cbea6f4d0ac5bbcf3
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/arch/x86/clock.c

Log Message:
-----------
hw: Dynamically program PIT in one-shot mode when idle

Instead of running the clock interrupt with a fixed periodic tick when
idle, dynamically program the PIT in one-shot mode to fire a single
interrupt after the requested delay has elapsed.


Commit: 11c87b234d5a846d92f57b3ad56cfeab64880939

https://github.com/rumpkernel/rumprun/commit/11c87b234d5a846d92f57b3ad56cfeab64880939
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/arch/x86/clock.c

Log Message:
-----------
hw: Calculate tick/nsec conversions using 128-bit multiplication

Calculate tick to nsec / nsec to tick conversions using
128-bit multiplication. This avoids overflows, and in the case of
converting nanoseconds to PIT ticks is also slightly faster as it does
not use division.


Commit: d13a11a2c38f7d26fd8d98598ef53dbbebd297eb

https://github.com/rumpkernel/rumprun/commit/d13a11a2c38f7d26fd8d98598ef53dbbebd297eb
Author: Martin Lucina <martin@xxxxxxxxxx>
Date: 2015-06-30 (Tue, 30 Jun 2015)

Changed paths:
M platform/hw/Makefile
M platform/hw/arch/x86/clock.c
M platform/hw/clock.c
A platform/hw/clock_subr.c
M platform/hw/include/arch/x86/reg.h
A platform/hw/include/bmk/clock_subr.h
M platform/hw/include/bmk/kernel.h

Log Message:
-----------
hw: Implement wall time using RTC offset at boot

Addresses issue #31.


Compare:
https://github.com/rumpkernel/rumprun/compare/a63a92da1197^...d13a11a2c38f

Other related posts:

  • » [rumpkernel/rumprun] a63a92: hw: Consolidate clock-related code - GitHub