mirror of https://github.com/xemu-project/xemu.git
pc-bios/s390-ccw: Make ebcdic/ascii conversion public
Make the ebcdic_to_ascii function public to the rest of the "bios" code, as the volume label is no more the single thing to be converted. Signed-off-by: Eugene (jno) Dvurechenski <jno@linux.vnet.ibm.com> Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
This commit is contained in:
parent
5559716c98
commit
cfe2124a7f
|
@ -264,28 +264,6 @@ typedef enum {
|
||||||
|
|
||||||
/* utility code below */
|
/* utility code below */
|
||||||
|
|
||||||
static const unsigned char ebc2asc[256] =
|
|
||||||
/* 0123456789abcdef0123456789abcdef */
|
|
||||||
"................................" /* 1F */
|
|
||||||
"................................" /* 3F */
|
|
||||||
" ...........<(+|&.........!$*);." /* 5F first.chr.here.is.real.space */
|
|
||||||
"-/.........,%_>?.........`:#@'=\""/* 7F */
|
|
||||||
".abcdefghi.......jklmnopqr......" /* 9F */
|
|
||||||
"..stuvwxyz......................" /* BF */
|
|
||||||
".ABCDEFGHI.......JKLMNOPQR......" /* DF */
|
|
||||||
"..STUVWXYZ......0123456789......";/* FF */
|
|
||||||
|
|
||||||
static inline void ebcdic_to_ascii(const char *src,
|
|
||||||
char *dst,
|
|
||||||
unsigned int size)
|
|
||||||
{
|
|
||||||
unsigned int i;
|
|
||||||
for (i = 0; i < size; i++) {
|
|
||||||
unsigned c = src[i];
|
|
||||||
dst[i] = ebc2asc[c];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void print_volser(const void *volser)
|
static inline void print_volser(const void *volser)
|
||||||
{
|
{
|
||||||
char ascii[8];
|
char ascii[8];
|
||||||
|
|
|
@ -15,6 +15,17 @@ char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
|
||||||
static SubChannelId blk_schid = { .one = 1 };
|
static SubChannelId blk_schid = { .one = 1 };
|
||||||
IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
|
IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
|
||||||
|
|
||||||
|
const unsigned char ebc2asc[256] =
|
||||||
|
/* 0123456789abcdef0123456789abcdef */
|
||||||
|
"................................" /* 1F */
|
||||||
|
"................................" /* 3F */
|
||||||
|
" ...........<(+|&.........!$*);." /* 5F first.chr.here.is.real.space */
|
||||||
|
"-/.........,%_>?.........`:#@'=\""/* 7F */
|
||||||
|
".abcdefghi.......jklmnopqr......" /* 9F */
|
||||||
|
"..stuvwxyz......................" /* BF */
|
||||||
|
".ABCDEFGHI.......JKLMNOPQR......" /* DF */
|
||||||
|
"..STUVWXYZ......0123456789......";/* FF */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Priniciples of Operations (SA22-7832-09) chapter 17 requires that
|
* Priniciples of Operations (SA22-7832-09) chapter 17 requires that
|
||||||
* a subsystem-identification is at 184-187 and bytes 188-191 are zero
|
* a subsystem-identification is at 184-187 and bytes 188-191 are zero
|
||||||
|
|
|
@ -189,4 +189,17 @@ static inline void IPL_check(bool term, const char *message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const unsigned char ebc2asc[256];
|
||||||
|
static inline void ebcdic_to_ascii(const char *src,
|
||||||
|
char *dst,
|
||||||
|
unsigned int size)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
unsigned c = src[i];
|
||||||
|
dst[i] = ebc2asc[c];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* S390_CCW_H */
|
#endif /* S390_CCW_H */
|
||||||
|
|
Loading…
Reference in New Issue