aboutsummaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorFrank Munzert2009-03-26 15:24:45 +0100
committerMartin Schwidefsky2009-03-26 15:24:27 +0100
commit159d1ff8f6c38086ed75f8e892790d0a4f3a6b71 (patch)
treee980fc9305c1d8a604d5af37e68807a306fed244 /arch/s390
parent866ba28418d30122d863c50182a202741f4dcf3e (diff)
[S390] Use csum_partial in checksum.h
The cksm function in system.h is duplicate to csum_partial in checksum.h. Remove cksm and use csum_partial instead. Signed-off-by: Frank Munzert <munzert@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/system.h16
-rw-r--r--arch/s390/kernel/ipl.c4
2 files changed, 3 insertions, 17 deletions
diff --git a/arch/s390/include/asm/system.h b/arch/s390/include/asm/system.h
index 3f2ccb82b863..3a8b26eb1f2e 100644
--- a/arch/s390/include/asm/system.h
+++ b/arch/s390/include/asm/system.h
@@ -458,22 +458,6 @@ static inline unsigned short stap(void)
return cpu_address;
}
-static inline u32 cksm(void *addr, unsigned long len)
-{
- register unsigned long _addr asm("0") = (unsigned long) addr;
- register unsigned long _len asm("1") = len;
- unsigned long accu = 0;
-
- asm volatile(
- "0:\n"
- " cksm %0,%1\n"
- " jnz 0b\n"
- : "+d" (accu), "+d" (_addr), "+d" (_len)
- :
- : "cc", "memory");
- return accu;
-}
-
extern void (*_machine_restart)(char *command);
extern void (*_machine_halt)(void);
extern void (*_machine_power_off)(void);
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index 5663c1f8e46a..505fec06e634 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -24,6 +24,7 @@
#include <asm/reset.h>
#include <asm/sclp.h>
#include <asm/setup.h>
+#include <asm/checksum.h>
#define IPL_PARM_BLOCK_VERSION 0
@@ -1359,7 +1360,8 @@ static void dump_reipl_run(struct shutdown_trigger *trigger)
"a" (&lowcore_ptr[smp_processor_id()]->ipib));
#endif
asm volatile("stura %0,%1"
- :: "a" (cksm(reipl_block_actual, reipl_block_actual->hdr.len)),
+ :: "a" (csum_partial(reipl_block_actual,
+ reipl_block_actual->hdr.len, 0)),
"a" (&lowcore_ptr[smp_processor_id()]->ipib_checksum));
preempt_enable();
dump_run(trigger);