Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6681397 authored by Christian Borntraeger's avatar Christian Borntraeger
Browse files

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: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: default avatarCollin Walling <walling@linux.ibm.com>
Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
parent 13209ad0
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -321,6 +321,19 @@ static inline int plo_test_bit(unsigned char nr)
	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)
{
	int i;