ARM: KVM: Bugfix: vgic_bytemap_get_reg per cpu regs
authorChristoffer Dall <christoffer.dall@linaro.org>
Thu, 29 Aug 2013 10:08:24 +0000 (11:08 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 2 Oct 2014 15:18:02 +0000 (17:18 +0200)
commita144ec826c81facd70fd157aef6f7b7030687f68
tree90305eb057a22e46b66ed04700519ab5c524adfe
parent635c887f2931a200a52694170122e2b62d1b6218
ARM: KVM: Bugfix: vgic_bytemap_get_reg per cpu regs

For bytemaps each IRQ field is 1 byte wide, so we pack 4 irq fields in
one word and since there are 32 private (per cpu) irqs, we have 8
private u32 fields on the vgic_bytemap struct.  We shift the offset from
the base of the register group right by 2, giving us the word index
instead of the field index.  But then there are 8 private words, not 4,
which is also why we subtract 8 words from the offset of the shared
words.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
(cherry picked from commit 8d98915b6bda499e47d19166101d0bbcfd409c80)
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/vgic.c