@@ -14,6 +14,7 @@
#define S390_CCW_HELPER_H
#include "s390-ccw.h"
+#include "s390-time.h"
/* Avoids compiler warnings when casting a pointer to a u32 */
static inline uint32_t ptr2u32(void *ptr)
@@ -28,4 +29,20 @@ static inline void *u32toptr(uint32_t n)
return (void *)(uint64_t)n;
}
+static inline void yield(void)
+{
+ asm volatile ("diag 0,0,0x44"
+ : :
+ : "memory", "cc");
+}
+
+static inline void sleep(unsigned int seconds)
+{
+ ulong target = get_time_seconds() + seconds;
+
+ while (get_time_seconds() < target) {
+ yield();
+ }
+}
+
#endif
@@ -142,26 +142,8 @@ static inline void debug_print_addr(const char *desc, void *p)
#define KVM_S390_VIRTIO_SET_STATUS 2
#define KVM_S390_VIRTIO_CCW_NOTIFY 3
-static inline void yield(void)
-{
- asm volatile ("diag 0,0,0x44"
- : :
- : "memory", "cc");
-}
-
#define MAX_SECTOR_SIZE 4096
-#include "s390-time.h"
-
-static inline void sleep(unsigned int seconds)
-{
- ulong target = get_time_seconds() + seconds;
-
- while (get_time_seconds() < target) {
- yield();
- }
-}
-
static inline void IPL_assert(bool term, const char *message)
{
if (!term) {
@@ -20,6 +20,7 @@
#include "s390-ccw.h"
#include "virtio.h"
#include "s390-time.h"
+#include "helper.h"
#ifndef DEBUG_VIRTIO_NET
#define DEBUG_VIRTIO_NET 0
@@ -15,6 +15,7 @@
#include "scsi.h"
#include "virtio-scsi.h"
#include "s390-time.h"
+#include "helper.h"
static ScsiDevice default_scsi_device;
static VirtioScsiCmdReq req;