alistair23-linux/arch/arm/kvm
Christoffer Dall c27581ed32 KVM: ARM: Demux CCSIDR in the userspace API
The Cache Size Selection Register (CSSELR) selects the current Cache
Size ID Register (CCSIDR).  You write which cache you are interested
in to CSSELR, and read the information out of CCSIDR.

Which cache numbers are valid is known by reading the Cache Level ID
Register (CLIDR).

To export this state to userspace, we add a KVM_REG_ARM_DEMUX
numberspace (17), which uses 8 bits to represent which register is
being demultiplexed (0 for CCSIDR), and the lower 8 bits to represent
this demultiplexing (in our case, the CSSELR value, which is 4 bits).

Reviewed-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
2013-01-23 13:29:14 -05:00
..
arm.c KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
coproc.c KVM: ARM: Demux CCSIDR in the userspace API 2013-01-23 13:29:14 -05:00
coproc.h KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
coproc_a15.c KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
emulate.c KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
guest.c KVM: ARM: User space API for getting/setting co-proc registers 2013-01-23 13:29:14 -05:00
init.S
interrupts.S KVM: ARM: World-switch implementation 2013-01-23 13:29:12 -05:00
interrupts_head.S KVM: ARM: World-switch implementation 2013-01-23 13:29:12 -05:00
Kconfig KVM: ARM: Memory virtualization setup 2013-01-23 13:29:11 -05:00
Makefile KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
mmu.c KVM: ARM: Memory virtualization setup 2013-01-23 13:29:11 -05:00
reset.c
trace.h KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00