Project

General

Profile

Actions

Bug #14555

open

64-bit HPET counter read is insufficiently volatile

Added by Joshua M. Clulow 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
kernel
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

In hpet_read_main_counter_value() there is a loop that tries to read the 64-bit HPET counter as two 32-bit reads, confirming that the high end of the counter doesn't change while we read the lower half. Unfortunately there is not a volatile keyword in sight, and the compiler appears to turn these reads back into a single 64-bit read which is not correct.


Related issues

Related to illumos gate - Bug #8740: Device registers should be declared volatile in hpet_acpi.cNew2017-10-27

Actions
Actions

Also available in: Atom PDF