cregit-Linux how code gets into the kernel

Release 4.11 arch/s390/include/asm/ebcdic.h

/*
 *    EBCDIC -> ASCII, ASCII -> EBCDIC conversion routines.
 *
 *  S390 version
 *    Copyright IBM Corp. 1999
 *    Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
 */

#ifndef _EBCDIC_H

#define _EBCDIC_H

#ifndef _S390_TYPES_H
#include <types.h>
#endif

extern __u8 _ascebc_500[256];   /* ASCII -> EBCDIC 500 conversion table */
extern __u8 _ebcasc_500[256];   /* EBCDIC 500 -> ASCII conversion table */
extern __u8 _ascebc[256];   /* ASCII -> EBCDIC conversion table */
extern __u8 _ebcasc[256];   /* EBCDIC -> ASCII conversion table */
extern __u8 _ebc_tolower[256]; /* EBCDIC -> lowercase */
extern __u8 _ebc_toupper[256]; /* EBCDIC -> uppercase */


static inline void codepage_convert(const __u8 *codepage, volatile __u8 * addr, unsigned long nr) { if (nr-- <= 0) return; asm volatile( " bras 1,1f\n" " tr 0(1,%0),0(%2)\n" "0: tr 0(256,%0),0(%2)\n" " la %0,256(%0)\n" "1: ahi %1,-256\n" " jnm 0b\n" " ex %1,0(1)" : "+&a" (addr), "+&a" (nr) : "a" (codepage) : "cc", "memory", "1"); }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)1753.12%116.67%
Linus Torvalds721.88%116.67%
Martin Schwidefsky618.75%350.00%
Adrian Bunk26.25%116.67%
Total32100.00%6100.00%

#define ASCEBC(addr,nr) codepage_convert(_ascebc, addr, nr) #define EBCASC(addr,nr) codepage_convert(_ebcasc, addr, nr) #define ASCEBC_500(addr,nr) codepage_convert(_ascebc_500, addr, nr) #define EBCASC_500(addr,nr) codepage_convert(_ebcasc_500, addr, nr) #define EBC_TOLOWER(addr,nr) codepage_convert(_ebc_tolower, addr, nr) #define EBC_TOUPPER(addr,nr) codepage_convert(_ebc_toupper, addr, nr) #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)8958.94%111.11%
Linus Torvalds3523.18%222.22%
Peter Oberparleiter1811.92%111.11%
Martin Schwidefsky63.97%333.33%
Adrian Bunk21.32%111.11%
Heiko Carstens10.66%111.11%
Total151100.00%9100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.