From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cohuck@redhat.com>
Cc: Alexander Graf <agraf@suse.de>,
Farhan Ali <alifm@linux.vnet.ibm.com>,
David Hildenbrand <david@redhat.com>,
Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>,
Alexey Kardashevskiy <aik@ozlabs.ru>
Subject: [Qemu-devel] [PATCH v3 01/10] pc-bios/s390-ccw: Move libc functions to separate header
Date: Mon, 10 Jul 2017 17:32:31 +0200 [thread overview]
Message-ID: <1499700760-4777-2-git-send-email-thuth@redhat.com> (raw)
In-Reply-To: <1499700760-4777-1-git-send-email-thuth@redhat.com>
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>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
pc-bios/s390-ccw/bootmap.c | 1 +
pc-bios/s390-ccw/libc.h | 45 ++++++++++++++++++++++++++++++++++++++++++
pc-bios/s390-ccw/main.c | 1 +
pc-bios/s390-ccw/s390-ccw.h | 29 ---------------------------
pc-bios/s390-ccw/sclp.c | 10 ++--------
pc-bios/s390-ccw/virtio-scsi.c | 1 +
pc-bios/s390-ccw/virtio.c | 1 +
7 files changed, 51 insertions(+), 37 deletions(-)
create mode 100644 pc-bios/s390-ccw/libc.h
diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index 523fa78..458d3da 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -8,6 +8,7 @@
* directory.
*/
+#include "libc.h"
#include "s390-ccw.h"
#include "bootmap.h"
#include "virtio.h"
diff --git a/pc-bios/s390-ccw/libc.h b/pc-bios/s390-ccw/libc.h
new file mode 100644
index 0000000..6397d67
--- /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 len)
+{
+ uint8_t *dest = s1;
+ const uint8_t *src = s2;
+ int i;
+
+ for (i = 0; i < len; i++) {
+ dest[i] = src[i];
+ }
+
+ return s1;
+}
+
+#endif
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 1cacc1b..40cba8d 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -8,6 +8,7 @@
* directory.
*/
+#include "libc.h"
#include "s390-ccw.h"
#include "virtio.h"
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index 2089274..43e2d42 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -18,12 +18,6 @@ typedef unsigned short u16;
typedef unsigned int u32;
typedef unsigned long long u64;
typedef unsigned long ulong;
-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;
typedef unsigned char __u8;
typedef unsigned short __u16;
typedef unsigned int __u32;
@@ -88,18 +82,6 @@ ulong get_second(void);
/* bootmap.c */
void zipl_load(void);
-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 fill_hex(char *out, unsigned char val)
{
const char hex[] = "0123456789abcdef";
@@ -169,17 +151,6 @@ static inline void sleep(unsigned int seconds)
}
}
-static inline void *memcpy(void *s1, const void *s2, size_t n)
-{
- uint8_t *p1 = s1;
- const uint8_t *p2 = s2;
-
- while (n--) {
- p1[n] = p2[n];
- }
- return s1;
-}
-
static inline void IPL_assert(bool term, const char *message)
{
if (!term) {
diff --git a/pc-bios/s390-ccw/sclp.c b/pc-bios/s390-ccw/sclp.c
index a1639ba..aa1c862 100644
--- a/pc-bios/s390-ccw/sclp.c
+++ b/pc-bios/s390-ccw/sclp.c
@@ -8,6 +8,7 @@
* directory.
*/
+#include "libc.h"
#include "s390-ccw.h"
#include "sclp.h"
@@ -59,13 +60,6 @@ static int _strlen(const char *str)
return i;
}
-static void _memcpy(char *dest, const char *src, int len)
-{
- int i;
- for (i = 0; i < len; i++)
- dest[i] = src[i];
-}
-
void sclp_print(const char *str)
{
int len = _strlen(str);
@@ -76,7 +70,7 @@ void sclp_print(const char *str)
sccb->ebh.length = sizeof(EventBufferHeader) + len;
sccb->ebh.type = SCLP_EVENT_ASCII_CONSOLE_DATA;
sccb->ebh.flags = 0;
- _memcpy(sccb->data, str, len);
+ memcpy(sccb->data, str, len);
sclp_service_call(SCLP_CMD_WRITE_EVENT_DATA, sccb);
}
diff --git a/pc-bios/s390-ccw/virtio-scsi.c b/pc-bios/s390-ccw/virtio-scsi.c
index f61ecf0..c92f5d3 100644
--- a/pc-bios/s390-ccw/virtio-scsi.c
+++ b/pc-bios/s390-ccw/virtio-scsi.c
@@ -9,6 +9,7 @@
* directory.
*/
+#include "libc.h"
#include "s390-ccw.h"
#include "virtio.h"
#include "scsi.h"
diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c
index 6ee93d5..8768331 100644
--- a/pc-bios/s390-ccw/virtio.c
+++ b/pc-bios/s390-ccw/virtio.c
@@ -8,6 +8,7 @@
* directory.
*/
+#include "libc.h"
#include "s390-ccw.h"
#include "virtio.h"
#include "virtio-scsi.h"
--
1.8.3.1
next prev parent reply other threads:[~2017-07-10 15:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-10 15:32 [Qemu-devel] [PATCH v3 00/10] Implement network booting directly into the s390-ccw BIOS Thomas Huth
2017-07-10 15:32 ` Thomas Huth [this message]
2017-07-11 7:49 ` [Qemu-devel] [PATCH v3 01/10] pc-bios/s390-ccw: Move libc functions to separate header Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 02/10] pc-bios/s390-ccw: Move ebc2asc to sclp.c Thomas Huth
2017-07-11 9:43 ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 03/10] pc-bios/s390-ccw: Move virtio-block related functions into a separate file Thomas Huth
2017-07-11 7:53 ` Cornelia Huck
2017-07-11 9:45 ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 04/10] pc-bios/s390-ccw: Add a write() function for stdio Thomas Huth
2017-07-11 9:47 ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 05/10] pc-bios/s390-ccw: Move byteswap functions to a separate header Thomas Huth
2017-07-11 7:39 ` Christian Borntraeger
2017-07-11 7:59 ` Cornelia Huck
2017-07-11 8:52 ` Thomas Huth
2017-07-11 9:05 ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 06/10] pc-bios/s390-ccw: Add code for virtio feature negotiation Thomas Huth
2017-07-11 8:47 ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 07/10] roms/SLOF: Update submodule to latest status Thomas Huth
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 08/10] pc-bios/s390-ccw: Add core files for the network bootloading program Thomas Huth
2017-07-11 8:52 ` Cornelia Huck
2017-07-11 13:30 ` Thomas Huth
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 09/10] pc-bios/s390-ccw: Add virtio-net driver code Thomas Huth
2017-07-11 8:57 ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 10/10] pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP load Thomas Huth
2017-07-11 9:01 ` Cornelia Huck
2017-07-11 7:46 ` [Qemu-devel] [PATCH v3 00/10] Implement network booting directly into the s390-ccw BIOS Christian Borntraeger
2017-07-11 13:37 ` no-reply
2017-07-11 14:04 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1499700760-4777-2-git-send-email-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=alifm@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=mihajlov@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).