[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.6 03/14] pc-bios/s390-ccw: add utility function
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL for-2.6 03/14] pc-bios/s390-ccw: add utility functions and "export" some others |
Date: |
Thu, 24 Mar 2016 09:29:52 +0100 |
From: "Eugene (jno) Dvurechenski" <address@hidden>
Add several utility functions, make IPL_check and IPL_assert generally
available, etc.
Acked-by: Cornelia Huck <address@hidden>
Signed-off-by: Eugene (jno) Dvurechenski <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
pc-bios/s390-ccw/bootmap.h | 18 ------------------
pc-bios/s390-ccw/s390-ccw.h | 39 +++++++++++++++++++++++++++++++++++++++
pc-bios/s390-ccw/virtio.c | 2 +-
3 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h
index e074587..bea1687 100644
--- a/pc-bios/s390-ccw/bootmap.h
+++ b/pc-bios/s390-ccw/bootmap.h
@@ -264,24 +264,6 @@ typedef enum {
/* utility code below */
-static inline void IPL_assert(bool term, const char *message)
-{
- if (!term) {
- sclp_print("\n! ");
- sclp_print(message);
- panic(" !\n"); /* no return */
- }
-}
-
-static inline void IPL_check(bool term, const char *message)
-{
- if (!term) {
- sclp_print("\n! WARNING: ");
- sclp_print(message);
- sclp_print(" !\n");
- }
-}
-
static const unsigned char ebc2asc[256] =
/* 0123456789abcdef0123456789abcdef */
"................................" /* 1F */
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index c24f720..5135911 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -67,6 +67,7 @@ bool virtio_is_blk(struct subchannel_id schid);
void virtio_setup_block(struct subchannel_id schid);
int virtio_read(ulong sector, void *load_addr);
int enable_mss_facility(void);
+ulong get_second(void);
/* bootmap.c */
void zipl_load(void);
@@ -143,4 +144,42 @@ static inline void yield(void)
#define MAX_SECTOR_SIZE 4096
+static inline void sleep(unsigned int seconds)
+{
+ ulong target = get_second() + seconds;
+
+ while (get_second() < target) {
+ yield();
+ }
+}
+
+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) {
+ sclp_print("\n! ");
+ sclp_print(message);
+ panic(" !\n"); /* no return */
+ }
+}
+
+static inline void IPL_check(bool term, const char *message)
+{
+ if (!term) {
+ sclp_print("\n! WARNING: ");
+ sclp_print(message);
+ sclp_print(" !\n");
+ }
+}
+
#endif /* S390_CCW_H */
diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c
index 2d27b1d..da51fb7 100644
--- a/pc-bios/s390-ccw/virtio.c
+++ b/pc-bios/s390-ccw/virtio.c
@@ -162,7 +162,7 @@ static u64 get_clock(void)
return r;
}
-static ulong get_second(void)
+ulong get_second(void)
{
return (get_clock() >> 12) / 1000000;
}
--
2.7.4
- [Qemu-devel] [PULL for-2.6 00/14] s390-ccw bios patches, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 02/14] pc-bios/s390-ccw: virtio_panic -> panic, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 09/14] pc-bios/s390-ccw: add scsi definitions, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 08/14] pc-bios/s390-ccw: add simplified virtio call, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 10/14] pc-bios/s390-ccw: add virtio-scsi implementation, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 03/14] pc-bios/s390-ccw: add utility functions and "export" some others,
Cornelia Huck <=
- [Qemu-devel] [PULL for-2.6 11/14] pc-bios/s390-ccw: enable virtio-scsi, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 01/14] pc-bios/s390-ccw: add more disk layout checks, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 05/14] pc-bios/s390-ccw: update virtio implementation to allow up to 3 vrings, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 04/14] pc-bios/s390-ccw: qemuize types, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 07/14] pc-bios/s390-ccw: make provisions for different backends, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 12/14] pc-bios/s390-ccw: enhance bootmap detection, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 13/14] pc-bios/s390-ccw: disambiguation of "No zIPL magic" message, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 14/14] s390-ccw.img: rebuild image, Cornelia Huck, 2016/03/24
- [Qemu-devel] [PULL for-2.6 06/14] pc-bios/s390-ccw: add vdev object to store all device details, Cornelia Huck, 2016/03/24
- Re: [Qemu-devel] [PULL for-2.6 00/14] s390-ccw bios patches, Peter Maydell, 2016/03/24