KVM: PPC: Added one_reg interface for timer registers
authorBharat Bhushan <r65777@freescale.com>
Sun, 24 Feb 2013 18:57:12 +0000 (18:57 +0000)
committerAlexander Graf <agraf@suse.de>
Fri, 22 Mar 2013 00:21:06 +0000 (01:21 +0100)
commit78accda4f888c77122cf3da6185f905d4677eb07
treee40f2b976f423830f9de074af923e19e3b0a230a
parentd26f22c9cdfa935e674b2ff747dbcfaf9fa048f8
KVM: PPC: Added one_reg interface for timer registers

If userspace wants to change some specific bits of TSR
(timer status register) then it uses GET/SET_SREGS ioctl interface.
So the steps will be:
      i)   user-space will make get ioctl,
      ii)  change TSR in userspace
      iii) then make set ioctl.
It can happen that TSR gets changed by kernel after step i) and
before step iii).

To avoid this we have added below one_reg ioctls for oring and clearing
specific bits in TSR. This patch adds one registerface for:
     1) setting specific bit in TSR (timer status register)
     2) clearing specific bit in TSR (timer status register)
     3) setting/getting the TCR register. There are cases where we want to only
        change TCR and not TSR. Although we can uses SREGS without
        KVM_SREGS_E_UPDATE_TSR flag but I think one reg is better. I am open
        if someone feels we should use SREGS only here.
     4) getting/setting TSR register

Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Documentation/virtual/kvm/api.txt
arch/powerpc/include/uapi/asm/kvm.h
arch/powerpc/kvm/booke.c