static long kvm_hypercall(unsigned long nr, unsigned long param1,

                          unsigned long param2)

{

	register ulong r_nr asm("1") = nr;

	register ulong r_param1 asm("2") = param1;

	register ulong r_param2 asm("3") = param2;

	register long retval asm("2");



	asm volatile ("diag 2,4,0x500"

		      : "=d" (retval)

		      : "d" (r_nr), "0" (r_param1), "r"(r_param2)

		      : "memory", "cc");



	return retval;

}

static long kvm_hypercall(unsigned long nr, unsigned long param1,

                          unsigned long param2)

{

	register ulong r_nr asm("1") = nr;

	register ulong r_param1 asm("2") = param1;

	register ulong r_param2 asm("3") = param2;

	register long retval asm("2");



	asm volatile ("diag 2,4,0x500"

		      : "=d" (retval)

		      : "d" (r_nr), "0" (r_param1), "r"(r_param2)

		      : "memory", "cc");



	return retval;

}

static long FUNC_0(unsigned long VAR_0, unsigned long VAR_1,

                          unsigned long VAR_2)

{

	register ulong VAR_3 asm("1") = VAR_0;

	register ulong VAR_4 asm("2") = VAR_1;

	register ulong VAR_5 asm("3") = VAR_2;

	register long VAR_6 asm("2");



	asm volatile ("diag 2,4,0x500"

		      : "=d" (VAR_6)

		      : "d" (VAR_3), "0" (VAR_4), "r"(VAR_5)

		      : "memory", "cc");



	return VAR_6;

}

static long FUNC_0(unsigned long VAR_0, unsigned long VAR_1,
unsigned long VAR_2)
{ register ulong VAR_3 asm("1") = VAR_0; register ulong VAR_4 asm("2") = VAR_1; register ulong VAR_5 asm("3") = VAR_2; register long VAR_6 asm("2"); asm volatile ("diag 2,4,0x500"
: "=d" (VAR_6)
: "d" (VAR_3), "0" (VAR_4), "r"(VAR_5)
: "memory", "cc"); return VAR_6; }