aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-02-05 15:18:37 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-02-05 15:18:37 -0500
commitab14de6c37fae22911ba99f4171613e6d758050b (patch)
tree7545169fe9d64a82616ae37f2b6c1a420c77f30f /drivers/s390/cio/cio.c
parent31ee4b2f40994e8b21691f85cdd4052551a789b7 (diff)
[S390] Convert memory detection into C code.
Hopefully this will make it more maintainable and less error prone. Code makes use of search_exception_tables(). Since it calls this function before the kernel exeception table is sorted, there is an early call to sort_main_extable(). This way it's easy to use the already present infrastructure of fixup sections. Also this would allows to easily convert the rest of head[31|64].S into C code. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r--drivers/s390/cio/cio.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index ad2b37929848..23e71a76cdab 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -895,11 +895,11 @@ static int stsch_reset(struct subchannel_id schid, volatile struct schib *addr)
895 int rc; 895 int rc;
896 896
897 pgm_check_occured = 0; 897 pgm_check_occured = 0;
898 s390_reset_pgm_handler = cio_reset_pgm_check_handler; 898 s390_base_pgm_handler_fn = cio_reset_pgm_check_handler;
899 rc = stsch(schid, addr); 899 rc = stsch(schid, addr);
900 s390_reset_pgm_handler = NULL; 900 s390_base_pgm_handler_fn = NULL;
901 901
902 /* The program check handler could have changed pgm_check_occured */ 902 /* The program check handler could have changed pgm_check_occured. */
903 barrier(); 903 barrier();
904 904
905 if (pgm_check_occured) 905 if (pgm_check_occured)
@@ -957,7 +957,7 @@ static void css_reset(void)
957 /* Reset subchannels. */ 957 /* Reset subchannels. */
958 for_each_subchannel(__shutdown_subchannel_easy, NULL); 958 for_each_subchannel(__shutdown_subchannel_easy, NULL);
959 /* Reset channel paths. */ 959 /* Reset channel paths. */
960 s390_reset_mcck_handler = s390_reset_chpids_mcck_handler; 960 s390_base_mcck_handler_fn = s390_reset_chpids_mcck_handler;
961 /* Enable channel report machine checks. */ 961 /* Enable channel report machine checks. */
962 __ctl_set_bit(14, 28); 962 __ctl_set_bit(14, 28);
963 /* Temporarily reenable machine checks. */ 963 /* Temporarily reenable machine checks. */
@@ -982,7 +982,7 @@ static void css_reset(void)
982 local_mcck_disable(); 982 local_mcck_disable();
983 /* Disable channel report machine checks. */ 983 /* Disable channel report machine checks. */
984 __ctl_clear_bit(14, 28); 984 __ctl_clear_bit(14, 28);
985 s390_reset_mcck_handler = NULL; 985 s390_base_mcck_handler_fn = NULL;
986} 986}
987 987
988static struct reset_call css_reset_call = { 988static struct reset_call css_reset_call = {