diff options
Diffstat (limited to 'uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h')
-rw-r--r-- | uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h | 67 |
1 files changed, 33 insertions, 34 deletions
diff --git a/uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h b/uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h index 0090141..f46b478 100644 --- a/uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h +++ b/uClinux-2.4.20-uc1/include/asm-armnommu/checksum.h @@ -55,25 +55,24 @@ ip_fast_csum(unsigned char * iph, unsigned int ihl) unsigned int sum, tmp1; __asm__ __volatile__( - "ldr %0, [%1], #4 @ ip_fast_csum - ldr %3, [%1], #4 - sub %2, %2, #5 - adds %0, %0, %3 - ldr %3, [%1], #4 - adcs %0, %0, %3 - ldr %3, [%1], #4 - adcs %0, %0, %3 -1: ldr %3, [%1], #4 - adcs %0, %0, %3 - tst %2, #15 - subne %2, %2, #1 - bne 1b - adc %0, %0, #0 - adds %0, %0, %0, lsl #16 - addcs %0, %0, #0x10000 - mvn %0, %0 - mov %0, %0, lsr #16 - " + "ldr %0, [%1], #4 @ ip_fast_csum \n" + "ldr %3, [%1], #4 \n" + "sub %2, %2, #5 \n" + "adds %0, %0, %3 \n" + "ldr %3, [%1], #4 \n" + "adcs %0, %0, %3 \n" + "ldr %3, [%1], #4 \n" + "adcs %0, %0, %3 \n" +"1: ldr %3, [%1], #4 \n" + "adcs %0, %0, %3 \n" + "tst %2, #15 \n" + "subne %2, %2, #1 \n" + "bne 1b \n" + "adc %0, %0, #0 \n" + "adds %0, %0, %0, lsl #16 \n" + "addcs %0, %0, #0x10000 \n" + "mvn %0, %0 \n" + "mov %0, %0, lsr #16" : "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (tmp1) : "1" (iph), "2" (ihl) : "cc"); @@ -87,8 +86,8 @@ static inline unsigned int csum_fold(unsigned int sum) { __asm__( - "adds %0, %1, %1, lsl #16 @ csum_fold - addcs %0, %0, #0x10000" + "adds %0, %1, %1, lsl #16 @ csum_fold \n" + "addcs %0, %0, #0x10000" : "=r" (sum) : "r" (sum) : "cc"); @@ -100,11 +99,11 @@ csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len, unsigned int proto, unsigned int sum) { __asm__( - "adds %0, %1, %2 @ csum_tcpudp_nofold - adcs %0, %0, %3 - adcs %0, %0, %4 - adcs %0, %0, %5 - adc %0, %0, #0" + "adds %0, %1, %2 @ csum_tcpudp_nofold \n" + "adcs %0, %0, %3 \n" + "adcs %0, %0, %4 \n" + "adcs %0, %0, %5 \n" + "adc %0, %0, #0" : "=&r"(sum) : "r" (sum), "r" (daddr), "r" (saddr), "r" (ntohs(len) << 16), "Ir" (proto << 8) : "cc"); @@ -119,14 +118,14 @@ csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len, unsigned int proto, unsigned int sum) { __asm__( - "adds %0, %1, %2 @ csum_tcpudp_magic - adcs %0, %0, %3 - adcs %0, %0, %4 - adcs %0, %0, %5 - adc %0, %0, #0 - adds %0, %0, %0, lsl #16 - addcs %0, %0, #0x10000 - mvn %0, %0" + "adds %0, %1, %2 @ csum_tcpudp_magic \n" + "adcs %0, %0, %3 \n" + "adcs %0, %0, %4 \n" + "adcs %0, %0, %5 \n" + "adc %0, %0, #0 \n" + "adds %0, %0, %0, lsl #16 \n" + "addcs %0, %0, #0x10000 \n" + "mvn %0, %0" : "=&r"(sum) : "r" (sum), "r" (daddr), "r" (saddr), "r" (ntohs(len)), "Ir" (proto << 8) : "cc"); |