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

Commit 022bd2d1 authored by Janosch Frank's avatar Janosch Frank Committed by Christian Borntraeger
Browse files

s390: Make diag224 public



Diag204's cpu structures only contain the cpu type by means of an
index in the diag224 name table. Hence, to be able to use diag204 in
any meaningful way, we also need a usable diag224 interface.

Signed-off-by: default avatarJanosch Frank <frankja@linux.vnet.ibm.com>
Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent e435dc31
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -360,20 +360,6 @@ static void *diag204_store(void)

/* Diagnose 224 functions */

static int diag224(void *ptr)
{
	int rc = -EOPNOTSUPP;

	diag_stat_inc(DIAG_STAT_X224);
	asm volatile(
		"	diag	%1,%2,0x224\n"
		"0:	lhi	%0,0x0\n"
		"1:\n"
		EX_TABLE(0b,1b)
		: "+d" (rc) :"d" (0), "d" (ptr) : "memory");
	return rc;
}

static int diag224_get_name_table(void)
{
	/* memory must be below 2GB */
+1 −0
Original line number Diff line number Diff line
@@ -205,4 +205,5 @@ struct diag204_x_phys_cpu {
} __packed;

int diag204(unsigned long subcode, unsigned long size, void *addr);
int diag224(void *ptr);
#endif /* _ASM_S390_DIAG_H */
+15 −0
Original line number Diff line number Diff line
@@ -218,3 +218,18 @@ int diag210(struct diag210 *addr)
	return ccode;
}
EXPORT_SYMBOL(diag210);

int diag224(void *ptr)
{
	int rc = -EOPNOTSUPP;

	diag_stat_inc(DIAG_STAT_X224);
	asm volatile(
		"	diag	%1,%2,0x224\n"
		"0:	lhi	%0,0x0\n"
		"1:\n"
		EX_TABLE(0b,1b)
		: "+d" (rc) :"d" (0), "d" (ptr) : "memory");
	return rc;
}
EXPORT_SYMBOL(diag224);