Commit 5beab99100335936f4d845f9ae2f0e25796f2584

Authored by Martin Schwidefsky
1 parent 89c9b66b10

[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>

Showing 3 changed files with 7 additions and 4 deletions Side-by-side Diff

arch/s390/kernel/head31.S
... ... @@ -45,7 +45,7 @@
45 45 # virtual and never return ...
46 46 .align 8
47 47 .Lentry:.long 0x00080000,0x80000000 + _stext
48   -.Lctl: .long 0x04b50002 # cr0: various things
  48 +.Lctl: .long 0x04b50000 # cr0: various things
49 49 .long 0 # cr1: primary space segment table
50 50 .long .Lduct # cr2: dispatchable unit control table
51 51 .long 0 # cr3: instruction authorization
arch/s390/kernel/head64.S
... ... @@ -46,7 +46,7 @@
46 46 .align 16
47 47 .LPG1:
48 48 .Lentry:.quad 0x0000000180000000,_stext
49   -.Lctl: .quad 0x04350002 # cr0: various things
  49 +.Lctl: .quad 0x04350000 # cr0: various things
50 50 .quad 0 # cr1: primary space segment table
51 51 .quad .Lduct # cr2: dispatchable unit control table
52 52 .quad 0 # cr3: instruction authorization
... ... @@ -1988,12 +1988,13 @@
1988 1988 rc = -EPROTONOSUPPORT;
1989 1989 goto out;
1990 1990 }
  1991 + ctl_set_bit(0, 1);
1991 1992 rc = iucv_query_maxconn();
1992 1993 if (rc)
1993   - goto out;
  1994 + goto out_ctl;
1994 1995 rc = register_external_interrupt(0x4000, iucv_external_interrupt);
1995 1996 if (rc)
1996   - goto out;
  1997 + goto out_ctl;
1997 1998 iucv_root = root_device_register("iucv");
1998 1999 if (IS_ERR(iucv_root)) {
1999 2000 rc = PTR_ERR(iucv_root);
... ... @@ -2055,6 +2056,8 @@
2055 2056 root_device_unregister(iucv_root);
2056 2057 out_int:
2057 2058 unregister_external_interrupt(0x4000, iucv_external_interrupt);
  2059 +out_ctl:
  2060 + ctl_clear_bit(0, 1);
2058 2061 out:
2059 2062 return rc;
2060 2063 }