diff options
author | Thomas Huth | 2017-07-12 14:49:43 +0200 |
---|---|---|
committer | Christian Borntraeger | 2017-07-14 12:29:48 +0200 |
commit | 90806fec99d6cf32f627b66be3757901091dc7e9 (patch) | |
tree | 73c605420773ae92e040989e7f6efcde5d2bd157 /pc-bios/s390-ccw/libc.h | |
parent | s390x/css: use SubchDev.orb (diff) | |
download | qemu-90806fec99d6cf32f627b66be3757901091dc7e9.tar.gz qemu-90806fec99d6cf32f627b66be3757901091dc7e9.tar.xz qemu-90806fec99d6cf32f627b66be3757901091dc7e9.zip |
pc-bios/s390-ccw: Move libc functions to separate header
The upcoming netboot code will use the libc from SLOF. To be able
to still use s390-ccw.h there, the libc related functions in this
header have to be moved to a different location.
And while we're at it, remove the duplicate memcpy() function from
sclp.c.
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1499863793-18627-2-git-send-email-thuth@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'pc-bios/s390-ccw/libc.h')
-rw-r--r-- | pc-bios/s390-ccw/libc.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pc-bios/s390-ccw/libc.h b/pc-bios/s390-ccw/libc.h new file mode 100644 index 0000000000..0142ea8e7b --- /dev/null +++ b/pc-bios/s390-ccw/libc.h @@ -0,0 +1,45 @@ +/* + * libc-style definitions and functions + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#ifndef S390_CCW_LIBC_H +#define S390_CCW_LIBC_H + +typedef long size_t; +typedef int bool; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +typedef unsigned long long uint64_t; + +static inline void *memset(void *s, int c, size_t n) +{ + int i; + unsigned char *p = s; + + for (i = 0; i < n; i++) { + p[i] = c; + } + + return s; +} + +static inline void *memcpy(void *s1, const void *s2, size_t n) +{ + uint8_t *dest = s1; + const uint8_t *src = s2; + int i; + + for (i = 0; i < n; i++) { + dest[i] = src[i]; + } + + return s1; +} + +#endif |