s390/sysinfo,stsi: change return code handling
Change return code handling of the stsi() function: In case function code 0 was specified the return value is the current configuration level (already shifted). That way all the code that actually copied the stsi_0() function can go away. Otherwise the return value is 0 (success) or negative to indicate an error (currently only -EOPNOTSUPP). Also stsi() is no longer an inline function. The function is not performance critical, but every caller would generate an exception table entry for this function. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
94f2b9e25d
commit
caf757c609
@@ -211,7 +211,7 @@ static void handle_stsi_3_2_2(struct kvm_vcpu *vcpu, struct sysinfo_3_2_2 *mem)
|
||||
spin_unlock(&fi->lock);
|
||||
|
||||
/* deal with other level 3 hypervisors */
|
||||
if (stsi(mem, 3, 2, 2) == -ENOSYS)
|
||||
if (stsi(mem, 3, 2, 2))
|
||||
mem->count = 0;
|
||||
if (mem->count < 8)
|
||||
mem->count++;
|
||||
@@ -259,7 +259,7 @@ static int handle_stsi(struct kvm_vcpu *vcpu)
|
||||
mem = get_zeroed_page(GFP_KERNEL);
|
||||
if (!mem)
|
||||
goto out_fail;
|
||||
if (stsi((void *) mem, fc, sel1, sel2) == -ENOSYS)
|
||||
if (stsi((void *) mem, fc, sel1, sel2))
|
||||
goto out_mem;
|
||||
break;
|
||||
case 3:
|
||||
|
Reference in New Issue
Block a user