KVM: ARM: Remove unused memslot parameter

The memslot parameter was use historically, not anymore so let's get rid
of it.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: timer: use flush/sync terminology for disabled timers

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
KVM: ARM: vgic: user sync/flush for disabled vgic

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
KVM: ARM: Rename sync/flush to {sync/flush}_hwstate

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
KVM: ARM: Rename timer_{sync,flush} to ..._hwstate

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
KVM: ARM: Grab kvm->srcu lock when handling page faults

The memslots data structure is protected with an SRCU lock, so we should
grab the read side lock before traversing this data structure.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: Limit vgic read/writes to load/store length

The vgic read/write operations did not consider ldrb/strb masks, and
would therefore unintentionally overwrite parts of a register.

Consider for example a store of a single byte to a word-aligned address
of one of the priority registers, that would cause the 3 most
significant bytes to be overwritten with zeros.

Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: world-switch: reduce unnecessary isb's

The ISBs are unnecessary as these macros are not function calls and will
always precede an exception return.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc; Will Deacon <will.deacon@arm.com>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
ARM: KVM: avoid add/sub on vcpu pointer

Doing arithmetic on the vcpu pointer can be avoided by using
another register as a base. Saves a few instructions on the
switch path.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: Rip out load/store instruction decoding

Unfortunately the upstream community is not willing to accept this code
as of yet.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: Add _hwstate in comments

The funcitons were renamed, let the comments follow.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: Remove unsused funciton

Function not used.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
KVM: ARM: vgic cosmetic fix

Don't go over 80 chars please.

Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>