diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-02-05 15:18:37 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-02-05 15:18:37 -0500 |
commit | ab14de6c37fae22911ba99f4171613e6d758050b (patch) | |
tree | 7545169fe9d64a82616ae37f2b6c1a420c77f30f /drivers/s390/cio/cio.c | |
parent | 31ee4b2f40994e8b21691f85cdd4052551a789b7 (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.c | 10 |
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 | ||
988 | static struct reset_call css_reset_call = { | 988 | static struct reset_call css_reset_call = { |