KVM: s390: provide query function for instructions returning 32 byte
Some of the new features have a 32byte response for the query function. Provide a new wrapper similar to __cpacf_query. We might want to factor this out if other users come up, as of today there is none. So let us keep the function within KVM. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Collin Walling <walling@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com>
This commit is contained in:
Родитель
13209ad039
Коммит
d668139718
|
@ -321,6 +321,19 @@ static inline int plo_test_bit(unsigned char nr)
|
||||||
return cc == 0;
|
return cc == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void __insn32_query(unsigned int opcode, u8 query[32])
|
||||||
|
{
|
||||||
|
register unsigned long r0 asm("0") = 0; /* query function */
|
||||||
|
register unsigned long r1 asm("1") = (unsigned long) query;
|
||||||
|
|
||||||
|
asm volatile(
|
||||||
|
/* Parameter regs are ignored */
|
||||||
|
" .insn rrf,%[opc] << 16,2,4,6,0\n"
|
||||||
|
: "=m" (*query)
|
||||||
|
: "d" (r0), "a" (r1), [opc] "i" (opcode)
|
||||||
|
: "cc");
|
||||||
|
}
|
||||||
|
|
||||||
static void kvm_s390_cpu_feat_init(void)
|
static void kvm_s390_cpu_feat_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче