kvm: Conditionally apply workaround for KVM slot handling bug
[qemu] / linux-user / syscall_defs.h
index 41a9dd6..7f0b0df 100644 (file)
@@ -49,7 +49,7 @@
 #define TARGET_IOC_TYPEBITS    8
 
 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SH4) \
-    || defined(TARGET_M68K) || defined(TARGET_ALPHA) || defined(TARGET_CRIS)
+    || defined(TARGET_M68K) || defined(TARGET_CRIS)
 
 #define TARGET_IOC_SIZEBITS    14
 #define TARGET_IOC_DIRBITS     2
@@ -504,9 +504,15 @@ typedef struct {
 #define TARGET_SI_PAD_SIZE     ((TARGET_SI_MAX_SIZE/sizeof(int)) - 3)
 
 typedef struct target_siginfo {
+#ifdef TARGET_MIPS
+       int si_signo;
+       int si_code;
+       int si_errno;
+#else
        int si_signo;
        int si_errno;
        int si_code;
+#endif
 
        union {
                int _pad[TARGET_SI_PAD_SIZE];
@@ -1141,7 +1147,7 @@ struct target_stat {
 #endif
 };
 
-struct target_stat64 {
+struct __attribute__((__packed__)) target_stat64 {
        unsigned long long st_dev;
         unsigned long long st_ino;
        unsigned int st_mode;
@@ -1149,10 +1155,11 @@ struct target_stat64 {
        unsigned int st_uid;
        unsigned int st_gid;
        unsigned long long st_rdev;
-       unsigned short pad0;
+       unsigned long long __pad0;
        long long      st_size;
        int            st_blksize;
        long long      st_blocks;       /* Number 512-byte blocks allocated. */
+       unsigned int   __pad1;
        int            target_st_atime;
         unsigned int   target_st_atime_nsec;
        int            target_st_mtime;
@@ -1475,7 +1482,7 @@ struct target_stat {
 /* This matches struct stat64 in glibc2.1, hence the absolutely
  * insane amounts of padding around dev_t's.
  */
-struct target_stat64 {
+struct __attribute__((__packed__)) target_stat64 {
        unsigned long long      st_dev;
        unsigned char   __pad0[4];
 
@@ -1997,6 +2004,13 @@ struct linux_dirent64 {
     char            d_name[256];
 };
 
+struct target_mq_attr {
+    abi_long mq_flags;
+    abi_long mq_maxmsg;
+    abi_long mq_msgsize;
+    abi_long mq_curmsgs;
+};
+
 #include "socket.h"
 
 #include "errno_defs.h"