mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
Documentation: KVM: Call out that KVM strictly follows the 8254 PIT spec
Explicitly document that the behavior of KVM_SET_PIT2 strictly conforms to the Intel 8254 PIT hardware specification, specifically that a write of '0' adheres to the spec's definition that a programmed count of '0' is converted to the maximum possible value (2^16). E.g. an unaware userspace might attempt to validate that KVM_GET_PIT2 returns the exact state set via KVM_SET_PIT2, and be surprised when the returned count is 65536, not 0. Add a references to the Intel 8254 PIT datasheet that will hopefully stay fresh for some time (the internet isn't exactly brimming with copies of the 8254 datasheet). Link: https://lore.kernel.org/all/CANypQFbEySjKOFLqtFFf2vrEe=NBr7XJfbkjQhqXuZGg7Rpoxw@mail.gmail.com Signed-off-by: Jiaming Zhang <r772577952@gmail.com> Link: https://lore.kernel.org/r/20250905174736.260694-1-r772577952@gmail.com [sean: add context Link, drop local APIC change, massage changelog accordingly] Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
committed by
Sean Christopherson
parent
cbd860293d
commit
5b5133e6a5
@@ -3075,6 +3075,12 @@ This IOCTL replaces the obsolete KVM_GET_PIT.
|
||||
Sets the state of the in-kernel PIT model. Only valid after KVM_CREATE_PIT2.
|
||||
See KVM_GET_PIT2 for details on struct kvm_pit_state2.
|
||||
|
||||
.. Tip::
|
||||
``KVM_SET_PIT2`` strictly adheres to the spec of Intel 8254 PIT. For example,
|
||||
a ``count`` value of 0 in ``struct kvm_pit_channel_state`` is interpreted as
|
||||
65536, which is the maximum count value. Refer to `Intel 8254 programmable
|
||||
interval timer <https://www.scs.stanford.edu/10wi-cs140/pintos/specs/8254.pdf>`_.
|
||||
|
||||
This IOCTL replaces the obsolete KVM_SET_PIT.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user