mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-08 14:23:19 +00:00
[S390] iucv cr0 enablement bit
Do not set the cr0 enablement bit for iucv by default in head[31|64].S, move the enablement to iucv_init in the iucv base layer. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
89c9b66b10
commit
5beab99100
@ -45,7 +45,7 @@ ENTRY(startup_continue)
|
|||||||
# virtual and never return ...
|
# virtual and never return ...
|
||||||
.align 8
|
.align 8
|
||||||
.Lentry:.long 0x00080000,0x80000000 + _stext
|
.Lentry:.long 0x00080000,0x80000000 + _stext
|
||||||
.Lctl: .long 0x04b50002 # cr0: various things
|
.Lctl: .long 0x04b50000 # cr0: various things
|
||||||
.long 0 # cr1: primary space segment table
|
.long 0 # cr1: primary space segment table
|
||||||
.long .Lduct # cr2: dispatchable unit control table
|
.long .Lduct # cr2: dispatchable unit control table
|
||||||
.long 0 # cr3: instruction authorization
|
.long 0 # cr3: instruction authorization
|
||||||
|
@ -46,7 +46,7 @@ ENTRY(startup_continue)
|
|||||||
.align 16
|
.align 16
|
||||||
.LPG1:
|
.LPG1:
|
||||||
.Lentry:.quad 0x0000000180000000,_stext
|
.Lentry:.quad 0x0000000180000000,_stext
|
||||||
.Lctl: .quad 0x04350002 # cr0: various things
|
.Lctl: .quad 0x04350000 # cr0: various things
|
||||||
.quad 0 # cr1: primary space segment table
|
.quad 0 # cr1: primary space segment table
|
||||||
.quad .Lduct # cr2: dispatchable unit control table
|
.quad .Lduct # cr2: dispatchable unit control table
|
||||||
.quad 0 # cr3: instruction authorization
|
.quad 0 # cr3: instruction authorization
|
||||||
|
@ -1988,12 +1988,13 @@ static int __init iucv_init(void)
|
|||||||
rc = -EPROTONOSUPPORT;
|
rc = -EPROTONOSUPPORT;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
ctl_set_bit(0, 1);
|
||||||
rc = iucv_query_maxconn();
|
rc = iucv_query_maxconn();
|
||||||
if (rc)
|
if (rc)
|
||||||
goto out;
|
goto out_ctl;
|
||||||
rc = register_external_interrupt(0x4000, iucv_external_interrupt);
|
rc = register_external_interrupt(0x4000, iucv_external_interrupt);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto out;
|
goto out_ctl;
|
||||||
iucv_root = root_device_register("iucv");
|
iucv_root = root_device_register("iucv");
|
||||||
if (IS_ERR(iucv_root)) {
|
if (IS_ERR(iucv_root)) {
|
||||||
rc = PTR_ERR(iucv_root);
|
rc = PTR_ERR(iucv_root);
|
||||||
@ -2055,6 +2056,8 @@ static int __init iucv_init(void)
|
|||||||
root_device_unregister(iucv_root);
|
root_device_unregister(iucv_root);
|
||||||
out_int:
|
out_int:
|
||||||
unregister_external_interrupt(0x4000, iucv_external_interrupt);
|
unregister_external_interrupt(0x4000, iucv_external_interrupt);
|
||||||
|
out_ctl:
|
||||||
|
ctl_clear_bit(0, 1);
|
||||||
out:
|
out:
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user