qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze
@ 2017-02-24 17:40 Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 01/17] cpu-exec: unify icount_decr and tcg_exit_req Paolo Bonzini
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit a1cf5fac2b929ffa2abd1285401f2535ff8c6fea:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-block-2017-02-21' into staging (2017-02-21 13:58:50 +0000)

are available in the git repository at:


  git://github.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to f9e640f9a1a7185591985e10a557f11fbe783b87:

  qmp-events: fix GUEST_PANICKED description formatting (2017-02-24 16:19:44 +0100)

----------------------------------------------------------------
* kernel header update (requested by David and Vijay)
* GuestPanicInformation fixups (Anton)
* record/replay icount fixes (Pavel)
* cpu-exec cleanup, unification of icount_decr with tcg_exit_req (me)
* KVM_CAP_IMMEDIATE_EXIT support (me)
* vmxcap update (me)

----------------------------------------------------------------
Anton Nefedov (2):
      qapi: flatten GuestPanicInformation union
      qmp-events: fix GUEST_PANICKED description formatting

Paolo Bonzini (14):
      cpu-exec: unify icount_decr and tcg_exit_req
      cpu-exec: remove unnecessary check of cpu->exit_request
      update-linux-headers: update for 4.11
      update Linux headers to 4.11
      cpus: remove ugly cast on sigbus_handler
      KVM: x86: cleanup SIGBUS handlers
      cpus: reorganize signal handling code
      KVM: remove kvm_arch_on_sigbus
      KVM: do not use sigtimedwait to catch SIGBUS
      KVM: move SIG_IPI handling to kvm-all.c
      kvm: use atomic_read/atomic_set to access cpu->exit_request
      KVM: use KVM_CAP_IMMEDIATE_EXIT
      vmxcap: port to Python 3
      vmxcap: update for September 2016 SDM

Pavel Dovgalyuk (1):
      replay: check icount in cpu exec loop

 cpu-exec.c                                         |  83 ++--
 cpus.c                                             | 102 +----
 include/exec/gen-icount.h                          |  53 ++-
 include/qemu/compatfd.h                            |  42 ---
 include/qemu/osdep.h                               |  37 ++
 include/qom/cpu.h                                  |  15 +-
 include/standard-headers/asm-x86/hyperv.h          |   8 +
 include/standard-headers/linux/input-event-codes.h |   2 +-
 include/standard-headers/linux/pci_regs.h          |  25 ++
 include/standard-headers/linux/virtio_ids.h        |   1 +
 include/sysemu/kvm.h                               |  11 +-
 kvm-all.c                                          | 146 ++++++-
 kvm-stub.c                                         |  12 +-
 linux-headers/asm-arm/kvm.h                        |  15 +
 linux-headers/asm-arm/unistd-common.h              | 357 ++++++++++++++++++
 linux-headers/asm-arm/unistd-eabi.h                |   5 +
 linux-headers/asm-arm/unistd-oabi.h                |  17 +
 linux-headers/asm-arm/unistd.h                     | 419 +--------------------
 linux-headers/asm-arm64/kvm.h                      |  13 +
 linux-headers/asm-powerpc/kvm.h                    |  27 ++
 linux-headers/asm-powerpc/unistd.h                 |   1 +
 linux-headers/asm-x86/kvm_para.h                   |  13 +-
 linux-headers/linux/kvm.h                          |  24 +-
 linux-headers/linux/kvm_para.h                     |   2 +
 linux-headers/linux/userfaultfd.h                  |  67 +++-
 linux-headers/linux/vfio.h                         |  10 +
 qapi-schema.json                                   |  12 +
 qapi/event.json                                    |   4 +-
 qom/cpu.c                                          |   2 +-
 scripts/kvm/vmxcap                                 |  23 +-
 scripts/update-linux-headers.sh                    |  13 +-
 target/arm/kvm.c                                   |  10 -
 target/i386/cpu.c                                  |  15 +-
 target/i386/kvm.c                                  |  81 ++--
 target/mips/kvm.c                                  |  12 -
 target/ppc/kvm.c                                   |  10 -
 target/s390x/kvm.c                                 |  10 -
 tcg/tcg.h                                          |   1 -
 translate-all.c                                    |   2 +-
 translate-common.c                                 |  13 +-
 util/compatfd.c                                    |   1 -
 util/main-loop.c                                   |   5 +-
 util/oslib-posix.c                                 |  33 ++
 vl.c                                               |  12 +-
 44 files changed, 960 insertions(+), 806 deletions(-)
 delete mode 100644 include/qemu/compatfd.h
 create mode 100644 linux-headers/asm-arm/unistd-common.h
 create mode 100644 linux-headers/asm-arm/unistd-eabi.h
 create mode 100644 linux-headers/asm-arm/unistd-oabi.h
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 01/17] cpu-exec: unify icount_decr and tcg_exit_req
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 02/17] replay: check icount in cpu exec loop Paolo Bonzini
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The icount interrupt flag and tcg_exit_req serve almost the same
purpose, let's make them completely the same.

The former TB_EXIT_REQUESTED and TB_EXIT_ICOUNT_EXPIRED cases are
unified, since we can distinguish them from the value of the
interrupt flag.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpu-exec.c                | 70 ++++++++++++++++++++++-------------------------
 include/exec/gen-icount.h | 53 +++++++++++++++++------------------
 include/qom/cpu.h         | 15 +++++-----
 qom/cpu.c                 |  2 +-
 tcg/tcg.h                 |  1 -
 translate-all.c           |  2 +-
 translate-common.c        | 13 ++++-----
 7 files changed, 71 insertions(+), 85 deletions(-)

diff --git a/cpu-exec.c b/cpu-exec.c
index 142a586..8f094c8 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -185,12 +185,6 @@ static inline tcg_target_ulong cpu_tb_exec(CPUState *cpu, TranslationBlock *itb)
             cc->set_pc(cpu, last_tb->pc);
         }
     }
-    if (tb_exit == TB_EXIT_REQUESTED) {
-        /* We were asked to stop executing TBs (probably a pending
-         * interrupt. We've now stopped, so clear the flag.
-         */
-        atomic_set(&cpu->tcg_exit_req, 0);
-    }
     return ret;
 }
 
@@ -537,6 +531,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
                                     SyncClocks *sc)
 {
     uintptr_t ret;
+    int32_t insns_left;
 
     if (unlikely(atomic_read(&cpu->exit_request))) {
         return;
@@ -546,8 +541,15 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
     ret = cpu_tb_exec(cpu, tb);
     tb = (TranslationBlock *)(ret & ~TB_EXIT_MASK);
     *tb_exit = ret & TB_EXIT_MASK;
-    switch (*tb_exit) {
-    case TB_EXIT_REQUESTED:
+    if (*tb_exit != TB_EXIT_REQUESTED) {
+        *last_tb = tb;
+        return;
+    }
+
+    *last_tb = NULL;
+    insns_left = atomic_read(&cpu->icount_decr.u32);
+    atomic_set(&cpu->icount_decr.u16.high, 0);
+    if (insns_left < 0) {
         /* Something asked us to stop executing
          * chained TBs; just continue round the main
          * loop. Whatever requested the exit will also
@@ -559,38 +561,30 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
          * or cpu->interrupt_request.
          */
         smp_mb();
-        *last_tb = NULL;
-        break;
-    case TB_EXIT_ICOUNT_EXPIRED:
-    {
-        /* Instruction counter expired.  */
-#ifdef CONFIG_USER_ONLY
-        abort();
-#else
-        int insns_left = cpu->icount_decr.u32;
-        *last_tb = NULL;
-        if (cpu->icount_extra && insns_left >= 0) {
-            /* Refill decrementer and continue execution.  */
-            cpu->icount_extra += insns_left;
-            insns_left = MIN(0xffff, cpu->icount_extra);
-            cpu->icount_extra -= insns_left;
-            cpu->icount_decr.u16.low = insns_left;
-        } else {
-            if (insns_left > 0) {
-                /* Execute remaining instructions.  */
-                cpu_exec_nocache(cpu, insns_left, tb, false);
-                align_clocks(sc, cpu);
-            }
-            cpu->exception_index = EXCP_INTERRUPT;
-            cpu_loop_exit(cpu);
-        }
-        break;
-#endif
+        return;
     }
-    default:
-        *last_tb = tb;
-        break;
+
+    /* Instruction counter expired.  */
+    assert(use_icount);
+#ifndef CONFIG_USER_ONLY
+    if (cpu->icount_extra) {
+        /* Refill decrementer and continue execution.  */
+        cpu->icount_extra += insns_left;
+        insns_left = MIN(0xffff, cpu->icount_extra);
+        cpu->icount_extra -= insns_left;
+        cpu->icount_decr.u16.low = insns_left;
+    } else {
+        /* Execute any remaining instructions, then let the main loop
+         * handle the next event.
+         */
+        if (insns_left > 0) {
+            cpu_exec_nocache(cpu, insns_left, tb, false);
+            align_clocks(sc, cpu);
+        }
+        cpu->exception_index = EXCP_INTERRUPT;
+        cpu_loop_exit(cpu);
     }
+#endif
 }
 
 /* main execution loop */
diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
index 050de59..62d462e 100644
--- a/include/exec/gen-icount.h
+++ b/include/exec/gen-icount.h
@@ -6,58 +6,55 @@
 /* Helpers for instruction counting code generation.  */
 
 static int icount_start_insn_idx;
-static TCGLabel *icount_label;
 static TCGLabel *exitreq_label;
 
 static inline void gen_tb_start(TranslationBlock *tb)
 {
-    TCGv_i32 count, flag, imm;
+    TCGv_i32 count, imm;
 
     exitreq_label = gen_new_label();
-    flag = tcg_temp_new_i32();
-    tcg_gen_ld_i32(flag, cpu_env,
-                   offsetof(CPUState, tcg_exit_req) - ENV_OFFSET);
-    tcg_gen_brcondi_i32(TCG_COND_NE, flag, 0, exitreq_label);
-    tcg_temp_free_i32(flag);
-
-    if (!(tb->cflags & CF_USE_ICOUNT)) {
-        return;
+    if (tb->cflags & CF_USE_ICOUNT) {
+        count = tcg_temp_local_new_i32();
+    } else {
+        count = tcg_temp_new_i32();
     }
 
-    icount_label = gen_new_label();
-    count = tcg_temp_local_new_i32();
     tcg_gen_ld_i32(count, cpu_env,
                    -ENV_OFFSET + offsetof(CPUState, icount_decr.u32));
 
-    imm = tcg_temp_new_i32();
-    /* We emit a movi with a dummy immediate argument. Keep the insn index
-     * of the movi so that we later (when we know the actual insn count)
-     * can update the immediate argument with the actual insn count.  */
-    icount_start_insn_idx = tcg_op_buf_count();
-    tcg_gen_movi_i32(imm, 0xdeadbeef);
+    if (tb->cflags & CF_USE_ICOUNT) {
+        imm = tcg_temp_new_i32();
+        /* We emit a movi with a dummy immediate argument. Keep the insn index
+         * of the movi so that we later (when we know the actual insn count)
+         * can update the immediate argument with the actual insn count.  */
+        icount_start_insn_idx = tcg_op_buf_count();
+        tcg_gen_movi_i32(imm, 0xdeadbeef);
+
+        tcg_gen_sub_i32(count, count, imm);
+        tcg_temp_free_i32(imm);
+    }
+
+    tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, exitreq_label);
 
-    tcg_gen_sub_i32(count, count, imm);
-    tcg_temp_free_i32(imm);
+    if (tb->cflags & CF_USE_ICOUNT) {
+        tcg_gen_st16_i32(count, cpu_env,
+                         -ENV_OFFSET + offsetof(CPUState, icount_decr.u16.low));
+    }
 
-    tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, icount_label);
-    tcg_gen_st16_i32(count, cpu_env,
-                     -ENV_OFFSET + offsetof(CPUState, icount_decr.u16.low));
     tcg_temp_free_i32(count);
 }
 
 static void gen_tb_end(TranslationBlock *tb, int num_insns)
 {
-    gen_set_label(exitreq_label);
-    tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_REQUESTED);
-
     if (tb->cflags & CF_USE_ICOUNT) {
         /* Update the num_insn immediate parameter now that we know
          * the actual insn count.  */
         tcg_set_insn_param(icount_start_insn_idx, 1, num_insns);
-        gen_set_label(icount_label);
-        tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_ICOUNT_EXPIRED);
     }
 
+    gen_set_label(exitreq_label);
+    tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_REQUESTED);
+
     /* Terminate the linked list.  */
     tcg_ctx.gen_op_buf[tcg_ctx.gen_op_buf[0].prev].next = 0;
 }
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index f69b240..1bc3ad2 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -275,11 +275,11 @@ struct qemu_work_item;
  * @stopped: Indicates the CPU has been artificially stopped.
  * @unplug: Indicates a pending CPU unplug request.
  * @crash_occurred: Indicates the OS reported a crash (panic) for this CPU
- * @tcg_exit_req: Set to force TCG to stop executing linked TBs for this
- *           CPU and return to its top level loop.
  * @singlestep_enabled: Flags for single-stepping.
  * @icount_extra: Instructions until next timer event.
- * @icount_decr: Number of cycles left, with interrupt flag in high bit.
+ * @icount_decr: Low 16 bits: number of cycles left, only used in icount mode.
+ * High 16 bits: Set to -1 to force TCG to stop executing linked TBs for this
+ * CPU and return to its top level loop (even in non-icount mode).
  * This allows a single read-compare-cbranch-write sequence to test
  * for both decrementer underflow and exceptions.
  * @can_do_io: Nonzero if memory-mapped IO is safe. Deterministic execution
@@ -381,10 +381,6 @@ struct CPUState {
     /* TODO Move common fields from CPUArchState here. */
     int cpu_index; /* used by alpha TCG */
     uint32_t halted; /* used by alpha, cris, ppc TCG */
-    union {
-        uint32_t u32;
-        icount_decr_u16 u16;
-    } icount_decr;
     uint32_t can_do_io;
     int32_t exception_index; /* used by m68k TCG */
 
@@ -397,7 +393,10 @@ struct CPUState {
        offset from AREG0.  Leave this field at the end so as to make the
        (absolute value) offset as small as possible.  This reduces code
        size, especially for hosts without large memory offsets.  */
-    uint32_t tcg_exit_req;
+    union {
+        uint32_t u32;
+        icount_decr_u16 u16;
+    } icount_decr;
 
     bool hax_vcpu_dirty;
     struct hax_vcpu_state *hax_vcpu;
diff --git a/qom/cpu.c b/qom/cpu.c
index ed87c50..7e005af 100644
--- a/qom/cpu.c
+++ b/qom/cpu.c
@@ -123,7 +123,7 @@ void cpu_exit(CPUState *cpu)
     atomic_set(&cpu->exit_request, 1);
     /* Ensure cpu_exec will see the exit request after TCG has exited.  */
     smp_wmb();
-    atomic_set(&cpu->tcg_exit_req, 1);
+    atomic_set(&cpu->icount_decr.u16.high, -1);
 }
 
 int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu,
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 631c6f6..167aa30 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -1108,7 +1108,6 @@ static inline unsigned get_mmuidx(TCGMemOpIdx oi)
 #define TB_EXIT_MASK 3
 #define TB_EXIT_IDX0 0
 #define TB_EXIT_IDX1 1
-#define TB_EXIT_ICOUNT_EXPIRED 2
 #define TB_EXIT_REQUESTED 3
 
 #ifdef HAVE_TCG_QEMU_TB_EXEC
diff --git a/translate-all.c b/translate-all.c
index 5f44ec8..1a21e3f 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -1958,7 +1958,7 @@ void dump_opcount_info(FILE *f, fprintf_function cpu_fprintf)
 void cpu_interrupt(CPUState *cpu, int mask)
 {
     cpu->interrupt_request |= mask;
-    cpu->tcg_exit_req = 1;
+    cpu->icount_decr.u16.high = -1;
 }
 
 /*
diff --git a/translate-common.c b/translate-common.c
index 5e989cd..77762fd 100644
--- a/translate-common.c
+++ b/translate-common.c
@@ -43,14 +43,11 @@ static void tcg_handle_interrupt(CPUState *cpu, int mask)
         return;
     }
 
-    if (use_icount) {
-        cpu->icount_decr.u16.high = 0xffff;
-        if (!cpu->can_do_io
-            && (mask & ~old_mask) != 0) {
-            cpu_abort(cpu, "Raised interrupt while not in I/O function");
-        }
-    } else {
-        cpu->tcg_exit_req = 1;
+    cpu->icount_decr.u16.high = -1;
+    if (use_icount &&
+        !cpu->can_do_io
+        && (mask & ~old_mask) != 0) {
+        cpu_abort(cpu, "Raised interrupt while not in I/O function");
     }
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 02/17] replay: check icount in cpu exec loop
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 01/17] cpu-exec: unify icount_decr and tcg_exit_req Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 03/17] cpu-exec: remove unnecessary check of cpu->exit_request Paolo Bonzini
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Pavel Dovgalyuk, Pavel Dovgalyuk

From: Pavel Dovgalyuk <dovgaluk@ispras.ru>

This patch adds check to break cpu loop when icount expires without
setting the TB_EXIT_ICOUNT_EXPIRED flag. It happens when there is no
available translated blocks and all instructions were executed.
In icount replay mode unnecessary tb_find will be called (which may
cause an exception) and execution will be non-deterministic.
Because cpu_loop_exec_tb cannot longjmp anymore, we can remove
the anticipated call to align_clocks in cpu_loop_exec_tb, as
well as the SyncClocks *sc argument.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-Id: <002801d2810f$18809c20$4981d460$@ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Pavel Dovgalyuk <dovgaluk@ispras.ru>
---
 cpu-exec.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/cpu-exec.c b/cpu-exec.c
index 8f094c8..7ddf66c 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -517,7 +517,10 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
             *last_tb = NULL;
         }
     }
-    if (unlikely(atomic_read(&cpu->exit_request) || replay_has_interrupt())) {
+
+    /* Finally, check if we need to exit to the main loop.  */
+    if (unlikely(atomic_read(&cpu->exit_request)
+        || (use_icount && cpu->icount_decr.u16.low + cpu->icount_extra == 0))) {
         atomic_set(&cpu->exit_request, 0);
         cpu->exception_index = EXCP_INTERRUPT;
         return true;
@@ -527,8 +530,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
 }
 
 static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
-                                    TranslationBlock **last_tb, int *tb_exit,
-                                    SyncClocks *sc)
+                                    TranslationBlock **last_tb, int *tb_exit)
 {
     uintptr_t ret;
     int32_t insns_left;
@@ -579,10 +581,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
          */
         if (insns_left > 0) {
             cpu_exec_nocache(cpu, insns_left, tb, false);
-            align_clocks(sc, cpu);
         }
-        cpu->exception_index = EXCP_INTERRUPT;
-        cpu_loop_exit(cpu);
     }
 #endif
 }
@@ -593,7 +592,7 @@ int cpu_exec(CPUState *cpu)
 {
     CPUClass *cc = CPU_GET_CLASS(cpu);
     int ret;
-    SyncClocks sc;
+    SyncClocks sc = { 0 };
 
     /* replay_interrupt may need current_cpu */
     current_cpu = cpu;
@@ -643,7 +642,7 @@ int cpu_exec(CPUState *cpu)
 
         while (!cpu_handle_interrupt(cpu, &last_tb)) {
             TranslationBlock *tb = tb_find(cpu, last_tb, tb_exit);
-            cpu_loop_exec_tb(cpu, tb, &last_tb, &tb_exit, &sc);
+            cpu_loop_exec_tb(cpu, tb, &last_tb, &tb_exit);
             /* Try to align the host and virtual clocks
                if the guest is in advance */
             align_clocks(&sc, cpu);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 03/17] cpu-exec: remove unnecessary check of cpu->exit_request
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 01/17] cpu-exec: unify icount_decr and tcg_exit_req Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 02/17] replay: check icount in cpu exec loop Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 04/17] update-linux-headers: update for 4.11 Paolo Bonzini
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The cpu->exit_request check in cpu_loop_exec_tb is unnecessary,
because cpu->tcg_exit_req is always set after cpu->exit_request.
So let the TB exit and we will pick up the exit request later
in cpu_handle_interrupt.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpu-exec.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/cpu-exec.c b/cpu-exec.c
index 7ddf66c..7db959c 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -535,10 +535,6 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb,
     uintptr_t ret;
     int32_t insns_left;
 
-    if (unlikely(atomic_read(&cpu->exit_request))) {
-        return;
-    }
-
     trace_exec_tb(tb, tb->pc);
     ret = cpu_tb_exec(cpu, tb);
     tb = (TranslationBlock *)(ret & ~TB_EXIT_MASK);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 04/17] update-linux-headers: update for 4.11
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (2 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 03/17] cpu-exec: remove unnecessary check of cpu->exit_request Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 05/17] update Linux headers to 4.11 Paolo Bonzini
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The linux-headers/asm-arm/unistd.h file has been split in three
sub-files, copy them along.  However, building them requires
setting ARCH rather than SRCARCH.

SRCARCH defaults to $(ARCH) anyway; to avoid future occurrence of
the same problem use ARCH for all architectures where SRCARCH=ARCH.
Currently these are all except x86, sparc, sh and tile.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/update-linux-headers.sh | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index 72cf1fb..6a370a8 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -75,7 +75,13 @@ for arch in $ARCHLIST; do
         continue
     fi
 
-    make -C "$linux" INSTALL_HDR_PATH="$tmpdir" SRCARCH=$arch headers_install
+    if [ "$arch" = x86 ]; then
+        arch_var=SRCARCH
+    else
+        arch_var=ARCH
+    fi
+
+    make -C "$linux" INSTALL_HDR_PATH="$tmpdir" $arch_var=$arch headers_install
 
     rm -rf "$output/linux-headers/asm-$arch"
     mkdir -p "$output/linux-headers/asm-$arch"
@@ -92,6 +98,11 @@ for arch in $ARCHLIST; do
         cp_portable "$tmpdir/include/asm/kvm_virtio.h" "$output/include/standard-headers/asm-s390/"
         cp_portable "$tmpdir/include/asm/virtio-ccw.h" "$output/include/standard-headers/asm-s390/"
     fi
+    if [ $arch = arm ]; then
+        cp "$tmpdir/include/asm/unistd-eabi.h" "$output/linux-headers/asm-arm/"
+        cp "$tmpdir/include/asm/unistd-oabi.h" "$output/linux-headers/asm-arm/"
+        cp "$tmpdir/include/asm/unistd-common.h" "$output/linux-headers/asm-arm/"
+    fi
     if [ $arch = x86 ]; then
         cp_portable "$tmpdir/include/asm/hyperv.h" "$output/include/standard-headers/asm-x86/"
         cp "$tmpdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/"
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 05/17] update Linux headers to 4.11
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (3 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 04/17] update-linux-headers: update for 4.11 Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 06/17] cpus: remove ugly cast on sigbus_handler Paolo Bonzini
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: dgilbert, vijay.kilari

virtio_mmio.h would be deleted; I am leaving it in though it was a
mistake to add it.

Cc: dgilbert@redhat.com
Cc: vijay.kilari@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/standard-headers/asm-x86/hyperv.h          |   8 +
 include/standard-headers/linux/input-event-codes.h |   2 +-
 include/standard-headers/linux/pci_regs.h          |  25 ++
 include/standard-headers/linux/virtio_ids.h        |   1 +
 linux-headers/asm-arm/kvm.h                        |  15 +
 linux-headers/asm-arm/unistd-common.h              | 357 ++++++++++++++++++
 linux-headers/asm-arm/unistd-eabi.h                |   5 +
 linux-headers/asm-arm/unistd-oabi.h                |  17 +
 linux-headers/asm-arm/unistd.h                     | 419 +--------------------
 linux-headers/asm-arm64/kvm.h                      |  13 +
 linux-headers/asm-powerpc/kvm.h                    |  27 ++
 linux-headers/asm-powerpc/unistd.h                 |   1 +
 linux-headers/asm-x86/kvm_para.h                   |  13 +-
 linux-headers/linux/kvm.h                          |  24 +-
 linux-headers/linux/kvm_para.h                     |   2 +
 linux-headers/linux/userfaultfd.h                  |  67 +++-
 linux-headers/linux/vfio.h                         |  10 +
 17 files changed, 577 insertions(+), 429 deletions(-)
 create mode 100644 linux-headers/asm-arm/unistd-common.h
 create mode 100644 linux-headers/asm-arm/unistd-eabi.h
 create mode 100644 linux-headers/asm-arm/unistd-oabi.h

diff --git a/include/standard-headers/asm-x86/hyperv.h b/include/standard-headers/asm-x86/hyperv.h
index 47b38fb..eca9a2c 100644
--- a/include/standard-headers/asm-x86/hyperv.h
+++ b/include/standard-headers/asm-x86/hyperv.h
@@ -73,6 +73,9 @@
   */
 #define HV_X64_MSR_STAT_PAGES_AVAILABLE		(1 << 8)
 
+/* Crash MSR available */
+#define HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE (1 << 10)
+
 /*
  * Feature identification: EBX indicates which flags were specified at
  * partition creation. The format is the same as the partition creation
@@ -144,6 +147,11 @@
  */
 #define HV_X64_RELAXED_TIMING_RECOMMENDED	(1 << 5)
 
+/*
+ * Crash notification flag.
+ */
+#define HV_CRASH_CTL_CRASH_NOTIFY (1ULL << 63)
+
 /* MSR used to identify the guest OS. */
 #define HV_X64_MSR_GUEST_OS_ID			0x40000000
 
diff --git a/include/standard-headers/linux/input-event-codes.h b/include/standard-headers/linux/input-event-codes.h
index 5c10f7e..c8b3338 100644
--- a/include/standard-headers/linux/input-event-codes.h
+++ b/include/standard-headers/linux/input-event-codes.h
@@ -640,7 +640,7 @@
  * Control a data application associated with the currently viewed channel,
  * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
  */
-#define KEY_DATA			0x275
+#define KEY_DATA			0x277
 
 #define BTN_TRIGGER_HAPPY		0x2c0
 #define BTN_TRIGGER_HAPPY1		0x2c0
diff --git a/include/standard-headers/linux/pci_regs.h b/include/standard-headers/linux/pci_regs.h
index e5a2e68..634c9c4 100644
--- a/include/standard-headers/linux/pci_regs.h
+++ b/include/standard-headers/linux/pci_regs.h
@@ -23,6 +23,14 @@
 #define LINUX_PCI_REGS_H
 
 /*
+ * Conventional PCI and PCI-X Mode 1 devices have 256 bytes of
+ * configuration space.  PCI-X Mode 2 and PCIe devices have 4096 bytes of
+ * configuration space.
+ */
+#define PCI_CFG_SPACE_SIZE	256
+#define PCI_CFG_SPACE_EXP_SIZE	4096
+
+/*
  * Under PCI, each device has 256 bytes of configuration address space,
  * of which the first 64 bytes are standardized as follows:
  */
@@ -674,6 +682,7 @@
 #define PCI_EXT_CAP_ID_PMUX	0x1A	/* Protocol Multiplexing */
 #define PCI_EXT_CAP_ID_PASID	0x1B	/* Process Address Space ID */
 #define PCI_EXT_CAP_ID_DPC	0x1D	/* Downstream Port Containment */
+#define PCI_EXT_CAP_ID_L1SS	0x1E	/* L1 PM Substates */
 #define PCI_EXT_CAP_ID_PTM	0x1F	/* Precision Time Measurement */
 #define PCI_EXT_CAP_ID_MAX	PCI_EXT_CAP_ID_PTM
 
@@ -965,6 +974,7 @@
 #define PCI_EXP_DPC_STATUS		8	/* DPC Status */
 #define  PCI_EXP_DPC_STATUS_TRIGGER	0x01	/* Trigger Status */
 #define  PCI_EXP_DPC_STATUS_INTERRUPT	0x08	/* Interrupt Status */
+#define  PCI_EXP_DPC_RP_BUSY		0x10	/* Root Port Busy */
 
 #define PCI_EXP_DPC_SOURCE_ID		10	/* DPC Source Identifier */
 
@@ -977,4 +987,19 @@
 #define  PCI_PTM_CTRL_ENABLE		0x00000001  /* PTM enable */
 #define  PCI_PTM_CTRL_ROOT		0x00000002  /* Root select */
 
+/* L1 PM Substates */
+#define PCI_L1SS_CAP		    4	/* capability register */
+#define  PCI_L1SS_CAP_PCIPM_L1_2	 1	/* PCI PM L1.2 Support */
+#define  PCI_L1SS_CAP_PCIPM_L1_1	 2	/* PCI PM L1.1 Support */
+#define  PCI_L1SS_CAP_ASPM_L1_2		 4	/* ASPM L1.2 Support */
+#define  PCI_L1SS_CAP_ASPM_L1_1		 8	/* ASPM L1.1 Support */
+#define  PCI_L1SS_CAP_L1_PM_SS		16	/* L1 PM Substates Support */
+#define PCI_L1SS_CTL1		    8	/* Control Register 1 */
+#define  PCI_L1SS_CTL1_PCIPM_L1_2	1	/* PCI PM L1.2 Enable */
+#define  PCI_L1SS_CTL1_PCIPM_L1_1	2	/* PCI PM L1.1 Support */
+#define  PCI_L1SS_CTL1_ASPM_L1_2	4	/* ASPM L1.2 Support */
+#define  PCI_L1SS_CTL1_ASPM_L1_1	8	/* ASPM L1.1 Support */
+#define  PCI_L1SS_CTL1_L1SS_MASK	0x0000000F
+#define PCI_L1SS_CTL2		    0xC	/* Control Register 2 */
+
 #endif /* LINUX_PCI_REGS_H */
diff --git a/include/standard-headers/linux/virtio_ids.h b/include/standard-headers/linux/virtio_ids.h
index fe74e42..6d5c3b2 100644
--- a/include/standard-headers/linux/virtio_ids.h
+++ b/include/standard-headers/linux/virtio_ids.h
@@ -43,4 +43,5 @@
 #define VIRTIO_ID_INPUT        18 /* virtio input */
 #define VIRTIO_ID_VSOCK        19 /* virtio vsock transport */
 #define VIRTIO_ID_CRYPTO       20 /* virtio crypto */
+
 #endif /* _LINUX_VIRTIO_IDS_H */
diff --git a/linux-headers/asm-arm/kvm.h b/linux-headers/asm-arm/kvm.h
index 2fb7859..1101d55 100644
--- a/linux-headers/asm-arm/kvm.h
+++ b/linux-headers/asm-arm/kvm.h
@@ -87,9 +87,11 @@ struct kvm_regs {
 /* Supported VGICv3 address types  */
 #define KVM_VGIC_V3_ADDR_TYPE_DIST	2
 #define KVM_VGIC_V3_ADDR_TYPE_REDIST	3
+#define KVM_VGIC_ITS_ADDR_TYPE		4
 
 #define KVM_VGIC_V3_DIST_SIZE		SZ_64K
 #define KVM_VGIC_V3_REDIST_SIZE		(2 * SZ_64K)
+#define KVM_VGIC_V3_ITS_SIZE		(2 * SZ_64K)
 
 #define KVM_ARM_VCPU_POWER_OFF		0 /* CPU is started in OFF state */
 #define KVM_ARM_VCPU_PSCI_0_2		1 /* CPU uses PSCI v0.2 */
@@ -179,10 +181,23 @@ struct kvm_arch_memory_slot {
 #define KVM_DEV_ARM_VGIC_GRP_CPU_REGS	2
 #define   KVM_DEV_ARM_VGIC_CPUID_SHIFT	32
 #define   KVM_DEV_ARM_VGIC_CPUID_MASK	(0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
+#define   KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
+#define   KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
+			(0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
 #define   KVM_DEV_ARM_VGIC_OFFSET_SHIFT	0
 #define   KVM_DEV_ARM_VGIC_OFFSET_MASK	(0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
+#define   KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
 #define KVM_DEV_ARM_VGIC_GRP_NR_IRQS	3
 #define KVM_DEV_ARM_VGIC_GRP_CTRL       4
+#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
+#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
+#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO  7
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT	10
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
+			(0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
+#define VGIC_LEVEL_INFO_LINE_LEVEL	0
+
 #define   KVM_DEV_ARM_VGIC_CTRL_INIT    0
 
 /* KVM_IRQ_LINE irq field index values */
diff --git a/linux-headers/asm-arm/unistd-common.h b/linux-headers/asm-arm/unistd-common.h
new file mode 100644
index 0000000..13a74af
--- /dev/null
+++ b/linux-headers/asm-arm/unistd-common.h
@@ -0,0 +1,357 @@
+#ifndef _ASM_ARM_UNISTD_COMMON_H
+#define _ASM_ARM_UNISTD_COMMON_H 1
+
+#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0)
+#define __NR_exit (__NR_SYSCALL_BASE + 1)
+#define __NR_fork (__NR_SYSCALL_BASE + 2)
+#define __NR_read (__NR_SYSCALL_BASE + 3)
+#define __NR_write (__NR_SYSCALL_BASE + 4)
+#define __NR_open (__NR_SYSCALL_BASE + 5)
+#define __NR_close (__NR_SYSCALL_BASE + 6)
+#define __NR_creat (__NR_SYSCALL_BASE + 8)
+#define __NR_link (__NR_SYSCALL_BASE + 9)
+#define __NR_unlink (__NR_SYSCALL_BASE + 10)
+#define __NR_execve (__NR_SYSCALL_BASE + 11)
+#define __NR_chdir (__NR_SYSCALL_BASE + 12)
+#define __NR_mknod (__NR_SYSCALL_BASE + 14)
+#define __NR_chmod (__NR_SYSCALL_BASE + 15)
+#define __NR_lchown (__NR_SYSCALL_BASE + 16)
+#define __NR_lseek (__NR_SYSCALL_BASE + 19)
+#define __NR_getpid (__NR_SYSCALL_BASE + 20)
+#define __NR_mount (__NR_SYSCALL_BASE + 21)
+#define __NR_setuid (__NR_SYSCALL_BASE + 23)
+#define __NR_getuid (__NR_SYSCALL_BASE + 24)
+#define __NR_ptrace (__NR_SYSCALL_BASE + 26)
+#define __NR_pause (__NR_SYSCALL_BASE + 29)
+#define __NR_access (__NR_SYSCALL_BASE + 33)
+#define __NR_nice (__NR_SYSCALL_BASE + 34)
+#define __NR_sync (__NR_SYSCALL_BASE + 36)
+#define __NR_kill (__NR_SYSCALL_BASE + 37)
+#define __NR_rename (__NR_SYSCALL_BASE + 38)
+#define __NR_mkdir (__NR_SYSCALL_BASE + 39)
+#define __NR_rmdir (__NR_SYSCALL_BASE + 40)
+#define __NR_dup (__NR_SYSCALL_BASE + 41)
+#define __NR_pipe (__NR_SYSCALL_BASE + 42)
+#define __NR_times (__NR_SYSCALL_BASE + 43)
+#define __NR_brk (__NR_SYSCALL_BASE + 45)
+#define __NR_setgid (__NR_SYSCALL_BASE + 46)
+#define __NR_getgid (__NR_SYSCALL_BASE + 47)
+#define __NR_geteuid (__NR_SYSCALL_BASE + 49)
+#define __NR_getegid (__NR_SYSCALL_BASE + 50)
+#define __NR_acct (__NR_SYSCALL_BASE + 51)
+#define __NR_umount2 (__NR_SYSCALL_BASE + 52)
+#define __NR_ioctl (__NR_SYSCALL_BASE + 54)
+#define __NR_fcntl (__NR_SYSCALL_BASE + 55)
+#define __NR_setpgid (__NR_SYSCALL_BASE + 57)
+#define __NR_umask (__NR_SYSCALL_BASE + 60)
+#define __NR_chroot (__NR_SYSCALL_BASE + 61)
+#define __NR_ustat (__NR_SYSCALL_BASE + 62)
+#define __NR_dup2 (__NR_SYSCALL_BASE + 63)
+#define __NR_getppid (__NR_SYSCALL_BASE + 64)
+#define __NR_getpgrp (__NR_SYSCALL_BASE + 65)
+#define __NR_setsid (__NR_SYSCALL_BASE + 66)
+#define __NR_sigaction (__NR_SYSCALL_BASE + 67)
+#define __NR_setreuid (__NR_SYSCALL_BASE + 70)
+#define __NR_setregid (__NR_SYSCALL_BASE + 71)
+#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72)
+#define __NR_sigpending (__NR_SYSCALL_BASE + 73)
+#define __NR_sethostname (__NR_SYSCALL_BASE + 74)
+#define __NR_setrlimit (__NR_SYSCALL_BASE + 75)
+#define __NR_getrusage (__NR_SYSCALL_BASE + 77)
+#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78)
+#define __NR_settimeofday (__NR_SYSCALL_BASE + 79)
+#define __NR_getgroups (__NR_SYSCALL_BASE + 80)
+#define __NR_setgroups (__NR_SYSCALL_BASE + 81)
+#define __NR_symlink (__NR_SYSCALL_BASE + 83)
+#define __NR_readlink (__NR_SYSCALL_BASE + 85)
+#define __NR_uselib (__NR_SYSCALL_BASE + 86)
+#define __NR_swapon (__NR_SYSCALL_BASE + 87)
+#define __NR_reboot (__NR_SYSCALL_BASE + 88)
+#define __NR_munmap (__NR_SYSCALL_BASE + 91)
+#define __NR_truncate (__NR_SYSCALL_BASE + 92)
+#define __NR_ftruncate (__NR_SYSCALL_BASE + 93)
+#define __NR_fchmod (__NR_SYSCALL_BASE + 94)
+#define __NR_fchown (__NR_SYSCALL_BASE + 95)
+#define __NR_getpriority (__NR_SYSCALL_BASE + 96)
+#define __NR_setpriority (__NR_SYSCALL_BASE + 97)
+#define __NR_statfs (__NR_SYSCALL_BASE + 99)
+#define __NR_fstatfs (__NR_SYSCALL_BASE + 100)
+#define __NR_syslog (__NR_SYSCALL_BASE + 103)
+#define __NR_setitimer (__NR_SYSCALL_BASE + 104)
+#define __NR_getitimer (__NR_SYSCALL_BASE + 105)
+#define __NR_stat (__NR_SYSCALL_BASE + 106)
+#define __NR_lstat (__NR_SYSCALL_BASE + 107)
+#define __NR_fstat (__NR_SYSCALL_BASE + 108)
+#define __NR_vhangup (__NR_SYSCALL_BASE + 111)
+#define __NR_wait4 (__NR_SYSCALL_BASE + 114)
+#define __NR_swapoff (__NR_SYSCALL_BASE + 115)
+#define __NR_sysinfo (__NR_SYSCALL_BASE + 116)
+#define __NR_fsync (__NR_SYSCALL_BASE + 118)
+#define __NR_sigreturn (__NR_SYSCALL_BASE + 119)
+#define __NR_clone (__NR_SYSCALL_BASE + 120)
+#define __NR_setdomainname (__NR_SYSCALL_BASE + 121)
+#define __NR_uname (__NR_SYSCALL_BASE + 122)
+#define __NR_adjtimex (__NR_SYSCALL_BASE + 124)
+#define __NR_mprotect (__NR_SYSCALL_BASE + 125)
+#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126)
+#define __NR_init_module (__NR_SYSCALL_BASE + 128)
+#define __NR_delete_module (__NR_SYSCALL_BASE + 129)
+#define __NR_quotactl (__NR_SYSCALL_BASE + 131)
+#define __NR_getpgid (__NR_SYSCALL_BASE + 132)
+#define __NR_fchdir (__NR_SYSCALL_BASE + 133)
+#define __NR_bdflush (__NR_SYSCALL_BASE + 134)
+#define __NR_sysfs (__NR_SYSCALL_BASE + 135)
+#define __NR_personality (__NR_SYSCALL_BASE + 136)
+#define __NR_setfsuid (__NR_SYSCALL_BASE + 138)
+#define __NR_setfsgid (__NR_SYSCALL_BASE + 139)
+#define __NR__llseek (__NR_SYSCALL_BASE + 140)
+#define __NR_getdents (__NR_SYSCALL_BASE + 141)
+#define __NR__newselect (__NR_SYSCALL_BASE + 142)
+#define __NR_flock (__NR_SYSCALL_BASE + 143)
+#define __NR_msync (__NR_SYSCALL_BASE + 144)
+#define __NR_readv (__NR_SYSCALL_BASE + 145)
+#define __NR_writev (__NR_SYSCALL_BASE + 146)
+#define __NR_getsid (__NR_SYSCALL_BASE + 147)
+#define __NR_fdatasync (__NR_SYSCALL_BASE + 148)
+#define __NR__sysctl (__NR_SYSCALL_BASE + 149)
+#define __NR_mlock (__NR_SYSCALL_BASE + 150)
+#define __NR_munlock (__NR_SYSCALL_BASE + 151)
+#define __NR_mlockall (__NR_SYSCALL_BASE + 152)
+#define __NR_munlockall (__NR_SYSCALL_BASE + 153)
+#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154)
+#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155)
+#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156)
+#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157)
+#define __NR_sched_yield (__NR_SYSCALL_BASE + 158)
+#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159)
+#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160)
+#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161)
+#define __NR_nanosleep (__NR_SYSCALL_BASE + 162)
+#define __NR_mremap (__NR_SYSCALL_BASE + 163)
+#define __NR_setresuid (__NR_SYSCALL_BASE + 164)
+#define __NR_getresuid (__NR_SYSCALL_BASE + 165)
+#define __NR_poll (__NR_SYSCALL_BASE + 168)
+#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169)
+#define __NR_setresgid (__NR_SYSCALL_BASE + 170)
+#define __NR_getresgid (__NR_SYSCALL_BASE + 171)
+#define __NR_prctl (__NR_SYSCALL_BASE + 172)
+#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173)
+#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174)
+#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175)
+#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176)
+#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177)
+#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178)
+#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179)
+#define __NR_pread64 (__NR_SYSCALL_BASE + 180)
+#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181)
+#define __NR_chown (__NR_SYSCALL_BASE + 182)
+#define __NR_getcwd (__NR_SYSCALL_BASE + 183)
+#define __NR_capget (__NR_SYSCALL_BASE + 184)
+#define __NR_capset (__NR_SYSCALL_BASE + 185)
+#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186)
+#define __NR_sendfile (__NR_SYSCALL_BASE + 187)
+#define __NR_vfork (__NR_SYSCALL_BASE + 190)
+#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191)
+#define __NR_mmap2 (__NR_SYSCALL_BASE + 192)
+#define __NR_truncate64 (__NR_SYSCALL_BASE + 193)
+#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194)
+#define __NR_stat64 (__NR_SYSCALL_BASE + 195)
+#define __NR_lstat64 (__NR_SYSCALL_BASE + 196)
+#define __NR_fstat64 (__NR_SYSCALL_BASE + 197)
+#define __NR_lchown32 (__NR_SYSCALL_BASE + 198)
+#define __NR_getuid32 (__NR_SYSCALL_BASE + 199)
+#define __NR_getgid32 (__NR_SYSCALL_BASE + 200)
+#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201)
+#define __NR_getegid32 (__NR_SYSCALL_BASE + 202)
+#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203)
+#define __NR_setregid32 (__NR_SYSCALL_BASE + 204)
+#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205)
+#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206)
+#define __NR_fchown32 (__NR_SYSCALL_BASE + 207)
+#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208)
+#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209)
+#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210)
+#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211)
+#define __NR_chown32 (__NR_SYSCALL_BASE + 212)
+#define __NR_setuid32 (__NR_SYSCALL_BASE + 213)
+#define __NR_setgid32 (__NR_SYSCALL_BASE + 214)
+#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215)
+#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216)
+#define __NR_getdents64 (__NR_SYSCALL_BASE + 217)
+#define __NR_pivot_root (__NR_SYSCALL_BASE + 218)
+#define __NR_mincore (__NR_SYSCALL_BASE + 219)
+#define __NR_madvise (__NR_SYSCALL_BASE + 220)
+#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221)
+#define __NR_gettid (__NR_SYSCALL_BASE + 224)
+#define __NR_readahead (__NR_SYSCALL_BASE + 225)
+#define __NR_setxattr (__NR_SYSCALL_BASE + 226)
+#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227)
+#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228)
+#define __NR_getxattr (__NR_SYSCALL_BASE + 229)
+#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230)
+#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231)
+#define __NR_listxattr (__NR_SYSCALL_BASE + 232)
+#define __NR_llistxattr (__NR_SYSCALL_BASE + 233)
+#define __NR_flistxattr (__NR_SYSCALL_BASE + 234)
+#define __NR_removexattr (__NR_SYSCALL_BASE + 235)
+#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236)
+#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237)
+#define __NR_tkill (__NR_SYSCALL_BASE + 238)
+#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239)
+#define __NR_futex (__NR_SYSCALL_BASE + 240)
+#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241)
+#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242)
+#define __NR_io_setup (__NR_SYSCALL_BASE + 243)
+#define __NR_io_destroy (__NR_SYSCALL_BASE + 244)
+#define __NR_io_getevents (__NR_SYSCALL_BASE + 245)
+#define __NR_io_submit (__NR_SYSCALL_BASE + 246)
+#define __NR_io_cancel (__NR_SYSCALL_BASE + 247)
+#define __NR_exit_group (__NR_SYSCALL_BASE + 248)
+#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249)
+#define __NR_epoll_create (__NR_SYSCALL_BASE + 250)
+#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251)
+#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252)
+#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253)
+#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256)
+#define __NR_timer_create (__NR_SYSCALL_BASE + 257)
+#define __NR_timer_settime (__NR_SYSCALL_BASE + 258)
+#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259)
+#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260)
+#define __NR_timer_delete (__NR_SYSCALL_BASE + 261)
+#define __NR_clock_settime (__NR_SYSCALL_BASE + 262)
+#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263)
+#define __NR_clock_getres (__NR_SYSCALL_BASE + 264)
+#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265)
+#define __NR_statfs64 (__NR_SYSCALL_BASE + 266)
+#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267)
+#define __NR_tgkill (__NR_SYSCALL_BASE + 268)
+#define __NR_utimes (__NR_SYSCALL_BASE + 269)
+#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270)
+#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271)
+#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272)
+#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273)
+#define __NR_mq_open (__NR_SYSCALL_BASE + 274)
+#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275)
+#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276)
+#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277)
+#define __NR_mq_notify (__NR_SYSCALL_BASE + 278)
+#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279)
+#define __NR_waitid (__NR_SYSCALL_BASE + 280)
+#define __NR_socket (__NR_SYSCALL_BASE + 281)
+#define __NR_bind (__NR_SYSCALL_BASE + 282)
+#define __NR_connect (__NR_SYSCALL_BASE + 283)
+#define __NR_listen (__NR_SYSCALL_BASE + 284)
+#define __NR_accept (__NR_SYSCALL_BASE + 285)
+#define __NR_getsockname (__NR_SYSCALL_BASE + 286)
+#define __NR_getpeername (__NR_SYSCALL_BASE + 287)
+#define __NR_socketpair (__NR_SYSCALL_BASE + 288)
+#define __NR_send (__NR_SYSCALL_BASE + 289)
+#define __NR_sendto (__NR_SYSCALL_BASE + 290)
+#define __NR_recv (__NR_SYSCALL_BASE + 291)
+#define __NR_recvfrom (__NR_SYSCALL_BASE + 292)
+#define __NR_shutdown (__NR_SYSCALL_BASE + 293)
+#define __NR_setsockopt (__NR_SYSCALL_BASE + 294)
+#define __NR_getsockopt (__NR_SYSCALL_BASE + 295)
+#define __NR_sendmsg (__NR_SYSCALL_BASE + 296)
+#define __NR_recvmsg (__NR_SYSCALL_BASE + 297)
+#define __NR_semop (__NR_SYSCALL_BASE + 298)
+#define __NR_semget (__NR_SYSCALL_BASE + 299)
+#define __NR_semctl (__NR_SYSCALL_BASE + 300)
+#define __NR_msgsnd (__NR_SYSCALL_BASE + 301)
+#define __NR_msgrcv (__NR_SYSCALL_BASE + 302)
+#define __NR_msgget (__NR_SYSCALL_BASE + 303)
+#define __NR_msgctl (__NR_SYSCALL_BASE + 304)
+#define __NR_shmat (__NR_SYSCALL_BASE + 305)
+#define __NR_shmdt (__NR_SYSCALL_BASE + 306)
+#define __NR_shmget (__NR_SYSCALL_BASE + 307)
+#define __NR_shmctl (__NR_SYSCALL_BASE + 308)
+#define __NR_add_key (__NR_SYSCALL_BASE + 309)
+#define __NR_request_key (__NR_SYSCALL_BASE + 310)
+#define __NR_keyctl (__NR_SYSCALL_BASE + 311)
+#define __NR_semtimedop (__NR_SYSCALL_BASE + 312)
+#define __NR_vserver (__NR_SYSCALL_BASE + 313)
+#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314)
+#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315)
+#define __NR_inotify_init (__NR_SYSCALL_BASE + 316)
+#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317)
+#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318)
+#define __NR_mbind (__NR_SYSCALL_BASE + 319)
+#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320)
+#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321)
+#define __NR_openat (__NR_SYSCALL_BASE + 322)
+#define __NR_mkdirat (__NR_SYSCALL_BASE + 323)
+#define __NR_mknodat (__NR_SYSCALL_BASE + 324)
+#define __NR_fchownat (__NR_SYSCALL_BASE + 325)
+#define __NR_futimesat (__NR_SYSCALL_BASE + 326)
+#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327)
+#define __NR_unlinkat (__NR_SYSCALL_BASE + 328)
+#define __NR_renameat (__NR_SYSCALL_BASE + 329)
+#define __NR_linkat (__NR_SYSCALL_BASE + 330)
+#define __NR_symlinkat (__NR_SYSCALL_BASE + 331)
+#define __NR_readlinkat (__NR_SYSCALL_BASE + 332)
+#define __NR_fchmodat (__NR_SYSCALL_BASE + 333)
+#define __NR_faccessat (__NR_SYSCALL_BASE + 334)
+#define __NR_pselect6 (__NR_SYSCALL_BASE + 335)
+#define __NR_ppoll (__NR_SYSCALL_BASE + 336)
+#define __NR_unshare (__NR_SYSCALL_BASE + 337)
+#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338)
+#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339)
+#define __NR_splice (__NR_SYSCALL_BASE + 340)
+#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341)
+#define __NR_tee (__NR_SYSCALL_BASE + 342)
+#define __NR_vmsplice (__NR_SYSCALL_BASE + 343)
+#define __NR_move_pages (__NR_SYSCALL_BASE + 344)
+#define __NR_getcpu (__NR_SYSCALL_BASE + 345)
+#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346)
+#define __NR_kexec_load (__NR_SYSCALL_BASE + 347)
+#define __NR_utimensat (__NR_SYSCALL_BASE + 348)
+#define __NR_signalfd (__NR_SYSCALL_BASE + 349)
+#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350)
+#define __NR_eventfd (__NR_SYSCALL_BASE + 351)
+#define __NR_fallocate (__NR_SYSCALL_BASE + 352)
+#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353)
+#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354)
+#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355)
+#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356)
+#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357)
+#define __NR_dup3 (__NR_SYSCALL_BASE + 358)
+#define __NR_pipe2 (__NR_SYSCALL_BASE + 359)
+#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360)
+#define __NR_preadv (__NR_SYSCALL_BASE + 361)
+#define __NR_pwritev (__NR_SYSCALL_BASE + 362)
+#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363)
+#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364)
+#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365)
+#define __NR_accept4 (__NR_SYSCALL_BASE + 366)
+#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367)
+#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368)
+#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369)
+#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370)
+#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371)
+#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372)
+#define __NR_syncfs (__NR_SYSCALL_BASE + 373)
+#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374)
+#define __NR_setns (__NR_SYSCALL_BASE + 375)
+#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376)
+#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377)
+#define __NR_kcmp (__NR_SYSCALL_BASE + 378)
+#define __NR_finit_module (__NR_SYSCALL_BASE + 379)
+#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380)
+#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381)
+#define __NR_renameat2 (__NR_SYSCALL_BASE + 382)
+#define __NR_seccomp (__NR_SYSCALL_BASE + 383)
+#define __NR_getrandom (__NR_SYSCALL_BASE + 384)
+#define __NR_memfd_create (__NR_SYSCALL_BASE + 385)
+#define __NR_bpf (__NR_SYSCALL_BASE + 386)
+#define __NR_execveat (__NR_SYSCALL_BASE + 387)
+#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388)
+#define __NR_membarrier (__NR_SYSCALL_BASE + 389)
+#define __NR_mlock2 (__NR_SYSCALL_BASE + 390)
+#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391)
+#define __NR_preadv2 (__NR_SYSCALL_BASE + 392)
+#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393)
+#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394)
+#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395)
+#define __NR_pkey_free (__NR_SYSCALL_BASE + 396)
+
+#endif /* _ASM_ARM_UNISTD_COMMON_H */
diff --git a/linux-headers/asm-arm/unistd-eabi.h b/linux-headers/asm-arm/unistd-eabi.h
new file mode 100644
index 0000000..266f1fc
--- /dev/null
+++ b/linux-headers/asm-arm/unistd-eabi.h
@@ -0,0 +1,5 @@
+#ifndef _ASM_ARM_UNISTD_EABI_H
+#define _ASM_ARM_UNISTD_EABI_H 1
+
+
+#endif /* _ASM_ARM_UNISTD_EABI_H */
diff --git a/linux-headers/asm-arm/unistd-oabi.h b/linux-headers/asm-arm/unistd-oabi.h
new file mode 100644
index 0000000..47d9afb
--- /dev/null
+++ b/linux-headers/asm-arm/unistd-oabi.h
@@ -0,0 +1,17 @@
+#ifndef _ASM_ARM_UNISTD_OABI_H
+#define _ASM_ARM_UNISTD_OABI_H 1
+
+#define __NR_time (__NR_SYSCALL_BASE + 13)
+#define __NR_umount (__NR_SYSCALL_BASE + 22)
+#define __NR_stime (__NR_SYSCALL_BASE + 25)
+#define __NR_alarm (__NR_SYSCALL_BASE + 27)
+#define __NR_utime (__NR_SYSCALL_BASE + 30)
+#define __NR_getrlimit (__NR_SYSCALL_BASE + 76)
+#define __NR_select (__NR_SYSCALL_BASE + 82)
+#define __NR_readdir (__NR_SYSCALL_BASE + 89)
+#define __NR_mmap (__NR_SYSCALL_BASE + 90)
+#define __NR_socketcall (__NR_SYSCALL_BASE + 102)
+#define __NR_syscall (__NR_SYSCALL_BASE + 113)
+#define __NR_ipc (__NR_SYSCALL_BASE + 117)
+
+#endif /* _ASM_ARM_UNISTD_OABI_H */
diff --git a/linux-headers/asm-arm/unistd.h b/linux-headers/asm-arm/unistd.h
index ceb5450..155571b 100644
--- a/linux-headers/asm-arm/unistd.h
+++ b/linux-headers/asm-arm/unistd.h
@@ -17,409 +17,14 @@
 
 #if defined(__thumb__) || defined(__ARM_EABI__)
 #define __NR_SYSCALL_BASE	0
+#include <asm/unistd-eabi.h>
 #else
 #define __NR_SYSCALL_BASE	__NR_OABI_SYSCALL_BASE
+#include <asm/unistd-oabi.h>
 #endif
 
-/*
- * This file contains the system call numbers.
- */
-
-#define __NR_restart_syscall		(__NR_SYSCALL_BASE+  0)
-#define __NR_exit			(__NR_SYSCALL_BASE+  1)
-#define __NR_fork			(__NR_SYSCALL_BASE+  2)
-#define __NR_read			(__NR_SYSCALL_BASE+  3)
-#define __NR_write			(__NR_SYSCALL_BASE+  4)
-#define __NR_open			(__NR_SYSCALL_BASE+  5)
-#define __NR_close			(__NR_SYSCALL_BASE+  6)
-					/* 7 was sys_waitpid */
-#define __NR_creat			(__NR_SYSCALL_BASE+  8)
-#define __NR_link			(__NR_SYSCALL_BASE+  9)
-#define __NR_unlink			(__NR_SYSCALL_BASE+ 10)
-#define __NR_execve			(__NR_SYSCALL_BASE+ 11)
-#define __NR_chdir			(__NR_SYSCALL_BASE+ 12)
-#define __NR_time			(__NR_SYSCALL_BASE+ 13)
-#define __NR_mknod			(__NR_SYSCALL_BASE+ 14)
-#define __NR_chmod			(__NR_SYSCALL_BASE+ 15)
-#define __NR_lchown			(__NR_SYSCALL_BASE+ 16)
-					/* 17 was sys_break */
-					/* 18 was sys_stat */
-#define __NR_lseek			(__NR_SYSCALL_BASE+ 19)
-#define __NR_getpid			(__NR_SYSCALL_BASE+ 20)
-#define __NR_mount			(__NR_SYSCALL_BASE+ 21)
-#define __NR_umount			(__NR_SYSCALL_BASE+ 22)
-#define __NR_setuid			(__NR_SYSCALL_BASE+ 23)
-#define __NR_getuid			(__NR_SYSCALL_BASE+ 24)
-#define __NR_stime			(__NR_SYSCALL_BASE+ 25)
-#define __NR_ptrace			(__NR_SYSCALL_BASE+ 26)
-#define __NR_alarm			(__NR_SYSCALL_BASE+ 27)
-					/* 28 was sys_fstat */
-#define __NR_pause			(__NR_SYSCALL_BASE+ 29)
-#define __NR_utime			(__NR_SYSCALL_BASE+ 30)
-					/* 31 was sys_stty */
-					/* 32 was sys_gtty */
-#define __NR_access			(__NR_SYSCALL_BASE+ 33)
-#define __NR_nice			(__NR_SYSCALL_BASE+ 34)
-					/* 35 was sys_ftime */
-#define __NR_sync			(__NR_SYSCALL_BASE+ 36)
-#define __NR_kill			(__NR_SYSCALL_BASE+ 37)
-#define __NR_rename			(__NR_SYSCALL_BASE+ 38)
-#define __NR_mkdir			(__NR_SYSCALL_BASE+ 39)
-#define __NR_rmdir			(__NR_SYSCALL_BASE+ 40)
-#define __NR_dup			(__NR_SYSCALL_BASE+ 41)
-#define __NR_pipe			(__NR_SYSCALL_BASE+ 42)
-#define __NR_times			(__NR_SYSCALL_BASE+ 43)
-					/* 44 was sys_prof */
-#define __NR_brk			(__NR_SYSCALL_BASE+ 45)
-#define __NR_setgid			(__NR_SYSCALL_BASE+ 46)
-#define __NR_getgid			(__NR_SYSCALL_BASE+ 47)
-					/* 48 was sys_signal */
-#define __NR_geteuid			(__NR_SYSCALL_BASE+ 49)
-#define __NR_getegid			(__NR_SYSCALL_BASE+ 50)
-#define __NR_acct			(__NR_SYSCALL_BASE+ 51)
-#define __NR_umount2			(__NR_SYSCALL_BASE+ 52)
-					/* 53 was sys_lock */
-#define __NR_ioctl			(__NR_SYSCALL_BASE+ 54)
-#define __NR_fcntl			(__NR_SYSCALL_BASE+ 55)
-					/* 56 was sys_mpx */
-#define __NR_setpgid			(__NR_SYSCALL_BASE+ 57)
-					/* 58 was sys_ulimit */
-					/* 59 was sys_olduname */
-#define __NR_umask			(__NR_SYSCALL_BASE+ 60)
-#define __NR_chroot			(__NR_SYSCALL_BASE+ 61)
-#define __NR_ustat			(__NR_SYSCALL_BASE+ 62)
-#define __NR_dup2			(__NR_SYSCALL_BASE+ 63)
-#define __NR_getppid			(__NR_SYSCALL_BASE+ 64)
-#define __NR_getpgrp			(__NR_SYSCALL_BASE+ 65)
-#define __NR_setsid			(__NR_SYSCALL_BASE+ 66)
-#define __NR_sigaction			(__NR_SYSCALL_BASE+ 67)
-					/* 68 was sys_sgetmask */
-					/* 69 was sys_ssetmask */
-#define __NR_setreuid			(__NR_SYSCALL_BASE+ 70)
-#define __NR_setregid			(__NR_SYSCALL_BASE+ 71)
-#define __NR_sigsuspend			(__NR_SYSCALL_BASE+ 72)
-#define __NR_sigpending			(__NR_SYSCALL_BASE+ 73)
-#define __NR_sethostname		(__NR_SYSCALL_BASE+ 74)
-#define __NR_setrlimit			(__NR_SYSCALL_BASE+ 75)
-#define __NR_getrlimit			(__NR_SYSCALL_BASE+ 76)	/* Back compat 2GB limited rlimit */
-#define __NR_getrusage			(__NR_SYSCALL_BASE+ 77)
-#define __NR_gettimeofday		(__NR_SYSCALL_BASE+ 78)
-#define __NR_settimeofday		(__NR_SYSCALL_BASE+ 79)
-#define __NR_getgroups			(__NR_SYSCALL_BASE+ 80)
-#define __NR_setgroups			(__NR_SYSCALL_BASE+ 81)
-#define __NR_select			(__NR_SYSCALL_BASE+ 82)
-#define __NR_symlink			(__NR_SYSCALL_BASE+ 83)
-					/* 84 was sys_lstat */
-#define __NR_readlink			(__NR_SYSCALL_BASE+ 85)
-#define __NR_uselib			(__NR_SYSCALL_BASE+ 86)
-#define __NR_swapon			(__NR_SYSCALL_BASE+ 87)
-#define __NR_reboot			(__NR_SYSCALL_BASE+ 88)
-#define __NR_readdir			(__NR_SYSCALL_BASE+ 89)
-#define __NR_mmap			(__NR_SYSCALL_BASE+ 90)
-#define __NR_munmap			(__NR_SYSCALL_BASE+ 91)
-#define __NR_truncate			(__NR_SYSCALL_BASE+ 92)
-#define __NR_ftruncate			(__NR_SYSCALL_BASE+ 93)
-#define __NR_fchmod			(__NR_SYSCALL_BASE+ 94)
-#define __NR_fchown			(__NR_SYSCALL_BASE+ 95)
-#define __NR_getpriority		(__NR_SYSCALL_BASE+ 96)
-#define __NR_setpriority		(__NR_SYSCALL_BASE+ 97)
-					/* 98 was sys_profil */
-#define __NR_statfs			(__NR_SYSCALL_BASE+ 99)
-#define __NR_fstatfs			(__NR_SYSCALL_BASE+100)
-					/* 101 was sys_ioperm */
-#define __NR_socketcall			(__NR_SYSCALL_BASE+102)
-#define __NR_syslog			(__NR_SYSCALL_BASE+103)
-#define __NR_setitimer			(__NR_SYSCALL_BASE+104)
-#define __NR_getitimer			(__NR_SYSCALL_BASE+105)
-#define __NR_stat			(__NR_SYSCALL_BASE+106)
-#define __NR_lstat			(__NR_SYSCALL_BASE+107)
-#define __NR_fstat			(__NR_SYSCALL_BASE+108)
-					/* 109 was sys_uname */
-					/* 110 was sys_iopl */
-#define __NR_vhangup			(__NR_SYSCALL_BASE+111)
-					/* 112 was sys_idle */
-#define __NR_syscall			(__NR_SYSCALL_BASE+113) /* syscall to call a syscall! */
-#define __NR_wait4			(__NR_SYSCALL_BASE+114)
-#define __NR_swapoff			(__NR_SYSCALL_BASE+115)
-#define __NR_sysinfo			(__NR_SYSCALL_BASE+116)
-#define __NR_ipc			(__NR_SYSCALL_BASE+117)
-#define __NR_fsync			(__NR_SYSCALL_BASE+118)
-#define __NR_sigreturn			(__NR_SYSCALL_BASE+119)
-#define __NR_clone			(__NR_SYSCALL_BASE+120)
-#define __NR_setdomainname		(__NR_SYSCALL_BASE+121)
-#define __NR_uname			(__NR_SYSCALL_BASE+122)
-					/* 123 was sys_modify_ldt */
-#define __NR_adjtimex			(__NR_SYSCALL_BASE+124)
-#define __NR_mprotect			(__NR_SYSCALL_BASE+125)
-#define __NR_sigprocmask		(__NR_SYSCALL_BASE+126)
-					/* 127 was sys_create_module */
-#define __NR_init_module		(__NR_SYSCALL_BASE+128)
-#define __NR_delete_module		(__NR_SYSCALL_BASE+129)
-					/* 130 was sys_get_kernel_syms */
-#define __NR_quotactl			(__NR_SYSCALL_BASE+131)
-#define __NR_getpgid			(__NR_SYSCALL_BASE+132)
-#define __NR_fchdir			(__NR_SYSCALL_BASE+133)
-#define __NR_bdflush			(__NR_SYSCALL_BASE+134)
-#define __NR_sysfs			(__NR_SYSCALL_BASE+135)
-#define __NR_personality		(__NR_SYSCALL_BASE+136)
-					/* 137 was sys_afs_syscall */
-#define __NR_setfsuid			(__NR_SYSCALL_BASE+138)
-#define __NR_setfsgid			(__NR_SYSCALL_BASE+139)
-#define __NR__llseek			(__NR_SYSCALL_BASE+140)
-#define __NR_getdents			(__NR_SYSCALL_BASE+141)
-#define __NR__newselect			(__NR_SYSCALL_BASE+142)
-#define __NR_flock			(__NR_SYSCALL_BASE+143)
-#define __NR_msync			(__NR_SYSCALL_BASE+144)
-#define __NR_readv			(__NR_SYSCALL_BASE+145)
-#define __NR_writev			(__NR_SYSCALL_BASE+146)
-#define __NR_getsid			(__NR_SYSCALL_BASE+147)
-#define __NR_fdatasync			(__NR_SYSCALL_BASE+148)
-#define __NR__sysctl			(__NR_SYSCALL_BASE+149)
-#define __NR_mlock			(__NR_SYSCALL_BASE+150)
-#define __NR_munlock			(__NR_SYSCALL_BASE+151)
-#define __NR_mlockall			(__NR_SYSCALL_BASE+152)
-#define __NR_munlockall			(__NR_SYSCALL_BASE+153)
-#define __NR_sched_setparam		(__NR_SYSCALL_BASE+154)
-#define __NR_sched_getparam		(__NR_SYSCALL_BASE+155)
-#define __NR_sched_setscheduler		(__NR_SYSCALL_BASE+156)
-#define __NR_sched_getscheduler		(__NR_SYSCALL_BASE+157)
-#define __NR_sched_yield		(__NR_SYSCALL_BASE+158)
-#define __NR_sched_get_priority_max	(__NR_SYSCALL_BASE+159)
-#define __NR_sched_get_priority_min	(__NR_SYSCALL_BASE+160)
-#define __NR_sched_rr_get_interval	(__NR_SYSCALL_BASE+161)
-#define __NR_nanosleep			(__NR_SYSCALL_BASE+162)
-#define __NR_mremap			(__NR_SYSCALL_BASE+163)
-#define __NR_setresuid			(__NR_SYSCALL_BASE+164)
-#define __NR_getresuid			(__NR_SYSCALL_BASE+165)
-					/* 166 was sys_vm86 */
-					/* 167 was sys_query_module */
-#define __NR_poll			(__NR_SYSCALL_BASE+168)
-#define __NR_nfsservctl			(__NR_SYSCALL_BASE+169)
-#define __NR_setresgid			(__NR_SYSCALL_BASE+170)
-#define __NR_getresgid			(__NR_SYSCALL_BASE+171)
-#define __NR_prctl			(__NR_SYSCALL_BASE+172)
-#define __NR_rt_sigreturn		(__NR_SYSCALL_BASE+173)
-#define __NR_rt_sigaction		(__NR_SYSCALL_BASE+174)
-#define __NR_rt_sigprocmask		(__NR_SYSCALL_BASE+175)
-#define __NR_rt_sigpending		(__NR_SYSCALL_BASE+176)
-#define __NR_rt_sigtimedwait		(__NR_SYSCALL_BASE+177)
-#define __NR_rt_sigqueueinfo		(__NR_SYSCALL_BASE+178)
-#define __NR_rt_sigsuspend		(__NR_SYSCALL_BASE+179)
-#define __NR_pread64			(__NR_SYSCALL_BASE+180)
-#define __NR_pwrite64			(__NR_SYSCALL_BASE+181)
-#define __NR_chown			(__NR_SYSCALL_BASE+182)
-#define __NR_getcwd			(__NR_SYSCALL_BASE+183)
-#define __NR_capget			(__NR_SYSCALL_BASE+184)
-#define __NR_capset			(__NR_SYSCALL_BASE+185)
-#define __NR_sigaltstack		(__NR_SYSCALL_BASE+186)
-#define __NR_sendfile			(__NR_SYSCALL_BASE+187)
-					/* 188 reserved */
-					/* 189 reserved */
-#define __NR_vfork			(__NR_SYSCALL_BASE+190)
-#define __NR_ugetrlimit			(__NR_SYSCALL_BASE+191)	/* SuS compliant getrlimit */
-#define __NR_mmap2			(__NR_SYSCALL_BASE+192)
-#define __NR_truncate64			(__NR_SYSCALL_BASE+193)
-#define __NR_ftruncate64		(__NR_SYSCALL_BASE+194)
-#define __NR_stat64			(__NR_SYSCALL_BASE+195)
-#define __NR_lstat64			(__NR_SYSCALL_BASE+196)
-#define __NR_fstat64			(__NR_SYSCALL_BASE+197)
-#define __NR_lchown32			(__NR_SYSCALL_BASE+198)
-#define __NR_getuid32			(__NR_SYSCALL_BASE+199)
-#define __NR_getgid32			(__NR_SYSCALL_BASE+200)
-#define __NR_geteuid32			(__NR_SYSCALL_BASE+201)
-#define __NR_getegid32			(__NR_SYSCALL_BASE+202)
-#define __NR_setreuid32			(__NR_SYSCALL_BASE+203)
-#define __NR_setregid32			(__NR_SYSCALL_BASE+204)
-#define __NR_getgroups32		(__NR_SYSCALL_BASE+205)
-#define __NR_setgroups32		(__NR_SYSCALL_BASE+206)
-#define __NR_fchown32			(__NR_SYSCALL_BASE+207)
-#define __NR_setresuid32		(__NR_SYSCALL_BASE+208)
-#define __NR_getresuid32		(__NR_SYSCALL_BASE+209)
-#define __NR_setresgid32		(__NR_SYSCALL_BASE+210)
-#define __NR_getresgid32		(__NR_SYSCALL_BASE+211)
-#define __NR_chown32			(__NR_SYSCALL_BASE+212)
-#define __NR_setuid32			(__NR_SYSCALL_BASE+213)
-#define __NR_setgid32			(__NR_SYSCALL_BASE+214)
-#define __NR_setfsuid32			(__NR_SYSCALL_BASE+215)
-#define __NR_setfsgid32			(__NR_SYSCALL_BASE+216)
-#define __NR_getdents64			(__NR_SYSCALL_BASE+217)
-#define __NR_pivot_root			(__NR_SYSCALL_BASE+218)
-#define __NR_mincore			(__NR_SYSCALL_BASE+219)
-#define __NR_madvise			(__NR_SYSCALL_BASE+220)
-#define __NR_fcntl64			(__NR_SYSCALL_BASE+221)
-					/* 222 for tux */
-					/* 223 is unused */
-#define __NR_gettid			(__NR_SYSCALL_BASE+224)
-#define __NR_readahead			(__NR_SYSCALL_BASE+225)
-#define __NR_setxattr			(__NR_SYSCALL_BASE+226)
-#define __NR_lsetxattr			(__NR_SYSCALL_BASE+227)
-#define __NR_fsetxattr			(__NR_SYSCALL_BASE+228)
-#define __NR_getxattr			(__NR_SYSCALL_BASE+229)
-#define __NR_lgetxattr			(__NR_SYSCALL_BASE+230)
-#define __NR_fgetxattr			(__NR_SYSCALL_BASE+231)
-#define __NR_listxattr			(__NR_SYSCALL_BASE+232)
-#define __NR_llistxattr			(__NR_SYSCALL_BASE+233)
-#define __NR_flistxattr			(__NR_SYSCALL_BASE+234)
-#define __NR_removexattr		(__NR_SYSCALL_BASE+235)
-#define __NR_lremovexattr		(__NR_SYSCALL_BASE+236)
-#define __NR_fremovexattr		(__NR_SYSCALL_BASE+237)
-#define __NR_tkill			(__NR_SYSCALL_BASE+238)
-#define __NR_sendfile64			(__NR_SYSCALL_BASE+239)
-#define __NR_futex			(__NR_SYSCALL_BASE+240)
-#define __NR_sched_setaffinity		(__NR_SYSCALL_BASE+241)
-#define __NR_sched_getaffinity		(__NR_SYSCALL_BASE+242)
-#define __NR_io_setup			(__NR_SYSCALL_BASE+243)
-#define __NR_io_destroy			(__NR_SYSCALL_BASE+244)
-#define __NR_io_getevents		(__NR_SYSCALL_BASE+245)
-#define __NR_io_submit			(__NR_SYSCALL_BASE+246)
-#define __NR_io_cancel			(__NR_SYSCALL_BASE+247)
-#define __NR_exit_group			(__NR_SYSCALL_BASE+248)
-#define __NR_lookup_dcookie		(__NR_SYSCALL_BASE+249)
-#define __NR_epoll_create		(__NR_SYSCALL_BASE+250)
-#define __NR_epoll_ctl			(__NR_SYSCALL_BASE+251)
-#define __NR_epoll_wait			(__NR_SYSCALL_BASE+252)
-#define __NR_remap_file_pages		(__NR_SYSCALL_BASE+253)
-					/* 254 for set_thread_area */
-					/* 255 for get_thread_area */
-#define __NR_set_tid_address		(__NR_SYSCALL_BASE+256)
-#define __NR_timer_create		(__NR_SYSCALL_BASE+257)
-#define __NR_timer_settime		(__NR_SYSCALL_BASE+258)
-#define __NR_timer_gettime		(__NR_SYSCALL_BASE+259)
-#define __NR_timer_getoverrun		(__NR_SYSCALL_BASE+260)
-#define __NR_timer_delete		(__NR_SYSCALL_BASE+261)
-#define __NR_clock_settime		(__NR_SYSCALL_BASE+262)
-#define __NR_clock_gettime		(__NR_SYSCALL_BASE+263)
-#define __NR_clock_getres		(__NR_SYSCALL_BASE+264)
-#define __NR_clock_nanosleep		(__NR_SYSCALL_BASE+265)
-#define __NR_statfs64			(__NR_SYSCALL_BASE+266)
-#define __NR_fstatfs64			(__NR_SYSCALL_BASE+267)
-#define __NR_tgkill			(__NR_SYSCALL_BASE+268)
-#define __NR_utimes			(__NR_SYSCALL_BASE+269)
-#define __NR_arm_fadvise64_64		(__NR_SYSCALL_BASE+270)
-#define __NR_pciconfig_iobase		(__NR_SYSCALL_BASE+271)
-#define __NR_pciconfig_read		(__NR_SYSCALL_BASE+272)
-#define __NR_pciconfig_write		(__NR_SYSCALL_BASE+273)
-#define __NR_mq_open			(__NR_SYSCALL_BASE+274)
-#define __NR_mq_unlink			(__NR_SYSCALL_BASE+275)
-#define __NR_mq_timedsend		(__NR_SYSCALL_BASE+276)
-#define __NR_mq_timedreceive		(__NR_SYSCALL_BASE+277)
-#define __NR_mq_notify			(__NR_SYSCALL_BASE+278)
-#define __NR_mq_getsetattr		(__NR_SYSCALL_BASE+279)
-#define __NR_waitid			(__NR_SYSCALL_BASE+280)
-#define __NR_socket			(__NR_SYSCALL_BASE+281)
-#define __NR_bind			(__NR_SYSCALL_BASE+282)
-#define __NR_connect			(__NR_SYSCALL_BASE+283)
-#define __NR_listen			(__NR_SYSCALL_BASE+284)
-#define __NR_accept			(__NR_SYSCALL_BASE+285)
-#define __NR_getsockname		(__NR_SYSCALL_BASE+286)
-#define __NR_getpeername		(__NR_SYSCALL_BASE+287)
-#define __NR_socketpair			(__NR_SYSCALL_BASE+288)
-#define __NR_send			(__NR_SYSCALL_BASE+289)
-#define __NR_sendto			(__NR_SYSCALL_BASE+290)
-#define __NR_recv			(__NR_SYSCALL_BASE+291)
-#define __NR_recvfrom			(__NR_SYSCALL_BASE+292)
-#define __NR_shutdown			(__NR_SYSCALL_BASE+293)
-#define __NR_setsockopt			(__NR_SYSCALL_BASE+294)
-#define __NR_getsockopt			(__NR_SYSCALL_BASE+295)
-#define __NR_sendmsg			(__NR_SYSCALL_BASE+296)
-#define __NR_recvmsg			(__NR_SYSCALL_BASE+297)
-#define __NR_semop			(__NR_SYSCALL_BASE+298)
-#define __NR_semget			(__NR_SYSCALL_BASE+299)
-#define __NR_semctl			(__NR_SYSCALL_BASE+300)
-#define __NR_msgsnd			(__NR_SYSCALL_BASE+301)
-#define __NR_msgrcv			(__NR_SYSCALL_BASE+302)
-#define __NR_msgget			(__NR_SYSCALL_BASE+303)
-#define __NR_msgctl			(__NR_SYSCALL_BASE+304)
-#define __NR_shmat			(__NR_SYSCALL_BASE+305)
-#define __NR_shmdt			(__NR_SYSCALL_BASE+306)
-#define __NR_shmget			(__NR_SYSCALL_BASE+307)
-#define __NR_shmctl			(__NR_SYSCALL_BASE+308)
-#define __NR_add_key			(__NR_SYSCALL_BASE+309)
-#define __NR_request_key		(__NR_SYSCALL_BASE+310)
-#define __NR_keyctl			(__NR_SYSCALL_BASE+311)
-#define __NR_semtimedop			(__NR_SYSCALL_BASE+312)
-#define __NR_vserver			(__NR_SYSCALL_BASE+313)
-#define __NR_ioprio_set			(__NR_SYSCALL_BASE+314)
-#define __NR_ioprio_get			(__NR_SYSCALL_BASE+315)
-#define __NR_inotify_init		(__NR_SYSCALL_BASE+316)
-#define __NR_inotify_add_watch		(__NR_SYSCALL_BASE+317)
-#define __NR_inotify_rm_watch		(__NR_SYSCALL_BASE+318)
-#define __NR_mbind			(__NR_SYSCALL_BASE+319)
-#define __NR_get_mempolicy		(__NR_SYSCALL_BASE+320)
-#define __NR_set_mempolicy		(__NR_SYSCALL_BASE+321)
-#define __NR_openat			(__NR_SYSCALL_BASE+322)
-#define __NR_mkdirat			(__NR_SYSCALL_BASE+323)
-#define __NR_mknodat			(__NR_SYSCALL_BASE+324)
-#define __NR_fchownat			(__NR_SYSCALL_BASE+325)
-#define __NR_futimesat			(__NR_SYSCALL_BASE+326)
-#define __NR_fstatat64			(__NR_SYSCALL_BASE+327)
-#define __NR_unlinkat			(__NR_SYSCALL_BASE+328)
-#define __NR_renameat			(__NR_SYSCALL_BASE+329)
-#define __NR_linkat			(__NR_SYSCALL_BASE+330)
-#define __NR_symlinkat			(__NR_SYSCALL_BASE+331)
-#define __NR_readlinkat			(__NR_SYSCALL_BASE+332)
-#define __NR_fchmodat			(__NR_SYSCALL_BASE+333)
-#define __NR_faccessat			(__NR_SYSCALL_BASE+334)
-#define __NR_pselect6			(__NR_SYSCALL_BASE+335)
-#define __NR_ppoll			(__NR_SYSCALL_BASE+336)
-#define __NR_unshare			(__NR_SYSCALL_BASE+337)
-#define __NR_set_robust_list		(__NR_SYSCALL_BASE+338)
-#define __NR_get_robust_list		(__NR_SYSCALL_BASE+339)
-#define __NR_splice			(__NR_SYSCALL_BASE+340)
-#define __NR_arm_sync_file_range	(__NR_SYSCALL_BASE+341)
+#include <asm/unistd-common.h>
 #define __NR_sync_file_range2		__NR_arm_sync_file_range
-#define __NR_tee			(__NR_SYSCALL_BASE+342)
-#define __NR_vmsplice			(__NR_SYSCALL_BASE+343)
-#define __NR_move_pages			(__NR_SYSCALL_BASE+344)
-#define __NR_getcpu			(__NR_SYSCALL_BASE+345)
-#define __NR_epoll_pwait		(__NR_SYSCALL_BASE+346)
-#define __NR_kexec_load			(__NR_SYSCALL_BASE+347)
-#define __NR_utimensat			(__NR_SYSCALL_BASE+348)
-#define __NR_signalfd			(__NR_SYSCALL_BASE+349)
-#define __NR_timerfd_create		(__NR_SYSCALL_BASE+350)
-#define __NR_eventfd			(__NR_SYSCALL_BASE+351)
-#define __NR_fallocate			(__NR_SYSCALL_BASE+352)
-#define __NR_timerfd_settime		(__NR_SYSCALL_BASE+353)
-#define __NR_timerfd_gettime		(__NR_SYSCALL_BASE+354)
-#define __NR_signalfd4			(__NR_SYSCALL_BASE+355)
-#define __NR_eventfd2			(__NR_SYSCALL_BASE+356)
-#define __NR_epoll_create1		(__NR_SYSCALL_BASE+357)
-#define __NR_dup3			(__NR_SYSCALL_BASE+358)
-#define __NR_pipe2			(__NR_SYSCALL_BASE+359)
-#define __NR_inotify_init1		(__NR_SYSCALL_BASE+360)
-#define __NR_preadv			(__NR_SYSCALL_BASE+361)
-#define __NR_pwritev			(__NR_SYSCALL_BASE+362)
-#define __NR_rt_tgsigqueueinfo		(__NR_SYSCALL_BASE+363)
-#define __NR_perf_event_open		(__NR_SYSCALL_BASE+364)
-#define __NR_recvmmsg			(__NR_SYSCALL_BASE+365)
-#define __NR_accept4			(__NR_SYSCALL_BASE+366)
-#define __NR_fanotify_init		(__NR_SYSCALL_BASE+367)
-#define __NR_fanotify_mark		(__NR_SYSCALL_BASE+368)
-#define __NR_prlimit64			(__NR_SYSCALL_BASE+369)
-#define __NR_name_to_handle_at		(__NR_SYSCALL_BASE+370)
-#define __NR_open_by_handle_at		(__NR_SYSCALL_BASE+371)
-#define __NR_clock_adjtime		(__NR_SYSCALL_BASE+372)
-#define __NR_syncfs			(__NR_SYSCALL_BASE+373)
-#define __NR_sendmmsg			(__NR_SYSCALL_BASE+374)
-#define __NR_setns			(__NR_SYSCALL_BASE+375)
-#define __NR_process_vm_readv		(__NR_SYSCALL_BASE+376)
-#define __NR_process_vm_writev		(__NR_SYSCALL_BASE+377)
-#define __NR_kcmp			(__NR_SYSCALL_BASE+378)
-#define __NR_finit_module		(__NR_SYSCALL_BASE+379)
-#define __NR_sched_setattr		(__NR_SYSCALL_BASE+380)
-#define __NR_sched_getattr		(__NR_SYSCALL_BASE+381)
-#define __NR_renameat2			(__NR_SYSCALL_BASE+382)
-#define __NR_seccomp			(__NR_SYSCALL_BASE+383)
-#define __NR_getrandom			(__NR_SYSCALL_BASE+384)
-#define __NR_memfd_create		(__NR_SYSCALL_BASE+385)
-#define __NR_bpf			(__NR_SYSCALL_BASE+386)
-#define __NR_execveat			(__NR_SYSCALL_BASE+387)
-#define __NR_userfaultfd		(__NR_SYSCALL_BASE+388)
-#define __NR_membarrier			(__NR_SYSCALL_BASE+389)
-#define __NR_mlock2			(__NR_SYSCALL_BASE+390)
-#define __NR_copy_file_range		(__NR_SYSCALL_BASE+391)
-#define __NR_preadv2			(__NR_SYSCALL_BASE+392)
-#define __NR_pwritev2			(__NR_SYSCALL_BASE+393)
 
 /*
  * The following SWIs are ARM private.
@@ -431,22 +36,4 @@
 #define __ARM_NR_usr32			(__ARM_NR_BASE+4)
 #define __ARM_NR_set_tls		(__ARM_NR_BASE+5)
 
-/*
- * The following syscalls are obsolete and no longer available for EABI.
- */
-#if defined(__ARM_EABI__)
-#undef __NR_time
-#undef __NR_umount
-#undef __NR_stime
-#undef __NR_alarm
-#undef __NR_utime
-#undef __NR_getrlimit
-#undef __NR_select
-#undef __NR_readdir
-#undef __NR_mmap
-#undef __NR_socketcall
-#undef __NR_syscall
-#undef __NR_ipc
-#endif
-
 #endif /* __ASM_ARM_UNISTD_H */
diff --git a/linux-headers/asm-arm64/kvm.h b/linux-headers/asm-arm64/kvm.h
index fd5a276..651ec30 100644
--- a/linux-headers/asm-arm64/kvm.h
+++ b/linux-headers/asm-arm64/kvm.h
@@ -201,10 +201,23 @@ struct kvm_arch_memory_slot {
 #define KVM_DEV_ARM_VGIC_GRP_CPU_REGS	2
 #define   KVM_DEV_ARM_VGIC_CPUID_SHIFT	32
 #define   KVM_DEV_ARM_VGIC_CPUID_MASK	(0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
+#define   KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
+#define   KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
+			(0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
 #define   KVM_DEV_ARM_VGIC_OFFSET_SHIFT	0
 #define   KVM_DEV_ARM_VGIC_OFFSET_MASK	(0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
+#define   KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
 #define KVM_DEV_ARM_VGIC_GRP_NR_IRQS	3
 #define KVM_DEV_ARM_VGIC_GRP_CTRL	4
+#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
+#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
+#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO  7
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT	10
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
+			(0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK	0x3ff
+#define VGIC_LEVEL_INFO_LINE_LEVEL	0
+
 #define   KVM_DEV_ARM_VGIC_CTRL_INIT	0
 
 /* Device Control API on vcpu fd */
diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h
index c93cf35..4edbe4b 100644
--- a/linux-headers/asm-powerpc/kvm.h
+++ b/linux-headers/asm-powerpc/kvm.h
@@ -413,6 +413,26 @@ struct kvm_get_htab_header {
 	__u16	n_invalid;
 };
 
+/* For KVM_PPC_CONFIGURE_V3_MMU */
+struct kvm_ppc_mmuv3_cfg {
+	__u64	flags;
+	__u64	process_table;	/* second doubleword of partition table entry */
+};
+
+/* Flag values for KVM_PPC_CONFIGURE_V3_MMU */
+#define KVM_PPC_MMUV3_RADIX	1	/* 1 = radix mode, 0 = HPT */
+#define KVM_PPC_MMUV3_GTSE	2	/* global translation shootdown enb. */
+
+/* For KVM_PPC_GET_RMMU_INFO */
+struct kvm_ppc_rmmu_info {
+	struct kvm_ppc_radix_geom {
+		__u8	page_shift;
+		__u8	level_bits[4];
+		__u8	pad[3];
+	}	geometries[8];
+	__u32	ap_encodings[8];
+};
+
 /* Per-vcpu XICS interrupt controller state */
 #define KVM_REG_PPC_ICP_STATE	(KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8c)
 
@@ -573,6 +593,10 @@ struct kvm_get_htab_header {
 #define KVM_REG_PPC_SPRG9	(KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xba)
 #define KVM_REG_PPC_DBSR	(KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbb)
 
+/* POWER9 registers */
+#define KVM_REG_PPC_TIDR	(KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbc)
+#define KVM_REG_PPC_PSSCR	(KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbd)
+
 /* Transactional Memory checkpointed state:
  * This is all GPRs, all VSX regs and a subset of SPRs
  */
@@ -596,6 +620,7 @@ struct kvm_get_htab_header {
 #define KVM_REG_PPC_TM_VSCR	(KVM_REG_PPC_TM | KVM_REG_SIZE_U32 | 0x67)
 #define KVM_REG_PPC_TM_DSCR	(KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x68)
 #define KVM_REG_PPC_TM_TAR	(KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x69)
+#define KVM_REG_PPC_TM_XER	(KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x6a)
 
 /* PPC64 eXternal Interrupt Controller Specification */
 #define KVM_DEV_XICS_GRP_SOURCES	1	/* 64-bit source attributes */
@@ -608,5 +633,7 @@ struct kvm_get_htab_header {
 #define  KVM_XICS_LEVEL_SENSITIVE	(1ULL << 40)
 #define  KVM_XICS_MASKED		(1ULL << 41)
 #define  KVM_XICS_PENDING		(1ULL << 42)
+#define  KVM_XICS_PRESENTED		(1ULL << 43)
+#define  KVM_XICS_QUEUED		(1ULL << 44)
 
 #endif /* __LINUX_KVM_POWERPC_H */
diff --git a/linux-headers/asm-powerpc/unistd.h b/linux-headers/asm-powerpc/unistd.h
index 1e66eba..598043c 100644
--- a/linux-headers/asm-powerpc/unistd.h
+++ b/linux-headers/asm-powerpc/unistd.h
@@ -392,5 +392,6 @@
 #define __NR_copy_file_range	379
 #define __NR_preadv2		380
 #define __NR_pwritev2		381
+#define __NR_kexec_file_load	382
 
 #endif /* _ASM_POWERPC_UNISTD_H_ */
diff --git a/linux-headers/asm-x86/kvm_para.h b/linux-headers/asm-x86/kvm_para.h
index e41c5c1..3a53979 100644
--- a/linux-headers/asm-x86/kvm_para.h
+++ b/linux-headers/asm-x86/kvm_para.h
@@ -45,7 +45,18 @@ struct kvm_steal_time {
 	__u64 steal;
 	__u32 version;
 	__u32 flags;
-	__u32 pad[12];
+	__u8  preempted;
+	__u8  u8_pad[3];
+	__u32 pad[11];
+};
+
+#define KVM_CLOCK_PAIRING_WALLCLOCK 0
+struct kvm_clock_pairing {
+	__s64 sec;
+	__s64 nsec;
+	__u64 tsc;
+	__u32 flags;
+	__u32 pad[9];
 };
 
 #define KVM_STEAL_ALIGNMENT_BITS 5
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index bb0ed71..4e082a8 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -218,7 +218,8 @@ struct kvm_hyperv_exit {
 struct kvm_run {
 	/* in */
 	__u8 request_interrupt_window;
-	__u8 padding1[7];
+	__u8 immediate_exit;
+	__u8 padding1[6];
 
 	/* out */
 	__u32 exit_reason;
@@ -651,6 +652,9 @@ struct kvm_enable_cap {
 };
 
 /* for KVM_PPC_GET_PVINFO */
+
+#define KVM_PPC_PVINFO_FLAGS_EV_IDLE   (1<<0)
+
 struct kvm_ppc_pvinfo {
 	/* out */
 	__u32 flags;
@@ -682,7 +686,12 @@ struct kvm_ppc_smmu_info {
 	struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
 };
 
-#define KVM_PPC_PVINFO_FLAGS_EV_IDLE   (1<<0)
+/* for KVM_PPC_RESIZE_HPT_{PREPARE,COMMIT} */
+struct kvm_ppc_resize_hpt {
+	__u64 flags;
+	__u32 shift;
+	__u32 pad;
+};
 
 #define KVMIO 0xAE
 
@@ -870,6 +879,10 @@ struct kvm_ppc_smmu_info {
 #define KVM_CAP_S390_USER_INSTR0 130
 #define KVM_CAP_MSI_DEVID 131
 #define KVM_CAP_PPC_HTM 132
+#define KVM_CAP_SPAPR_RESIZE_HPT 133
+#define KVM_CAP_PPC_MMU_RADIX 134
+#define KVM_CAP_PPC_MMU_HASH_V3 135
+#define KVM_CAP_IMMEDIATE_EXIT 136
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
@@ -1186,6 +1199,13 @@ struct kvm_s390_ucas_mapping {
 #define KVM_ARM_SET_DEVICE_ADDR	  _IOW(KVMIO,  0xab, struct kvm_arm_device_addr)
 /* Available with KVM_CAP_PPC_RTAS */
 #define KVM_PPC_RTAS_DEFINE_TOKEN _IOW(KVMIO,  0xac, struct kvm_rtas_token_args)
+/* Available with KVM_CAP_SPAPR_RESIZE_HPT */
+#define KVM_PPC_RESIZE_HPT_PREPARE _IOR(KVMIO, 0xad, struct kvm_ppc_resize_hpt)
+#define KVM_PPC_RESIZE_HPT_COMMIT  _IOR(KVMIO, 0xae, struct kvm_ppc_resize_hpt)
+/* Available with KVM_CAP_PPC_RADIX_MMU or KVM_CAP_PPC_HASH_MMU_V3 */
+#define KVM_PPC_CONFIGURE_V3_MMU  _IOW(KVMIO,  0xaf, struct kvm_ppc_mmuv3_cfg)
+/* Available with KVM_CAP_PPC_RADIX_MMU */
+#define KVM_PPC_GET_RMMU_INFO	  _IOW(KVMIO,  0xb0, struct kvm_ppc_rmmu_info)
 
 /* ioctl for vm fd */
 #define KVM_CREATE_DEVICE	  _IOWR(KVMIO,  0xe0, struct kvm_create_device)
diff --git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h
index e61661e..15b24ff 100644
--- a/linux-headers/linux/kvm_para.h
+++ b/linux-headers/linux/kvm_para.h
@@ -14,6 +14,7 @@
 #define KVM_EFAULT		EFAULT
 #define KVM_E2BIG		E2BIG
 #define KVM_EPERM		EPERM
+#define KVM_EOPNOTSUPP		95
 
 #define KVM_HC_VAPIC_POLL_IRQ		1
 #define KVM_HC_MMU_OP			2
@@ -23,6 +24,7 @@
 #define KVM_HC_MIPS_GET_CLOCK_FREQ	6
 #define KVM_HC_MIPS_EXIT_VM		7
 #define KVM_HC_MIPS_CONSOLE_OUTPUT	8
+#define KVM_HC_CLOCK_PAIRING		9
 
 /*
  * hypercalls use architecture specific
diff --git a/linux-headers/linux/userfaultfd.h b/linux-headers/linux/userfaultfd.h
index 19e8453..2ed5dc3 100644
--- a/linux-headers/linux/userfaultfd.h
+++ b/linux-headers/linux/userfaultfd.h
@@ -11,13 +11,18 @@
 
 #include <linux/types.h>
 
-#define UFFD_API ((__u64)0xAA)
 /*
- * After implementing the respective features it will become:
- * #define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | \
- *			      UFFD_FEATURE_EVENT_FORK)
+ * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and
+ * UFFDIO_WAKE ioctls should be defined as _IOW and not as _IOR.  In
+ * userfaultfd.h we assumed the kernel was reading (instead _IOC_READ
+ * means the userland is reading).
  */
-#define UFFD_API_FEATURES (0)
+#define UFFD_API ((__u64)0xAA)
+#define UFFD_API_FEATURES (UFFD_FEATURE_EVENT_FORK |		\
+			   UFFD_FEATURE_EVENT_REMAP |		\
+			   UFFD_FEATURE_EVENT_MADVDONTNEED |	\
+			   UFFD_FEATURE_MISSING_HUGETLBFS |	\
+			   UFFD_FEATURE_MISSING_SHMEM)
 #define UFFD_API_IOCTLS				\
 	((__u64)1 << _UFFDIO_REGISTER |		\
 	 (__u64)1 << _UFFDIO_UNREGISTER |	\
@@ -26,6 +31,9 @@
 	((__u64)1 << _UFFDIO_WAKE |		\
 	 (__u64)1 << _UFFDIO_COPY |		\
 	 (__u64)1 << _UFFDIO_ZEROPAGE)
+#define UFFD_API_RANGE_IOCTLS_BASIC		\
+	((__u64)1 << _UFFDIO_WAKE |		\
+	 (__u64)1 << _UFFDIO_COPY)
 
 /*
  * Valid ioctl command number range with this API is from 0x00 to
@@ -72,6 +80,21 @@ struct uffd_msg {
 		} pagefault;
 
 		struct {
+			__u32	ufd;
+		} fork;
+
+		struct {
+			__u64	from;
+			__u64	to;
+			__u64	len;
+		} remap;
+
+		struct {
+			__u64	start;
+			__u64	end;
+		} madv_dn;
+
+		struct {
 			/* unused reserved fields */
 			__u64	reserved1;
 			__u64	reserved2;
@@ -84,9 +107,9 @@ struct uffd_msg {
  * Start at 0x12 and not at 0 to be more strict against bugs.
  */
 #define UFFD_EVENT_PAGEFAULT	0x12
-#if 0 /* not available yet */
 #define UFFD_EVENT_FORK		0x13
-#endif
+#define UFFD_EVENT_REMAP	0x14
+#define UFFD_EVENT_MADVDONTNEED	0x15
 
 /* flags for UFFD_EVENT_PAGEFAULT */
 #define UFFD_PAGEFAULT_FLAG_WRITE	(1<<0)	/* If this was a write fault */
@@ -104,11 +127,37 @@ struct uffdio_api {
 	 * Note: UFFD_EVENT_PAGEFAULT and UFFD_PAGEFAULT_FLAG_WRITE
 	 * are to be considered implicitly always enabled in all kernels as
 	 * long as the uffdio_api.api requested matches UFFD_API.
+	 *
+	 * UFFD_FEATURE_MISSING_HUGETLBFS means an UFFDIO_REGISTER
+	 * with UFFDIO_REGISTER_MODE_MISSING mode will succeed on
+	 * hugetlbfs virtual memory ranges. Adding or not adding
+	 * UFFD_FEATURE_MISSING_HUGETLBFS to uffdio_api.features has
+	 * no real functional effect after UFFDIO_API returns, but
+	 * it's only useful for an initial feature set probe at
+	 * UFFDIO_API time. There are two ways to use it:
+	 *
+	 * 1) by adding UFFD_FEATURE_MISSING_HUGETLBFS to the
+	 *    uffdio_api.features before calling UFFDIO_API, an error
+	 *    will be returned by UFFDIO_API on a kernel without
+	 *    hugetlbfs missing support
+	 *
+	 * 2) the UFFD_FEATURE_MISSING_HUGETLBFS can not be added in
+	 *    uffdio_api.features and instead it will be set by the
+	 *    kernel in the uffdio_api.features if the kernel supports
+	 *    it, so userland can later check if the feature flag is
+	 *    present in uffdio_api.features after UFFDIO_API
+	 *    succeeded.
+	 *
+	 * UFFD_FEATURE_MISSING_SHMEM works the same as
+	 * UFFD_FEATURE_MISSING_HUGETLBFS, but it applies to shmem
+	 * (i.e. tmpfs and other shmem based APIs).
 	 */
-#if 0 /* not available yet */
 #define UFFD_FEATURE_PAGEFAULT_FLAG_WP		(1<<0)
 #define UFFD_FEATURE_EVENT_FORK			(1<<1)
-#endif
+#define UFFD_FEATURE_EVENT_REMAP		(1<<2)
+#define UFFD_FEATURE_EVENT_MADVDONTNEED		(1<<3)
+#define UFFD_FEATURE_MISSING_HUGETLBFS		(1<<4)
+#define UFFD_FEATURE_MISSING_SHMEM		(1<<5)
 	__u64 features;
 
 	__u64 ioctls;
diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index 759b850..531cb2e 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -203,6 +203,16 @@ struct vfio_device_info {
 };
 #define VFIO_DEVICE_GET_INFO		_IO(VFIO_TYPE, VFIO_BASE + 7)
 
+/*
+ * Vendor driver using Mediated device framework should provide device_api
+ * attribute in supported type attribute groups. Device API string should be one
+ * of the following corresponding to device flags in vfio_device_info structure.
+ */
+
+#define VFIO_DEVICE_API_PCI_STRING		"vfio-pci"
+#define VFIO_DEVICE_API_PLATFORM_STRING		"vfio-platform"
+#define VFIO_DEVICE_API_AMBA_STRING		"vfio-amba"
+
 /**
  * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
  *				       struct vfio_region_info)
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 06/17] cpus: remove ugly cast on sigbus_handler
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (4 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 05/17] update Linux headers to 4.11 Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 07/17] KVM: x86: cleanup SIGBUS handlers Paolo Bonzini
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The cast is there because sigbus_handler is invoked via sigfd_handler.
But it feels just wrong to use struct qemu_signalfd_siginfo in the
prototype of a function that is passed to sigaction.

Instead, do a simple-minded conversion of qemu_signalfd_siginfo to
siginfo_t.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpus.c                  | 12 +++---------
 include/qemu/compatfd.h | 42 ------------------------------------------
 include/qemu/osdep.h    | 28 ++++++++++++++++++++++++++++
 util/compatfd.c         |  1 -
 util/main-loop.c        |  5 +----
 util/oslib-posix.c      | 33 +++++++++++++++++++++++++++++++++
 6 files changed, 65 insertions(+), 56 deletions(-)
 delete mode 100644 include/qemu/compatfd.h

diff --git a/cpus.c b/cpus.c
index 0bcb5b5..50cae13 100644
--- a/cpus.c
+++ b/cpus.c
@@ -49,10 +49,6 @@
 #include "hw/nmi.h"
 #include "sysemu/replay.h"
 
-#ifndef _WIN32
-#include "qemu/compatfd.h"
-#endif
-
 #ifdef CONFIG_LINUX
 
 #include <sys/prctl.h>
@@ -794,11 +790,9 @@ static void sigbus_reraise(void)
     abort();
 }
 
-static void sigbus_handler(int n, struct qemu_signalfd_siginfo *siginfo,
-                           void *ctx)
+static void sigbus_handler(int n, siginfo_t *siginfo, void *ctx)
 {
-    if (kvm_on_sigbus(siginfo->ssi_code,
-                      (void *)(intptr_t)siginfo->ssi_addr)) {
+    if (kvm_on_sigbus(siginfo->si_code, siginfo->si_addr)) {
         sigbus_reraise();
     }
 }
@@ -809,7 +803,7 @@ static void qemu_init_sigbus(void)
 
     memset(&action, 0, sizeof(action));
     action.sa_flags = SA_SIGINFO;
-    action.sa_sigaction = (void (*)(int, siginfo_t*, void*))sigbus_handler;
+    action.sa_sigaction = sigbus_handler;
     sigaction(SIGBUS, &action, NULL);
 
     prctl(PR_MCE_KILL, PR_MCE_KILL_SET, PR_MCE_KILL_EARLY, 0, 0);
diff --git a/include/qemu/compatfd.h b/include/qemu/compatfd.h
deleted file mode 100644
index aa12ee9..0000000
--- a/include/qemu/compatfd.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * signalfd/eventfd compatibility
- *
- * Copyright IBM, Corp. 2008
- *
- * Authors:
- *  Anthony Liguori   <aliguori@us.ibm.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2.  See
- * the COPYING file in the top-level directory.
- *
- */
-
-#ifndef QEMU_COMPATFD_H
-#define QEMU_COMPATFD_H
-
-
-struct qemu_signalfd_siginfo {
-    uint32_t ssi_signo;   /* Signal number */
-    int32_t  ssi_errno;   /* Error number (unused) */
-    int32_t  ssi_code;    /* Signal code */
-    uint32_t ssi_pid;     /* PID of sender */
-    uint32_t ssi_uid;     /* Real UID of sender */
-    int32_t  ssi_fd;      /* File descriptor (SIGIO) */
-    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers) */
-    uint32_t ssi_band;    /* Band event (SIGIO) */
-    uint32_t ssi_overrun; /* POSIX timer overrun count */
-    uint32_t ssi_trapno;  /* Trap number that caused signal */
-    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */
-    int32_t  ssi_int;     /* Integer sent by sigqueue(2) */
-    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(2) */
-    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */
-    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */
-    uint64_t ssi_addr;    /* Address that generated signal
-                             (for hardware-generated signals) */
-    uint8_t  pad[48];     /* Pad size to 128 bytes (allow for
-                             additional fields in the future) */
-};
-
-int qemu_signalfd(const sigset_t *mask);
-
-#endif
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 56c9e22..6932709 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -297,6 +297,34 @@ void qemu_anon_ram_free(void *ptr, size_t size);
 #  define QEMU_VMALLOC_ALIGN getpagesize()
 #endif
 
+#ifdef CONFIG_POSIX
+struct qemu_signalfd_siginfo {
+    uint32_t ssi_signo;   /* Signal number */
+    int32_t  ssi_errno;   /* Error number (unused) */
+    int32_t  ssi_code;    /* Signal code */
+    uint32_t ssi_pid;     /* PID of sender */
+    uint32_t ssi_uid;     /* Real UID of sender */
+    int32_t  ssi_fd;      /* File descriptor (SIGIO) */
+    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers) */
+    uint32_t ssi_band;    /* Band event (SIGIO) */
+    uint32_t ssi_overrun; /* POSIX timer overrun count */
+    uint32_t ssi_trapno;  /* Trap number that caused signal */
+    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */
+    int32_t  ssi_int;     /* Integer sent by sigqueue(2) */
+    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(2) */
+    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */
+    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */
+    uint64_t ssi_addr;    /* Address that generated signal
+                             (for hardware-generated signals) */
+    uint8_t  pad[48];     /* Pad size to 128 bytes (allow for
+                             additional fields in the future) */
+};
+
+int qemu_signalfd(const sigset_t *mask);
+void sigaction_invoke(struct sigaction *action,
+                      struct qemu_signalfd_siginfo *info);
+#endif
+
 int qemu_madvise(void *addr, size_t len, int advice);
 
 int qemu_open(const char *name, int flags, ...);
diff --git a/util/compatfd.c b/util/compatfd.c
index 9a43042..980bd33 100644
--- a/util/compatfd.c
+++ b/util/compatfd.c
@@ -15,7 +15,6 @@
 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qemu/compatfd.h"
 #include "qemu/thread.h"
 
 #include <sys/syscall.h>
diff --git a/util/main-loop.c b/util/main-loop.c
index ad10bca..ca7bb07 100644
--- a/util/main-loop.c
+++ b/util/main-loop.c
@@ -34,8 +34,6 @@
 
 #ifndef _WIN32
 
-#include "qemu/compatfd.h"
-
 /* If we have signalfd, we mask out the signals we want to handle and then
  * use signalfd to listen for them.  We rely on whatever the current signal
  * handler is to dispatch the signals when we receive them.
@@ -63,8 +61,7 @@ static void sigfd_handler(void *opaque)
 
         sigaction(info.ssi_signo, NULL, &action);
         if ((action.sa_flags & SA_SIGINFO) && action.sa_sigaction) {
-            action.sa_sigaction(info.ssi_signo,
-                                (siginfo_t *)&info, NULL);
+            sigaction_invoke(&action, &info);
         } else if (action.sa_handler) {
             action.sa_handler(info.ssi_signo);
         }
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index f631464..3d29cf6 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -603,3 +603,36 @@ void qemu_free_stack(void *stack, size_t sz)
 
     munmap(stack, sz);
 }
+
+void sigaction_invoke(struct sigaction *action,
+                      struct qemu_signalfd_siginfo *info)
+{
+    siginfo_t si = { 0 };
+    si.si_signo = info->ssi_signo;
+    si.si_errno = info->ssi_errno;
+    si.si_code = info->ssi_code;
+
+    /* Convert the minimal set of fields defined by POSIX.
+     * Positive si_code values are reserved for kernel-generated
+     * signals, where the valid siginfo fields are determined by
+     * the signal number.  But according to POSIX, it is unspecified
+     * whether SI_USER and SI_QUEUE have values less than or equal to
+     * zero.
+     */
+    if (info->ssi_code == SI_USER || info->ssi_code == SI_QUEUE ||
+        info->ssi_code <= 0) {
+        /* SIGTERM, etc.  */
+        si.si_pid = info->ssi_pid;
+        si.si_uid = info->ssi_uid;
+    } else if (info->ssi_signo == SIGILL || info->ssi_signo == SIGFPE ||
+               info->ssi_signo == SIGSEGV || info->ssi_signo == SIGBUS) {
+        si.si_addr = (void *)(uintptr_t)info->ssi_addr;
+    } else if (info->ssi_signo == SIGCHLD) {
+        si.si_pid = info->ssi_pid;
+        si.si_status = info->ssi_status;
+        si.si_uid = info->ssi_uid;
+    } else if (info->ssi_signo == SIGPOLL) {
+        si.si_band = info->ssi_band;
+    }
+    action->sa_sigaction(info->ssi_signo, &si, NULL);
+}
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 07/17] KVM: x86: cleanup SIGBUS handlers
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (5 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 06/17] cpus: remove ugly cast on sigbus_handler Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 08/17] cpus: reorganize signal handling code Paolo Bonzini
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

This patch should have no semantic change.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/kvm.c | 81 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 42 insertions(+), 39 deletions(-)

diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 27fd050..0c48dfd 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -469,31 +469,34 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
     ram_addr_t ram_addr;
     hwaddr paddr;
 
-    if ((env->mcg_cap & MCG_SER_P) && addr
-        && (code == BUS_MCEERR_AR || code == BUS_MCEERR_AO)) {
+    if (code != BUS_MCEERR_AR && code != BUS_MCEERR_AO) {
+        return 1;
+    }
+
+    /* Because the MCE happened while running the VCPU, KVM could have
+     * injected action required MCEs too.  Action optional MCEs should
+     * be delivered to the main thread, which qemu_init_sigbus identifies
+     * as the "early kill" thread, but if we get one for whatever reason
+     * we just handle it just like the main thread would.
+     */
+    if ((env->mcg_cap & MCG_SER_P) && addr) {
         ram_addr = qemu_ram_addr_from_host(addr);
-        if (ram_addr == RAM_ADDR_INVALID ||
-            !kvm_physical_memory_addr_from_host(c->kvm_state, addr, &paddr)) {
-            fprintf(stderr, "Hardware memory error for memory used by "
-                    "QEMU itself instead of guest system!\n");
-            /* Hope we are lucky for AO MCE */
-            if (code == BUS_MCEERR_AO) {
-                return 0;
-            } else {
-                hardware_memory_error();
-            }
-        }
-        kvm_hwpoison_page_add(ram_addr);
-        kvm_mce_inject(cpu, paddr, code);
-    } else {
-        if (code == BUS_MCEERR_AO) {
+        if (ram_addr != RAM_ADDR_INVALID &&
+            kvm_physical_memory_addr_from_host(c->kvm_state, addr, &paddr)) {
+            kvm_hwpoison_page_add(ram_addr);
+            kvm_mce_inject(cpu, paddr, code);
             return 0;
-        } else if (code == BUS_MCEERR_AR) {
-            hardware_memory_error();
-        } else {
-            return 1;
         }
+
+        fprintf(stderr, "Hardware memory error for memory used by "
+                "QEMU itself instead of guest system!\n");
+    }
+
+    if (code == BUS_MCEERR_AR) {
+        hardware_memory_error();
     }
+
+    /* Hope we are lucky for AO MCE */
     return 0;
 }
 
@@ -501,29 +504,29 @@ int kvm_arch_on_sigbus(int code, void *addr)
 {
     X86CPU *cpu = X86_CPU(first_cpu);
 
-    if ((cpu->env.mcg_cap & MCG_SER_P) && addr && code == BUS_MCEERR_AO) {
+    if (code != BUS_MCEERR_AR && code != BUS_MCEERR_AO) {
+        return 1;
+    }
+
+    if (code == BUS_MCEERR_AR) {
+        hardware_memory_error();
+    }
+
+    /* Hope we are lucky for AO MCE */
+    if ((cpu->env.mcg_cap & MCG_SER_P) && addr) {
         ram_addr_t ram_addr;
         hwaddr paddr;
 
-        /* Hope we are lucky for AO MCE */
         ram_addr = qemu_ram_addr_from_host(addr);
-        if (ram_addr == RAM_ADDR_INVALID ||
-            !kvm_physical_memory_addr_from_host(first_cpu->kvm_state,
-                                                addr, &paddr)) {
-            fprintf(stderr, "Hardware memory error for memory used by "
-                    "QEMU itself instead of guest system!: %p\n", addr);
-            return 0;
-        }
-        kvm_hwpoison_page_add(ram_addr);
-        kvm_mce_inject(X86_CPU(first_cpu), paddr, code);
-    } else {
-        if (code == BUS_MCEERR_AO) {
-            return 0;
-        } else if (code == BUS_MCEERR_AR) {
-            hardware_memory_error();
-        } else {
-            return 1;
+        if (ram_addr != RAM_ADDR_INVALID &&
+            kvm_physical_memory_addr_from_host(first_cpu->kvm_state,
+                                               addr, &paddr)) {
+            kvm_hwpoison_page_add(ram_addr);
+            kvm_mce_inject(X86_CPU(first_cpu), paddr, code);
         }
+
+        fprintf(stderr, "Hardware memory error for memory used by "
+                "QEMU itself instead of guest system!: %p\n", addr);
     }
     return 0;
 }
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 08/17] cpus: reorganize signal handling code
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (6 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 07/17] KVM: x86: cleanup SIGBUS handlers Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 09/17] KVM: remove kvm_arch_on_sigbus Paolo Bonzini
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Move the KVM "eat signals" code under CONFIG_LINUX, in preparation
for moving it to kvm-all.c; reraise non-MCE SIGBUS immediately,
without passing it to KVM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpus.c               | 63 ++++++++++++++++++++++++++--------------------------
 include/qemu/osdep.h |  9 ++++++++
 target/i386/kvm.c    | 15 ++-----------
 3 files changed, 43 insertions(+), 44 deletions(-)

diff --git a/cpus.c b/cpus.c
index 50cae13..e50284f 100644
--- a/cpus.c
+++ b/cpus.c
@@ -792,6 +792,10 @@ static void sigbus_reraise(void)
 
 static void sigbus_handler(int n, siginfo_t *siginfo, void *ctx)
 {
+    if (siginfo->si_code != BUS_MCEERR_AO && siginfo->si_code != BUS_MCEERR_AR) {
+        sigbus_reraise();
+    }
+
     if (kvm_on_sigbus(siginfo->si_code, siginfo->si_addr)) {
         sigbus_reraise();
     }
@@ -809,6 +813,30 @@ static void qemu_init_sigbus(void)
     prctl(PR_MCE_KILL, PR_MCE_KILL_SET, PR_MCE_KILL_EARLY, 0, 0);
 }
 
+static void dummy_signal(int sig)
+{
+}
+
+static void qemu_kvm_init_cpu_signals(CPUState *cpu)
+{
+    int r;
+    sigset_t set;
+    struct sigaction sigact;
+
+    memset(&sigact, 0, sizeof(sigact));
+    sigact.sa_handler = dummy_signal;
+    sigaction(SIG_IPI, &sigact, NULL);
+
+    pthread_sigmask(SIG_BLOCK, NULL, &set);
+    sigdelset(&set, SIG_IPI);
+    sigdelset(&set, SIGBUS);
+    r = kvm_set_signal_mask(cpu, &set);
+    if (r) {
+        fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
+        exit(1);
+    }
+}
+
 static void qemu_kvm_eat_signals(CPUState *cpu)
 {
     struct timespec ts = { 0, 0 };
@@ -830,6 +858,9 @@ static void qemu_kvm_eat_signals(CPUState *cpu)
 
         switch (r) {
         case SIGBUS:
+            if (siginfo.si_code != BUS_MCEERR_AO && siginfo.si_code != BUS_MCEERR_AR) {
+                sigbus_reraise();
+            }
             if (kvm_on_sigbus_vcpu(cpu, siginfo.si_code, siginfo.si_addr)) {
                 sigbus_reraise();
             }
@@ -845,9 +876,7 @@ static void qemu_kvm_eat_signals(CPUState *cpu)
         }
     } while (sigismember(&chkset, SIG_IPI) || sigismember(&chkset, SIGBUS));
 }
-
 #else /* !CONFIG_LINUX */
-
 static void qemu_init_sigbus(void)
 {
 }
@@ -855,39 +884,11 @@ static void qemu_init_sigbus(void)
 static void qemu_kvm_eat_signals(CPUState *cpu)
 {
 }
-#endif /* !CONFIG_LINUX */
-
-#ifndef _WIN32
-static void dummy_signal(int sig)
-{
-}
-
-static void qemu_kvm_init_cpu_signals(CPUState *cpu)
-{
-    int r;
-    sigset_t set;
-    struct sigaction sigact;
-
-    memset(&sigact, 0, sizeof(sigact));
-    sigact.sa_handler = dummy_signal;
-    sigaction(SIG_IPI, &sigact, NULL);
-
-    pthread_sigmask(SIG_BLOCK, NULL, &set);
-    sigdelset(&set, SIG_IPI);
-    sigdelset(&set, SIGBUS);
-    r = kvm_set_signal_mask(cpu, &set);
-    if (r) {
-        fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
-        exit(1);
-    }
-}
 
-#else /* _WIN32 */
 static void qemu_kvm_init_cpu_signals(CPUState *cpu)
 {
-    abort();
 }
-#endif /* _WIN32 */
+#endif /* !CONFIG_LINUX */
 
 static QemuMutex qemu_global_mutex;
 static QemuCond qemu_io_proceeded_cond;
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 6932709..af37195 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -284,6 +284,15 @@ void qemu_anon_ram_free(void *ptr, size_t size);
 
 #endif
 
+#if defined(CONFIG_LINUX)
+#ifndef BUS_MCEERR_AR
+#define BUS_MCEERR_AR 4
+#endif
+#ifndef BUS_MCEERR_AO
+#define BUS_MCEERR_AO 5
+#endif
+#endif
+
 #if defined(__linux__) && \
     (defined(__x86_64__) || defined(__arm__) || defined(__aarch64__))
    /* Use 2 MiB alignment so transparent hugepages can be used by KVM.
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 0c48dfd..f49a786 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -64,13 +64,6 @@
  * 255 kvm_msr_entry structs */
 #define MSR_BUF_SIZE 4096
 
-#ifndef BUS_MCEERR_AR
-#define BUS_MCEERR_AR 4
-#endif
-#ifndef BUS_MCEERR_AO
-#define BUS_MCEERR_AO 5
-#endif
-
 const KVMCapabilityInfo kvm_arch_required_capabilities[] = {
     KVM_CAP_INFO(SET_TSS_ADDR),
     KVM_CAP_INFO(EXT_CPUID),
@@ -469,9 +462,7 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
     ram_addr_t ram_addr;
     hwaddr paddr;
 
-    if (code != BUS_MCEERR_AR && code != BUS_MCEERR_AO) {
-        return 1;
-    }
+    assert(code == BUS_MCEERR_AR || code == BUS_MCEERR_AO);
 
     /* Because the MCE happened while running the VCPU, KVM could have
      * injected action required MCEs too.  Action optional MCEs should
@@ -504,9 +495,7 @@ int kvm_arch_on_sigbus(int code, void *addr)
 {
     X86CPU *cpu = X86_CPU(first_cpu);
 
-    if (code != BUS_MCEERR_AR && code != BUS_MCEERR_AO) {
-        return 1;
-    }
+    assert(code == BUS_MCEERR_AR || code == BUS_MCEERR_AO);
 
     if (code == BUS_MCEERR_AR) {
         hardware_memory_error();
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 09/17] KVM: remove kvm_arch_on_sigbus
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (7 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 08/17] cpus: reorganize signal handling code Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 10/17] KVM: do not use sigtimedwait to catch SIGBUS Paolo Bonzini
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Build it on kvm_arch_on_sigbus_vcpu instead.  They do the same
for "action optional" SIGBUSes, and the main thread should never get
"action required" SIGBUSes because it blocks the signal.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/sysemu/kvm.h |  1 -
 kvm-all.c            |  9 ++++++++-
 target/arm/kvm.c     |  5 -----
 target/i386/kvm.c    | 40 +++++-----------------------------------
 target/mips/kvm.c    |  6 ------
 target/ppc/kvm.c     |  5 -----
 target/s390x/kvm.c   |  5 -----
 7 files changed, 13 insertions(+), 58 deletions(-)

diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 3045ee7..6ecb61c 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -358,7 +358,6 @@ bool kvm_vcpu_id_is_valid(int vcpu_id);
 unsigned long kvm_arch_vcpu_id(CPUState *cpu);
 
 int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
-int kvm_arch_on_sigbus(int code, void *addr);
 
 void kvm_arch_init_irq_routing(KVMState *s);
 
diff --git a/kvm-all.c b/kvm-all.c
index 0c94637..a433ad3 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -2391,6 +2391,7 @@ int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
 
     return r;
 }
+
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
 {
     return kvm_arch_on_sigbus_vcpu(cpu, code, addr);
@@ -2398,7 +2399,13 @@ int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
 
 int kvm_on_sigbus(int code, void *addr)
 {
-    return kvm_arch_on_sigbus(code, addr);
+    /* Action required MCE kills the process if SIGBUS is blocked.  Because
+     * that's what happens in the I/O thread, where we handle MCE via signalfd,
+     * we can only get action optional here.
+     */
+    assert(code != BUS_MCEERR_AR);
+    kvm_arch_on_sigbus_vcpu(first_cpu, code, addr);
+    return 0;
 }
 
 int kvm_create_device(KVMState *s, uint64_t type, bool test)
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index c00b94e..6f2d590 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -564,11 +564,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *cs, int code, void *addr)
     return 1;
 }
 
-int kvm_arch_on_sigbus(int code, void *addr)
-{
-    return 1;
-}
-
 /* The #ifdef protections are until 32bit headers are imported and can
  * be removed once both 32 and 64 bit reach feature parity.
  */
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index f49a786..2adf992 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -462,14 +462,13 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
     ram_addr_t ram_addr;
     hwaddr paddr;
 
+    /* If we get an action required MCE, it has been injected by KVM
+     * while the VM was running.  An action optional MCE instead should
+     * be coming from the main thread, which qemu_init_sigbus identifies
+     * as the "early kill" thread.
+     */
     assert(code == BUS_MCEERR_AR || code == BUS_MCEERR_AO);
 
-    /* Because the MCE happened while running the VCPU, KVM could have
-     * injected action required MCEs too.  Action optional MCEs should
-     * be delivered to the main thread, which qemu_init_sigbus identifies
-     * as the "early kill" thread, but if we get one for whatever reason
-     * we just handle it just like the main thread would.
-     */
     if ((env->mcg_cap & MCG_SER_P) && addr) {
         ram_addr = qemu_ram_addr_from_host(addr);
         if (ram_addr != RAM_ADDR_INVALID &&
@@ -491,35 +490,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
     return 0;
 }
 
-int kvm_arch_on_sigbus(int code, void *addr)
-{
-    X86CPU *cpu = X86_CPU(first_cpu);
-
-    assert(code == BUS_MCEERR_AR || code == BUS_MCEERR_AO);
-
-    if (code == BUS_MCEERR_AR) {
-        hardware_memory_error();
-    }
-
-    /* Hope we are lucky for AO MCE */
-    if ((cpu->env.mcg_cap & MCG_SER_P) && addr) {
-        ram_addr_t ram_addr;
-        hwaddr paddr;
-
-        ram_addr = qemu_ram_addr_from_host(addr);
-        if (ram_addr != RAM_ADDR_INVALID &&
-            kvm_physical_memory_addr_from_host(first_cpu->kvm_state,
-                                               addr, &paddr)) {
-            kvm_hwpoison_page_add(ram_addr);
-            kvm_mce_inject(X86_CPU(first_cpu), paddr, code);
-        }
-
-        fprintf(stderr, "Hardware memory error for memory used by "
-                "QEMU itself instead of guest system!: %p\n", addr);
-    }
-    return 0;
-}
-
 static int kvm_inject_mce_oldstyle(X86CPU *cpu)
 {
     CPUX86State *env = &cpu->env;
diff --git a/target/mips/kvm.c b/target/mips/kvm.c
index 998c341..3e686e7 100644
--- a/target/mips/kvm.c
+++ b/target/mips/kvm.c
@@ -186,12 +186,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *cs, int code, void *addr)
     return 1;
 }
 
-int kvm_arch_on_sigbus(int code, void *addr)
-{
-    DPRINTF("%s\n", __func__);
-    return 1;
-}
-
 void kvm_arch_init_irq_routing(KVMState *s)
 {
 }
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 663d2e7..80f2728 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2563,11 +2563,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
     return 1;
 }
 
-int kvm_arch_on_sigbus(int code, void *addr)
-{
-    return 1;
-}
-
 void kvm_arch_init_irq_routing(KVMState *s)
 {
 }
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 2536780..92cf6d4 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2108,11 +2108,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
     return 1;
 }
 
-int kvm_arch_on_sigbus(int code, void *addr)
-{
-    return 1;
-}
-
 void kvm_s390_io_interrupt(uint16_t subchannel_id,
                            uint16_t subchannel_nr, uint32_t io_int_parm,
                            uint32_t io_int_word)
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 10/17] KVM: do not use sigtimedwait to catch SIGBUS
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (8 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 09/17] KVM: remove kvm_arch_on_sigbus Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 11/17] KVM: move SIG_IPI handling to kvm-all.c Paolo Bonzini
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Call kvm_on_sigbus_vcpu asynchronously from the VCPU thread.
Information for the SIGBUS can be stored in thread-local variables
and processed later in kvm_cpu_exec.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpus.c               | 31 +++++++++++++------------------
 include/sysemu/kvm.h |  5 ++++-
 kvm-all.c            | 31 ++++++++++++++++++++++++++++++-
 target/arm/kvm.c     |  5 -----
 target/i386/kvm.c    |  5 ++---
 target/mips/kvm.c    |  6 ------
 target/ppc/kvm.c     |  5 -----
 target/s390x/kvm.c   |  5 -----
 8 files changed, 49 insertions(+), 44 deletions(-)

diff --git a/cpus.c b/cpus.c
index e50284f..a2bc916 100644
--- a/cpus.c
+++ b/cpus.c
@@ -796,8 +796,16 @@ static void sigbus_handler(int n, siginfo_t *siginfo, void *ctx)
         sigbus_reraise();
     }
 
-    if (kvm_on_sigbus(siginfo->si_code, siginfo->si_addr)) {
-        sigbus_reraise();
+    if (current_cpu) {
+        /* Called asynchronously in VCPU thread.  */
+        if (kvm_on_sigbus_vcpu(current_cpu, siginfo->si_code, siginfo->si_addr)) {
+            sigbus_reraise();
+        }
+    } else {
+        /* Called synchronously (via signalfd) in main thread.  */
+        if (kvm_on_sigbus(siginfo->si_code, siginfo->si_addr)) {
+            sigbus_reraise();
+        }
     }
 }
 
@@ -828,8 +836,9 @@ static void qemu_kvm_init_cpu_signals(CPUState *cpu)
     sigaction(SIG_IPI, &sigact, NULL);
 
     pthread_sigmask(SIG_BLOCK, NULL, &set);
-    sigdelset(&set, SIG_IPI);
     sigdelset(&set, SIGBUS);
+    pthread_sigmask(SIG_SETMASK, &set, NULL);
+    sigdelset(&set, SIG_IPI);
     r = kvm_set_signal_mask(cpu, &set);
     if (r) {
         fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
@@ -847,7 +856,6 @@ static void qemu_kvm_eat_signals(CPUState *cpu)
 
     sigemptyset(&waitset);
     sigaddset(&waitset, SIG_IPI);
-    sigaddset(&waitset, SIGBUS);
 
     do {
         r = sigtimedwait(&waitset, &siginfo, &ts);
@@ -856,25 +864,12 @@ static void qemu_kvm_eat_signals(CPUState *cpu)
             exit(1);
         }
 
-        switch (r) {
-        case SIGBUS:
-            if (siginfo.si_code != BUS_MCEERR_AO && siginfo.si_code != BUS_MCEERR_AR) {
-                sigbus_reraise();
-            }
-            if (kvm_on_sigbus_vcpu(cpu, siginfo.si_code, siginfo.si_addr)) {
-                sigbus_reraise();
-            }
-            break;
-        default:
-            break;
-        }
-
         r = sigpending(&chkset);
         if (r == -1) {
             perror("sigpending");
             exit(1);
         }
-    } while (sigismember(&chkset, SIG_IPI) || sigismember(&chkset, SIGBUS));
+    } while (sigismember(&chkset, SIG_IPI));
 }
 #else /* !CONFIG_LINUX */
 static void qemu_init_sigbus(void)
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 6ecb61c..a1b019d 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -357,7 +357,10 @@ bool kvm_vcpu_id_is_valid(int vcpu_id);
 /* Returns VCPU ID to be used on KVM_CREATE_VCPU ioctl() */
 unsigned long kvm_arch_vcpu_id(CPUState *cpu);
 
-int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
+#ifdef TARGET_I386
+#define KVM_HAVE_MCE_INJECTION 1
+void kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
+#endif
 
 void kvm_arch_init_irq_routing(KVMState *s);
 
diff --git a/kvm-all.c b/kvm-all.c
index a433ad3..d3b0487 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1893,6 +1893,10 @@ void kvm_cpu_synchronize_post_init(CPUState *cpu)
     run_on_cpu(cpu, do_kvm_cpu_synchronize_post_init, RUN_ON_CPU_NULL);
 }
 
+static __thread void *pending_sigbus_addr;
+static __thread int pending_sigbus_code;
+static __thread bool have_sigbus_pending;
+
 int kvm_cpu_exec(CPUState *cpu)
 {
     struct kvm_run *run = cpu->kvm_run;
@@ -1930,6 +1934,14 @@ int kvm_cpu_exec(CPUState *cpu)
 
         attrs = kvm_arch_post_run(cpu, run);
 
+        if (unlikely(have_sigbus_pending)) {
+            qemu_mutex_lock_iothread();
+            kvm_arch_on_sigbus_vcpu(cpu, pending_sigbus_code,
+                                    pending_sigbus_addr);
+            have_sigbus_pending = false;
+            qemu_mutex_unlock_iothread();
+        }
+
         if (run_ret < 0) {
             if (run_ret == -EINTR || run_ret == -EAGAIN) {
                 DPRINTF("io window exit\n");
@@ -2392,13 +2404,27 @@ int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
     return r;
 }
 
+/* Called asynchronously in VCPU thread.  */
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
 {
-    return kvm_arch_on_sigbus_vcpu(cpu, code, addr);
+#ifdef KVM_HAVE_MCE_INJECTION
+    if (have_sigbus_pending) {
+        return 1;
+    }
+    have_sigbus_pending = true;
+    pending_sigbus_addr = addr;
+    pending_sigbus_code = code;
+    atomic_set(&cpu->exit_request, 1);
+    return 0;
+#else
+    return 1;
+#endif
 }
 
+/* Called synchronously (via signalfd) in main thread.  */
 int kvm_on_sigbus(int code, void *addr)
 {
+#ifdef KVM_HAVE_MCE_INJECTION
     /* Action required MCE kills the process if SIGBUS is blocked.  Because
      * that's what happens in the I/O thread, where we handle MCE via signalfd,
      * we can only get action optional here.
@@ -2406,6 +2432,9 @@ int kvm_on_sigbus(int code, void *addr)
     assert(code != BUS_MCEERR_AR);
     kvm_arch_on_sigbus_vcpu(first_cpu, code, addr);
     return 0;
+#else
+    return 1;
+#endif
 }
 
 int kvm_create_device(KVMState *s, uint64_t type, bool test)
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index 6f2d590..c6d0b3a 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -559,11 +559,6 @@ int kvm_arch_process_async_events(CPUState *cs)
     return 0;
 }
 
-int kvm_arch_on_sigbus_vcpu(CPUState *cs, int code, void *addr)
-{
-    return 1;
-}
-
 /* The #ifdef protections are until 32bit headers are imported and can
  * be removed once both 32 and 64 bit reach feature parity.
  */
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 2adf992..7698421 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -455,7 +455,7 @@ static void hardware_memory_error(void)
     exit(1);
 }
 
-int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
+void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
 {
     X86CPU *cpu = X86_CPU(c);
     CPUX86State *env = &cpu->env;
@@ -475,7 +475,7 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
             kvm_physical_memory_addr_from_host(c->kvm_state, addr, &paddr)) {
             kvm_hwpoison_page_add(ram_addr);
             kvm_mce_inject(cpu, paddr, code);
-            return 0;
+            return;
         }
 
         fprintf(stderr, "Hardware memory error for memory used by "
@@ -487,7 +487,6 @@ int kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
     }
 
     /* Hope we are lucky for AO MCE */
-    return 0;
 }
 
 static int kvm_inject_mce_oldstyle(X86CPU *cpu)
diff --git a/target/mips/kvm.c b/target/mips/kvm.c
index 3e686e7..0982e87 100644
--- a/target/mips/kvm.c
+++ b/target/mips/kvm.c
@@ -180,12 +180,6 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cs)
     return true;
 }
 
-int kvm_arch_on_sigbus_vcpu(CPUState *cs, int code, void *addr)
-{
-    DPRINTF("%s\n", __func__);
-    return 1;
-}
-
 void kvm_arch_init_irq_routing(KVMState *s)
 {
 }
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 80f2728..3125255 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2558,11 +2558,6 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cpu)
     return true;
 }
 
-int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
-{
-    return 1;
-}
-
 void kvm_arch_init_irq_routing(KVMState *s)
 {
 }
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 92cf6d4..8b9b211 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2103,11 +2103,6 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cpu)
     return true;
 }
 
-int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
-{
-    return 1;
-}
-
 void kvm_s390_io_interrupt(uint16_t subchannel_id,
                            uint16_t subchannel_nr, uint32_t io_int_parm,
                            uint32_t io_int_word)
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 11/17] KVM: move SIG_IPI handling to kvm-all.c
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (9 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 10/17] KVM: do not use sigtimedwait to catch SIGBUS Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 12/17] kvm: use atomic_read/atomic_set to access cpu->exit_request Paolo Bonzini
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

This lets us remove a bunch of CONFIG_LINUX defines.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 cpus.c               | 62 +---------------------------------------------------
 include/sysemu/kvm.h |  5 ++---
 kvm-all.c            | 60 +++++++++++++++++++++++++++++++++++++++++++++-----
 kvm-stub.c           | 12 +++++-----
 4 files changed, 63 insertions(+), 76 deletions(-)

diff --git a/cpus.c b/cpus.c
index a2bc916..3d3c592 100644
--- a/cpus.c
+++ b/cpus.c
@@ -820,69 +820,10 @@ static void qemu_init_sigbus(void)
 
     prctl(PR_MCE_KILL, PR_MCE_KILL_SET, PR_MCE_KILL_EARLY, 0, 0);
 }
-
-static void dummy_signal(int sig)
-{
-}
-
-static void qemu_kvm_init_cpu_signals(CPUState *cpu)
-{
-    int r;
-    sigset_t set;
-    struct sigaction sigact;
-
-    memset(&sigact, 0, sizeof(sigact));
-    sigact.sa_handler = dummy_signal;
-    sigaction(SIG_IPI, &sigact, NULL);
-
-    pthread_sigmask(SIG_BLOCK, NULL, &set);
-    sigdelset(&set, SIGBUS);
-    pthread_sigmask(SIG_SETMASK, &set, NULL);
-    sigdelset(&set, SIG_IPI);
-    r = kvm_set_signal_mask(cpu, &set);
-    if (r) {
-        fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
-        exit(1);
-    }
-}
-
-static void qemu_kvm_eat_signals(CPUState *cpu)
-{
-    struct timespec ts = { 0, 0 };
-    siginfo_t siginfo;
-    sigset_t waitset;
-    sigset_t chkset;
-    int r;
-
-    sigemptyset(&waitset);
-    sigaddset(&waitset, SIG_IPI);
-
-    do {
-        r = sigtimedwait(&waitset, &siginfo, &ts);
-        if (r == -1 && !(errno == EAGAIN || errno == EINTR)) {
-            perror("sigtimedwait");
-            exit(1);
-        }
-
-        r = sigpending(&chkset);
-        if (r == -1) {
-            perror("sigpending");
-            exit(1);
-        }
-    } while (sigismember(&chkset, SIG_IPI));
-}
 #else /* !CONFIG_LINUX */
 static void qemu_init_sigbus(void)
 {
 }
-
-static void qemu_kvm_eat_signals(CPUState *cpu)
-{
-}
-
-static void qemu_kvm_init_cpu_signals(CPUState *cpu)
-{
-}
 #endif /* !CONFIG_LINUX */
 
 static QemuMutex qemu_global_mutex;
@@ -956,7 +897,6 @@ static void qemu_kvm_wait_io_event(CPUState *cpu)
         qemu_cond_wait(cpu->halt_cond, &qemu_global_mutex);
     }
 
-    qemu_kvm_eat_signals(cpu);
     qemu_wait_io_event_common(cpu);
 }
 
@@ -979,7 +919,7 @@ static void *qemu_kvm_cpu_thread_fn(void *arg)
         exit(1);
     }
 
-    qemu_kvm_init_cpu_signals(cpu);
+    kvm_init_cpu_signals(cpu);
 
     /* signal CPU creation */
     cpu->created = true;
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index a1b019d..24281fc 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -238,9 +238,6 @@ int kvm_remove_breakpoint(CPUState *cpu, target_ulong addr,
                           target_ulong len, int type);
 void kvm_remove_all_breakpoints(CPUState *cpu);
 int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap);
-#ifndef _WIN32
-int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset);
-#endif
 
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
@@ -463,6 +460,8 @@ void kvm_cpu_synchronize_state(CPUState *cpu);
 void kvm_cpu_synchronize_post_reset(CPUState *cpu);
 void kvm_cpu_synchronize_post_init(CPUState *cpu);
 
+void kvm_init_cpu_signals(CPUState *cpu);
+
 /**
  * kvm_irqchip_add_msi_route - Add MSI route for specific vector
  * @s:      KVM state
diff --git a/kvm-all.c b/kvm-all.c
index d3b0487..d7d5a71 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1897,6 +1897,32 @@ static __thread void *pending_sigbus_addr;
 static __thread int pending_sigbus_code;
 static __thread bool have_sigbus_pending;
 
+static void kvm_eat_signals(CPUState *cpu)
+{
+    struct timespec ts = { 0, 0 };
+    siginfo_t siginfo;
+    sigset_t waitset;
+    sigset_t chkset;
+    int r;
+
+    sigemptyset(&waitset);
+    sigaddset(&waitset, SIG_IPI);
+
+    do {
+        r = sigtimedwait(&waitset, &siginfo, &ts);
+        if (r == -1 && !(errno == EAGAIN || errno == EINTR)) {
+            perror("sigtimedwait");
+            exit(1);
+        }
+
+        r = sigpending(&chkset);
+        if (r == -1) {
+            perror("sigpending");
+            exit(1);
+        }
+    } while (sigismember(&chkset, SIG_IPI));
+}
+
 int kvm_cpu_exec(CPUState *cpu)
 {
     struct kvm_run *run = cpu->kvm_run;
@@ -1945,6 +1971,7 @@ int kvm_cpu_exec(CPUState *cpu)
         if (run_ret < 0) {
             if (run_ret == -EINTR || run_ret == -EAGAIN) {
                 DPRINTF("io window exit\n");
+                kvm_eat_signals(cpu);
                 ret = EXCP_INTERRUPT;
                 break;
             }
@@ -2384,16 +2411,12 @@ void kvm_remove_all_breakpoints(CPUState *cpu)
 }
 #endif /* !KVM_CAP_SET_GUEST_DEBUG */
 
-int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
+static int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
 {
     KVMState *s = kvm_state;
     struct kvm_signal_mask *sigmask;
     int r;
 
-    if (!sigset) {
-        return kvm_vcpu_ioctl(cpu, KVM_SET_SIGNAL_MASK, NULL);
-    }
-
     sigmask = g_malloc(sizeof(*sigmask) + sizeof(*sigset));
 
     sigmask->len = s->sigmask_len;
@@ -2404,6 +2427,33 @@ int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
     return r;
 }
 
+static void dummy_signal(int sig)
+{
+}
+
+void kvm_init_cpu_signals(CPUState *cpu)
+{
+    int r;
+    sigset_t set;
+    struct sigaction sigact;
+
+    memset(&sigact, 0, sizeof(sigact));
+    sigact.sa_handler = dummy_signal;
+    sigaction(SIG_IPI, &sigact, NULL);
+
+    pthread_sigmask(SIG_BLOCK, NULL, &set);
+#if defined KVM_HAVE_MCE_INJECTION
+    sigdelset(&set, SIGBUS);
+    pthread_sigmask(SIG_SETMASK, &set, NULL);
+#endif
+    sigdelset(&set, SIG_IPI);
+    r = kvm_set_signal_mask(cpu, &set);
+    if (r) {
+        fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
+        exit(1);
+    }
+}
+
 /* Called asynchronously in VCPU thread.  */
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
 {
diff --git a/kvm-stub.c b/kvm-stub.c
index b1b6b96..ef0c734 100644
--- a/kvm-stub.c
+++ b/kvm-stub.c
@@ -95,13 +95,6 @@ void kvm_remove_all_breakpoints(CPUState *cpu)
 {
 }
 
-#ifndef _WIN32
-int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
-{
-    abort();
-}
-#endif
-
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
 {
     return 1;
@@ -157,4 +150,9 @@ bool kvm_has_free_slot(MachineState *ms)
 {
     return false;
 }
+
+void kvm_init_cpu_signals(CPUState *cpu)
+{
+    abort();
+}
 #endif
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 12/17] kvm: use atomic_read/atomic_set to access cpu->exit_request
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (10 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 11/17] KVM: move SIG_IPI handling to kvm-all.c Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 13/17] KVM: use KVM_CAP_IMMEDIATE_EXIT Paolo Bonzini
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 kvm-all.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index d7d5a71..1a96c27 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1931,7 +1931,7 @@ int kvm_cpu_exec(CPUState *cpu)
     DPRINTF("kvm_cpu_exec()\n");
 
     if (kvm_arch_process_async_events(cpu)) {
-        cpu->exit_request = 0;
+        atomic_set(&cpu->exit_request, 0);
         return EXCP_HLT;
     }
 
@@ -1946,7 +1946,7 @@ int kvm_cpu_exec(CPUState *cpu)
         }
 
         kvm_arch_pre_run(cpu, run);
-        if (cpu->exit_request) {
+        if (atomic_read(&cpu->exit_request)) {
             DPRINTF("interrupt exit requested\n");
             /*
              * KVM requires us to reenter the kernel after IO exits to complete
@@ -2065,7 +2065,7 @@ int kvm_cpu_exec(CPUState *cpu)
         vm_stop(RUN_STATE_INTERNAL_ERROR);
     }
 
-    cpu->exit_request = 0;
+    atomic_set(&cpu->exit_request, 0);
     return ret;
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 13/17] KVM: use KVM_CAP_IMMEDIATE_EXIT
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (11 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 12/17] kvm: use atomic_read/atomic_set to access cpu->exit_request Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 14/17] vmxcap: port to Python 3 Paolo Bonzini
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

The purpose of the KVM_SET_SIGNAL_MASK API is to let userspace "kick"
a VCPU out of KVM_RUN through a POSIX signal.  A signal is attached
to a dummy signal handler; by blocking the signal outside KVM_RUN and
unblocking it inside, this possible race is closed:

          VCPU thread                     service thread
   --------------------------------------------------------------
        check flag
                                          set flag
                                          raise signal
        (signal handler does nothing)
        KVM_RUN

However, one issue with KVM_SET_SIGNAL_MASK is that it has to take
tsk->sighand->siglock on every KVM_RUN.  This lock is often on a
remote NUMA node, because it is on the node of a thread's creator.
Taking this lock can be very expensive if there are many userspace
exits (as is the case for SMP Windows VMs without Hyper-V reference
time counter).

KVM_CAP_IMMEDIATE_EXIT provides an alternative, where the flag is
placed directly in kvm_run so that KVM can see it:

          VCPU thread                     service thread
   --------------------------------------------------------------
                                          raise signal
        signal handler
          set run->immediate_exit
        KVM_RUN
          check run->immediate_exit

The previous patches changed QEMU so that the only blocked signal is
SIG_IPI, so we can now stop using KVM_SET_SIGNAL_MASK and sigtimedwait
if KVM_CAP_IMMEDIATE_EXIT is available.

On a 14-VCPU guest, an "inl" operation goes down from 30k to 6k on
an unlocked (no BQL) MemoryRegion, or from 30k to 15k if the BQL
is involved.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 kvm-all.c | 46 ++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 42 insertions(+), 4 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index 1a96c27..7ad20b7 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -120,6 +120,7 @@ bool kvm_vm_attributes_allowed;
 bool kvm_direct_msi_allowed;
 bool kvm_ioeventfd_any_length_allowed;
 bool kvm_msi_use_devid;
+static bool kvm_immediate_exit;
 
 static const KVMCapabilityInfo kvm_required_capabilites[] = {
     KVM_CAP_INFO(USER_MEMORY),
@@ -1619,6 +1620,7 @@ static int kvm_init(MachineState *ms)
         goto err;
     }
 
+    kvm_immediate_exit = kvm_check_extension(s, KVM_CAP_IMMEDIATE_EXIT);
     s->nr_slots = kvm_check_extension(s, KVM_CAP_NR_MEMSLOTS);
 
     /* If unspecified, use the default value */
@@ -1897,6 +1899,20 @@ static __thread void *pending_sigbus_addr;
 static __thread int pending_sigbus_code;
 static __thread bool have_sigbus_pending;
 
+static void kvm_cpu_kick(CPUState *cpu)
+{
+    atomic_set(&cpu->kvm_run->immediate_exit, 1);
+}
+
+static void kvm_cpu_kick_self(void)
+{
+    if (kvm_immediate_exit) {
+        kvm_cpu_kick(current_cpu);
+    } else {
+        qemu_cpu_kick_self();
+    }
+}
+
 static void kvm_eat_signals(CPUState *cpu)
 {
     struct timespec ts = { 0, 0 };
@@ -1905,6 +1921,15 @@ static void kvm_eat_signals(CPUState *cpu)
     sigset_t chkset;
     int r;
 
+    if (kvm_immediate_exit) {
+        atomic_set(&cpu->kvm_run->immediate_exit, 0);
+        /* Write kvm_run->immediate_exit before the cpu->exit_request
+         * write in kvm_cpu_exec.
+         */
+        smp_wmb();
+        return;
+    }
+
     sigemptyset(&waitset);
     sigaddset(&waitset, SIG_IPI);
 
@@ -1953,9 +1978,14 @@ int kvm_cpu_exec(CPUState *cpu)
              * instruction emulation. This self-signal will ensure that we
              * leave ASAP again.
              */
-            qemu_cpu_kick_self();
+            kvm_cpu_kick_self();
         }
 
+        /* Read cpu->exit_request before KVM_RUN reads run->immediate_exit.
+         * Matching barrier in kvm_eat_signals.
+         */
+        smp_rmb();
+
         run_ret = kvm_vcpu_ioctl(cpu, KVM_RUN, 0);
 
         attrs = kvm_arch_post_run(cpu, run);
@@ -2427,8 +2457,12 @@ static int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
     return r;
 }
 
-static void dummy_signal(int sig)
+static void kvm_ipi_signal(int sig)
 {
+    if (current_cpu) {
+        assert(kvm_immediate_exit);
+        kvm_cpu_kick(current_cpu);
+    }
 }
 
 void kvm_init_cpu_signals(CPUState *cpu)
@@ -2438,7 +2472,7 @@ void kvm_init_cpu_signals(CPUState *cpu)
     struct sigaction sigact;
 
     memset(&sigact, 0, sizeof(sigact));
-    sigact.sa_handler = dummy_signal;
+    sigact.sa_handler = kvm_ipi_signal;
     sigaction(SIG_IPI, &sigact, NULL);
 
     pthread_sigmask(SIG_BLOCK, NULL, &set);
@@ -2447,7 +2481,11 @@ void kvm_init_cpu_signals(CPUState *cpu)
     pthread_sigmask(SIG_SETMASK, &set, NULL);
 #endif
     sigdelset(&set, SIG_IPI);
-    r = kvm_set_signal_mask(cpu, &set);
+    if (kvm_immediate_exit) {
+        r = pthread_sigmask(SIG_SETMASK, &set, NULL);
+    } else {
+        r = kvm_set_signal_mask(cpu, &set);
+    }
     if (r) {
         fprintf(stderr, "kvm_set_signal_mask: %s\n", strerror(-r));
         exit(1);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 14/17] vmxcap: port to Python 3
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (12 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 13/17] KVM: use KVM_CAP_IMMEDIATE_EXIT Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 15/17] vmxcap: update for September 2016 SDM Paolo Bonzini
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/kvm/vmxcap | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/kvm/vmxcap b/scripts/kvm/vmxcap
index 2220255..af8de15 100755
--- a/scripts/kvm/vmxcap
+++ b/scripts/kvm/vmxcap
@@ -27,9 +27,9 @@ MSR_IA32_VMX_VMFUNC = 0x491
 class msr(object):
     def __init__(self):
         try:
-            self.f = open('/dev/cpu/0/msr', 'r', 0)
+            self.f = open('/dev/cpu/0/msr', 'rb', 0)
         except:
-            self.f = open('/dev/msr0', 'r', 0)
+            self.f = open('/dev/msr0', 'rb', 0)
     def read(self, index, default = None):
         import struct
         self.f.seek(index)
@@ -49,7 +49,7 @@ class Control(object):
         val = m.read(nr, 0)
         return (val & 0xffffffff, val >> 32)
     def show(self):
-        print self.name
+        print(self.name)
         mbz, mb1 = self.read2(self.cap_msr)
         tmbz, tmb1 = 0, 0
         if self.true_cap_msr:
@@ -69,7 +69,7 @@ class Control(object):
                 s = 'forced'
             elif one and zero:
                 s = 'yes'
-            print '  %-40s %s' % (self.bits[bit], s)
+            print('  %-40s %s' % (self.bits[bit], s))
 
 class Misc(object):
     def __init__(self, name, bits, msr):
@@ -77,9 +77,9 @@ class Misc(object):
         self.bits = bits
         self.msr = msr
     def show(self):
-        print self.name
+        print(self.name)
         value = msr().read(self.msr, 0)
-        print '  Hex: 0x%x' % (value)
+        print('  Hex: 0x%x' % (value))
         def first_bit(key):
             if type(key) is tuple:
                 return key[0]
@@ -94,7 +94,7 @@ class Misc(object):
                 def fmt(x):
                     return { True: 'yes', False: 'no' }[x]
             v = (value >> lo) & ((1 << (hi - lo + 1)) - 1)
-            print '  %-40s %s' % (self.bits[bits], fmt(v))
+            print('  %-40s %s' % (self.bits[bits], fmt(v)))
 
 controls = [
     Misc(
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 15/17] vmxcap: update for September 2016 SDM
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (13 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 14/17] vmxcap: port to Python 3 Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 16/17] qapi: flatten GuestPanicInformation union Paolo Bonzini
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/kvm/vmxcap | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/scripts/kvm/vmxcap b/scripts/kvm/vmxcap
index af8de15..d9a6db0 100755
--- a/scripts/kvm/vmxcap
+++ b/scripts/kvm/vmxcap
@@ -170,9 +170,13 @@ controls = [
             12: 'Enable INVPCID',
             13: 'Enable VM functions',
             14: 'VMCS shadowing',
+            15: 'Enable ENCLS exiting',
             16: 'RDSEED exiting',
+            17: 'Enable PML',
             18: 'EPT-violation #VE',
+            19: 'Conceal non-root operation from PT',
             20: 'Enable XSAVES/XRSTORS',
+            22: 'Mode-based execute control (XS/XU)',
             25: 'TSC scaling',
             },
         cap_msr = MSR_IA32_VMX_PROCBASED_CTLS2,
@@ -190,6 +194,8 @@ controls = [
             20: 'Save IA32_EFER',
             21: 'Load IA32_EFER',
             22: 'Save VMX-preemption timer value',
+            23: 'Clear IA32_BNDCFGS',
+            24: 'Conceal VM exits from PT',
             },
         cap_msr = MSR_IA32_VMX_EXIT_CTLS,
         true_cap_msr = MSR_IA32_VMX_TRUE_EXIT_CTLS,
@@ -205,6 +211,8 @@ controls = [
             13: 'Load IA32_PERF_GLOBAL_CTRL',
             14: 'Load IA32_PAT',
             15: 'Load IA32_EFER',
+            16: 'Load IA32_BNDCFGS',
+            17: 'Conceal VM entries from PT',
             },
         cap_msr = MSR_IA32_VMX_ENTRY_CTLS,
         true_cap_msr = MSR_IA32_VMX_TRUE_ENTRY_CTLS,
@@ -223,6 +231,7 @@ controls = [
             (25,27): 'MSR-load/store count recommendation',
             28: 'IA32_SMM_MONITOR_CTL[2] can be set to 1',
             29: 'VMWRITE to VM-exit information fields',
+            30: 'Inject event with insn length=0',
             (32,63): 'MSEG revision identifier',
             },
         msr = MSR_IA32_VMX_MISC_CTLS,
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 16/17] qapi: flatten GuestPanicInformation union
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (14 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 15/17] vmxcap: update for September 2016 SDM Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 17:40 ` [Qemu-devel] [PULL 17/17] qmp-events: fix GUEST_PANICKED description formatting Paolo Bonzini
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anton Nefedov, Denis V. Lunev, Eric Blake

From: Anton Nefedov <anton.nefedov@virtuozzo.com>

Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Eric Blake <eblake@redhat.com>
Message-Id: <1487614915-18710-3-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 qapi-schema.json  | 12 ++++++++++++
 target/i386/cpu.c | 15 ++++++---------
 vl.c              | 12 ++++++------
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/qapi-schema.json b/qapi-schema.json
index e9a6364..b142e15 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -5872,6 +5872,16 @@
   'data': [ 'pause', 'poweroff' ] }
 
 ##
+# @GuestPanicInformationType:
+#
+# An enumeration of the guest panic information types
+#
+# Since: 2.9
+##
+{ 'enum': 'GuestPanicInformationType',
+  'data': [ 'hyper-v'] }
+
+##
 # @GuestPanicInformation:
 #
 # Information about a guest panic
@@ -5879,6 +5889,8 @@
 # Since: 2.9
 ##
 {'union': 'GuestPanicInformation',
+ 'base': {'type': 'GuestPanicInformationType'},
+ 'discriminator': 'type',
  'data': { 'hyper-v': 'GuestPanicInformationHyperV' } }
 
 ##
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index fd7add2..63be816 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -3502,19 +3502,16 @@ static GuestPanicInformation *x86_cpu_get_crash_info(CPUState *cs)
     GuestPanicInformation *panic_info = NULL;
 
     if (env->features[FEAT_HYPERV_EDX] & HV_X64_GUEST_CRASH_MSR_AVAILABLE) {
-        GuestPanicInformationHyperV *panic_info_hv =
-            g_malloc0(sizeof(GuestPanicInformationHyperV));
         panic_info = g_malloc0(sizeof(GuestPanicInformation));
 
-        panic_info->type = GUEST_PANIC_INFORMATION_KIND_HYPER_V;
-        panic_info->u.hyper_v.data = panic_info_hv;
+        panic_info->type = GUEST_PANIC_INFORMATION_TYPE_HYPER_V;
 
         assert(HV_X64_MSR_CRASH_PARAMS >= 5);
-        panic_info_hv->arg1 = env->msr_hv_crash_params[0];
-        panic_info_hv->arg2 = env->msr_hv_crash_params[1];
-        panic_info_hv->arg3 = env->msr_hv_crash_params[2];
-        panic_info_hv->arg4 = env->msr_hv_crash_params[3];
-        panic_info_hv->arg5 = env->msr_hv_crash_params[4];
+        panic_info->u.hyper_v.arg1 = env->msr_hv_crash_params[0];
+        panic_info->u.hyper_v.arg2 = env->msr_hv_crash_params[1];
+        panic_info->u.hyper_v.arg3 = env->msr_hv_crash_params[2];
+        panic_info->u.hyper_v.arg4 = env->msr_hv_crash_params[3];
+        panic_info->u.hyper_v.arg5 = env->msr_hv_crash_params[4];
     }
 
     return panic_info;
diff --git a/vl.c b/vl.c
index b5d0a19..e307ae0 100644
--- a/vl.c
+++ b/vl.c
@@ -1697,14 +1697,14 @@ void qemu_system_guest_panicked(GuestPanicInformation *info)
     }
 
     if (info) {
-        if (info->type == GUEST_PANIC_INFORMATION_KIND_HYPER_V) {
+        if (info->type == GUEST_PANIC_INFORMATION_TYPE_HYPER_V) {
             qemu_log_mask(LOG_GUEST_ERROR, "HV crash parameters: (%#"PRIx64
                           " %#"PRIx64" %#"PRIx64" %#"PRIx64" %#"PRIx64")\n",
-                          info->u.hyper_v.data->arg1,
-                          info->u.hyper_v.data->arg2,
-                          info->u.hyper_v.data->arg3,
-                          info->u.hyper_v.data->arg4,
-                          info->u.hyper_v.data->arg5);
+                          info->u.hyper_v.arg1,
+                          info->u.hyper_v.arg2,
+                          info->u.hyper_v.arg3,
+                          info->u.hyper_v.arg4,
+                          info->u.hyper_v.arg5);
         }
         qapi_free_GuestPanicInformation(info);
     }
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PULL 17/17] qmp-events: fix GUEST_PANICKED description formatting
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (15 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 16/17] qapi: flatten GuestPanicInformation union Paolo Bonzini
@ 2017-02-24 17:40 ` Paolo Bonzini
  2017-02-24 18:27 ` [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze no-reply
  2017-02-25 21:32 ` Peter Maydell
  18 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2017-02-24 17:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anton Nefedov, Denis V. Lunev, Eric Blake

From: Anton Nefedov <anton.nefedov@virtuozzo.com>

Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Eric Blake <eblake@redhat.com>
Message-Id: <1487614915-18710-4-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 qapi/event.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/qapi/event.json b/qapi/event.json
index 970ff02..e02852c 100644
--- a/qapi/event.json
+++ b/qapi/event.json
@@ -488,9 +488,9 @@
 #
 # @action: action that has been taken, currently always "pause"
 #
-# @info: optional information about a panic
+# @info: #optional information about a panic (since 2.9)
 #
-# Since: 1.5 (@info since 2.9)
+# Since: 1.5
 #
 # Example:
 #
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (16 preceding siblings ...)
  2017-02-24 17:40 ` [Qemu-devel] [PULL 17/17] qmp-events: fix GUEST_PANICKED description formatting Paolo Bonzini
@ 2017-02-24 18:27 ` no-reply
  2017-02-25 21:32 ` Peter Maydell
  18 siblings, 0 replies; 20+ messages in thread
From: no-reply @ 2017-02-24 18:27 UTC (permalink / raw)
  To: pbonzini; +Cc: famz, qemu-devel

Hi,

This series failed build test on s390x host. Please find the details below.

Type: series
Subject: [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze
Message-id: 1487958030-51417-1-git-send-email-pbonzini@redhat.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=/var/tmp/patchew-qemu-build
echo -n "Using CC: "
realpath $CC
test -e $BUILD && rm -rf $BUILD
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
make check -j4
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/1487313115-9510-1-git-send-email-vijay.kilari@gmail.com -> patchew/1487313115-9510-1-git-send-email-vijay.kilari@gmail.com
 - [tag update]      patchew/1487850673-26455-1-git-send-email-vijay.kilari@gmail.com -> patchew/1487850673-26455-1-git-send-email-vijay.kilari@gmail.com
 * [new tag]         patchew/1487958030-51417-1-git-send-email-pbonzini@redhat.com -> patchew/1487958030-51417-1-git-send-email-pbonzini@redhat.com
Switched to a new branch 'test'
ecdf05c qmp-events: fix GUEST_PANICKED description formatting
dac16b5 qapi: flatten GuestPanicInformation union
48fe2b6 vmxcap: update for September 2016 SDM
1b0714a vmxcap: port to Python 3
05a485e KVM: use KVM_CAP_IMMEDIATE_EXIT
7b0ec0c kvm: use atomic_read/atomic_set to access cpu->exit_request
9d2d513 KVM: move SIG_IPI handling to kvm-all.c
214ff67 KVM: do not use sigtimedwait to catch SIGBUS
24cf4c0 KVM: remove kvm_arch_on_sigbus
349713a cpus: reorganize signal handling code
73b8029 KVM: x86: cleanup SIGBUS handlers
a3e00be cpus: remove ugly cast on sigbus_handler
26e0b70 update Linux headers to 4.11
2a080f4 update-linux-headers: update for 4.11
077e990 cpu-exec: remove unnecessary check of cpu->exit_request
ff64269 replay: check icount in cpu exec loop
34d496b cpu-exec: unify icount_decr and tcg_exit_req

=== OUTPUT BEGIN ===
=== ENV ===
XDG_SESSION_ID=34207
SHELL=/bin/sh
USER=fam
PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug
PATH=/usr/bin:/bin
PWD=/var/tmp/patchew-tester-tmp-afl0xo07/src
LANG=en_US.UTF-8
HOME=/home/fam
SHLVL=2
LOGNAME=fam
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus
XDG_RUNTIME_DIR=/run/user/1012
_=/usr/bin/env
=== PACKAGES ===
gpg-pubkey-873529b8-54e386ff
xz-libs-5.2.2-2.fc24.s390x
libacl-2.2.52-11.fc24.s390x
libxshmfence-1.2-3.fc24.s390x
cdparanoia-libs-10.2-21.fc24.s390x
ustr-1.0.4-21.fc24.s390x
giflib-4.1.6-15.fc24.s390x
libusb-0.1.5-7.fc24.s390x
trousers-lib-0.3.13-6.fc24.s390x
readline-devel-6.3-8.fc24.s390x
python-srpm-macros-3-10.fc25.noarch
ncurses-base-6.0-6.20160709.fc25.noarch
gmp-6.1.1-1.fc25.s390x
chkconfig-1.8-1.fc25.s390x
libidn-1.33-1.fc25.s390x
file-5.28-4.fc25.s390x
slang-2.3.0-7.fc25.s390x
avahi-libs-0.6.32-4.fc25.s390x
libsemanage-2.5-8.fc25.s390x
perl-Unicode-Normalize-1.25-365.fc25.s390x
perl-libnet-3.10-1.fc25.noarch
perl-Thread-Queue-3.11-1.fc25.noarch
perl-podlators-4.09-1.fc25.noarch
jasper-libs-1.900.13-1.fc25.s390x
graphite2-1.3.6-1.fc25.s390x
libblkid-2.28.2-1.fc25.s390x
pkgconfig-0.29.1-1.fc25.s390x
dbus-python-1.2.4-2.fc25.s390x
alsa-lib-1.1.1-2.fc25.s390x
libgnome-keyring-3.12.0-7.fc25.s390x
yum-metadata-parser-1.1.4-17.fc25.s390x
python3-3.5.2-4.fc25.s390x
python3-slip-dbus-0.6.4-4.fc25.noarch
python2-cssselect-0.9.2-1.fc25.noarch
python-backports-1.0-8.fc25.s390x
python-magic-5.28-4.fc25.noarch
python-pycparser-2.14-7.fc25.noarch
python-fedora-0.8.0-2.fc25.noarch
createrepo_c-libs-0.10.0-6.fc25.s390x
initscripts-9.69-1.fc25.s390x
plymouth-scripts-0.9.3-0.6.20160620git0e65b86c.fc25.s390x
cronie-1.5.1-2.fc25.s390x
python2-librepo-1.7.18-3.fc25.s390x
wget-1.18-2.fc25.s390x
python3-dnf-plugins-core-0.1.21-4.fc25.noarch
at-spi2-core-2.22.0-1.fc25.s390x
libXv-1.0.11-1.fc25.s390x
dhcp-client-4.3.5-1.fc25.s390x
python2-dnf-plugins-core-0.1.21-4.fc25.noarch
parted-3.2-21.fc25.s390x
python2-ndg_httpsclient-0.4.0-4.fc25.noarch
bash-completion-2.4-1.fc25.noarch
btrfs-progs-4.6.1-1.fc25.s390x
texinfo-6.1-3.fc25.s390x
perl-Filter-1.55-366.fc25.s390x
flex-2.6.0-3.fc25.s390x
libgcc-6.3.1-1.fc25.s390x
glib2-2.50.2-1.fc25.s390x
dbus-libs-1.11.8-1.fc25.s390x
libgomp-6.3.1-1.fc25.s390x
colord-libs-1.3.4-1.fc25.s390x
perl-Encode-2.88-5.fc25.s390x
gstreamer1-1.10.2-1.fc25.s390x
cracklib-2.9.6-4.fc25.s390x
rpm-build-libs-4.13.0-6.fc25.s390x
libobjc-6.3.1-1.fc25.s390x
pcre-devel-8.40-1.fc25.s390x
mariadb-config-10.1.20-1.fc25.s390x
gcc-6.3.1-1.fc25.s390x
mesa-libGL-13.0.3-1.fc25.s390x
python3-dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch
bind-libs-9.10.4-4.P5.fc25.s390x
python-osbs-client-0.33-3.fc25.noarch
NetworkManager-1.4.4-3.fc25.s390x
audit-2.7.1-1.fc25.s390x
glibc-static-2.24-4.fc25.s390x
perl-Pod-Simple-3.35-1.fc25.noarch
gdb-7.12-36.fc25.s390x
python2-simplejson-3.10.0-1.fc25.s390x
python3-sssdconfig-1.14.2-2.fc25.noarch
texlive-lib-2016-30.20160520.fc25.s390x
boost-random-1.60.0-10.fc25.s390x
brltty-5.4-2.fc25.s390x
libref_array-0.1.5-29.fc25.s390x
librados2-10.2.4-2.fc25.s390x
gnutls-dane-3.5.8-1.fc25.s390x
systemtap-client-3.1-0.20160725git91bfb36.fc25.s390x
libXrender-devel-0.9.10-1.fc25.s390x
libXi-devel-1.7.8-2.fc25.s390x
texlive-pdftex-doc-svn41149-30.fc25.noarch
tcp_wrappers-7.6-83.fc25.s390x
javapackages-tools-4.7.0-6.1.fc25.noarch
texlive-kpathsea-bin-svn40473-30.20160520.fc25.s390x
texlive-url-svn32528.3.4-30.fc25.noarch
texlive-latex-fonts-svn28888.0-30.fc25.noarch
texlive-mptopdf-bin-svn18674.0-30.20160520.fc25.noarch
texlive-underscore-svn18261.0-30.fc25.noarch
texlive-subfig-svn15878.1.3-30.fc25.noarch
texlive-dvipdfmx-def-svn40328-30.fc25.noarch
texlive-plain-svn40274-30.fc25.noarch
texlive-texlive-scripts-svn41433-30.fc25.noarch
texlive-fancyref-svn15878.0.9c-30.fc25.noarch
texlive-csquotes-svn39538-30.fc25.noarch
texlive-pxfonts-svn15878.0-30.fc25.noarch
texlive-cite-svn36428.5.5-30.fc25.noarch
texlive-section-svn20180.0-30.fc25.noarch
texlive-pslatex-svn16416.0-30.fc25.noarch
texlive-tex-gyre-math-svn41264-30.fc25.noarch
texlive-knuth-local-svn38627-30.fc25.noarch
texlive-type1cm-svn21820.0-30.fc25.noarch
texlive-finstrut-svn21719.0.5-30.fc25.noarch
texlive-ucharcat-svn38907-30.fc25.noarch
texlive-environ-svn33821.0.3-30.fc25.noarch
texlive-eso-pic-svn37925.2.0g-30.fc25.noarch
texlive-filehook-svn24280.0.5d-30.fc25.noarch
texlive-luatexbase-svn38550-30.fc25.noarch
texlive-pst-text-svn15878.1.00-30.fc25.noarch
texlive-pst-tree-svn24142.1.12-30.fc25.noarch
texlive-latex-bin-bin-svn14050.0-30.20160520.fc25.noarch
texlive-metalogo-svn18611.0.12-30.fc25.noarch
texlive-cm-super-svn15878.0-30.fc25.noarch
texlive-xetex-svn41438-30.fc25.noarch
keyutils-1.5.9-8.fc24.s390x
libcephfs_jni1-10.2.4-2.fc25.s390x
libcom_err-devel-1.43.3-1.fc25.s390x
mesa-libGLES-devel-13.0.3-1.fc25.s390x
graphite2-devel-1.3.6-1.fc25.s390x
nettle-devel-3.3-1.fc25.s390x
lzo-minilzo-2.08-8.fc24.s390x
bzip2-devel-1.0.6-21.fc25.s390x
libusbx-devel-1.0.21-1.fc25.s390x
SDL2-devel-2.0.5-2.fc25.s390x
virglrenderer-devel-0.5.0-1.20160411git61846f92f.fc25.s390x
glib2-static-2.50.2-1.fc25.s390x
mesa-libgbm-devel-13.0.3-1.fc25.s390x
acpica-tools-20160831-1.fc25.s390x
gdk-pixbuf2-2.36.4-1.fc25.s390x
nss-softokn-3.28.1-1.0.fc25.s390x
python3-dnf-1.1.10-5.fc25.noarch
python-gluster-3.9.1-1.fc25.noarch
perl-IO-1.36-382.fc25.s390x
glusterfs-devel-3.9.1-1.fc25.s390x
gtk3-3.22.7-1.fc25.s390x
vim-enhanced-8.0.206-1.fc25.s390x
nss-tools-3.28.1-1.3.fc25.s390x
libmicrohttpd-0.9.52-1.fc25.s390x
gpg-pubkey-a29cb19c-53bcbba6
libaio-0.3.110-6.fc24.s390x
m4-1.4.17-9.fc24.s390x
libfontenc-1.1.3-3.fc24.s390x
lzo-2.08-8.fc24.s390x
isl-0.14-5.fc24.s390x
libXau-1.0.8-6.fc24.s390x
liblockfile-1.09-4.fc24.s390x
linux-atm-libs-2.5.1-14.fc24.s390x
sg3_utils-1.41-3.fc24.s390x
libXext-1.3.3-4.fc24.s390x
libXinerama-1.1.3-6.fc24.s390x
libXxf86vm-1.1.4-3.fc24.s390x
libXft-2.3.2-4.fc24.s390x
ykpers-1.17.3-2.fc24.s390x
bison-3.0.4-4.fc24.s390x
perl-srpm-macros-1-20.fc25.noarch
gawk-4.1.3-8.fc25.s390x
tcp_wrappers-libs-7.6-83.fc25.s390x
libwayland-client-1.12.0-1.fc25.s390x
iptables-1.6.0-2.fc25.s390x
perl-Exporter-5.72-366.fc25.noarch
perl-Text-Tabs+Wrap-2013.0523-365.fc25.noarch
perl-Error-0.17024-7.fc25.noarch
perl-Term-Cap-1.17-365.fc25.noarch
perl-version-0.99.17-1.fc25.s390x
perl-Pod-Usage-1.69-1.fc25.noarch
fftw-libs-double-3.3.5-3.fc25.s390x
device-mapper-persistent-data-0.6.3-1.fc25.s390x
krb5-libs-1.14.4-4.fc25.s390x
system-python-libs-3.5.2-4.fc25.s390x
net-snmp-libs-5.7.3-13.fc25.s390x
libssh2-1.8.0-1.fc25.s390x
libgusb-0.2.9-1.fc25.s390x
ModemManager-glib-1.6.4-1.fc25.s390x
python3-six-1.10.0-3.fc25.noarch
newt-python3-0.52.19-2.fc25.s390x
python3-pysocks-1.5.6-5.fc25.noarch
python-chardet-2.3.0-1.fc25.noarch
python-munch-2.0.4-3.fc25.noarch
python2-cffi-1.7.0-2.fc25.s390x
python-bugzilla-1.2.2-4.fc25.noarch
openldap-2.4.44-2.fc25.s390x
libedit-3.1-16.20160618cvs.fc25.s390x
gc-devel-7.4.4-1.fc25.s390x
python-pycurl-7.43.0-4.fc25.s390x
createrepo_c-0.10.0-6.fc25.s390x
plymouth-0.9.3-0.6.20160620git0e65b86c.fc25.s390x
device-mapper-multipath-libs-0.4.9-83.fc25.s390x
ebtables-2.0.10-21.fc25.s390x
python3-librepo-1.7.18-3.fc25.s390x
libwmf-lite-0.2.8.4-49.fc25.s390x
net-snmp-5.7.3-13.fc25.s390x
yum-3.4.3-510.fc25.noarch
dnf-plugins-core-0.1.21-4.fc25.noarch
at-spi2-atk-2.22.0-1.fc25.s390x
ImageMagick-libs-6.9.3.0-3.fc25.s390x
dhcp-common-4.3.5-1.fc25.noarch
kernel-modules-4.8.8-300.fc25.s390x
dracut-config-rescue-044-78.fc25.s390x
sendmail-8.15.2-7.fc25.s390x
avahi-autoipd-0.6.32-4.fc25.s390x
teamd-1.26-1.fc25.s390x
kernel-devel-4.8.8-300.fc25.s390x
mozjs17-17.0.0-16.fc25.s390x
libselinux-2.5-13.fc25.s390x
libcrypt-nss-2.24-4.fc25.s390x
systemd-libs-231-12.fc25.s390x
libgo-6.3.1-1.fc25.s390x
libgo-devel-6.3.1-1.fc25.s390x
NetworkManager-libnm-1.4.4-3.fc25.s390x
cpp-6.3.1-1.fc25.s390x
rpm-plugin-selinux-4.13.0-6.fc25.s390x
pcre-utf32-8.40-1.fc25.s390x
packagedb-cli-2.14-1.fc25.noarch
python2-pyparsing-2.1.10-1.fc25.noarch
glibc-devel-2.24-4.fc25.s390x
libdrm-2.4.74-1.fc25.s390x
kernel-modules-4.9.3-200.fc25.s390x
cairo-gobject-1.14.8-1.fc25.s390x
bind99-license-9.9.9-4.P5.fc25.noarch
pyrpkg-1.47-5.fc25.noarch
emacs-25.1-3.fc25.s390x
firewalld-0.4.4.2-2.fc25.noarch
pyparsing-2.1.10-1.fc25.noarch
kernel-devel-4.9.3-200.fc25.s390x
libproxy-0.4.14-1.fc25.s390x
ethtool-4.8-1.fc25.s390x
python3-pyparsing-2.1.10-1.fc25.noarch
xorg-x11-proto-devel-7.7-20.fc25.noarch
brlapi-0.6.5-2.fc25.s390x
libcollection-0.7.0-29.fc25.s390x
librados-devel-10.2.4-2.fc25.s390x
libcephfs-devel-10.2.4-2.fc25.s390x
libXdamage-devel-1.1.4-8.fc24.s390x
libXinerama-devel-1.1.3-6.fc24.s390x
quota-4.03-7.fc25.s390x
texlive-texlive-common-doc-svn40682-30.fc25.noarch
texlive-metafont-bin-svn40987-30.20160520.fc25.s390x
texlive-ifluatex-svn41346-30.fc25.noarch
texlive-dvips-bin-svn40987-30.20160520.fc25.s390x
texlive-marvosym-svn29349.2.2a-30.fc25.noarch
texlive-graphics-cfg-svn40269-30.fc25.noarch
texlive-carlisle-svn18258.0-30.fc25.noarch
texlive-glyphlist-svn28576.0-30.fc25.noarch
texlive-tex-bin-svn40987-30.20160520.fc25.s390x
texlive-texlive-scripts-bin-svn29741.0-30.20160520.fc25.noarch
texlive-mathtools-svn38833-30.fc25.noarch
texlive-euro-svn22191.1.1-30.fc25.noarch
texlive-palatino-svn31835.0-30.fc25.noarch
texlive-anysize-svn15878.0-30.fc25.noarch
texlive-sansmath-svn17997.1.1-30.fc25.noarch
texlive-mfnfss-svn19410.0-30.fc25.noarch
texlive-mathpazo-svn15878.1.003-30.fc25.noarch
texlive-knuth-lib-svn35820.0-30.fc25.noarch
texlive-updmap-map-svn41159-30.fc25.noarch
texlive-beton-svn15878.0-30.fc25.noarch
texlive-xetexconfig-svn41133-30.fc25.noarch
texlive-trimspaces-svn15878.1.1-30.fc25.noarch
texlive-memoir-svn41203-30.fc25.noarch
texlive-latex-svn40218-30.fc25.noarch
texlive-lualatex-math-svn40621-30.fc25.noarch
texlive-pst-grad-svn15878.1.06-30.fc25.noarch
texlive-pst-tools-svn34067.0.05-30.fc25.noarch
texlive-amscls-svn36804.0-30.fc25.noarch
texlive-tex-gyre-svn18651.2.004-30.fc25.noarch
texlive-ltxmisc-svn21927.0-30.fc25.noarch
texlive-xetex-bin-svn41091-30.20160520.fc25.s390x
lua-posix-33.3.1-3.fc25.s390x
gssproxy-0.5.1-3.fc25.s390x
java-1.8.0-openjdk-1.8.0.111-5.b16.fc25.s390x
libverto-devel-0.2.6-6.fc24.s390x
mesa-libGLES-13.0.3-1.fc25.s390x
p11-kit-devel-0.23.2-2.fc24.s390x
snappy-1.1.3-2.fc24.s390x
gnutls-devel-3.5.8-1.fc25.s390x
cairo-gobject-devel-1.14.8-1.fc25.s390x
usbredir-devel-0.7.1-2.fc24.s390x
systemtap-3.1-0.20160725git91bfb36.fc25.s390x
bluez-libs-devel-5.43-1.fc25.s390x
libcurl-devel-7.51.0-4.fc25.s390x
cyrus-sasl-devel-2.1.26-26.2.fc24.s390x
python-libs-2.7.13-1.fc25.s390x
nss-sysinit-3.28.1-1.3.fc25.s390x
dnf-1.1.10-5.fc25.noarch
glusterfs-extra-xlators-3.9.1-1.fc25.s390x
perl-5.24.1-382.fc25.s390x
linux-firmware-20161205-69.git91ddce49.fc25.noarch
libX11-devel-1.6.4-4.fc25.s390x
kernel-devel-4.9.5-200.fc25.s390x
python-devel-2.7.13-1.fc25.s390x
kernel-headers-4.9.5-200.fc25.s390x
gpg-pubkey-efe550f5-5220ba41
python-async-0.6.1-9.fc22.s390x
gpg-pubkey-81b46521-55b3ca9a
dejavu-sans-mono-fonts-2.35-3.fc24.noarch
filesystem-3.2-37.fc24.s390x
popt-1.16-7.fc24.s390x
libffi-3.1-9.fc24.s390x
cyrus-sasl-lib-2.1.26-26.2.fc24.s390x
xz-5.2.2-2.fc24.s390x
keyutils-libs-1.5.9-8.fc24.s390x
libnfnetlink-1.0.1-8.fc24.s390x
libnetfilter_conntrack-1.0.4-6.fc24.s390x
libtheora-1.1.1-14.fc24.s390x
xml-common-0.6.3-44.fc24.noarch
autoconf-2.69-22.fc24.noarch
libpipeline-1.4.1-2.fc24.s390x
libXt-1.1.5-3.fc24.s390x
kbd-legacy-2.0.3-3.fc24.noarch
ghostscript-fonts-5.50-35.fc24.noarch
libcroco-0.6.11-2.fc24.s390x
pinentry-0.9.7-2.fc24.s390x
libXevie-1.0.3-11.fc24.s390x
pth-2.0.7-27.fc24.s390x
python2-rpm-macros-3-10.fc25.noarch
libsepol-2.5-10.fc25.s390x
libcap-2.25-2.fc25.s390x
sqlite-libs-3.14.2-1.fc25.s390x
mpfr-3.1.5-1.fc25.s390x
libxcb-1.12-1.fc25.s390x
libicu-57.1-4.fc25.s390x
perl-Carp-1.40-365.fc25.noarch
perl-IO-Socket-IP-0.38-1.fc25.noarch
libmnl-1.0.4-1.fc25.s390x
perl-Unicode-EastAsianWidth-1.33-8.fc25.noarch
perl-Getopt-Long-2.49.1-1.fc25.noarch
libwayland-cursor-1.12.0-1.fc25.s390x
coreutils-common-8.25-15.fc25.s390x
libmount-2.28.2-1.fc25.s390x
python2-decorator-4.0.10-3.fc25.noarch
avahi-glib-0.6.32-4.fc25.s390x
python3-pip-8.1.2-2.fc25.noarch
python3-libcomps-0.1.7-5.fc25.s390x
python-slip-0.6.4-4.fc25.noarch
python-krbV-1.0.90-12.fc25.s390x
python2-libcomps-0.1.7-5.fc25.s390x
python2-urllib3-1.15.1-3.fc25.noarch
fipscheck-1.4.1-11.fc25.s390x
gc-7.4.4-1.fc25.s390x
libndp-1.6-1.fc25.s390x
libsolv-0.6.24-1.fc25.s390x
gnupg2-2.1.13-2.fc25.s390x
geoclue2-2.4.4-1.fc25.s390x
s390utils-cmsfs-1.36.0-1.fc25.s390x
libXfixes-5.0.3-1.fc25.s390x
libXi-1.7.8-2.fc25.s390x
adwaita-icon-theme-3.22.0-1.fc25.noarch
dconf-0.26.0-1.fc25.s390x
ncurses-devel-6.0-6.20160709.fc25.s390x
newt-python-0.52.19-2.fc25.s390x
perl-Test-Harness-3.36-367.fc25.noarch
valgrind-3.12.0-1.fc25.s390x
dejagnu-1.6-1.fc25.noarch
audit-libs-2.7.1-1.fc25.s390x
libstdc++-devel-6.3.1-1.fc25.s390x
emacs-filesystem-25.1-3.fc25.noarch
libdb-utils-5.3.28-16.fc25.s390x
libidn2-0.11-1.fc25.s390x
python3-rpm-4.13.0-6.fc25.s390x
gnutls-3.5.8-1.fc25.s390x
python-beautifulsoup4-4.5.3-1.fc25.noarch
qt5-srpm-macros-5.7.1-1.fc25.noarch
elfutils-default-yama-scope-0.168-1.fc25.noarch
device-mapper-1.02.136-3.fc25.s390x
device-mapper-event-1.02.136-3.fc25.s390x
systemd-container-231-12.fc25.s390x
python3-distro-1.0.1-2.fc25.noarch
fedpkg-1.26-4.fc25.noarch
gstreamer1-plugins-base-1.10.2-1.fc25.s390x
subversion-1.9.5-1.fc25.s390x
perl-Module-CoreList-5.20170115-1.fc25.noarch
perl-Class-Inspector-1.31-2.fc25.noarch
libtool-ltdl-2.4.6-13.fc25.s390x
python2-sssdconfig-1.14.2-2.fc25.noarch
glib2-devel-2.50.2-1.fc25.s390x
poppler-0.45.0-2.fc25.s390x
libbasicobjects-0.1.1-29.fc25.s390x
libevent-2.0.22-1.fc25.s390x
libradosstriper1-10.2.4-2.fc25.s390x
atk-devel-2.22.0-1.fc25.s390x
libXxf86vm-devel-1.1.4-3.fc24.s390x
libev-4.24-1.fc25.s390x
gsm-1.0.16-1.fc25.s390x
libnfsidmap-0.27-0.fc25.s390x
zziplib-0.13.62-7.fc24.s390x
texlive-metafont-svn40793-30.fc25.noarch
texlive-booktabs-svn40846-30.fc25.noarch
texlive-dvips-svn41149-30.fc25.noarch
texlive-zapfding-svn31835.0-30.fc25.noarch
texlive-graphics-svn41015-30.fc25.noarch
texlive-latexconfig-svn40274-30.fc25.noarch
texlive-gsftopk-bin-svn40473-30.20160520.fc25.s390x
texlive-tex-svn40793-30.fc25.noarch
texlive-xdvi-bin-svn40750-30.20160520.fc25.s390x
texlive-qstest-svn15878.0-30.fc25.noarch
texlive-avantgar-svn31835.0-30.fc25.noarch
texlive-ncntrsbk-svn31835.0-30.fc25.noarch
texlive-cm-svn32865.0-30.fc25.noarch
texlive-rcs-svn15878.0-30.fc25.noarch
texlive-fix2col-svn38770-30.fc25.noarch
texlive-lm-math-svn36915.1.959-30.fc25.noarch
texlive-hyphen-base-svn41138-30.fc25.noarch
texlive-unicode-data-svn39808-30.fc25.noarch
texlive-luatex-svn40963-30.fc25.noarch
texlive-xetex-def-svn40327-30.fc25.noarch
texlive-varwidth-svn24104.0.92-30.fc25.noarch
texlive-l3kernel-svn41246-30.fc25.noarch
texlive-hyperref-svn41396-30.fc25.noarch
texlive-unicode-math-svn38462-30.fc25.noarch
texlive-fancyvrb-svn18492.2.8-30.fc25.noarch
texlive-pst-plot-svn41242-30.fc25.noarch
texlive-rotating-svn16832.2.16b-30.fc25.noarch
texlive-pdfpages-svn40638-30.fc25.noarch
texlive-ae-svn15878.1.4-30.fc25.noarch
libpaper-1.1.24-12.fc24.s390x
texlive-collection-latexrecommended-svn35765.0-30.20160520.fc25.noarch
libini_config-1.3.0-29.fc25.s390x
xorg-x11-fonts-Type1-7.5-16.fc24.noarch
pcre2-devel-10.22-8.fc25.s390x
gnutls-c++-3.5.8-1.fc25.s390x
systemtap-devel-3.1-0.20160725git91bfb36.fc25.s390x
libtasn1-devel-4.10-1.fc25.s390x
pango-devel-1.40.3-1.fc25.s390x
vte291-devel-0.46.1-1.fc25.s390x
snappy-devel-1.1.3-2.fc24.s390x
brlapi-devel-0.6.5-2.fc25.s390x
man-pages-4.06-3.fc25.noarch
libcap-ng-devel-0.7.8-1.fc25.s390x
glusterfs-3.9.1-1.fc25.s390x
nss-util-devel-3.28.1-1.0.fc25.s390x
dnf-conf-1.1.10-5.fc25.noarch
libxkbcommon-devel-0.7.1-1.fc25.s390x
perl-macros-5.24.1-382.fc25.s390x
rpcbind-0.2.4-2.fc25.s390x
pulseaudio-libs-10.0-2.fc25.s390x
kernel-4.9.5-200.fc25.s390x
libnl3-cli-3.2.29-2.fc25.s390x
tzdata-2016j-2.fc25.noarch
gpg-pubkey-34ec9cba-54e38751
gpg-pubkey-030d5aed-55b577f0
basesystem-11-2.fc24.noarch
libattr-2.4.47-16.fc24.s390x
libmpc-1.0.2-5.fc24.s390x
apr-util-1.5.4-3.fc24.s390x
rsync-3.1.2-2.fc24.s390x
libunistring-0.9.4-3.fc24.s390x
jbigkit-libs-2.1-5.fc24.s390x
pixman-0.34.0-2.fc24.s390x
acl-2.2.52-11.fc24.s390x
dwz-0.12-2.fc24.s390x
expect-5.45-22.fc24.s390x
libmodman-2.0.1-12.fc24.s390x
libsigsegv-2.10-10.fc24.s390x
libvisual-0.4.0-20.fc24.s390x
fakeroot-libs-1.20.2-4.fc24.s390x
m17n-lib-1.7.0-5.fc24.s390x
libpcap-1.7.4-2.fc24.s390x
libverto-0.2.6-6.fc24.s390x
lsscsi-0.28-3.fc24.s390x
setup-2.10.4-1.fc25.noarch
rpmconf-base-1.0.18-2.fc25.noarch
bash-4.3.43-4.fc25.s390x
expat-2.2.0-1.fc25.s390x
libxml2-2.9.3-4.fc25.s390x
libgpg-error-1.24-1.fc25.s390x
nspr-4.13.1-1.fc25.s390x
libgcrypt-1.6.6-1.fc25.s390x
file-libs-5.28-4.fc25.s390x
findutils-4.6.0-8.fc25.s390x
libjpeg-turbo-1.5.1-0.fc25.s390x
kmod-23-1.fc25.s390x
libassuan-2.4.3-1.fc25.s390x
libusbx-1.0.21-1.fc25.s390x
newt-0.52.19-2.fc25.s390x
libxslt-1.1.28-13.fc25.s390x
libmetalink-0.1.3-1.fc25.s390x
perl-Socket-2.024-1.fc25.s390x
perl-File-Path-2.12-365.fc25.noarch
perl-MIME-Base64-3.15-365.fc25.s390x
perl-HTTP-Tiny-0.070-1.fc25.noarch
ncurses-6.0-6.20160709.fc25.s390x
libwayland-server-1.12.0-1.fc25.s390x
ipset-6.29-1.fc25.s390x
perl-Text-Unidecode-1.27-3.fc25.noarch
perl-Fedora-VSP-0.001-4.fc25.noarch
perl-libintl-perl-1.26-1.fc25.s390x
plymouth-core-libs-0.9.3-0.6.20160620git0e65b86c.fc25.s390x
hunspell-1.4.1-1.fc25.s390x
which-2.21-1.fc25.s390x
coreutils-8.25-15.fc25.s390x
python2-setuptools-25.1.1-1.fc25.noarch
shadow-utils-4.2.1-11.fc25.s390x
atk-2.22.0-1.fc25.s390x
system-python-3.5.2-4.fc25.s390x
pam-1.3.0-1.fc25.s390x
python2-pyasn1-0.1.9-7.fc25.1.noarch
harfbuzz-icu-1.3.2-1.fc25.s390x
gsettings-desktop-schemas-3.22.0-1.fc25.s390x
libsecret-0.18.5-2.fc25.s390x
s390utils-iucvterm-1.36.0-1.fc25.s390x
python3-setuptools-25.1.1-1.fc25.noarch
python3-decorator-4.0.10-3.fc25.noarch
python3-slip-0.6.4-4.fc25.noarch
python3-magic-5.28-4.fc25.noarch
python3-requests-2.10.0-4.fc25.noarch
python3-systemd-232-1.fc25.s390x
pyusb-1.0.0-2.fc25.noarch
python-slip-dbus-0.6.4-4.fc25.noarch
python-enum34-1.0.4-6.fc25.noarch
python-lockfile-0.11.0-4.fc25.noarch
python2-ply-3.8-2.fc25.noarch
pyOpenSSL-16.0.0-2.fc25.noarch
python2-requests-2.10.0-4.fc25.noarch
pyxattr-0.5.3-8.fc25.s390x
libarchive-3.2.2-1.fc25.s390x
libkadm5-1.14.4-4.fc25.s390x
dtc-1.4.2-1.fc25.s390x
libbabeltrace-1.4.0-3.fc25.s390x
guile-2.0.13-1.fc25.s390x
libthai-0.1.25-1.fc25.s390x
libnghttp2-1.13.0-2.fc25.s390x
deltarpm-3.6-17.fc25.s390x
python-urlgrabber-3.10.1-9.fc25.noarch
iputils-20161105-1.fc25.s390x
s390utils-mon_statd-1.36.0-1.fc25.s390x
cryptsetup-libs-1.7.2-3.fc25.s390x
device-mapper-multipath-0.4.9-83.fc25.s390x
cronie-anacron-1.5.1-2.fc25.s390x
ghostscript-core-9.20-5.fc25.s390x
python3-pygpgme-0.3-18.fc25.s390x
rest-0.8.0-1.fc25.s390x
libreport-filesystem-2.8.0-1.fc25.s390x
libXtst-1.2.3-1.fc25.s390x
iso-codes-3.70-1.fc25.noarch
ghc-srpm-macros-1.4.2-4.fc25.noarch
adwaita-cursor-theme-3.22.0-1.fc25.noarch
rpmdevtools-8.9-1.fc25.noarch
kernel-4.8.8-300.fc25.s390x
python-dnf-plugins-extras-migrate-0.0.12-4.fc25.noarch
s390utils-1.36.0-1.fc25.s390x
authconfig-6.2.10-14.fc25.s390x
fedora-cert-0.6.0.1-1.fc25.noarch
glibc-2.24-4.fc25.s390x
elfutils-libelf-0.168-1.fc25.s390x
libstdc++-6.3.1-1.fc25.s390x
perl-Scalar-List-Utils-1.47-1.fc25.s390x
gdb-headless-7.12-36.fc25.s390x
bzip2-1.0.6-21.fc25.s390x
bind-license-9.10.4-4.P5.fc25.noarch
pcre-cpp-8.40-1.fc25.s390x
perl-threads-2.12-1.fc25.s390x
subversion-libs-1.9.5-1.fc25.s390x
libss-1.43.3-1.fc25.s390x
shared-mime-info-1.8-1.fc25.s390x
libselinux-utils-2.5-13.fc25.s390x
libgfortran-6.3.1-1.fc25.s390x
rpm-4.13.0-6.fc25.s390x
python2-rpm-4.13.0-6.fc25.s390x
policycoreutils-2.5-19.fc25.s390x
libtasn1-4.10-1.fc25.s390x
mesa-libwayland-egl-13.0.3-1.fc25.s390x
pigz-2.3.4-1.fc25.s390x
koji-1.11.0-1.fc25.noarch
python3-enchant-1.6.8-1.fc25.noarch
mariadb-common-10.1.20-1.fc25.s390x
firewalld-filesystem-0.4.4.2-2.fc25.noarch
systemd-231-12.fc25.s390x
device-mapper-libs-1.02.136-3.fc25.s390x
systemd-udev-231-12.fc25.s390x
dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch
mesa-libEGL-13.0.3-1.fc25.s390x
dnsmasq-2.76-2.fc25.s390x
distribution-gpg-keys-1.9-1.fc25.noarch
bind-libs-lite-9.10.4-4.P5.fc25.s390x
mock-1.3.3-1.fc25.noarch
python2-dockerfile-parse-0.0.5-7.fc25.noarch
fedora-packager-0.6.0.1-1.fc25.noarch
openssl-1.0.2j-3.fc25.s390x
lvm2-2.02.167-3.fc25.s390x
systemd-bootchart-231-2.fc25.s390x
gcc-c++-6.3.1-1.fc25.s390x
texlive-base-2016-30.20160520.fc25.noarch
boost-system-1.60.0-10.fc25.s390x
pcre2-10.22-8.fc25.s390x
libpng-devel-1.6.27-1.fc25.s390x
perl-XML-Parser-2.44-5.fc25.s390x
libtirpc-1.0.1-3.rc3.fc25.s390x
lttng-ust-2.8.1-2.fc25.s390x
libasyncns-0.8-10.fc24.s390x
unbound-libs-1.5.10-1.fc25.s390x
libradosstriper-devel-10.2.4-2.fc25.s390x
systemtap-runtime-3.1-0.20160725git91bfb36.fc25.s390x
libXau-devel-1.0.8-6.fc24.s390x
libXfixes-devel-5.0.3-1.fc25.s390x
mesa-libEGL-devel-13.0.3-1.fc25.s390x
libXcomposite-devel-0.4.4-8.fc24.s390x
libverto-libev-0.2.6-6.fc24.s390x
texlive-kpathsea-doc-svn41139-30.fc25.noarch
flac-libs-1.3.2-1.fc25.s390x
quota-nls-4.03-7.fc25.noarch
python3-html5lib-0.999-9.fc25.noarch
python3-javapackages-4.7.0-6.1.fc25.noarch
perl-Digest-1.17-366.fc25.noarch
texlive-texlive.infra-svn41280-30.fc25.noarch
texlive-tetex-svn41059-30.fc25.noarch
texlive-amsfonts-svn29208.3.04-30.fc25.noarch
texlive-etex-pkg-svn39355-30.fc25.noarch
texlive-lm-svn28119.2.004-30.fc25.noarch
texlive-fp-svn15878.0-30.fc25.noarch
texlive-mptopdf-svn41282-30.fc25.noarch
texlive-euler-svn17261.2.5-30.fc25.noarch
texlive-setspace-svn24881.6.7a-30.fc25.noarch
texlive-tools-svn40934-30.fc25.noarch
texlive-colortbl-svn29803.v1.0a-30.fc25.noarch
texlive-natbib-svn20668.8.31b-30.fc25.noarch
texlive-bibtex-svn40768-30.fc25.noarch
texlive-gsftopk-svn40768-30.fc25.noarch
texlive-mfware-svn40768-30.fc25.noarch
texlive-tex-ini-files-svn40533-30.fc25.noarch
texlive-texconfig-bin-svn29741.0-30.20160520.fc25.noarch
libXmu-1.1.2-4.fc24.s390x
libXcursor-1.1.14-6.fc24.s390x
kbd-misc-2.0.3-3.fc24.noarch
libutempter-1.1.6-8.fc24.s390x
python-kitchen-1.2.4-2.fc24.noarch
polkit-libs-0.113-5.fc24.s390x
libgudev-230-3.fc24.s390x
popt-devel-1.16-7.fc24.s390x
make-4.1-5.fc24.s390x
fakeroot-1.20.2-4.fc24.s390x
blktrace-1.1.0-3.fc24.s390x
hicolor-icon-theme-0.15-3.fc24.noarch
usermode-1.111-8.fc24.s390x
kbd-2.0.3-3.fc24.s390x
libaio-devel-0.3.110-6.fc24.s390x
web-assets-filesystem-5-4.fc24.noarch
perl-IO-Socket-SSL-2.038-1.fc25.noarch
python-backports-ssl_match_hostname-3.5.0.1-3.fc25.noarch
mc-4.8.18-2.fc25.s390x
expat-devel-2.2.0-1.fc25.s390x
automake-1.15-7.fc25.noarch
perl-File-ShareDir-1.102-7.fc25.noarch
lua-5.3.3-3.fc25.s390x
tcl-8.6.6-1.fc25.s390x
gcc-objc-6.3.1-1.fc25.s390x
libselinux-devel-2.5-13.fc25.s390x
e2fsprogs-1.43.3-1.fc25.s390x
perl-Storable-2.56-367.fc25.s390x
libstdc++-static-6.3.1-1.fc25.s390x
perl-Time-Local-1.250-1.fc25.noarch
libwebp-0.5.2-1.fc25.s390x
xkeyboard-config-2.19-1.1.fc25.noarch
python-firewall-0.4.4.2-2.fc25.noarch
texlive-xdvi-svn40768-30.fc25.noarch
texlive-wasy2-ps-svn35830.0-30.fc25.noarch
texlive-ltabptch-svn17533.1.74d-30.fc25.noarch
texlive-sauerj-svn15878.0-30.fc25.noarch
texlive-bookman-svn31835.0-30.fc25.noarch
texlive-courier-svn35058.0-30.fc25.noarch
texlive-mflogo-font-svn36898.1.002-30.fc25.noarch
texlive-rsfs-svn15878.0-30.fc25.noarch
texlive-zapfchan-svn31835.0-30.fc25.noarch
texlive-cmap-svn41168-30.fc25.noarch
texlive-parskip-svn19963.2.0-30.fc25.noarch
texlive-sepnum-svn20186.2.0-30.fc25.noarch
texlive-fancyhdr-svn15878.3.1-30.fc25.noarch
texlive-pspicture-svn15878.0-30.fc25.noarch
texlive-fpl-svn15878.1.002-30.fc25.noarch
texlive-utopia-svn15878.0-30.fc25.noarch
texlive-hyph-utf8-svn41189-30.fc25.noarch
texlive-lua-alt-getopt-svn29349.0.7.0-30.fc25.noarch
texlive-texlive-msg-translations-svn41431-30.fc25.noarch
texlive-parallel-svn15878.0-30.fc25.noarch
texlive-luatex-bin-svn41091-30.20160520.fc25.s390x
texlive-lineno-svn21442.4.41-30.fc25.noarch
texlive-kastrup-svn15878.0-30.fc25.noarch
texlive-chngcntr-svn17157.1.0a-30.fc25.noarch
texlive-lualibs-svn40370-30.fc25.noarch
texlive-xunicode-svn30466.0.981-30.fc25.noarch
texlive-l3packages-svn41246-30.fc25.noarch
texlive-pgf-svn40966-30.fc25.noarch
texlive-koma-script-svn41508-30.fc25.noarch
texlive-currfile-svn40725-30.fc25.noarch
texlive-luaotfload-svn40902-30.fc25.noarch
texlive-ifplatform-svn21156.0.4-30.fc25.noarch
texlive-showexpl-svn32737.v0.3l-30.fc25.noarch
texlive-pst-3d-svn17257.1.10-30.fc25.noarch
texlive-pst-node-svn40743-30.fc25.noarch
texlive-pstricks-add-svn40744-30.fc25.noarch
texlive-pst-pdf-svn31660.1.1v-30.fc25.noarch
texlive-latex-bin-svn41438-30.fc25.noarch
texlive-powerdot-svn38984-30.fc25.noarch
texlive-sansmathaccent-svn30187.0-30.fc25.noarch
texlive-typehtml-svn17134.0-30.fc25.noarch
texlive-ucs-svn35853.2.2-30.fc25.noarch
teckit-2.5.1-15.fc24.s390x
texlive-dvipdfmx-svn41149-30.fc25.noarch
texlive-collection-latex-svn41011-30.20160520.fc25.noarch
netpbm-10.76.00-2.fc25.s390x
libpath_utils-0.2.1-29.fc25.s390x
nfs-utils-1.3.4-1.rc3.fc25.s390x
ttmkfdir-3.0.9-48.fc24.s390x
libcephfs_jni-devel-10.2.4-2.fc25.s390x
pcre2-utf16-10.22-8.fc25.s390x
keyutils-libs-devel-1.5.9-8.fc24.s390x
libicu-devel-57.1-4.fc25.s390x
attr-2.4.47-16.fc24.s390x
harfbuzz-devel-1.3.2-1.fc25.s390x
libidn-devel-1.33-1.fc25.s390x
usbredir-0.7.1-2.fc24.s390x
libnfs-1.9.8-2.fc24.s390x
SDL2-2.0.5-2.fc25.s390x
freetype-devel-2.6.5-1.fc25.s390x
cairo-devel-1.14.8-1.fc25.s390x
libepoxy-devel-1.3.1-3.fc25.s390x
libcacard-devel-2.5.2-2.fc24.s390x
lzo-devel-2.08-8.fc24.s390x
libssh2-devel-1.8.0-1.fc25.s390x
pcre-static-8.40-1.fc25.s390x
qemu-sanity-check-nodeps-1.1.5-5.fc24.s390x
libcap-devel-2.25-2.fc25.s390x
alsa-lib-devel-1.1.1-2.fc25.s390x
nss-util-3.28.1-1.0.fc25.s390x
glusterfs-client-xlators-3.9.1-1.fc25.s390x
nss-softokn-freebl-3.28.1-1.0.fc25.s390x
libnl3-3.2.29-2.fc25.s390x
python3-hawkey-0.6.3-6.1.fc25.s390x
git-core-doc-2.9.3-2.fc25.s390x
glusterfs-fuse-3.9.1-1.fc25.s390x
gdk-pixbuf2-devel-2.36.4-1.fc25.s390x
perl-Errno-1.25-382.fc25.s390x
git-2.9.3-2.fc25.s390x
glusterfs-server-3.9.1-1.fc25.s390x
kernel-modules-4.9.5-200.fc25.s390x
pulseaudio-libs-glib2-10.0-2.fc25.s390x
libpsl-0.17.0-1.fc25.s390x
glusterfs-api-devel-3.9.1-1.fc25.s390x
nss-devel-3.28.1-1.3.fc25.s390x
wpa_supplicant-2.6-1.fc25.s390x
xemacs-filesystem-21.5.34-19.20170114hgd0e8ec0fe015.fc25.noarch
opus-1.1.3-2.fc25.s390x
copy-jdk-configs-2.0-1.fc25.noarch
gpg-pubkey-a0a7badb-52844296
fontpackages-filesystem-1.44-17.fc24.noarch
readline-6.3-8.fc24.s390x
cpio-2.12-3.fc24.s390x
groff-base-1.22.3-8.fc24.s390x
ilmbase-2.2.0-5.fc24.s390x
p11-kit-trust-0.23.2-2.fc24.s390x
OpenEXR-libs-2.2.0-5.fc24.s390x
hesiod-3.2.1-6.fc24.s390x
sysfsutils-2.1.0-19.fc24.s390x
qrencode-libs-3.4.2-6.fc24.s390x
GeoIP-1.6.9-2.fc24.s390x
ocaml-srpm-macros-2-4.fc24.noarch
libXcomposite-0.4.4-8.fc24.s390x
procps-ng-3.3.10-11.fc24.s390x
GConf2-3.2.6-16.fc24.s390x
mailx-12.5-19.fc24.s390x
xz-devel-5.2.2-2.fc24.s390x
fedora-logos-22.0.0-3.fc24.s390x
telnet-0.17-65.fc24.s390x
gpg-pubkey-e372e838-56fd7943
fedora-repos-25-1.noarch
ncurses-libs-6.0-6.20160709.fc25.s390x
lua-libs-5.3.3-3.fc25.s390x
kmod-libs-23-1.fc25.s390x
libseccomp-2.3.1-1.fc25.s390x
perl-parent-0.236-1.fc25.noarch
libICE-1.0.9-5.fc25.s390x
ipset-libs-6.29-1.fc25.s390x
perl-TermReadKey-2.37-1.fc25.s390x
dhcp-libs-4.3.5-1.fc25.s390x
gmp-devel-6.1.1-1.fc25.s390x
ncurses-c++-libs-6.0-6.20160709.fc25.s390x
python-pip-8.1.2-2.fc25.noarch
gzip-1.8-1.fc25.s390x
harfbuzz-1.3.2-1.fc25.s390x
python2-iniparse-0.4-20.fc25.noarch
libfdisk-2.28.2-1.fc25.s390x
python3-iniparse-0.4-20.fc25.noarch
python3-gobject-base-3.22.0-1.fc25.s390x
python3-kickstart-2.32-1.fc25.noarch
python2-yubico-1.3.2-3.fc25.noarch
python-idna-2.0-4.fc25.noarch
nss-pem-1.0.2-2.fc25.s390x
perl-Net-SSLeay-1.78-1.fc25.s390x
krb5-workstation-1.14.4-4.fc25.s390x
libepoxy-1.3.1-3.fc25.s390x
drpm-0.3.0-3.fc25.s390x
libsmartcols-2.28.2-1.fc25.s390x
s390utils-ziomon-1.36.0-1.fc25.s390x
librepo-1.7.18-3.fc25.s390x
glib-networking-2.50.0-1.fc25.s390x
librsvg2-2.40.16-2.fc25.s390x
gnat-srpm-macros-4-1.fc25.noarch
webkitgtk3-2.4.11-3.fc25.s390x
libXaw-1.0.13-4.fc25.s390x
sudo-1.8.18p1-1.fc25.s390x
systemtap-sdt-devel-3.1-0.20160725git91bfb36.fc25.s390x
xorg-x11-font-utils-7.5-32.fc25.s390x
python-decoratortools-1.8-12.fc25.noarch
m17n-db-1.7.0-7.fc25.noarch
hardlink-1.1-1.fc25.s390x
glibc-common-2.24-4.fc25.s390x
libcom_err-1.43.3-1.fc25.s390x
grep-2.27-1.fc25.s390x
iproute-4.6.0-6.fc25.s390x
e2fsprogs-libs-1.43.3-1.fc25.s390x
curl-7.51.0-4.fc25.s390x
libvorbis-1.3.5-1.fc25.s390x
python2-dateutil-2.6.0-1.fc25.noarch
python3-firewall-0.4.4.2-2.fc25.noarch
libXpm-3.5.12-1.fc25.s390x
systemd-pam-231-12.fc25.s390x
mesa-libgbm-13.0.3-1.fc25.s390x
rpm-build-4.13.0-6.fc25.s390x
openssl-libs-1.0.2j-3.fc25.s390x
python2-smmap-2.0.1-1.fc25.noarch
bind99-libs-9.9.9-4.P5.fc25.s390x
kernel-4.9.3-200.fc25.s390x
gcc-gdb-plugin-6.3.1-1.fc25.s390x
selinux-policy-targeted-3.13.1-225.6.fc25.noarch
perl-Time-HiRes-1.9741-1.fc25.s390x
npth-1.3-1.fc25.s390x
poppler-data-0.4.7-6.fc25.noarch
nspr-devel-4.13.1-1.fc25.s390x
libcephfs1-10.2.4-2.fc25.s390x
wayland-devel-1.12.0-1.fc25.s390x
librbd1-10.2.4-2.fc25.s390x
libxcb-devel-1.12-1.fc25.s390x
mesa-libGL-devel-13.0.3-1.fc25.s390x
perl-encoding-2.19-5.fc25.s390x
libsndfile-1.0.27-1.fc25.s390x
python3-cssselect-0.9.2-1.fc25.noarch
perl-Digest-MD5-2.55-2.fc25.s390x
texlive-tetex-bin-svn36770.0-30.20160520.fc25.noarch
texlive-etoolbox-svn38031.2.2a-30.fc25.noarch
texlive-babel-svn40706-30.fc25.noarch
texlive-fancybox-svn18304.1.4-30.fc25.noarch
texlive-xkeyval-svn35741.2.7a-30.fc25.noarch
texlive-pdftex-def-svn22653.0.06d-30.fc25.noarch
texlive-makeindex-bin-svn40473-30.20160520.fc25.s390x
texlive-pdftex-bin-svn40987-30.20160520.fc25.s390x
texlive-pst-ovl-svn40873-30.fc25.noarch
texlive-crop-svn15878.1.5-30.fc25.noarch
texlive-manfnt-font-svn35799.0-30.fc25.noarch
texlive-txfonts-svn15878.0-30.fc25.noarch
texlive-ntgclass-svn15878.2.1a-30.fc25.noarch
texlive-dvisvgm-def-svn41011-30.fc25.noarch
texlive-ec-svn25033.1.0-30.fc25.noarch
texlive-etex-svn37057.0-30.fc25.noarch
texlive-texlive-en-svn41185-30.fc25.noarch
texlive-graphics-def-svn41879-30.fc25.noarch
texlive-iftex-svn29654.0.2-30.fc25.noarch
texlive-pst-math-svn34786.0.63-30.fc25.noarch
texlive-bera-svn20031.0-30.fc25.noarch
texlive-ms-svn29849.0-30.fc25.noarch
texlive-luaotfload-bin-svn34647.0-30.20160520.fc25.noarch
texlive-listings-svn37534.1.6-30.fc25.noarch
texlive-pst-fill-svn15878.1.01-30.fc25.noarch
texlive-pst-pdf-bin-svn7838.0-30.20160520.fc25.noarch
texlive-pst-slpe-svn24391.1.31-30.fc25.noarch
texlive-seminar-svn34011.1.62-30.fc25.noarch
texlive-l3experimental-svn41163-30.fc25.noarch
texlive-collection-fontsrecommended-svn35830.0-30.20160520.fc25.noarch
gettext-libs-0.19.8.1-3.fc25.s390x
java-1.8.0-openjdk-headless-1.8.0.111-5.b16.fc25.s390x
pcre2-utf32-10.22-8.fc25.s390x
at-spi2-atk-devel-2.22.0-1.fc25.s390x
wayland-protocols-devel-1.7-1.fc25.noarch
virglrenderer-0.5.0-1.20160411git61846f92f.fc25.s390x
libcacard-2.5.2-2.fc24.s390x
pixman-devel-0.34.0-2.fc24.s390x
libacl-devel-2.2.52-11.fc24.s390x
libnfs-devel-1.9.8-2.fc24.s390x
texi2html-5.0-4.fc24.noarch
libseccomp-devel-2.3.1-1.fc25.s390x
perl-libs-5.24.1-382.fc25.s390x
libxkbcommon-0.7.1-1.fc25.s390x
git-core-2.9.3-2.fc25.s390x
nss-softokn-freebl-devel-3.28.1-1.0.fc25.s390x
gtk-update-icon-cache-3.22.7-1.fc25.s390x
vim-filesystem-8.0.206-1.fc25.s390x
libX11-common-1.6.4-4.fc25.noarch
gtk3-devel-3.22.7-1.fc25.s390x
python2-dnf-1.1.10-5.fc25.noarch
vim-minimal-8.0.206-1.fc25.s390x
GeoIP-GeoLite-data-2017.01-1.fc25.noarch
gpg-pubkey-95a43f54-5284415a
dejavu-fonts-common-2.35-3.fc24.noarch
libSM-1.2.2-4.fc24.s390x
diffutils-3.3-13.fc24.s390x
libogg-1.3.2-5.fc24.s390x
hunspell-en-US-0.20140811.1-5.fc24.noarch
libdaemon-0.14-10.fc24.s390x
patch-2.7.5-3.fc24.s390x
libsysfs-2.1.0-19.fc24.s390x
procmail-3.22-39.fc24.s390x
libXdamage-1.1.4-8.fc24.s390x
libotf-0.9.13-7.fc24.s390x
urw-fonts-2.4-22.fc24.noarch
crontabs-1.11-12.20150630git.fc24.noarch
ppp-2.4.7-9.fc24.s390x
polkit-0.113-5.fc24.s390x
cyrus-sasl-2.1.26-26.2.fc24.s390x
zlib-devel-1.2.8-10.fc24.s390x
time-1.7-49.fc24.s390x
gpg-pubkey-fdb19c98-56fd6333
fedora-release-25-1.noarch
freetype-2.6.5-1.fc25.s390x
libcap-ng-0.7.8-1.fc25.s390x
gdbm-1.12-1.fc25.s390x
binutils-2.26.1-1.fc25.s390x
lcms2-2.8-2.fc25.s390x
libcomps-0.1.7-5.fc25.s390x
less-481-6.fc25.s390x
apr-1.5.2-4.fc25.s390x
perl-constant-1.33-367.fc25.noarch
perl-Data-Dumper-2.161-1.fc25.s390x
ipcalc-0.1.8-1.fc25.s390x
perl-Pod-Perldoc-3.27-1.fc25.noarch
libteam-1.26-1.fc25.s390x
gmp-c++-6.1.1-1.fc25.s390x
fontconfig-2.12.1-1.fc25.s390x
enchant-1.6.0-14.fc25.s390x
json-glib-1.2.2-1.fc25.s390x
pyliblzma-0.5.3-16.fc25.s390x
libsepol-devel-2.5-10.fc25.s390x
python3-libs-3.5.2-4.fc25.s390x
python3-ordered-set-2.0.0-4.fc25.noarch
python3-rpmconf-1.0.18-2.fc25.noarch
python-ipaddress-1.0.16-3.fc25.noarch
python2-kerberos-1.2.5-1.fc25.s390x
python2-pysocks-1.5.6-5.fc25.noarch
fipscheck-lib-1.4.1-11.fc25.s390x
libatomic_ops-7.4.4-1.fc25.s390x
net-snmp-agent-libs-5.7.3-13.fc25.s390x
util-linux-2.28.2-1.fc25.s390x
dracut-044-78.fc25.s390x
python2-pygpgme-0.3-18.fc25.s390x
libsoup-2.56.0-2.fc25.s390x
orc-0.4.26-1.fc25.s390x
yum-utils-1.1.31-511.fc25.noarch
libXrender-0.9.10-1.fc25.s390x
libXrandr-1.5.1-1.fc25.s390x
go-srpm-macros-2-7.fc25.noarch
gnupg2-smime-2.1.13-2.fc25.s390x
guile-devel-2.0.13-1.fc25.s390x
uboot-tools-2016.09.01-2.fc25.s390x
pykickstart-2.32-1.fc25.noarch
python-bunch-1.0.1-9.fc25.noarch
perl-generators-1.10-1.fc25.noarch
perl-Mozilla-CA-20160104-3.fc25.noarch
glibc-all-langpacks-2.24-4.fc25.s390x
bzip2-libs-1.0.6-21.fc25.s390x
libpng-1.6.27-1.fc25.s390x
libtiff-4.0.7-1.fc25.s390x
desktop-file-utils-0.23-2.fc25.s390x
python2-cccolutils-1.4-1.fc25.s390x
libcurl-7.51.0-4.fc25.s390x
rpm-plugin-systemd-inhibit-4.13.0-6.fc25.s390x
cups-libs-2.2.0-5.fc25.s390x
python2-lxml-3.7.2-1.fc25.s390x
redhat-rpm-config-45-1.fc25.noarch
elfutils-libs-0.168-1.fc25.s390x
device-mapper-event-libs-1.02.136-3.fc25.s390x
lvm2-libs-2.02.167-3.fc25.s390x
elfutils-0.168-1.fc25.s390x
openssh-7.4p1-1.fc25.s390x
python2-gitdb-2.0.0-1.fc25.noarch
openssh-server-7.4p1-1.fc25.s390x
gcc-gfortran-6.3.1-1.fc25.s390x
rpm-devel-4.13.0-6.fc25.s390x
libselinux-python-2.5-13.fc25.s390x
openjpeg2-2.1.2-3.fc25.s390x
js-jquery-2.2.4-1.fc25.noarch
boost-thread-1.60.0-10.fc25.s390x
json-c-0.12-7.fc24.s390x
ghostscript-x11-9.20-5.fc25.s390x
libdrm-devel-2.4.74-1.fc25.s390x
libuuid-devel-2.28.2-1.fc25.s390x
librbd-devel-10.2.4-2.fc25.s390x
libXcursor-devel-1.1.14-6.fc24.s390x
python3-beautifulsoup4-4.5.3-1.fc25.noarch
texlive-kpathsea-svn41139-30.fc25.noarch
texlive-amsmath-svn41561-30.fc25.noarch
texlive-thumbpdf-svn34621.3.16-30.fc25.noarch
texlive-multido-svn18302.1.42-30.fc25.noarch
texlive-float-svn15878.1.3d-30.fc25.noarch
texlive-psnfss-svn33946.9.2a-30.fc25.noarch
texlive-wasy-svn35831.0-30.fc25.noarch
texlive-makeindex-svn40768-30.fc25.noarch
texlive-pdftex-svn41149-30.fc25.noarch
texlive-enumitem-svn24146.3.5.2-30.fc25.noarch
texlive-microtype-svn41127-30.fc25.noarch
texlive-helvetic-svn31835.0-30.fc25.noarch
texlive-times-svn35058.0-30.fc25.noarch
texlive-mdwtools-svn15878.1.05.4-30.fc25.noarch
texlive-babel-english-svn30264.3.3p-30.fc25.noarch
texlive-cmextra-svn32831.0-30.fc25.noarch
texlive-enctex-svn34957.0-30.fc25.noarch
texlive-texlive-docindex-svn41430-30.fc25.noarch
texlive-ifetex-svn24853.1.2-30.fc25.noarch
texlive-mparhack-svn15878.1.4-30.fc25.noarch
texlive-paralist-svn39247-30.fc25.noarch
texlive-algorithms-svn38085.0.1-30.fc25.noarch
texlive-geometry-svn19716.5.6-30.fc25.noarch
texlive-fontspec-svn41262-30.fc25.noarch
texlive-oberdiek-svn41346-30.fc25.noarch
texlive-pst-eps-svn15878.1.0-30.fc25.noarch
texlive-pstricks-svn41321-30.fc25.noarch
texlive-pst-blur-svn15878.2.0-30.fc25.noarch
texlive-jknapltx-svn19440.0-30.fc25.noarch
texlive-breqn-svn38099.0.98d-30.fc25.noarch
texlive-collection-basic-svn41149-30.20160520.fc25.noarch
latex2html-2012-7.fc24.noarch
lksctp-tools-1.0.16-5.fc24.s390x
vte291-0.46.1-1.fc25.s390x
openssl-devel-1.0.2j-3.fc25.s390x
at-spi2-core-devel-2.22.0-1.fc25.s390x
libfdt-1.4.2-1.fc25.s390x
libXft-devel-2.3.2-4.fc24.s390x
libattr-devel-2.4.47-16.fc24.s390x
libiscsi-devel-1.15.0-2.fc24.s390x
gettext-0.19.8.1-3.fc25.s390x
libjpeg-turbo-devel-1.5.1-0.fc25.s390x
glusterfs-libs-3.9.1-1.fc25.s390x
glusterfs-api-3.9.1-1.fc25.s390x
hawkey-0.6.3-6.1.fc25.s390x
nss-softokn-devel-3.28.1-1.0.fc25.s390x
glusterfs-cli-3.9.1-1.fc25.s390x
vim-common-8.0.206-1.fc25.s390x
libX11-1.6.4-4.fc25.s390x
pulseaudio-libs-devel-10.0-2.fc25.s390x
dnf-yum-1.1.10-5.fc25.noarch
tzdata-java-2016j-2.fc25.noarch
ccache-3.3.3-1.fc25.s390x
gpg-pubkey-8e1431d5-53bcbac7
zlib-1.2.8-10.fc24.s390x
sed-4.2.2-15.fc24.s390x
p11-kit-0.23.2-2.fc24.s390x
psmisc-22.21-8.fc24.s390x
gpm-libs-1.20.7-9.fc24.s390x
zip-3.0-16.fc24.s390x
hostname-3.15-7.fc24.s390x
libyubikey-1.13-2.fc24.s390x
sg3_utils-libs-1.41-3.fc24.s390x
polkit-pkla-compat-0.1-7.fc24.s390x
passwd-0.79-8.fc24.s390x
trousers-0.3.13-6.fc24.s390x
grubby-8.40-3.fc24.s390x
rootfiles-8.1-19.fc24.noarch
python-rpm-macros-3-10.fc25.noarch
info-6.1-3.fc25.s390x
libuuid-2.28.2-1.fc25.s390x
iptables-libs-1.6.0-2.fc25.s390x
nettle-3.3-1.fc25.s390x
jansson-2.9-1.fc25.s390x
libksba-1.3.5-1.fc25.s390x
perl-Text-ParseWords-3.30-365.fc25.noarch
perl-PathTools-3.63-366.fc25.s390x
perl-File-Temp-0.23.04-365.fc25.noarch
fuse-libs-2.9.7-1.fc25.s390x
perl-Pod-Escapes-1.07-365.fc25.noarch
perl-Term-ANSIColor-4.05-2.fc25.noarch
perl-URI-1.71-5.fc25.noarch
libXfont-1.5.2-1.fc25.s390x
crypto-policies-20160921-2.git75b9b04.fc25.noarch
python-six-1.10.0-3.fc25.noarch
dbus-glib-0.108-1.fc25.s390x
gobject-introspection-1.50.0-1.fc25.s390x
libpwquality-1.3.0-6.fc25.s390x
python-gobject-base-3.22.0-1.fc25.s390x
python-html5lib-0.999-9.fc25.noarch
python3-dbus-1.2.4-2.fc25.s390x
python3-chardet-2.3.0-1.fc25.noarch
python3-urllib3-1.15.1-3.fc25.noarch
python-offtrac-0.1.0-7.fc25.noarch
python2-cryptography-1.5.3-3.fc25.s390x
python2-requests-kerberos-0.10.0-2.fc25.noarch
libserf-1.3.9-1.fc25.s390x
libdatrie-0.2.9-3.fc25.s390x
s390utils-base-1.36.0-1.fc25.s390x
kpartx-0.4.9-83.fc25.s390x
s390utils-cpuplugd-1.36.0-1.fc25.s390x
rpmconf-1.0.18-2.fc25.noarch
s390utils-osasnmpd-1.36.0-1.fc25.s390x
python-dnf-plugins-extras-common-0.0.12-4.fc25.noarch
pango-1.40.3-1.fc25.s390x
fpc-srpm-macros-1.0-1.fc25.noarch
kernel-core-4.8.8-300.fc25.s390x
fedora-upgrade-25.2-1.fc25.noarch
net-tools-2.0-0.38.20160329git.fc25.s390x
libuser-0.62-4.fc25.s390x
screen-4.4.0-4.fc25.s390x
man-db-2.7.5-3.fc25.s390x
sqlite-3.14.2-1.fc25.s390x
python-systemd-doc-232-1.fc25.s390x
pcre-8.40-1.fc25.s390x
libdb-5.3.28-16.fc25.s390x
lz4-1.7.5-1.fc25.s390x
tar-1.29-3.fc25.s390x
emacs-common-25.1-3.fc25.s390x
perl-threads-shared-1.54-1.fc25.s390x
unzip-6.0-31.fc25.s390x
mesa-libglapi-13.0.3-1.fc25.s390x
rpm-libs-4.13.0-6.fc25.s390x
selinux-policy-3.13.1-225.6.fc25.noarch
pcre-utf16-8.40-1.fc25.s390x
bodhi-client-0.9.12.2-6.fc25.noarch
rpmlint-1.9-5.fc25.noarch
glibc-headers-2.24-4.fc25.s390x
dbus-1.11.8-1.fc25.s390x
kernel-core-4.9.3-200.fc25.s390x
cairo-1.14.8-1.fc25.s390x
ca-certificates-2017.2.11-1.0.fc25.noarch
openssh-clients-7.4p1-1.fc25.s390x
python2-GitPython-2.1.1-2.fc25.noarch
mariadb-libs-10.1.20-1.fc25.s390x
NetworkManager-glib-1.4.4-3.fc25.s390x
gcc-go-6.3.1-1.fc25.s390x
cracklib-dicts-2.9.6-4.fc25.s390x
iproute-tc-4.6.0-6.fc25.s390x
libselinux-python3-2.5-13.fc25.s390x
strace-4.15-1.fc25.s390x
python2-enchant-1.6.8-1.fc25.noarch
boost-iostreams-1.60.0-10.fc25.s390x
bluez-libs-5.43-1.fc25.s390x
ghostscript-9.20-5.fc25.s390x
userspace-rcu-0.9.2-2.fc25.s390x
mesa-libwayland-egl-devel-13.0.3-1.fc25.s390x
libXext-devel-1.3.3-4.fc24.s390x
libXrandr-devel-1.5.1-1.fc25.s390x
perl-XML-XPath-1.39-1.fc25.noarch
python3-lxml-3.7.2-1.fc25.s390x
texlive-texlive.infra-bin-svn40312-30.20160520.fc25.s390x
texlive-ifxetex-svn19685.0.5-30.fc25.noarch
texlive-thumbpdf-bin-svn6898.0-30.20160520.fc25.noarch
texlive-babelbib-svn25245.1.31-30.fc25.noarch
texlive-index-svn24099.4.1beta-30.fc25.noarch
texlive-caption-svn41409-30.fc25.noarch
texlive-bibtex-bin-svn40473-30.20160520.fc25.s390x
texlive-mfware-bin-svn40473-30.20160520.fc25.s390x
texlive-texconfig-svn40768-30.fc25.noarch
texlive-footmisc-svn23330.5.5b-30.fc25.noarch
texlive-psfrag-svn15878.3.04-30.fc25.noarch
texlive-eurosym-svn17265.1.4_subrfix-30.fc25.noarch
texlive-symbol-svn31835.0-30.fc25.noarch
texlive-euenc-svn19795.0.1h-30.fc25.noarch
texlive-textcase-svn15878.0-30.fc25.noarch
texlive-charter-svn15878.0-30.fc25.noarch
texlive-wasysym-svn15878.2.0-30.fc25.noarch
texlive-mflogo-svn38628-30.fc25.noarch
texlive-soul-svn15878.2.4-30.fc25.noarch
texlive-marginnote-svn41382-30.fc25.noarch
texlive-filecontents-svn24250.1.3-30.fc25.noarch
texlive-tipa-svn29349.1.3-30.fc25.noarch
texlive-xcolor-svn41044-30.fc25.noarch
texlive-breakurl-svn29901.1.40-30.fc25.noarch
texlive-attachfile-svn38830-30.fc25.noarch
texlive-pst-coil-svn37377.1.07-30.fc25.noarch
texlive-auto-pst-pdf-svn23723.0.6-30.fc25.noarch
texlive-ctable-svn38672-30.fc25.noarch
texlive-extsizes-svn17263.1.4a-30.fc25.noarch
texlive-beamer-svn36461.3.36-30.fc25.noarch
texlive-dvipdfmx-bin-svn40273-30.20160520.fc25.s390x
netpbm-progs-10.76.00-2.fc25.s390x
vte-profile-0.46.1-1.fc25.s390x
krb5-devel-1.14.4-4.fc25.s390x
dbus-devel-1.11.8-1.fc25.s390x
sqlite-devel-3.14.2-1.fc25.s390x
libiscsi-1.15.0-2.fc24.s390x
fontconfig-devel-2.12.1-1.fc25.s390x
libfdt-devel-1.4.2-1.fc25.s390x
ceph-devel-compat-10.2.4-2.fc25.s390x
zlib-static-1.2.8-10.fc24.s390x
chrpath-0.16-3.fc24.s390x
python-2.7.13-1.fc25.s390x
nss-3.28.1-1.3.fc25.s390x
python2-hawkey-0.6.3-6.1.fc25.s390x
gdk-pixbuf2-modules-2.36.4-1.fc25.s390x
perl-Git-2.9.3-2.fc25.noarch
kernel-core-4.9.5-200.fc25.s390x
publicsuffix-list-dafsa-20170116-1.fc25.noarch
perl-SelfLoader-1.23-382.fc25.noarch
perl-open-1.10-382.fc25.noarch
gpgme-1.8.0-8.fc25.s390x
=== TEST BEGIN ===
Using CC: /home/fam/bin/cc
Install prefix    /var/tmp/patchew-tester-tmp-afl0xo07/src/install
BIOS directory    /var/tmp/patchew-tester-tmp-afl0xo07/src/install/share/qemu
binary directory  /var/tmp/patchew-tester-tmp-afl0xo07/src/install/bin
library directory /var/tmp/patchew-tester-tmp-afl0xo07/src/install/lib
module directory  /var/tmp/patchew-tester-tmp-afl0xo07/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-afl0xo07/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-afl0xo07/src/install/include
config directory  /var/tmp/patchew-tester-tmp-afl0xo07/src/install/etc
local state directory   /var/tmp/patchew-tester-tmp-afl0xo07/src/install/var
Manual directory  /var/tmp/patchew-tester-tmp-afl0xo07/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /var/tmp/patchew-tester-tmp-afl0xo07/src
C compiler        /home/fam/bin/cc
Host C compiler   cc
C++ compiler      c++
Objective-C compiler /home/fam/bin/cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1  -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -D_GNU_SOURCE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1    -I/usr/include/libpng16 -I/usr/include/cacard -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libusb-1.0 
LDFLAGS           -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          s390x
host big endian   yes
target list        aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hppa-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
pixman            system
SDL support       yes (2.0.5)
GTK support       yes (3.22.7)
GTK GL support    yes
VTE support       yes (0.46.1)
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    yes
virgl support     yes
curl support      yes
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    yes
VNC support       yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    yes
bluez  support    yes
Documentation     yes
PIE               no
vde support       no
netmap support    no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
RDMA support      no
TCG interpreter   no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
Trace backends    log
spice support     no 
rbd support       yes
xfsctl support    no
smartcard support yes
libusb            yes
usb net redir     yes
OpenGL support    yes
OpenGL dmabufs    yes
libiscsi support  yes
libnfs support    yes
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   no
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
GlusterFS support yes
Archipelago support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
QOM debugging     yes
lzo support       yes
snappy support    yes
bzip2 support     yes
NUMA host support no
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak.tmp
  GEN     arm-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak
  GEN     arm-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak
  GEN     lm32-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak
  GEN     aarch64-softmmu/config-devices.mak
  GEN     lm32-softmmu/config-devices.mak
  GEN     microblaze-softmmu/config-devices.mak.tmp
  GEN     microblazeel-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak.tmp
  GEN     microblaze-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak
  GEN     mips64-softmmu/config-devices.mak.tmp
  GEN     mipsel-softmmu/config-devices.mak.tmp
  GEN     microblazeel-softmmu/config-devices.mak
  GEN     mips-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak.tmp
  GEN     mips64-softmmu/config-devices.mak
  GEN     mips-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak
  GEN     nios2-softmmu/config-devices.mak.tmp
  GEN     or1k-softmmu/config-devices.mak.tmp
  GEN     ppc64-softmmu/config-devices.mak.tmp
  GEN     mipsel-softmmu/config-devices.mak
  GEN     ppcemb-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak
  GEN     ppc-softmmu/config-devices.mak.tmp
  GEN     or1k-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak.tmp
  GEN     ppc64-softmmu/config-devices.mak
  GEN     ppcemb-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak
  GEN     sh4eb-softmmu/config-devices.mak.tmp
  GEN     sh4-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak.tmp
  GEN     ppc-softmmu/config-devices.mak
  GEN     sparc-softmmu/config-devices.mak.tmp
  GEN     sh4eb-softmmu/config-devices.mak
  GEN     sh4-softmmu/config-devices.mak
  GEN     tricore-softmmu/config-devices.mak.tmp
  GEN     unicore32-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     unicore32-softmmu/config-devices.mak
  GEN     tricore-softmmu/config-devices.mak
  GEN     sparc-softmmu/config-devices.mak
  GEN     xtensaeb-softmmu/config-devices.mak.tmp
  GEN     xtensa-softmmu/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak
  GEN     aarch64-linux-user/config-devices.mak.tmp
  GEN     xtensaeb-softmmu/config-devices.mak
  GEN     alpha-linux-user/config-devices.mak.tmp
  GEN     armeb-linux-user/config-devices.mak.tmp
  GEN     xtensa-softmmu/config-devices.mak
  GEN     arm-linux-user/config-devices.mak.tmp
  GEN     alpha-linux-user/config-devices.mak
  GEN     cris-linux-user/config-devices.mak.tmp
  GEN     arm-linux-user/config-devices.mak
  GEN     hppa-linux-user/config-devices.mak.tmp
  GEN     armeb-linux-user/config-devices.mak
  GEN     aarch64-linux-user/config-devices.mak
  GEN     cris-linux-user/config-devices.mak
  GEN     i386-linux-user/config-devices.mak.tmp
  GEN     m68k-linux-user/config-devices.mak.tmp
  GEN     microblazeel-linux-user/config-devices.mak.tmp
  GEN     hppa-linux-user/config-devices.mak
  GEN     microblaze-linux-user/config-devices.mak.tmp
  GEN     microblazeel-linux-user/config-devices.mak
  GEN     mips64el-linux-user/config-devices.mak.tmp
  GEN     i386-linux-user/config-devices.mak
  GEN     m68k-linux-user/config-devices.mak
  GEN     mips64-linux-user/config-devices.mak.tmp
  GEN     microblaze-linux-user/config-devices.mak
  GEN     mipsel-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak.tmp
  GEN     mips64el-linux-user/config-devices.mak
  GEN     mipsn32el-linux-user/config-devices.mak.tmp
  GEN     mipsel-linux-user/config-devices.mak
  GEN     mips64-linux-user/config-devices.mak
  GEN     mips-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak.tmp
  GEN     nios2-linux-user/config-devices.mak.tmp
  GEN     mipsn32-linux-user/config-devices.mak
  GEN     mipsn32el-linux-user/config-devices.mak
  GEN     ppc64abi32-linux-user/config-devices.mak.tmp
  GEN     ppc64le-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak
  GEN     nios2-linux-user/config-devices.mak
  GEN     ppc64abi32-linux-user/config-devices.mak
  GEN     ppc64le-linux-user/config-devices.mak
  GEN     ppc64-linux-user/config-devices.mak.tmp
  GEN     ppc-linux-user/config-devices.mak.tmp
  GEN     s390x-linux-user/config-devices.mak.tmp
  GEN     sh4eb-linux-user/config-devices.mak.tmp
  GEN     ppc64-linux-user/config-devices.mak
  GEN     s390x-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak.tmp
  GEN     sparc64-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak.tmp
  GEN     sh4eb-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak.tmp
  GEN     sparc64-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak
  GEN     x86_64-linux-user/config-devices.mak.tmp
  GEN     tilegx-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak
  GEN     config-host.h
  GEN     tilegx-linux-user/config-devices.mak
  GEN     x86_64-linux-user/config-devices.mak
  GEN     qemu-options.def
  GEN     qmp-commands.h
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qapi-event.h
  GEN     qmp-introspect.h
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     module_block.h
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     backends/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/xen/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     config-all-devices.mak
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     version.texi
  GEN     qemu-monitor.texi
  GEN     qemu-options.texi
  GEN     qemu-img-cmds.texi
  GEN     qemu-monitor-info.texi
  GEN     qemu-img.1
  GEN     qemu-nbd.8
  GEN     qemu-ga.8
  GEN     qemu-qapi.texi
  GEN     qemu-ga-qapi.texi
  GEN     fsdev/virtfs-proxy-helper.1
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     backends/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/char/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/xen/trace.c
  GEN     audio/trace.c
  GEN     ui/trace.c
  GEN     net/trace.c
  GEN     target/i386/trace.c
  GEN     target/arm/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     qapi/trace.c
  GEN     linux-user/trace.c
  GEN     qapi-types.c
  GEN     qmp-introspect.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qint.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qfloat.o
  CC      qobject/qbool.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/aio-posix.o
  CC      util/compatfd.o
  CC      util/event_notifier-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/qemu-openpty.o
  CC      util/memfd.o
  CC      util/qemu-thread-posix.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/qemu-progress.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-ucontext.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/range.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/linux-aio.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/replay.o
  CC      stubs/qtest.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/qmp_pc_dimm_device_list.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qed.o
  CC      block/qed-gencb.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/linux-aio.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/iscsi-opts.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      block/iscsi.o
  CC      block/curl.o
  CC      block/nfs.o
  CC      block/rbd.o
  CC      block/gluster.o
  CC      block/ssh.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hash-nettle.o
  CC      crypto/hmac.o
  CC      crypto/hmac-nettle.o
  CC      crypto/aes.o
  CC      crypto/cipher.o
  CC      crypto/desrfb.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlssession.o
  CC      crypto/tlscredsx509.o
  CC      crypto/secret.o
  CC      crypto/random-gnutls.o
  CC      crypto/pbkdf.o
  CC      crypto/pbkdf-nettle.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      fsdev/virtfs-proxy-helper.o
  CC      fsdev/9p-marshal.o
  CC      fsdev/9p-iov-marshal.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      page_cache.o
  CC      accel.o
  CC      bt-host.o
  CC      dma-helpers.o
  CC      bt-vhci.o
  CC      vl.o
  CC      tpm.o
  CC      device_tree.o
  GEN     qmp-marshal.c
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/ossaudio.o
  CC      audio/sdlaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/rng-random.o
  CC      backends/msmouse.o
  CC      backends/wctablet.o
  CC      backends/testdev.o
  CC      backends/baum.o
  CC      backends/tpm.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      disas/alpha.o
  CC      disas/arm.o
  CXX     disas/arm-a64.o
  CC      disas/cris.o
  CC      disas/hppa.o
  CC      disas/i386.o
  CC      disas/m68k.o
  CC      disas/microblaze.o
  CC      disas/nios2.o
  CC      disas/mips.o
  CC      disas/moxie.o
  CC      disas/ppc.o
  CC      disas/s390.o
  CC      disas/sh4.o
  CC      disas/sparc.o
  CC      disas/lm32.o
  CXX     disas/libvixl/vixl/utils.o
  CXX     disas/libvixl/vixl/a64/instructions-a64.o
  CXX     disas/libvixl/vixl/compiler-intrinsics.o
  CXX     disas/libvixl/vixl/a64/decoder-a64.o
  CXX     disas/libvixl/vixl/a64/disasm-a64.o
  CC      fsdev/qemu-fsdev.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      hw/9pfs/9p.o
  CC      hw/9pfs/9p-local.o
  CC      hw/9pfs/9p-xattr.o
  CC      hw/9pfs/9p-xattr-user.o
  CC      hw/9pfs/9p-posix-acl.o
  CC      hw/9pfs/coth.o
  CC      hw/9pfs/cofs.o
  CC      hw/9pfs/cofile.o
  CC      hw/9pfs/codir.o
  CC      hw/9pfs/coxattr.o
  CC      hw/9pfs/9p-synth.o
  CC      hw/9pfs/9p-proxy.o
  CC      hw/9pfs/9p-handle.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/cs4231.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/milkymist-ac97.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/fdc.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/escc.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/xilinx_uartlite.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/etraxfs_ser.o
  CC      hw/char/debugcon.o
  CC      hw/char/grlib_apbuart.o
  CC      hw/char/imx_serial.o
  CC      hw/char/lm32_juart.o
  CC      hw/char/lm32_uart.o
  CC      hw/char/milkymist-uart.o
  CC      hw/char/sclpconsole.o
  CC      hw/char/sclpconsole-lm.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/empty_slot.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/register.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/display/ads7846.o
  CC      hw/display/g364fb.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/jazz_led.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vga-isa-mm.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/milkymist-vgafb.o
  CC      hw/display/tc6393xb.o
  CC      hw/dma/puv3_dma.o
  CC      hw/display/milkymist-tmu2.o
  CC      hw/dma/rc4030.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/i82374.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/dma/etraxfs_dma.o
  CC      hw/dma/sparc32_dma.o
  CC      hw/dma/sun4m_iommu.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/puv3_gpio.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/gpio_key.o
  CC      hw/gpio/mpc8xxx.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/cmd646.o
  CC      hw/ide/macio.o
  CC      hw/ide/mmio.o
  CC      hw/ide/via.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/input/adb.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/vmmouse.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/heathrow_pic.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/puv3_intc.o
  CC      hw/intc/xilinx_intc.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/etraxfs_pic.o
  CC      hw/intc/lm32_pic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/slavio_intctl.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/openpic.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/isa/i82378.o
  CC      hw/isa/pc87312.o
  CC      hw/isa/piix4.o
  CC      hw/isa/vt82c686.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/unimp.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/misc/puv3_pm.o
  CC      hw/misc/macio/macio.o
  CC      hw/misc/macio/cuda.o
  CC      hw/misc/macio/mac_dbdma.o
  CC      hw/net/dp8393x.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/opencores_eth.o
  CC      hw/net/xgmac.o
  CC      hw/net/mipsnet.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/lance.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/nvram/ds1225y.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/nvram/mac_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-bridge/dec.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/prep.o
  CC      hw/pci-host/grackle.o
  CC      hw/pci-host/uninorth.o
  CC      hw/pci-host/ppce500.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/apb.o
  CC      hw/pci-host/bonito.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/sd.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/m48t59.o
  CC      hw/timer/pl031.o
  CC      hw/timer/m48t59-isa.o
  CC      hw/timer/puv3_ost.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/xilinx_timer.o
  CC      hw/timer/slavio_timer.o
  CC      hw/timer/etraxfs_timer.o
  CC      hw/timer/grlib_gptimer.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/lm32_timer.o
  CC      hw/timer/milkymist-sysctl.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/sun4v-rtc.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/ccid-card-passthru.o
  CC      hw/usb/ccid-card-emulated.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/redirect.o
  CC      hw/usb/quirks.o
  CC      hw/usb/host-libusb.o
  CC      hw/usb/host-legacy.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_diag288.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/colo.o
  CC      migration/colo-comm.o
  CC      migration/colo-failover.o
  CC      migration/vmstate.o
  CC      migration/qemu-file.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/tap.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/tap-linux.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo.o
  CC      net/colo-compare.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-keymap.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/sdl2.o
  CC      ui/sdl2-input.o
  CC      ui/sdl2-gl.o
  CC      ui/sdl2-2d.o
  CC      ui/x_keymap.o
  CC      ui/curses.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-auth-sasl.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      ui/shader.o
  VERT    ui/shader/texture-blit-vert.h
  FRAG    ui/shader/texture-blit-frag.h
  CC      ui/egl-helpers.o
  CC      ui/egl-context.o
  CC      chardev/char.o
  CC      ui/gtk-gl-area.o
  CC      chardev/char-fd.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
  LINK    tests/qemu-iotests/socket_scm_helper
  CCAS    s390-ccw/start.o
  CC      s390-ccw/main.o
  GEN     qemu-doc.html
  CC      s390-ccw/bootmap.o
  GEN     qemu-doc.txt
  GEN     qemu.1
  CC      s390-ccw/sclp-ascii.o
  CC      s390-ccw/virtio.o
  CC      s390-ccw/virtio-scsi.o
  GEN     docs/qemu-qmp-ref.html
  BUILD   s390-ccw/s390-ccw.elf
  GEN     docs/qemu-qmp-ref.txt
  STRIP   s390-ccw/s390-ccw.img
  GEN     docs/qemu-qmp-ref.7
  GEN     docs/qemu-ga-ref.html
  GEN     docs/qemu-ga-ref.txt
  GEN     docs/qemu-ga-ref.7
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
  CC      qga/qapi-generated/qga-qapi-types.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qmp-introspect.o
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  AR      libqemustub.a
  CC      qemu-img.o
  CC      qmp-marshal.o
  CC      ui/console-gl.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      backends/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/net/trace.o
  CC      hw/intc/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/xen/trace.o
  CC      ui/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  AR      libqemuutil.a
  LINK    qemu-ga
  LINK    ivshmem-client
  LINK    qemu-nbd
  LINK    ivshmem-server
  LINK    qemu-img
  LINK    qemu-io
  LINK    fsdev/virtfs-proxy-helper
  LINK    qemu-bridge-helper
  GEN     cris-softmmu/hmp-commands.h
  GEN     cris-softmmu/hmp-commands-info.h
  GEN     cris-softmmu/config-target.h
  CC      cris-softmmu/exec.o
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     alpha-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/config-target.h
  GEN     alpha-softmmu/hmp-commands-info.h
  CC      aarch64-softmmu/exec.o
  GEN     alpha-softmmu/config-target.h
  CC      alpha-softmmu/exec.o
  GEN     arm-softmmu/hmp-commands.h
  GEN     arm-softmmu/hmp-commands-info.h
  GEN     arm-softmmu/config-target.h
  CC      arm-softmmu/exec.o
  CC      cris-softmmu/translate-all.o
  CC      alpha-softmmu/translate-all.o
  CC      aarch64-softmmu/translate-all.o
  CC      cris-softmmu/cpu-exec.o
  CC      aarch64-softmmu/cpu-exec.o
  CC      alpha-softmmu/cpu-exec.o
  CC      cris-softmmu/translate-common.o
  CC      alpha-softmmu/translate-common.o
  CC      cris-softmmu/cpu-exec-common.o
  CC      aarch64-softmmu/translate-common.o
  CC      alpha-softmmu/cpu-exec-common.o
  CC      cris-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/cpu-exec-common.o
  CC      arm-softmmu/translate-all.o
  CC      alpha-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      arm-softmmu/cpu-exec.o
  CC      cris-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/translate-common.o
  CC      arm-softmmu/cpu-exec-common.o
  CC      arm-softmmu/tcg/tcg.o
  CC      alpha-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/tcg/tcg-op.o
  CC      cris-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      alpha-softmmu/tcg/optimize.o
  CC      cris-softmmu/tcg/tcg-common.o
  CC      cris-softmmu/fpu/softfloat.o
  CC      alpha-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      alpha-softmmu/fpu/softfloat.o
  CC      arm-softmmu/tcg/optimize.o
  CC      arm-softmmu/tcg/tcg-common.o
  CC      cris-softmmu/disas.o
  CC      arm-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/disas.o
  CC      aarch64-softmmu/tcg-runtime.o
  CC      cris-softmmu/tcg-runtime.o
  CC      alpha-softmmu/disas.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      cris-softmmu/hax-stub.o
  CC      aarch64-softmmu/hax-stub.o
  CC      alpha-softmmu/tcg-runtime.o
  CC      cris-softmmu/kvm-stub.o
  CC      aarch64-softmmu/kvm-stub.o
  CC      alpha-softmmu/hax-stub.o
  CC      cris-softmmu/arch_init.o
  CC      alpha-softmmu/kvm-stub.o
  CC      aarch64-softmmu/arch_init.o
  CC      cris-softmmu/cpus.o
  CC      alpha-softmmu/arch_init.o
  CC      aarch64-softmmu/cpus.o
  CC      alpha-softmmu/cpus.o
  CC      cris-softmmu/monitor.o
  CC      aarch64-softmmu/monitor.o
  CC      arm-softmmu/disas.o
  CC      alpha-softmmu/monitor.o
  CC      arm-softmmu/tcg-runtime.o
  CC      cris-softmmu/gdbstub.o
  GEN     arm-softmmu/gdbstub-xml.c
  CC      arm-softmmu/hax-stub.o
  CC      aarch64-softmmu/gdbstub.o
  CC      arm-softmmu/kvm-stub.o
  CC      alpha-softmmu/gdbstub.o
  CC      arm-softmmu/arch_init.o
  CC      cris-softmmu/balloon.o
  CC      arm-softmmu/cpus.o
  CC      alpha-softmmu/balloon.o
  CC      aarch64-softmmu/balloon.o
  CC      cris-softmmu/ioport.o
  CC      alpha-softmmu/ioport.o
  CC      aarch64-softmmu/ioport.o
  CC      cris-softmmu/numa.o
  CC      arm-softmmu/monitor.o
  CC      aarch64-softmmu/numa.o
  CC      alpha-softmmu/numa.o
  CC      cris-softmmu/qtest.o
  CC      alpha-softmmu/qtest.o
  CC      aarch64-softmmu/qtest.o
  CC      alpha-softmmu/bootdevice.o
  CC      cris-softmmu/bootdevice.o
  CC      cris-softmmu/memory.o
  CC      alpha-softmmu/memory.o
  CC      aarch64-softmmu/bootdevice.o
  CC      arm-softmmu/gdbstub.o
  CC      aarch64-softmmu/memory.o
  CC      arm-softmmu/balloon.o
  CC      cris-softmmu/cputlb.o
  CC      alpha-softmmu/cputlb.o
  CC      arm-softmmu/ioport.o
  CC      arm-softmmu/numa.o
  CC      aarch64-softmmu/cputlb.o
  CC      arm-softmmu/qtest.o
  CC      alpha-softmmu/memory_mapping.o
  CC      cris-softmmu/memory_mapping.o
  CC      alpha-softmmu/dump.o
  CC      arm-softmmu/bootdevice.o
  CC      cris-softmmu/dump.o
  CC      arm-softmmu/memory.o
  CC      alpha-softmmu/migration/ram.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      cris-softmmu/migration/ram.o
  CC      aarch64-softmmu/dump.o
  CC      alpha-softmmu/migration/savevm.o
  CC      arm-softmmu/cputlb.o
  CC      aarch64-softmmu/migration/ram.o
  CC      cris-softmmu/migration/savevm.o
  CC      alpha-softmmu/xen-common-stub.o
  CC      alpha-softmmu/xen-hvm-stub.o
  CC      alpha-softmmu/hw/9pfs/virtio-9p-device.o
  CC      cris-softmmu/xen-common-stub.o
  CC      alpha-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/migration/savevm.o
  CC      cris-softmmu/xen-hvm-stub.o
  CC      arm-softmmu/memory_mapping.o
  CC      cris-softmmu/hw/core/nmi.o
  CC      alpha-softmmu/hw/block/dataplane/virtio-blk.o
  CC      arm-softmmu/dump.o
  CC      cris-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/xen-common-stub.o
  CC      alpha-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/xen-hvm-stub.o
  CC      cris-softmmu/hw/core/null-machine.o
  CC      arm-softmmu/migration/ram.o
  CC      alpha-softmmu/hw/core/nmi.o
  CC      aarch64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      cris-softmmu/hw/cpu/core.o
  CC      alpha-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      alpha-softmmu/hw/core/null-machine.o
  CC      cris-softmmu/hw/net/etraxfs_eth.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      alpha-softmmu/hw/cpu/core.o
  CC      cris-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/migration/savevm.o
  CC      alpha-softmmu/hw/display/vga.o
  CC      cris-softmmu/hw/net/rocker/qmp-norocker.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      cris-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      arm-softmmu/xen-common-stub.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      arm-softmmu/xen-hvm-stub.o
  CC      alpha-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/9pfs/virtio-9p-device.o
  CC      cris-softmmu/hw/vfio/platform.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      arm-softmmu/hw/adc/stm32f2xx_adc.o
  CC      cris-softmmu/hw/vfio/spapr.o
  CC      alpha-softmmu/hw/display/virtio-gpu-3d.o
  CC      arm-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      cris-softmmu/hw/cris/boot.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      arm-softmmu/hw/block/dataplane/virtio-blk.o
  CC      alpha-softmmu/hw/display/virtio-gpu-pci.o
  CC      cris-softmmu/hw/cris/axis_dev88.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      arm-softmmu/hw/char/exynos4210_uart.o
  CC      cris-softmmu/target/cris/translate.o
  CC      alpha-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/char/omap_uart.o
  CC      aarch64-softmmu/hw/core/nmi.o
  CC      arm-softmmu/hw/char/digic-uart.o
  CC      alpha-softmmu/hw/misc/edu.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      arm-softmmu/hw/char/stm32f2xx_usart.o
  CC      alpha-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      arm-softmmu/hw/char/bcm2835_aux.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      arm-softmmu/hw/char/virtio-serial-bus.o
  CC      alpha-softmmu/hw/net/vhost_net.o
  CC      cris-softmmu/target/cris/op_helper.o
  CC      alpha-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      arm-softmmu/hw/core/nmi.o
  CC      cris-softmmu/target/cris/helper.o
  CC      arm-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/cpu/core.o
  CC      alpha-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      cris-softmmu/target/cris/cpu.o
  CC      arm-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      alpha-softmmu/hw/scsi/vhost-scsi.o
  CC      cris-softmmu/target/cris/gdbstub.o
  CC      arm-softmmu/hw/cpu/arm11mpcore.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      alpha-softmmu/hw/timer/mc146818rtc.o
  CC      cris-softmmu/target/cris/mmu.o
  CC      arm-softmmu/hw/cpu/realview_mpcore.o
  CC      cris-softmmu/target/cris/machine.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      arm-softmmu/hw/cpu/a9mpcore.o
  CC      alpha-softmmu/hw/vfio/common.o
  GEN     trace/generated-helpers.c
  CC      cris-softmmu/trace/control-target.o
  CC      arm-softmmu/hw/cpu/a15mpcore.o
  CC      cris-softmmu/trace/generated-helpers.o
  CC      alpha-softmmu/hw/vfio/pci.o
  LINK    cris-softmmu/qemu-system-cris
  CC      arm-softmmu/hw/cpu/core.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      arm-softmmu/hw/display/omap_dss.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      alpha-softmmu/hw/vfio/pci-quirks.o
  CC      arm-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/display/pxa2xx_lcd.o
  CC      arm-softmmu/hw/display/bcm2835_fb.o
  CC      alpha-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      alpha-softmmu/hw/vfio/spapr.o
  CC      alpha-softmmu/hw/virtio/virtio.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      arm-softmmu/hw/display/virtio-gpu.o
  GEN     i386-softmmu/hmp-commands.h
  CC      aarch64-softmmu/hw/display/dpcd.o
  GEN     i386-softmmu/hmp-commands-info.h
  GEN     i386-softmmu/config-target.h
  CC      i386-softmmu/exec.o
  CC      alpha-softmmu/hw/virtio/virtio-balloon.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      alpha-softmmu/hw/virtio/vhost.o
  CC      arm-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      alpha-softmmu/hw/virtio/vhost-backend.o
  CC      arm-softmmu/hw/display/virtio-gpu-pci.o
  CC      alpha-softmmu/hw/virtio/vhost-user.o
  CC      i386-softmmu/translate-all.o
  CC      alpha-softmmu/hw/virtio/vhost-vsock.o
  CC      arm-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      alpha-softmmu/hw/virtio/virtio-crypto.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      i386-softmmu/cpu-exec.o
  CC      arm-softmmu/hw/dma/soc_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      i386-softmmu/translate-common.o
  CC      alpha-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      i386-softmmu/cpu-exec-common.o
  CC      arm-softmmu/hw/dma/pxa2xx_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      i386-softmmu/tcg/tcg.o
  CC      alpha-softmmu/hw/alpha/dp264.o
  CC      arm-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      alpha-softmmu/hw/alpha/pci.o
  CC      arm-softmmu/hw/gpio/omap_gpio.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      alpha-softmmu/hw/alpha/typhoon.o
  CC      arm-softmmu/hw/gpio/imx_gpio.o
  CC      arm-softmmu/hw/i2c/omap_i2c.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
  CC      alpha-softmmu/target/alpha/machine.o
  CC      arm-softmmu/hw/input/pxa2xx_keypad.o
  CC      i386-softmmu/tcg/tcg-op.o
  CC      alpha-softmmu/target/alpha/translate.o
  CC      arm-softmmu/hw/input/tsc210x.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      arm-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      alpha-softmmu/target/alpha/helper.o
  CC      arm-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      alpha-softmmu/target/alpha/cpu.o
  CC      arm-softmmu/hw/intc/exynos4210_combiner.o
  CC      alpha-softmmu/target/alpha/int_helper.o
  CC      arm-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      alpha-softmmu/target/alpha/fpu_helper.o
  CC      arm-softmmu/hw/intc/bcm2835_ic.o
  CC      alpha-softmmu/target/alpha/vax_helper.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      i386-softmmu/tcg/optimize.o
  CC      arm-softmmu/hw/intc/bcm2836_control.o
  CC      alpha-softmmu/target/alpha/sys_helper.o
  CC      alpha-softmmu/target/alpha/mem_helper.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      arm-softmmu/hw/intc/allwinner-a10-pic.o
  CC      alpha-softmmu/target/alpha/gdbstub.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  GEN     trace/generated-helpers.c
  CC      alpha-softmmu/trace/control-target.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      arm-softmmu/hw/intc/aspeed_vic.o
  CC      alpha-softmmu/trace/generated-helpers.o
  CC      i386-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  LINK    alpha-softmmu/qemu-system-alpha
  CC      i386-softmmu/fpu/softfloat.o
  CC      arm-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/misc/ivshmem.o
  CC      i386-softmmu/disas.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      arm-softmmu/hw/misc/arm_sysctl.o
  CC      aarch64-softmmu/hw/misc/cbus.o
  CC      arm-softmmu/hw/misc/cbus.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  GEN     lm32-softmmu/hmp-commands.h
  GEN     lm32-softmmu/hmp-commands-info.h
  GEN     lm32-softmmu/config-target.h
  CC      lm32-softmmu/exec.o
  CC      i386-softmmu/tcg-runtime.o
  CC      arm-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      i386-softmmu/hax-stub.o
  CC      arm-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  CC      i386-softmmu/kvm-stub.o
  CC      arm-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      arm-softmmu/hw/misc/imx25_ccm.o
  CC      i386-softmmu/arch_init.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      arm-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      i386-softmmu/cpus.o
  CC      arm-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      arm-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      lm32-softmmu/translate-all.o
  CC      i386-softmmu/monitor.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      arm-softmmu/hw/misc/omap_clk.o
  CC      arm-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      lm32-softmmu/cpu-exec.o
  CC      arm-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      arm-softmmu/hw/misc/omap_sdrc.o
  CC      lm32-softmmu/translate-common.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      arm-softmmu/hw/misc/omap_tap.o
  CC      lm32-softmmu/cpu-exec-common.o
  CC      i386-softmmu/gdbstub.o
  CC      arm-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      lm32-softmmu/tcg/tcg.o
  CC      arm-softmmu/hw/misc/bcm2835_property.o
  CC      i386-softmmu/balloon.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      i386-softmmu/ioport.o
  CC      arm-softmmu/hw/misc/zynq_slcr.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      i386-softmmu/numa.o
  CC      arm-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/edu.o
  CC      arm-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      i386-softmmu/qtest.o
  CC      lm32-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      arm-softmmu/hw/misc/edu.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      i386-softmmu/bootdevice.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      arm-softmmu/hw/misc/aspeed_scu.o
  CC      i386-softmmu/memory.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      arm-softmmu/hw/misc/aspeed_sdmc.o
  CC      arm-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      i386-softmmu/cputlb.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      arm-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      lm32-softmmu/tcg/optimize.o
  CC      arm-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/scsi/virtio-scsi.o
  CC      lm32-softmmu/tcg/tcg-common.o
  CC      i386-softmmu/memory_mapping.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi.o
  CC      arm-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      lm32-softmmu/fpu/softfloat.o
  CC      i386-softmmu/dump.o
  CC      aarch64-softmmu/hw/sd/omap_mmc.o
  CC      arm-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/sd/pxa2xx_mmci.o
  CC      arm-softmmu/hw/sd/omap_mmc.o
  CC      i386-softmmu/migration/ram.o
  CC      arm-softmmu/hw/sd/pxa2xx_mmci.o
  CC      aarch64-softmmu/hw/ssi/omap_spi.o
  CC      arm-softmmu/hw/ssi/omap_spi.o
  CC      i386-softmmu/migration/savevm.o
  CC      arm-softmmu/hw/ssi/imx_spi.o
  CC      aarch64-softmmu/hw/ssi/imx_spi.o
  CC      aarch64-softmmu/hw/timer/exynos4210_mct.o
  CC      arm-softmmu/hw/timer/exynos4210_mct.o
  CC      i386-softmmu/xen-common-stub.o
  CC      aarch64-softmmu/hw/timer/exynos4210_pwm.o
  CC      lm32-softmmu/disas.o
  CC      arm-softmmu/hw/timer/exynos4210_pwm.o
  CC      i386-softmmu/xen-hvm-stub.o
  CC      aarch64-softmmu/hw/timer/exynos4210_rtc.o
  CC      i386-softmmu/hw/9pfs/virtio-9p-device.o
  CC      lm32-softmmu/tcg-runtime.o
  CC      arm-softmmu/hw/timer/exynos4210_rtc.o
  CC      lm32-softmmu/hax-stub.o
  CC      i386-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/hw/timer/omap_gptimer.o
  CC      arm-softmmu/hw/timer/omap_gptimer.o
  CC      lm32-softmmu/kvm-stub.o
  CC      aarch64-softmmu/hw/timer/omap_synctimer.o
  CC      arm-softmmu/hw/timer/omap_synctimer.o
  CC      lm32-softmmu/arch_init.o
  CC      i386-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/timer/pxa2xx_timer.o
  CC      arm-softmmu/hw/timer/pxa2xx_timer.o
  CC      lm32-softmmu/cpus.o
  CC      i386-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/timer/digic-timer.o
  CC      arm-softmmu/hw/timer/digic-timer.o
  CC      arm-softmmu/hw/timer/allwinner-a10-pit.o
  CC      i386-softmmu/hw/core/nmi.o
  CC      aarch64-softmmu/hw/timer/allwinner-a10-pit.o
  CC      arm-softmmu/hw/usb/tusb6010.o
  CC      lm32-softmmu/monitor.o
  CC      i386-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/usb/tusb6010.o
  CC      arm-softmmu/hw/vfio/common.o
  CC      i386-softmmu/hw/core/null-machine.o
  CC      i386-softmmu/hw/cpu/core.o
  CC      aarch64-softmmu/hw/vfio/common.o
  CC      i386-softmmu/hw/display/vga.o
  CC      arm-softmmu/hw/vfio/pci.o
  CC      lm32-softmmu/gdbstub.o
  CC      aarch64-softmmu/hw/vfio/pci.o
  CC      i386-softmmu/hw/display/virtio-gpu.o
  CC      lm32-softmmu/balloon.o
  CC      arm-softmmu/hw/vfio/pci-quirks.o
  CC      lm32-softmmu/ioport.o
  CC      aarch64-softmmu/hw/vfio/pci-quirks.o
  CC      i386-softmmu/hw/display/virtio-gpu-3d.o
  CC      lm32-softmmu/numa.o
  CC      arm-softmmu/hw/vfio/platform.o
  CC      aarch64-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/vfio/calxeda-xgmac.o
  CC      lm32-softmmu/qtest.o
  CC      i386-softmmu/hw/display/virtio-gpu-pci.o
  CC      arm-softmmu/hw/vfio/amd-xgbe.o
  CC      aarch64-softmmu/hw/vfio/calxeda-xgmac.o
  CC      arm-softmmu/hw/vfio/spapr.o
  CC      i386-softmmu/hw/display/virtio-vga.o
  CC      lm32-softmmu/bootdevice.o
  CC      aarch64-softmmu/hw/vfio/amd-xgbe.o
  CC      arm-softmmu/hw/virtio/virtio.o
  CC      i386-softmmu/hw/intc/apic.o
  CC      aarch64-softmmu/hw/vfio/spapr.o
  CC      lm32-softmmu/memory.o
  CC      aarch64-softmmu/hw/virtio/virtio.o
  CC      i386-softmmu/hw/intc/apic_common.o
  CC      i386-softmmu/hw/intc/ioapic.o
  CC      arm-softmmu/hw/virtio/virtio-balloon.o
  CC      i386-softmmu/hw/isa/lpc_ich9.o
  CC      aarch64-softmmu/hw/virtio/virtio-balloon.o
  CC      arm-softmmu/hw/virtio/vhost.o
  CC      i386-softmmu/hw/misc/vmport.o
  CC      lm32-softmmu/cputlb.o
  CC      i386-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/virtio/vhost.o
  CC      arm-softmmu/hw/virtio/vhost-backend.o
  CC      arm-softmmu/hw/virtio/vhost-user.o
  CC      i386-softmmu/hw/misc/pvpanic.o
  CC      arm-softmmu/hw/virtio/vhost-vsock.o
  CC      aarch64-softmmu/hw/virtio/vhost-backend.o
  CC      i386-softmmu/hw/misc/edu.o
  CC      arm-softmmu/hw/virtio/virtio-crypto.o
  CC      lm32-softmmu/memory_mapping.o
  CC      aarch64-softmmu/hw/virtio/vhost-user.o
  CC      lm32-softmmu/dump.o
  CC      i386-softmmu/hw/net/virtio-net.o
  CC      arm-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      aarch64-softmmu/hw/virtio/vhost-vsock.o
  CC      lm32-softmmu/migration/ram.o
  CC      arm-softmmu/hw/arm/boot.o
  CC      i386-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto.o
  CC      arm-softmmu/hw/arm/collie.o
  CC      i386-softmmu/hw/scsi/virtio-scsi.o
  CC      arm-softmmu/hw/arm/exynos4_boards.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      lm32-softmmu/migration/savevm.o
  CC      arm-softmmu/hw/arm/gumstix.o
  CC      i386-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/arm/highbank.o
  CC      aarch64-softmmu/hw/arm/boot.o
  CC      arm-softmmu/hw/arm/digic_boards.o
  CC      i386-softmmu/hw/scsi/vhost-scsi.o
  CC      arm-softmmu/hw/arm/integratorcp.o
  CC      lm32-softmmu/xen-common-stub.o
  CC      aarch64-softmmu/hw/arm/collie.o
  CC      i386-softmmu/hw/timer/mc146818rtc.o
  CC      lm32-softmmu/xen-hvm-stub.o
  CC      aarch64-softmmu/hw/arm/exynos4_boards.o
  CC      arm-softmmu/hw/arm/mainstone.o
  CC      lm32-softmmu/hw/core/nmi.o
  CC      arm-softmmu/hw/arm/musicpal.o
  CC      i386-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/arm/gumstix.o
  CC      lm32-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/arm/highbank.o
  CC      arm-softmmu/hw/arm/nseries.o
  CC      lm32-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/arm/digic_boards.o
  CC      i386-softmmu/hw/vfio/pci.o
  CC      lm32-softmmu/hw/cpu/core.o
  CC      aarch64-softmmu/hw/arm/integratorcp.o
  CC      arm-softmmu/hw/arm/omap_sx1.o
  CC      lm32-softmmu/hw/input/milkymist-softusb.o
  CC      aarch64-softmmu/hw/arm/mainstone.o
  CC      aarch64-softmmu/hw/arm/musicpal.o
  CC      arm-softmmu/hw/arm/palm.o
  CC      i386-softmmu/hw/vfio/pci-quirks.o
  CC      lm32-softmmu/hw/misc/milkymist-hpdmc.o
  CC      lm32-softmmu/hw/misc/milkymist-pfpu.o
  CC      arm-softmmu/hw/arm/realview.o
  CC      i386-softmmu/hw/vfio/platform.o
  CC      aarch64-softmmu/hw/arm/nseries.o
  CC      lm32-softmmu/hw/net/milkymist-minimac2.o
  CC      arm-softmmu/hw/arm/spitz.o
  CC      i386-softmmu/hw/vfio/spapr.o
  CC      lm32-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/arm/stellaris.o
  CC      aarch64-softmmu/hw/arm/omap_sx1.o
  CC      lm32-softmmu/hw/net/rocker/qmp-norocker.o
  CC      i386-softmmu/hw/virtio/virtio.o
  CC      lm32-softmmu/hw/sd/milkymist-memcard.o
  CC      arm-softmmu/hw/arm/tosa.o
  CC      aarch64-softmmu/hw/arm/palm.o
  CC      lm32-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/arm/realview.o
  CC      arm-softmmu/hw/arm/versatilepb.o
  CC      arm-softmmu/hw/arm/vexpress.o
  CC      i386-softmmu/hw/virtio/virtio-balloon.o
  CC      aarch64-softmmu/hw/arm/spitz.o
  CC      lm32-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/arm/virt.o
  CC      aarch64-softmmu/hw/arm/stellaris.o
  CC      i386-softmmu/hw/virtio/vhost.o
  CC      lm32-softmmu/hw/vfio/spapr.o
  CC      arm-softmmu/hw/arm/xilinx_zynq.o
  CC      aarch64-softmmu/hw/arm/tosa.o
  CC      arm-softmmu/hw/arm/z2.o
  CC      lm32-softmmu/hw/lm32/lm32_boards.o
  CC      i386-softmmu/hw/virtio/vhost-backend.o
  CC      aarch64-softmmu/hw/arm/versatilepb.o
  CC      i386-softmmu/hw/virtio/vhost-user.o
  CC      lm32-softmmu/hw/lm32/milkymist.o
  CC      arm-softmmu/hw/arm/virt-acpi-build.o
  CC      aarch64-softmmu/hw/arm/vexpress.o
  CC      i386-softmmu/hw/virtio/vhost-vsock.o
  CC      lm32-softmmu/target/lm32/translate.o
  CC      aarch64-softmmu/hw/arm/virt.o
  CC      i386-softmmu/hw/virtio/virtio-crypto.o
  CC      arm-softmmu/hw/arm/netduino2.o
  CC      i386-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      arm-softmmu/hw/arm/sysbus-fdt.o
  CC      aarch64-softmmu/hw/arm/xilinx_zynq.o
  CC      lm32-softmmu/target/lm32/op_helper.o
  CC      aarch64-softmmu/hw/arm/z2.o
  CC      i386-softmmu/hw/i386/multiboot.o
  CC      arm-softmmu/hw/arm/armv7m.o
  CC      lm32-softmmu/target/lm32/helper.o
  CC      arm-softmmu/hw/arm/exynos4210.o
  CC      i386-softmmu/hw/i386/pc.o
  CC      aarch64-softmmu/hw/arm/virt-acpi-build.o
  CC      lm32-softmmu/target/lm32/cpu.o
  CC      arm-softmmu/hw/arm/pxa2xx.o
  CC      aarch64-softmmu/hw/arm/netduino2.o
  CC      lm32-softmmu/target/lm32/gdbstub.o
  CC      i386-softmmu/hw/i386/pc_piix.o
  CC      lm32-softmmu/target/lm32/lm32-semi.o
  CC      aarch64-softmmu/hw/arm/sysbus-fdt.o
  CC      lm32-softmmu/target/lm32/machine.o
  CC      arm-softmmu/hw/arm/pxa2xx_gpio.o
  CC      aarch64-softmmu/hw/arm/armv7m.o
  GEN     trace/generated-helpers.c
  CC      lm32-softmmu/trace/control-target.o
  CC      i386-softmmu/hw/i386/pc_q35.o
  CC      aarch64-softmmu/hw/arm/exynos4210.o
  CC      arm-softmmu/hw/arm/pxa2xx_pic.o
  CC      lm32-softmmu/trace/generated-helpers.o
  CC      aarch64-softmmu/hw/arm/pxa2xx.o
  CC      i386-softmmu/hw/i386/pc_sysfw.o
  CC      arm-softmmu/hw/arm/digic.o
  LINK    lm32-softmmu/qemu-system-lm32
  CC      arm-softmmu/hw/arm/omap1.o
  CC      i386-softmmu/hw/i386/x86-iommu.o
  CC      i386-softmmu/hw/i386/intel_iommu.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_gpio.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_pic.o
  CC      arm-softmmu/hw/arm/omap2.o
  CC      i386-softmmu/hw/i386/amd_iommu.o
  CC      aarch64-softmmu/hw/arm/digic.o
  CC      aarch64-softmmu/hw/arm/omap1.o
  CC      i386-softmmu/hw/i386/kvmvapic.o
  CC      arm-softmmu/hw/arm/strongarm.o
  GEN     m68k-softmmu/hmp-commands.h
  GEN     m68k-softmmu/hmp-commands-info.h
  GEN     m68k-softmmu/config-target.h
  CC      i386-softmmu/hw/i386/acpi-build.o
  CC      m68k-softmmu/exec.o
  CC      arm-softmmu/hw/arm/allwinner-a10.o
  CC      i386-softmmu/hw/i386/pci-assign-load-rom.o
  CC      arm-softmmu/hw/arm/cubieboard.o
  CC      aarch64-softmmu/hw/arm/omap2.o
  CC      i386-softmmu/target/i386/translate.o
  CC      arm-softmmu/hw/arm/bcm2835_peripherals.o
  CC      aarch64-softmmu/hw/arm/strongarm.o
  CC      arm-softmmu/hw/arm/bcm2836.o
  CC      aarch64-softmmu/hw/arm/allwinner-a10.o
  CC      m68k-softmmu/translate-all.o
  CC      arm-softmmu/hw/arm/raspi.o
  CC      aarch64-softmmu/hw/arm/cubieboard.o
  CC      arm-softmmu/hw/arm/stm32f205_soc.o
  CC      aarch64-softmmu/hw/arm/bcm2835_peripherals.o
  CC      m68k-softmmu/cpu-exec.o
  CC      arm-softmmu/hw/arm/fsl-imx25.o
  CC      m68k-softmmu/translate-common.o
  CC      aarch64-softmmu/hw/arm/bcm2836.o
  CC      arm-softmmu/hw/arm/imx25_pdk.o
  CC      m68k-softmmu/cpu-exec-common.o
  CC      aarch64-softmmu/hw/arm/raspi.o
  CC      arm-softmmu/hw/arm/fsl-imx31.o
  CC      m68k-softmmu/tcg/tcg.o
  CC      arm-softmmu/hw/arm/kzm.o
  CC      arm-softmmu/hw/arm/fsl-imx6.o
  CC      aarch64-softmmu/hw/arm/stm32f205_soc.o
  CC      arm-softmmu/hw/arm/sabrelite.o
  CC      arm-softmmu/hw/arm/aspeed_soc.o
  CC      aarch64-softmmu/hw/arm/xlnx-zynqmp.o
  CC      arm-softmmu/hw/arm/aspeed.o
  CC      m68k-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/hw/arm/xlnx-ep108.o
  CC      arm-softmmu/target/arm/arm-semi.o
  CC      aarch64-softmmu/hw/arm/fsl-imx25.o
  CC      arm-softmmu/target/arm/machine.o
  CC      aarch64-softmmu/hw/arm/imx25_pdk.o
  CC      arm-softmmu/target/arm/psci.o
  CC      i386-softmmu/target/i386/helper.o
  CC      arm-softmmu/target/arm/arch_dump.o
  CC      aarch64-softmmu/hw/arm/fsl-imx31.o
  CC      arm-softmmu/target/arm/monitor.o
  CC      i386-softmmu/target/i386/cpu.o
  CC      aarch64-softmmu/hw/arm/kzm.o
  CC      arm-softmmu/target/arm/kvm-stub.o
  CC      m68k-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/hw/arm/fsl-imx6.o
  CC      arm-softmmu/target/arm/translate.o
  CC      aarch64-softmmu/hw/arm/sabrelite.o
  CC      i386-softmmu/target/i386/bpt_helper.o
  CC      aarch64-softmmu/hw/arm/aspeed_soc.o
  CC      m68k-softmmu/tcg/tcg-common.o
  CC      m68k-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/hw/arm/aspeed.o
  CC      i386-softmmu/target/i386/excp_helper.o
  CC      aarch64-softmmu/target/arm/arm-semi.o
  CC      i386-softmmu/target/i386/fpu_helper.o
  CC      aarch64-softmmu/target/arm/machine.o
  CC      aarch64-softmmu/target/arm/psci.o
  CC      aarch64-softmmu/target/arm/arch_dump.o
  CC      m68k-softmmu/disas.o
  CC      aarch64-softmmu/target/arm/monitor.o
  CC      m68k-softmmu/tcg-runtime.o
  CC      aarch64-softmmu/target/arm/kvm-stub.o
  CC      aarch64-softmmu/target/arm/translate.o
  GEN     m68k-softmmu/gdbstub-xml.c
  CC      m68k-softmmu/hax-stub.o
  CC      i386-softmmu/target/i386/cc_helper.o
  CC      m68k-softmmu/kvm-stub.o
  CC      i386-softmmu/target/i386/int_helper.o
  CC      arm-softmmu/target/arm/op_helper.o
  CC      m68k-softmmu/arch_init.o
  CC      i386-softmmu/target/i386/svm_helper.o
  CC      i386-softmmu/target/i386/smm_helper.o
  CC      m68k-softmmu/cpus.o
  CC      i386-softmmu/target/i386/misc_helper.o
  CC      arm-softmmu/target/arm/helper.o
  CC      i386-softmmu/target/i386/mem_helper.o
  CC      m68k-softmmu/monitor.o
  CC      i386-softmmu/target/i386/seg_helper.o
  CC      m68k-softmmu/gdbstub.o
  CC      aarch64-softmmu/target/arm/op_helper.o
  CC      arm-softmmu/target/arm/cpu.o
  CC      i386-softmmu/target/i386/mpx_helper.o
  CC      m68k-softmmu/balloon.o
  CC      arm-softmmu/target/arm/neon_helper.o
  CC      m68k-softmmu/ioport.o
  CC      i386-softmmu/target/i386/gdbstub.o
  CC      aarch64-softmmu/target/arm/helper.o
  CC      i386-softmmu/target/i386/machine.o
  CC      m68k-softmmu/numa.o
  CC      i386-softmmu/target/i386/arch_memory_mapping.o
  CC      arm-softmmu/target/arm/iwmmxt_helper.o
  CC      i386-softmmu/target/i386/arch_dump.o
  CC      m68k-softmmu/qtest.o
  CC      i386-softmmu/target/i386/monitor.o
  CC      arm-softmmu/target/arm/gdbstub.o
  CC      m68k-softmmu/bootdevice.o
  CC      i386-softmmu/target/i386/kvm-stub.o
  CC      arm-softmmu/target/arm/crypto_helper.o
  CC      m68k-softmmu/memory.o
  GEN     trace/generated-helpers.c
  CC      i386-softmmu/trace/control-target.o
  CC      arm-softmmu/target/arm/arm-powerctl.o
  GEN     trace/generated-helpers.c
  CC      arm-softmmu/trace/control-target.o
  CC      i386-softmmu/trace/generated-helpers.o
  CC      aarch64-softmmu/target/arm/cpu.o
  CC      arm-softmmu/gdbstub-xml.o
  LINK    i386-softmmu/qemu-system-i386
  CC      m68k-softmmu/cputlb.o
  CC      arm-softmmu/trace/generated-helpers.o
  CC      aarch64-softmmu/target/arm/neon_helper.o
  LINK    arm-softmmu/qemu-system-arm
  CC      aarch64-softmmu/target/arm/iwmmxt_helper.o
  CC      m68k-softmmu/memory_mapping.o
  CC      m68k-softmmu/dump.o
  CC      aarch64-softmmu/target/arm/gdbstub.o
  CC      m68k-softmmu/migration/ram.o
  GEN     microblazeel-softmmu/hmp-commands.h
  CC      aarch64-softmmu/target/arm/cpu64.o
  GEN     microblazeel-softmmu/hmp-commands-info.h
  GEN     microblazeel-softmmu/config-target.h
  CC      microblazeel-softmmu/exec.o
  CC      microblazeel-softmmu/translate-all.o
  CC      aarch64-softmmu/target/arm/translate-a64.o
  CC      m68k-softmmu/migration/savevm.o
  CC      m68k-softmmu/xen-common-stub.o
  CC      microblazeel-softmmu/cpu-exec.o
  CC      m68k-softmmu/xen-hvm-stub.o
  CC      microblazeel-softmmu/translate-common.o
  CC      m68k-softmmu/hw/char/mcf_uart.o
  CC      microblazeel-softmmu/cpu-exec-common.o
  CC      microblazeel-softmmu/tcg/tcg.o
  GEN     microblaze-softmmu/hmp-commands.h
  GEN     microblaze-softmmu/hmp-commands-info.h
  CC      m68k-softmmu/hw/core/nmi.o
  GEN     microblaze-softmmu/config-target.h
  CC      microblaze-softmmu/exec.o
  CC      m68k-softmmu/hw/core/generic-loader.o
  CC      m68k-softmmu/hw/core/null-machine.o
  CC      m68k-softmmu/hw/cpu/core.o
  CC      aarch64-softmmu/target/arm/helper-a64.o
  CC      microblazeel-softmmu/tcg/tcg-op.o
  CC      m68k-softmmu/hw/net/mcf_fec.o
  CC      m68k-softmmu/hw/net/vhost_net.o
  CC      microblaze-softmmu/translate-all.o
  CC      aarch64-softmmu/target/arm/gdbstub64.o
  CC      m68k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      aarch64-softmmu/target/arm/crypto_helper.o
  CC      microblaze-softmmu/cpu-exec.o
  CC      m68k-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/target/arm/arm-powerctl.o
  CC      microblaze-softmmu/translate-common.o
  GEN     trace/generated-helpers.c
  CC      m68k-softmmu/hw/vfio/platform.o
  CC      aarch64-softmmu/trace/control-target.o
  CC      microblaze-softmmu/cpu-exec-common.o
  CC      aarch64-softmmu/gdbstub-xml.o
  CC      m68k-softmmu/hw/vfio/spapr.o
  CC      microblaze-softmmu/tcg/tcg.o
  CC      microblazeel-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/trace/generated-helpers.o
  CC      m68k-softmmu/hw/m68k/an5206.o
  CC      m68k-softmmu/hw/m68k/mcf5208.o
  LINK    aarch64-softmmu/qemu-system-aarch64
  CC      m68k-softmmu/hw/m68k/mcf5206.o
  CC      microblazeel-softmmu/tcg/tcg-common.o
  CC      m68k-softmmu/hw/m68k/mcf_intc.o
  CC      microblaze-softmmu/tcg/tcg-op.o
  CC      microblazeel-softmmu/fpu/softfloat.o
  CC      m68k-softmmu/target/m68k/m68k-semi.o
  CC      m68k-softmmu/target/m68k/translate.o
  CC      microblazeel-softmmu/disas.o
  CC      microblaze-softmmu/tcg/optimize.o
  CC      microblazeel-softmmu/tcg-runtime.o
  CC      microblazeel-softmmu/hax-stub.o
  CC      microblaze-softmmu/tcg/tcg-common.o
  GEN     mips64el-softmmu/hmp-commands.h
  GEN     mips64el-softmmu/hmp-commands-info.h
  GEN     mips64el-softmmu/config-target.h
  CC      microblazeel-softmmu/kvm-stub.o
  CC      mips64el-softmmu/exec.o
  CC      microblaze-softmmu/fpu/softfloat.o
  CC      m68k-softmmu/target/m68k/op_helper.o
  CC      microblazeel-softmmu/arch_init.o
  CC      m68k-softmmu/target/m68k/helper.o
  CC      microblazeel-softmmu/cpus.o
  CC      m68k-softmmu/target/m68k/cpu.o
  CC      microblazeel-softmmu/monitor.o
  CC      m68k-softmmu/target/m68k/gdbstub.o
  CC      mips64el-softmmu/translate-all.o
  GEN     trace/generated-helpers.c
  CC      m68k-softmmu/trace/control-target.o
  CC      mips64el-softmmu/cpu-exec.o
  CC      m68k-softmmu/gdbstub-xml.o
  CC      microblaze-softmmu/disas.o
  CC      mips64el-softmmu/translate-common.o
  CC      m68k-softmmu/trace/generated-helpers.o
  CC      microblaze-softmmu/tcg-runtime.o
  CC      mips64el-softmmu/cpu-exec-common.o
  CC      microblazeel-softmmu/gdbstub.o
  LINK    m68k-softmmu/qemu-system-m68k
  CC      mips64el-softmmu/tcg/tcg.o
  CC      microblaze-softmmu/hax-stub.o
  CC      microblaze-softmmu/kvm-stub.o
  CC      microblazeel-softmmu/balloon.o
  CC      microblaze-softmmu/arch_init.o
  CC      microblazeel-softmmu/ioport.o
  CC      microblaze-softmmu/cpus.o
  CC      microblaze-softmmu/monitor.o
  CC      microblazeel-softmmu/numa.o
  CC      microblazeel-softmmu/qtest.o
  CC      microblaze-softmmu/gdbstub.o
  CC      mips64el-softmmu/tcg/tcg-op.o
  CC      microblazeel-softmmu/bootdevice.o
  CC      microblazeel-softmmu/memory.o
  CC      microblaze-softmmu/balloon.o
  CC      mips64el-softmmu/tcg/optimize.o
  CC      microblaze-softmmu/ioport.o
  CC      microblazeel-softmmu/cputlb.o
  CC      microblaze-softmmu/numa.o
  CC      microblazeel-softmmu/memory_mapping.o
  CC      microblaze-softmmu/qtest.o
  CC      microblazeel-softmmu/dump.o
  CC      mips64el-softmmu/tcg/tcg-common.o
  CC      mips64el-softmmu/fpu/softfloat.o
  CC      microblaze-softmmu/bootdevice.o
  CC      microblaze-softmmu/memory.o
  CC      microblazeel-softmmu/migration/ram.o
  GEN     mips64-softmmu/hmp-commands.h
  GEN     mips64-softmmu/hmp-commands-info.h
  GEN     mips64-softmmu/config-target.h
  CC      microblaze-softmmu/cputlb.o
  CC      mips64-softmmu/exec.o
  CC      microblazeel-softmmu/migration/savevm.o
  CC      microblaze-softmmu/memory_mapping.o
  CC      mips64el-softmmu/disas.o
  CC      microblaze-softmmu/dump.o
  CC      microblazeel-softmmu/xen-common-stub.o
  CC      mips64el-softmmu/tcg-runtime.o
  CC      microblazeel-softmmu/xen-hvm-stub.o
  CC      mips64-softmmu/translate-all.o
  CC      microblazeel-softmmu/hw/core/nmi.o
  CC      mips64el-softmmu/hax-stub.o
  CC      microblaze-softmmu/migration/ram.o
  CC      microblazeel-softmmu/hw/core/generic-loader.o
  CC      microblazeel-softmmu/hw/core/null-machine.o
  CC      mips64el-softmmu/kvm-stub.o
  CC      mips64-softmmu/cpu-exec.o
  CC      microblazeel-softmmu/hw/cpu/core.o
  CC      mips64el-softmmu/arch_init.o
  CC      mips64-softmmu/translate-common.o
  CC      microblazeel-softmmu/hw/net/xilinx_ethlite.o
  CC      mips64el-softmmu/cpus.o
  CC      microblaze-softmmu/migration/savevm.o
  CC      mips64-softmmu/cpu-exec-common.o
  CC      microblazeel-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/tcg/tcg.o
  CC      mips64el-softmmu/monitor.o
  CC      microblazeel-softmmu/hw/net/rocker/qmp-norocker.o
  CC      microblaze-softmmu/xen-common-stub.o
  CC      microblazeel-softmmu/hw/vfio/common.o
  CC      microblaze-softmmu/xen-hvm-stub.o
  CC      microblazeel-softmmu/hw/vfio/platform.o
  CC      microblaze-softmmu/hw/core/nmi.o
  CC      microblazeel-softmmu/hw/vfio/spapr.o
  CC      mips64el-softmmu/gdbstub.o
  CC      microblaze-softmmu/hw/core/generic-loader.o
  CC      microblazeel-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
  CC      mips64-softmmu/tcg/tcg-op.o
  CC      microblazeel-softmmu/hw/microblaze/petalogix_ml605_mmu.o
  CC      microblaze-softmmu/hw/core/null-machine.o
  CC      mips64el-softmmu/balloon.o
  CC      microblaze-softmmu/hw/cpu/core.o
  CC      microblazeel-softmmu/hw/microblaze/boot.o
  CC      microblaze-softmmu/hw/net/xilinx_ethlite.o
  CC      mips64el-softmmu/ioport.o
  CC      microblaze-softmmu/hw/net/vhost_net.o
  CC      microblazeel-softmmu/target/microblaze/translate.o
  CC      microblaze-softmmu/hw/net/rocker/qmp-norocker.o
  CC      microblaze-softmmu/hw/vfio/common.o
  CC      mips64el-softmmu/numa.o
  CC      microblaze-softmmu/hw/vfio/platform.o
  CC      mips64el-softmmu/qtest.o
  CC      microblazeel-softmmu/target/microblaze/op_helper.o
  CC      microblaze-softmmu/hw/vfio/spapr.o
  CC      mips64el-softmmu/bootdevice.o
  CC      mips64-softmmu/tcg/optimize.o
  CC      microblazeel-softmmu/target/microblaze/helper.o
  CC      microblaze-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
  CC      mips64el-softmmu/memory.o
  CC      microblazeel-softmmu/target/microblaze/cpu.o
  CC      microblaze-softmmu/hw/microblaze/petalogix_ml605_mmu.o
  CC      microblazeel-softmmu/target/microblaze/gdbstub.o
  CC      microblaze-softmmu/hw/microblaze/boot.o
  CC      mips64-softmmu/tcg/tcg-common.o
  CC      microblazeel-softmmu/target/microblaze/mmu.o
  CC      microblaze-softmmu/target/microblaze/translate.o
  CC      mips64el-softmmu/cputlb.o
  CC      mips64-softmmu/fpu/softfloat.o
  GEN     trace/generated-helpers.c
  CC      microblazeel-softmmu/trace/control-target.o
  CC      microblazeel-softmmu/trace/generated-helpers.o
  CC      microblaze-softmmu/target/microblaze/op_helper.o
  LINK    microblazeel-softmmu/qemu-system-microblazeel
  CC      microblaze-softmmu/target/microblaze/helper.o
  CC      mips64el-softmmu/memory_mapping.o
  CC      microblaze-softmmu/target/microblaze/cpu.o
  CC      mips64el-softmmu/dump.o
  CC      microblaze-softmmu/target/microblaze/gdbstub.o
  CC      mips64-softmmu/disas.o
  CC      microblaze-softmmu/target/microblaze/mmu.o
  CC      mips64el-softmmu/migration/ram.o
  CC      mips64-softmmu/tcg-runtime.o
  GEN     trace/generated-helpers.c
  CC      microblaze-softmmu/trace/control-target.o
  CC      mips64-softmmu/hax-stub.o
  CC      mips64el-softmmu/migration/savevm.o
  CC      mips64-softmmu/kvm-stub.o
  CC      microblaze-softmmu/trace/generated-helpers.o
  CC      mips64-softmmu/arch_init.o
  CC      mips64-softmmu/cpus.o
  CC      mips64el-softmmu/xen-common-stub.o
  LINK    microblaze-softmmu/qemu-system-microblaze
  CC      mips64el-softmmu/xen-hvm-stub.o
  CC      mips64-softmmu/monitor.o
  CC      mips64el-softmmu/hw/9pfs/virtio-9p-device.o
  GEN     mipsel-softmmu/hmp-commands.h
  GEN     mipsel-softmmu/hmp-commands-info.h
  GEN     mipsel-softmmu/config-target.h
  CC      mipsel-softmmu/exec.o
  CC      mips64el-softmmu/hw/block/virtio-blk.o
  CC      mips64el-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mips64-softmmu/gdbstub.o
  GEN     mips-softmmu/hmp-commands.h
  GEN     mips-softmmu/hmp-commands-info.h
  CC      mips64el-softmmu/hw/char/virtio-serial-bus.o
  GEN     mips-softmmu/config-target.h
  CC      mips64-softmmu/balloon.o
  CC      mips-softmmu/exec.o
  CC      mipsel-softmmu/translate-all.o
  CC      mips64-softmmu/ioport.o
  CC      mips64el-softmmu/hw/core/nmi.o
  CC      mips64-softmmu/numa.o
  CC      mipsel-softmmu/cpu-exec.o
  CC      mips64el-softmmu/hw/core/generic-loader.o
  CC      mips64el-softmmu/hw/core/null-machine.o
  CC      mipsel-softmmu/translate-common.o
  CC      mipsel-softmmu/cpu-exec-common.o
  CC      mips64-softmmu/qtest.o
  CC      mips64el-softmmu/hw/cpu/core.o
  CC      mipsel-softmmu/tcg/tcg.o
  CC      mips64el-softmmu/hw/display/vga.o
  CC      mips64-softmmu/bootdevice.o
  CC      mips-softmmu/translate-all.o
  CC      mips64-softmmu/memory.o
  CC      mips64el-softmmu/hw/display/virtio-gpu.o
  CC      mips-softmmu/cpu-exec.o
  CC      mips-softmmu/translate-common.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips-softmmu/cpu-exec-common.o
  CC      mipsel-softmmu/tcg/tcg-op.o
  CC      mips-softmmu/tcg/tcg.o
  CC      mips64-softmmu/cputlb.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-pci.o
  CC      mips64el-softmmu/hw/intc/mips_gic.o
  CC      mips64-softmmu/memory_mapping.o
  CC      mips64el-softmmu/hw/misc/ivshmem.o
  CC      mips64-softmmu/dump.o
  CC      mips-softmmu/tcg/tcg-op.o
  CC      mipsel-softmmu/tcg/optimize.o
  CC      mips64el-softmmu/hw/misc/mips_cmgcr.o
  CC      mips64-softmmu/migration/ram.o
  CC      mips64el-softmmu/hw/misc/mips_cpc.o
  CC      mipsel-softmmu/tcg/tcg-common.o
  CC      mips64el-softmmu/hw/misc/mips_itu.o
  CC      mipsel-softmmu/fpu/softfloat.o
  CC      mips64-softmmu/migration/savevm.o
  CC      mips64el-softmmu/hw/misc/edu.o
  CC      mips64el-softmmu/hw/net/virtio-net.o
  CC      mips-softmmu/tcg/optimize.o
  CC      mips64-softmmu/xen-common-stub.o
  CC      mips64el-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/xen-hvm-stub.o
  CC      mips-softmmu/tcg/tcg-common.o
  CC      mips64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64el-softmmu/hw/scsi/virtio-scsi.o
  CC      mips-softmmu/fpu/softfloat.o
  CC      mips64-softmmu/hw/block/virtio-blk.o
  CC      mipsel-softmmu/disas.o
  CC      mips64el-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mipsel-softmmu/tcg-runtime.o
  CC      mips64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mipsel-softmmu/hax-stub.o
  CC      mips64el-softmmu/hw/scsi/vhost-scsi.o
  CC      mipsel-softmmu/kvm-stub.o
  CC      mips64-softmmu/hw/char/virtio-serial-bus.o
  CC      mips64el-softmmu/hw/timer/mips_gictimer.o
  CC      mipsel-softmmu/arch_init.o
  CC      mips64el-softmmu/hw/timer/mc146818rtc.o
  CC      mips64-softmmu/hw/core/nmi.o
  CC      mipsel-softmmu/cpus.o
  CC      mips64-softmmu/hw/core/generic-loader.o
  CC      mips64el-softmmu/hw/vfio/common.o
  CC      mips64-softmmu/hw/core/null-machine.o
  CC      mips64-softmmu/hw/cpu/core.o
  CC      mips-softmmu/disas.o
  CC      mips64el-softmmu/hw/vfio/pci.o
  CC      mips64-softmmu/hw/display/vga.o
  CC      mipsel-softmmu/monitor.o
  CC      mips-softmmu/tcg-runtime.o
  CC      mips-softmmu/hax-stub.o
  CC      mips64-softmmu/hw/display/virtio-gpu.o
  CC      mips64el-softmmu/hw/vfio/pci-quirks.o
  CC      mips-softmmu/kvm-stub.o
  CC      mipsel-softmmu/gdbstub.o
  CC      mips-softmmu/arch_init.o
  CC      mips64el-softmmu/hw/vfio/platform.o
  CC      mips64-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips-softmmu/cpus.o
  CC      mips64el-softmmu/hw/vfio/spapr.o
  CC      mipsel-softmmu/balloon.o
  CC      mips64el-softmmu/hw/virtio/virtio.o
  CC      mipsel-softmmu/ioport.o
  CC      mips64-softmmu/hw/display/virtio-gpu-pci.o
  CC      mips-softmmu/monitor.o
  CC      mipsel-softmmu/numa.o
  CC      mips64-softmmu/hw/intc/mips_gic.o
  CC      mipsel-softmmu/qtest.o
  CC      mips64el-softmmu/hw/virtio/virtio-balloon.o
  CC      mips64-softmmu/hw/misc/ivshmem.o
  CC      mipsel-softmmu/bootdevice.o
  CC      mips64el-softmmu/hw/virtio/vhost.o
  CC      mips-softmmu/gdbstub.o
  CC      mips64-softmmu/hw/misc/mips_cmgcr.o
  CC      mipsel-softmmu/memory.o
  CC      mips64-softmmu/hw/misc/mips_cpc.o
  CC      mips64el-softmmu/hw/virtio/vhost-backend.o
  CC      mips-softmmu/balloon.o
  CC      mips64-softmmu/hw/misc/mips_itu.o
  CC      mips64el-softmmu/hw/virtio/vhost-user.o
  CC      mips-softmmu/ioport.o
  CC      mips64-softmmu/hw/misc/edu.o
  CC      mips64el-softmmu/hw/virtio/vhost-vsock.o
  CC      mipsel-softmmu/cputlb.o
  CC      mips64-softmmu/hw/net/virtio-net.o
  CC      mips-softmmu/numa.o
  CC      mips64el-softmmu/hw/virtio/virtio-crypto.o
  CC      mips-softmmu/qtest.o
  CC      mips64-softmmu/hw/net/vhost_net.o
  CC      mips64el-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      mips64-softmmu/hw/scsi/virtio-scsi.o
  CC      mips-softmmu/bootdevice.o
  CC      mipsel-softmmu/memory_mapping.o
  CC      mips64el-softmmu/hw/mips/mips_r4k.o
  CC      mips64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mipsel-softmmu/dump.o
  CC      mips-softmmu/memory.o
  CC      mips64-softmmu/hw/scsi/vhost-scsi.o
  CC      mips64el-softmmu/hw/mips/mips_malta.o
  CC      mips64-softmmu/hw/timer/mips_gictimer.o
  CC      mipsel-softmmu/migration/ram.o
  CC      mips64-softmmu/hw/timer/mc146818rtc.o
  CC      mips64el-softmmu/hw/mips/mips_mipssim.o
  CC      mips-softmmu/cputlb.o
  CC      mips64-softmmu/hw/vfio/common.o
  CC      mips64el-softmmu/hw/mips/addr.o
  CC      mipsel-softmmu/migration/savevm.o
  CC      mips64el-softmmu/hw/mips/cputimer.o
  CC      mips64-softmmu/hw/vfio/pci.o
  CC      mips-softmmu/memory_mapping.o
  CC      mips64el-softmmu/hw/mips/mips_int.o
  CC      mipsel-softmmu/xen-common-stub.o
  CC      mips-softmmu/dump.o
  CC      mips64el-softmmu/hw/mips/mips_jazz.o
  CC      mips64-softmmu/hw/vfio/pci-quirks.o
  CC      mipsel-softmmu/xen-hvm-stub.o
  CC      mipsel-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mipsel-softmmu/hw/block/virtio-blk.o
  CC      mips64-softmmu/hw/vfio/platform.o
  CC      mips64el-softmmu/hw/mips/mips_fulong2e.o
  CC      mips-softmmu/migration/ram.o
  CC      mipsel-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mips64el-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips64-softmmu/hw/vfio/spapr.o
  CC      mips64el-softmmu/hw/mips/cps.o
  CC      mips64-softmmu/hw/virtio/virtio.o
  CC      mipsel-softmmu/hw/char/virtio-serial-bus.o
  CC      mips-softmmu/migration/savevm.o
  CC      mips64el-softmmu/target/mips/translate.o
  CC      mipsel-softmmu/hw/core/nmi.o
  CC      mips64-softmmu/hw/virtio/virtio-balloon.o
  CC      mipsel-softmmu/hw/core/generic-loader.o
  CC      mips-softmmu/xen-common-stub.o
  CC      mips64-softmmu/hw/virtio/vhost.o
  CC      mipsel-softmmu/hw/core/null-machine.o
  CC      mips-softmmu/xen-hvm-stub.o
  CC      mipsel-softmmu/hw/cpu/core.o
  CC      mips-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64-softmmu/hw/virtio/vhost-backend.o
  CC      mipsel-softmmu/hw/display/vga.o
  CC      mips-softmmu/hw/block/virtio-blk.o
  CC      mips64-softmmu/hw/virtio/vhost-user.o
  CC      mips-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mips64-softmmu/hw/virtio/vhost-vsock.o
  CC      mips-softmmu/hw/char/virtio-serial-bus.o
  CC      mipsel-softmmu/hw/display/virtio-gpu.o
  CC      mips64-softmmu/hw/virtio/virtio-crypto.o
  CC      mips-softmmu/hw/core/nmi.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      mips-softmmu/hw/core/generic-loader.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-pci.o
  CC      mips64-softmmu/hw/mips/mips_r4k.o
  CC      mips-softmmu/hw/core/null-machine.o
  CC      mips64-softmmu/hw/mips/mips_malta.o
  CC      mipsel-softmmu/hw/intc/mips_gic.o
  CC      mips-softmmu/hw/cpu/core.o
  CC      mips64-softmmu/hw/mips/mips_mipssim.o
  CC      mipsel-softmmu/hw/misc/ivshmem.o
  CC      mips-softmmu/hw/display/vga.o
  CC      mips64-softmmu/hw/mips/addr.o
  CC      mipsel-softmmu/hw/misc/mips_cmgcr.o
  CC      mips64-softmmu/hw/mips/cputimer.o
  CC      mipsel-softmmu/hw/misc/mips_cpc.o
  CC      mips-softmmu/hw/display/virtio-gpu.o
  CC      mipsel-softmmu/hw/misc/mips_itu.o
  CC      mips64-softmmu/hw/mips/mips_int.o
  CC      mipsel-softmmu/hw/misc/edu.o
  CC      mips64-softmmu/hw/mips/mips_jazz.o
  CC      mipsel-softmmu/hw/net/virtio-net.o
  CC      mips64el-softmmu/target/mips/dsp_helper.o
  CC      mips-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips64-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/hw/mips/cps.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi.o
  CC      mips-softmmu/hw/intc/mips_gic.o
  CC      mips64-softmmu/target/mips/translate.o
  CC      mips-softmmu/hw/misc/ivshmem.o
  CC      mips64el-softmmu/target/mips/op_helper.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mips-softmmu/hw/misc/mips_cmgcr.o
  CC      mipsel-softmmu/hw/scsi/vhost-scsi.o
  CC      mips-softmmu/hw/misc/mips_cpc.o
  CC      mipsel-softmmu/hw/timer/mips_gictimer.o
  CC      mips-softmmu/hw/misc/mips_itu.o
  CC      mipsel-softmmu/hw/timer/mc146818rtc.o
  CC      mipsel-softmmu/hw/vfio/common.o
  CC      mips-softmmu/hw/misc/edu.o
  CC      mips-softmmu/hw/net/virtio-net.o
  CC      mips64el-softmmu/target/mips/lmi_helper.o
  CC      mipsel-softmmu/hw/vfio/pci.o
  CC      mips64el-softmmu/target/mips/helper.o
  CC      mips-softmmu/hw/net/vhost_net.o
  CC      mips64el-softmmu/target/mips/cpu.o
  CC      mips-softmmu/hw/scsi/virtio-scsi.o
  CC      mips64el-softmmu/target/mips/gdbstub.o
  CC      mipsel-softmmu/hw/vfio/pci-quirks.o
  CC      mips-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mips64el-softmmu/target/mips/msa_helper.o
  CC      mips-softmmu/hw/scsi/vhost-scsi.o
  CC      mips-softmmu/hw/timer/mips_gictimer.o
  CC      mipsel-softmmu/hw/vfio/platform.o
  CC      mips-softmmu/hw/timer/mc146818rtc.o
  CC      mipsel-softmmu/hw/vfio/spapr.o
  CC      mips-softmmu/hw/vfio/common.o
  CC      mipsel-softmmu/hw/virtio/virtio.o
  CC      mips64-softmmu/target/mips/dsp_helper.o
  CC      mips-softmmu/hw/vfio/pci.o
  CC      mipsel-softmmu/hw/virtio/virtio-balloon.o
  CC      mips-softmmu/hw/vfio/pci-quirks.o
  CC      mipsel-softmmu/hw/virtio/vhost.o
  CC      mips64el-softmmu/target/mips/mips-semi.o
  CC      mips64-softmmu/target/mips/op_helper.o
  CC      mipsel-softmmu/hw/virtio/vhost-backend.o
  CC      mips-softmmu/hw/vfio/platform.o
  CC      mips64el-softmmu/target/mips/machine.o
  CC      mipsel-softmmu/hw/virtio/vhost-user.o
  GEN     trace/generated-helpers.c
  CC      mips64el-softmmu/trace/control-target.o
  CC      mipsel-softmmu/hw/virtio/vhost-vsock.o
  CC      mips-softmmu/hw/vfio/spapr.o
  CC      mipsel-softmmu/hw/virtio/virtio-crypto.o
  CC      mips64el-softmmu/trace/generated-helpers.o
  CC      mips-softmmu/hw/virtio/virtio.o
  CC      mipsel-softmmu/hw/virtio/virtio-crypto-pci.o
  LINK    mips64el-softmmu/qemu-system-mips64el
  CC      mipsel-softmmu/hw/mips/mips_r4k.o
  CC      mips-softmmu/hw/virtio/virtio-balloon.o
  CC      mips64-softmmu/target/mips/lmi_helper.o
  CC      mipsel-softmmu/hw/mips/mips_malta.o
  CC      mips-softmmu/hw/virtio/vhost.o
  CC      mips64-softmmu/target/mips/helper.o
  CC      mipsel-softmmu/hw/mips/mips_mipssim.o
  CC      mips-softmmu/hw/virtio/vhost-backend.o
  CC      mipsel-softmmu/hw/mips/addr.o
  CC      mips64-softmmu/target/mips/cpu.o
  CC      mips64-softmmu/target/mips/gdbstub.o
  CC      mips-softmmu/hw/virtio/vhost-user.o
  CC      mipsel-softmmu/hw/mips/cputimer.o
  CC      mips64-softmmu/target/mips/msa_helper.o
  GEN     moxie-softmmu/hmp-commands.h
  CC      mipsel-softmmu/hw/mips/mips_int.o
  GEN     moxie-softmmu/hmp-commands-info.h
  GEN     moxie-softmmu/config-target.h
  CC      mips-softmmu/hw/virtio/vhost-vsock.o
  CC      moxie-softmmu/exec.o
  CC      mipsel-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips-softmmu/hw/virtio/virtio-crypto.o
  CC      mipsel-softmmu/hw/mips/cps.o
  CC      mips-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      mipsel-softmmu/target/mips/translate.o
  CC      mips-softmmu/hw/mips/mips_r4k.o
  CC      moxie-softmmu/translate-all.o
  CC      mips-softmmu/hw/mips/mips_malta.o
  CC      mips-softmmu/hw/mips/mips_mipssim.o
  CC      mips-softmmu/hw/mips/addr.o
  CC      moxie-softmmu/cpu-exec.o
  CC      moxie-softmmu/translate-common.o
  CC      mips-softmmu/hw/mips/cputimer.o
  CC      mips64-softmmu/target/mips/mips-semi.o
  CC      mips-softmmu/hw/mips/mips_int.o
  CC      moxie-softmmu/cpu-exec-common.o
  CC      mips-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips64-softmmu/target/mips/machine.o
  GEN     trace/generated-helpers.c
  CC      mips64-softmmu/trace/control-target.o
  CC      mips-softmmu/hw/mips/cps.o
  CC      moxie-softmmu/tcg/tcg.o
  CC      mips64-softmmu/trace/generated-helpers.o
  CC      mips-softmmu/target/mips/translate.o
  LINK    mips64-softmmu/qemu-system-mips64
  CC      moxie-softmmu/tcg/tcg-op.o
  CC      moxie-softmmu/tcg/optimize.o
  CC      mipsel-softmmu/target/mips/dsp_helper.o
  CC      mipsel-softmmu/target/mips/op_helper.o
  CC      moxie-softmmu/tcg/tcg-common.o
  GEN     nios2-softmmu/hmp-commands.h
  CC      moxie-softmmu/fpu/softfloat.o
  GEN     nios2-softmmu/hmp-commands-info.h
  GEN     nios2-softmmu/config-target.h
  CC      nios2-softmmu/exec.o
  CC      mips-softmmu/target/mips/dsp_helper.o
  CC      mipsel-softmmu/target/mips/lmi_helper.o
  CC      mipsel-softmmu/target/mips/helper.o
  CC      mips-softmmu/target/mips/op_helper.o
  CC      nios2-softmmu/translate-all.o
  CC      mipsel-softmmu/target/mips/cpu.o
  CC      moxie-softmmu/disas.o
  CC      nios2-softmmu/cpu-exec.o
  CC      mipsel-softmmu/target/mips/gdbstub.o
  CC      mipsel-softmmu/target/mips/msa_helper.o
  CC      nios2-softmmu/translate-common.o
  CC      moxie-softmmu/tcg-runtime.o
  CC      nios2-softmmu/cpu-exec-common.o
  CC      moxie-softmmu/hax-stub.o
  CC      moxie-softmmu/kvm-stub.o
  CC      moxie-softmmu/arch_init.o
  CC      nios2-softmmu/tcg/tcg.o
  CC      moxie-softmmu/cpus.o
  CC      mips-softmmu/target/mips/lmi_helper.o
  CC      mips-softmmu/target/mips/helper.o
  CC      moxie-softmmu/monitor.o
  CC      nios2-softmmu/tcg/tcg-op.o
  CC      mips-softmmu/target/mips/cpu.o
  CC      mips-softmmu/target/mips/gdbstub.o
  CC      moxie-softmmu/gdbstub.o
  CC      mipsel-softmmu/target/mips/mips-semi.o
  CC      mips-softmmu/target/mips/msa_helper.o
  CC      mipsel-softmmu/target/mips/machine.o
  CC      moxie-softmmu/balloon.o
  GEN     trace/generated-helpers.c
  CC      mipsel-softmmu/trace/control-target.o
  CC      moxie-softmmu/ioport.o
  CC      mipsel-softmmu/trace/generated-helpers.o
  CC      nios2-softmmu/tcg/optimize.o
  CC      moxie-softmmu/numa.o
  LINK    mipsel-softmmu/qemu-system-mipsel
  CC      moxie-softmmu/qtest.o
  CC      nios2-softmmu/tcg/tcg-common.o
  CC      moxie-softmmu/bootdevice.o
  CC      nios2-softmmu/fpu/softfloat.o
  CC      moxie-softmmu/memory.o
  CC      moxie-softmmu/cputlb.o
  CC      nios2-softmmu/disas.o
  CC      mips-softmmu/target/mips/mips-semi.o
  CC      nios2-softmmu/tcg-runtime.o
  CC      mips-softmmu/target/mips/machine.o
  CC      nios2-softmmu/hax-stub.o
  CC      moxie-softmmu/memory_mapping.o
  CC      nios2-softmmu/kvm-stub.o
  CC      moxie-softmmu/dump.o
  GEN     trace/generated-helpers.c
  CC      mips-softmmu/trace/control-target.o
  CC      nios2-softmmu/arch_init.o
  CC      mips-softmmu/trace/generated-helpers.o
  CC      nios2-softmmu/cpus.o
  LINK    mips-softmmu/qemu-system-mips
  CC      moxie-softmmu/migration/ram.o
  CC      nios2-softmmu/monitor.o
  GEN     or1k-softmmu/hmp-commands.h
  GEN     or1k-softmmu/hmp-commands-info.h
  GEN     or1k-softmmu/config-target.h
  CC      or1k-softmmu/exec.o
  CC      moxie-softmmu/migration/savevm.o
  CC      moxie-softmmu/xen-common-stub.o
  CC      or1k-softmmu/translate-all.o
  CC      nios2-softmmu/gdbstub.o
  CC      moxie-softmmu/xen-hvm-stub.o
  CC      or1k-softmmu/cpu-exec.o
  CC      moxie-softmmu/hw/core/nmi.o
  CC      nios2-softmmu/balloon.o
  CC      nios2-softmmu/ioport.o
  CC      moxie-softmmu/hw/core/generic-loader.o
  CC      moxie-softmmu/hw/core/null-machine.o
  CC      or1k-softmmu/translate-common.o
  CC      nios2-softmmu/numa.o
  CC      moxie-softmmu/hw/cpu/core.o
  CC      or1k-softmmu/cpu-exec-common.o
  CC      or1k-softmmu/tcg/tcg.o
  CC      moxie-softmmu/hw/display/vga.o
  CC      nios2-softmmu/qtest.o
  CC      nios2-softmmu/bootdevice.o
  GEN     ppc64-softmmu/hmp-commands.h
  CC      moxie-softmmu/hw/net/vhost_net.o
  GEN     ppc64-softmmu/hmp-commands-info.h
  GEN     ppc64-softmmu/config-target.h
  CC      ppc64-softmmu/exec.o
  CC      moxie-softmmu/hw/net/rocker/qmp-norocker.o
  CC      nios2-softmmu/memory.o
  CC      or1k-softmmu/tcg/tcg-op.o
  CC      moxie-softmmu/hw/timer/mc146818rtc.o
  CC      moxie-softmmu/hw/vfio/common.o
  CC      nios2-softmmu/cputlb.o
  CC      ppc64-softmmu/translate-all.o
  CC      moxie-softmmu/hw/vfio/platform.o
  CC      or1k-softmmu/tcg/optimize.o
  CC      moxie-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/cpu-exec.o
  CC      nios2-softmmu/memory_mapping.o
  CC      moxie-softmmu/hw/moxie/moxiesim.o
  CC      ppc64-softmmu/translate-common.o
  CC      moxie-softmmu/target/moxie/translate.o
  CC      nios2-softmmu/dump.o
  CC      or1k-softmmu/tcg/tcg-common.o
  CC      ppc64-softmmu/cpu-exec-common.o
  CC      or1k-softmmu/fpu/softfloat.o
  CC      ppc64-softmmu/tcg/tcg.o
  CC      nios2-softmmu/migration/ram.o
  CC      moxie-softmmu/target/moxie/helper.o
  CC      moxie-softmmu/target/moxie/machine.o
  CC      nios2-softmmu/migration/savevm.o
  CC      moxie-softmmu/target/moxie/cpu.o
  CC      moxie-softmmu/target/moxie/mmu.o
  CC      nios2-softmmu/xen-common-stub.o
  GEN     trace/generated-helpers.c
  CC      moxie-softmmu/trace/control-target.o
  CC      nios2-softmmu/xen-hvm-stub.o
  CC      ppc64-softmmu/tcg/tcg-op.o
  CC      moxie-softmmu/trace/generated-helpers.o
  CC      nios2-softmmu/hw/core/nmi.o
  CC      or1k-softmmu/disas.o
  LINK    moxie-softmmu/qemu-system-moxie
  CC      nios2-softmmu/hw/core/generic-loader.o
  CC      nios2-softmmu/hw/core/null-machine.o
  CC      or1k-softmmu/tcg-runtime.o
  CC      nios2-softmmu/hw/cpu/core.o
  CC      nios2-softmmu/hw/intc/nios2_iic.o
  CC      or1k-softmmu/hax-stub.o
  CC      or1k-softmmu/kvm-stub.o
  CC      nios2-softmmu/hw/net/vhost_net.o
  CC      nios2-softmmu/hw/net/rocker/qmp-norocker.o
  CC      or1k-softmmu/arch_init.o
  CC      nios2-softmmu/hw/timer/altera_timer.o
  CC      or1k-softmmu/cpus.o
  GEN     ppcemb-softmmu/hmp-commands.h
  GEN     ppcemb-softmmu/hmp-commands-info.h
  GEN     ppcemb-softmmu/config-target.h
  CC      ppcemb-softmmu/exec.o
  CC      nios2-softmmu/hw/vfio/common.o
  CC      ppc64-softmmu/tcg/optimize.o
  CC      or1k-softmmu/monitor.o
  CC      nios2-softmmu/hw/vfio/platform.o
  CC      nios2-softmmu/hw/vfio/spapr.o
  CC      ppcemb-softmmu/translate-all.o
  CC      ppc64-softmmu/tcg/tcg-common.o
  CC      nios2-softmmu/hw/nios2/boot.o
  CC      ppc64-softmmu/fpu/softfloat.o
  CC      nios2-softmmu/hw/nios2/cpu_pic.o
  CC      ppcemb-softmmu/cpu-exec.o
  CC      or1k-softmmu/gdbstub.o
  CC      nios2-softmmu/hw/nios2/10m50_devboard.o
  CC      ppcemb-softmmu/translate-common.o
  CC      nios2-softmmu/target/nios2/translate.o
  CC      or1k-softmmu/balloon.o
  CC      or1k-softmmu/ioport.o
  CC      ppcemb-softmmu/cpu-exec-common.o
  CC      nios2-softmmu/target/nios2/op_helper.o
  CC      ppcemb-softmmu/tcg/tcg.o
  CC      or1k-softmmu/numa.o
  CC      nios2-softmmu/target/nios2/helper.o
  CC      nios2-softmmu/target/nios2/cpu.o
  CC      or1k-softmmu/qtest.o
  CC      nios2-softmmu/target/nios2/mmu.o
  CC      ppc64-softmmu/disas.o
  CC      or1k-softmmu/bootdevice.o
  CC      or1k-softmmu/memory.o
  CC      nios2-softmmu/target/nios2/monitor.o
  CC      ppc64-softmmu/tcg-runtime.o
  GEN     trace/generated-helpers.c
  CC      nios2-softmmu/trace/control-target.o
  CC      nios2-softmmu/trace/generated-helpers.o
  CC      ppcemb-softmmu/tcg/tcg-op.o
  GEN     ppc64-softmmu/gdbstub-xml.c
  CC      ppc64-softmmu/hax-stub.o
  LINK    nios2-softmmu/qemu-system-nios2
  CC      ppc64-softmmu/kvm-stub.o
  CC      or1k-softmmu/cputlb.o
  CC      ppc64-softmmu/libdecnumber/decContext.o
  CC      ppc64-softmmu/libdecnumber/decNumber.o
  CC      or1k-softmmu/memory_mapping.o
  CC      ppcemb-softmmu/tcg/optimize.o
  CC      or1k-softmmu/dump.o
  CC      or1k-softmmu/migration/ram.o
  CC      ppcemb-softmmu/tcg/tcg-common.o
  CC      ppcemb-softmmu/fpu/softfloat.o
  CC      ppc64-softmmu/libdecnumber/dpd/decimal32.o
  CC      ppc64-softmmu/libdecnumber/dpd/decimal64.o
  CC      or1k-softmmu/migration/savevm.o
  CC      ppc64-softmmu/libdecnumber/dpd/decimal128.o
  GEN     ppc-softmmu/hmp-commands.h
  GEN     ppc-softmmu/hmp-commands-info.h
  GEN     ppc-softmmu/config-target.h
  CC      ppc-softmmu/exec.o
  CC      ppc64-softmmu/arch_init.o
  CC      or1k-softmmu/xen-common-stub.o
  CC      ppc64-softmmu/cpus.o
  CC      or1k-softmmu/xen-hvm-stub.o
  CC      ppc64-softmmu/monitor.o
  CC      or1k-softmmu/hw/core/nmi.o
  CC      or1k-softmmu/hw/core/generic-loader.o
  CC      ppcemb-softmmu/disas.o
  CC      or1k-softmmu/hw/core/null-machine.o
  CC      ppc-softmmu/translate-all.o
  CC      ppcemb-softmmu/tcg-runtime.o
  CC      or1k-softmmu/hw/cpu/core.o
  GEN     ppcemb-softmmu/gdbstub-xml.c
  CC      ppc64-softmmu/gdbstub.o
  CC      ppcemb-softmmu/hax-stub.o
  CC      or1k-softmmu/hw/net/vhost_net.o
  CC      ppc-softmmu/cpu-exec.o
  CC      ppcemb-softmmu/kvm-stub.o
  CC      or1k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      ppcemb-softmmu/libdecnumber/decContext.o
  CC      ppc64-softmmu/balloon.o
  CC      or1k-softmmu/hw/vfio/common.o
  CC      ppc-softmmu/translate-common.o
  CC      ppcemb-softmmu/libdecnumber/decNumber.o
  CC      ppc64-softmmu/ioport.o
  CC      ppc-softmmu/cpu-exec-common.o
  CC      ppc-softmmu/tcg/tcg.o
  CC      or1k-softmmu/hw/vfio/platform.o
  CC      ppc64-softmmu/numa.o
  CC      or1k-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/qtest.o
  CC      or1k-softmmu/hw/openrisc/pic_cpu.o
  CC      ppcemb-softmmu/libdecnumber/dpd/decimal32.o
  CC      ppc64-softmmu/bootdevice.o
  CC      or1k-softmmu/hw/openrisc/cputimer.o
  CC      ppcemb-softmmu/libdecnumber/dpd/decimal64.o
  CC      ppc64-softmmu/memory.o
  CC      ppcemb-softmmu/libdecnumber/dpd/decimal128.o
  CC      or1k-softmmu/hw/openrisc/openrisc_sim.o
  CC      ppc-softmmu/tcg/tcg-op.o
  CC      or1k-softmmu/target/openrisc/machine.o
  CC      ppcemb-softmmu/arch_init.o
  CC      or1k-softmmu/target/openrisc/cpu.o
  CC      ppcemb-softmmu/cpus.o
  CC      or1k-softmmu/target/openrisc/exception.o
  CC      ppc64-softmmu/cputlb.o
  CC      or1k-softmmu/target/openrisc/interrupt.o
  CC      ppcemb-softmmu/monitor.o
  CC      or1k-softmmu/target/openrisc/mmu.o
  CC      or1k-softmmu/target/openrisc/translate.o
  CC      ppc-softmmu/tcg/optimize.o
  CC      ppc64-softmmu/memory_mapping.o
  CC      ppcemb-softmmu/gdbstub.o
  CC      ppc64-softmmu/dump.o
  CC      or1k-softmmu/target/openrisc/exception_helper.o
  CC      ppc64-softmmu/migration/ram.o
  CC      ppcemb-softmmu/balloon.o
  CC      ppc-softmmu/tcg/tcg-common.o
  CC      or1k-softmmu/target/openrisc/fpu_helper.o
  CC      ppcemb-softmmu/ioport.o
  CC      ppc-softmmu/fpu/softfloat.o
  CC      or1k-softmmu/target/openrisc/interrupt_helper.o
  CC      ppcemb-softmmu/numa.o
  CC      ppc64-softmmu/migration/savevm.o
  CC      or1k-softmmu/target/openrisc/mmu_helper.o
  CC      ppcemb-softmmu/qtest.o
  CC      ppcemb-softmmu/bootdevice.o
  CC      or1k-softmmu/target/openrisc/sys_helper.o
  CC      ppc64-softmmu/xen-common-stub.o
  CC      ppc64-softmmu/xen-hvm-stub.o
  CC      ppcemb-softmmu/memory.o
  CC      or1k-softmmu/target/openrisc/gdbstub.o
  CC      ppc64-softmmu/hw/9pfs/virtio-9p-device.o
  GEN     trace/generated-helpers.c
  CC      or1k-softmmu/trace/control-target.o
  CC      ppc64-softmmu/hw/block/virtio-blk.o
  CC      or1k-softmmu/trace/generated-helpers.o
  CC      ppc64-softmmu/hw/block/dataplane/virtio-blk.o
  LINK    or1k-softmmu/qemu-system-or1k
  CC      ppc-softmmu/disas.o
  CC      ppcemb-softmmu/cputlb.o
  CC      ppc64-softmmu/hw/char/spapr_vty.o
  CC      ppc-softmmu/tcg-runtime.o
  CC      ppc64-softmmu/hw/char/virtio-serial-bus.o
  GEN     ppc-softmmu/gdbstub-xml.c
  CC      ppcemb-softmmu/memory_mapping.o
  CC      ppc64-softmmu/hw/core/nmi.o
  CC      ppc64-softmmu/hw/core/generic-loader.o
  CC      ppcemb-softmmu/dump.o
  CC      ppc-softmmu/hax-stub.o
  CC      ppc64-softmmu/hw/core/null-machine.o
  CC      ppc-softmmu/kvm-stub.o
  CC      ppc64-softmmu/hw/cpu/core.o
  CC      ppc64-softmmu/hw/display/vga.o
  CC      ppc-softmmu/libdecnumber/decContext.o
  CC      ppcemb-softmmu/migration/ram.o
  CC      ppc-softmmu/libdecnumber/decNumber.o
  GEN     s390x-softmmu/hmp-commands.h
  GEN     s390x-softmmu/hmp-commands-info.h
  CC      s390x-softmmu/gen-features
  CC      ppcemb-softmmu/migration/savevm.o
  GEN     s390x-softmmu/config-target.h
  GEN     s390x-softmmu/gen-features.h
  CC      s390x-softmmu/exec.o
  CC      ppc64-softmmu/hw/display/virtio-gpu.o
  CC      ppcemb-softmmu/xen-common-stub.o
  CC      ppc-softmmu/libdecnumber/dpd/decimal32.o
  CC      ppcemb-softmmu/xen-hvm-stub.o
  CC      ppcemb-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/libdecnumber/dpd/decimal64.o
  CC      ppcemb-softmmu/hw/block/virtio-blk.o
  CC      ppc-softmmu/libdecnumber/dpd/decimal128.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppc64-softmmu/hw/display/virtio-vga.o
  CC      ppcemb-softmmu/hw/block/dataplane/virtio-blk.o
  CC      s390x-softmmu/translate-all.o
  CC      ppc-softmmu/arch_init.o
  CC      ppc-softmmu/cpus.o
  CC      ppcemb-softmmu/hw/char/virtio-serial-bus.o
  CC      ppc64-softmmu/hw/intc/xics.o
  CC      s390x-softmmu/cpu-exec.o
  CC      ppcemb-softmmu/hw/core/nmi.o
  CC      ppc64-softmmu/hw/intc/xics_spapr.o
  CC      ppc-softmmu/monitor.o
  CC      ppcemb-softmmu/hw/core/generic-loader.o
  CC      s390x-softmmu/translate-common.o
  CC      ppc64-softmmu/hw/misc/ivshmem.o
  CC      ppcemb-softmmu/hw/core/null-machine.o
  CC      s390x-softmmu/cpu-exec-common.o
  CC      s390x-softmmu/tcg/tcg.o
  CC      ppcemb-softmmu/hw/cpu/core.o
  CC      ppc64-softmmu/hw/misc/edu.o
  CC      ppc64-softmmu/hw/net/spapr_llan.o
  CC      ppcemb-softmmu/hw/display/vga.o
  CC      ppc-softmmu/gdbstub.o
  CC      ppc64-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc64-softmmu/hw/net/virtio-net.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu.o
  CC      ppc-softmmu/balloon.o
  CC      s390x-softmmu/tcg/tcg-op.o
  CC      ppc-softmmu/ioport.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/numa.o
  CC      ppc64-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/etsec.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/registers.o
  CC      ppc-softmmu/qtest.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/rings.o
  CC      ppcemb-softmmu/hw/misc/ivshmem.o
  CC      ppc-softmmu/bootdevice.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/miim.o
  CC      ppc-softmmu/memory.o
  CC      ppcemb-softmmu/hw/misc/edu.o
  CC      ppc64-softmmu/hw/nvram/spapr_nvram.o
  CC      ppcemb-softmmu/hw/net/xilinx_ethlite.o
  CC      s390x-softmmu/tcg/optimize.o
  CC      ppc64-softmmu/hw/scsi/spapr_vscsi.o
  CC      ppcemb-softmmu/hw/net/virtio-net.o
  CC      ppc64-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc-softmmu/cputlb.o
  CC      s390x-softmmu/tcg/tcg-common.o
  CC      s390x-softmmu/fpu/softfloat.o
  CC      ppcemb-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppcemb-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc64-softmmu/hw/timer/mc146818rtc.o
  CC      ppcemb-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc-softmmu/memory_mapping.o
  CC      ppc64-softmmu/hw/vfio/common.o
  CC      ppcemb-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc-softmmu/dump.o
  CC      ppcemb-softmmu/hw/vfio/common.o
  CC      ppc64-softmmu/hw/vfio/pci.o
  CC      ppc-softmmu/migration/ram.o
  CC      s390x-softmmu/disas.o
  CC      ppcemb-softmmu/hw/vfio/pci.o
  CC      ppc64-softmmu/hw/vfio/pci-quirks.o
  CC      s390x-softmmu/tcg-runtime.o
  CC      ppc64-softmmu/hw/vfio/platform.o
  CC      ppcemb-softmmu/hw/vfio/pci-quirks.o
  CC      ppc-softmmu/migration/savevm.o
  GEN     s390x-softmmu/gdbstub-xml.c
  CC      ppc64-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/hw/virtio/virtio.o
  CC      ppcemb-softmmu/hw/vfio/platform.o
  CC      ppc-softmmu/xen-common-stub.o
  CC      s390x-softmmu/hax-stub.o
  CC      ppcemb-softmmu/hw/vfio/spapr.o
  CC      ppc-softmmu/xen-hvm-stub.o
  CC      s390x-softmmu/arch_init.o
  CC      ppc-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppcemb-softmmu/hw/virtio/virtio.o
  CC      ppc64-softmmu/hw/virtio/virtio-balloon.o
  CC      s390x-softmmu/cpus.o
  CC      ppc-softmmu/hw/block/virtio-blk.o
  CC      ppc64-softmmu/hw/virtio/vhost.o
  CC      s390x-softmmu/monitor.o
  CC      ppc-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppcemb-softmmu/hw/virtio/virtio-balloon.o
  CC      ppc64-softmmu/hw/virtio/vhost-backend.o
  CC      ppcemb-softmmu/hw/virtio/vhost.o
  CC      ppc-softmmu/hw/char/virtio-serial-bus.o
  CC      ppc64-softmmu/hw/virtio/vhost-user.o
  CC      ppcemb-softmmu/hw/virtio/vhost-backend.o
  CC      ppc-softmmu/hw/core/nmi.o
  CC      s390x-softmmu/gdbstub.o
  CC      ppc-softmmu/hw/core/generic-loader.o
  CC      ppc64-softmmu/hw/virtio/vhost-vsock.o
  CC      ppcemb-softmmu/hw/virtio/vhost-user.o
  CC      ppc64-softmmu/hw/virtio/virtio-crypto.o
  CC      ppc-softmmu/hw/core/null-machine.o
  CC      s390x-softmmu/balloon.o
  CC      ppc-softmmu/hw/cpu/core.o
  CC      ppcemb-softmmu/hw/virtio/vhost-vsock.o
  CC      s390x-softmmu/ioport.o
  CC      ppc64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      ppc-softmmu/hw/display/vga.o
  CC      ppcemb-softmmu/hw/virtio/virtio-crypto.o
  CC      s390x-softmmu/numa.o
  CC      ppc64-softmmu/hw/ppc/ppc.o
  CC      ppcemb-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      s390x-softmmu/qtest.o
  CC      s390x-softmmu/bootdevice.o
  CC      ppc64-softmmu/hw/ppc/ppc_booke.o
  CC      ppcemb-softmmu/hw/ppc/ppc.o
  CC      ppc-softmmu/hw/display/virtio-gpu.o
  CC      s390x-softmmu/kvm-all.o
  CC      ppc64-softmmu/hw/ppc/fdt.o
  CC      ppcemb-softmmu/hw/ppc/ppc_booke.o
  CC      ppc64-softmmu/hw/ppc/spapr.o
  CC      ppcemb-softmmu/hw/ppc/fdt.o
/var/tmp/patchew-tester-tmp-afl0xo07/src/kvm-all.c: In function ‘kvm_cpu_exec’:
/var/tmp/patchew-tester-tmp-afl0xo07/src/kvm-all.c:1995:13: error: implicit declaration of function ‘kvm_arch_on_sigbus_vcpu’ [-Werror=implicit-function-declaration]
             kvm_arch_on_sigbus_vcpu(cpu, pending_sigbus_code,
             ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/patchew-tester-tmp-afl0xo07/src/kvm-all.c:1995:13: error: nested extern declaration of ‘kvm_arch_on_sigbus_vcpu’ [-Werror=nested-externs]
cc1: all warnings being treated as errors
/var/tmp/patchew-tester-tmp-afl0xo07/src/rules.mak:69: recipe for target 'kvm-all.o' failed
make[1]: *** [kvm-all.o] Error 1
Makefile:322: recipe for target 'subdir-s390x-softmmu' failed
make: *** [subdir-s390x-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      ppcemb-softmmu/hw/ppc/ppc405_boards.o
  CC      ppc-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppcemb-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppcemb-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc-softmmu/hw/misc/ivshmem.o
  CC      ppc64-softmmu/hw/ppc/spapr_vio.o
  CC      ppc-softmmu/hw/misc/edu.o
  CC      ppcemb-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppcemb-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppc-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc-softmmu/hw/net/virtio-net.o
  CC      ppcemb-softmmu/hw/ppc/virtex_ml507.o
  CC      ppc-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/hw/ppc/spapr_events.o
  CC      ppcemb-softmmu/target/ppc/cpu-models.o
  CC      ppcemb-softmmu/target/ppc/translate.o
  CC      ppc64-softmmu/hw/ppc/spapr_hcall.o
  CC      ppc-softmmu/hw/net/fsl_etsec/etsec.o
  CC      ppc-softmmu/hw/net/fsl_etsec/registers.o
  CC      ppc64-softmmu/hw/ppc/spapr_iommu.o
  CC      ppc-softmmu/hw/net/fsl_etsec/rings.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtas.o
  CC      ppc-softmmu/hw/net/fsl_etsec/miim.o
  CC      ppcemb-softmmu/target/ppc/machine.o
  CC      ppc-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/ppc/spapr_pci.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtc.o
  CC      ppc-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc64-softmmu/hw/ppc/spapr_drc.o
  CC      ppcemb-softmmu/target/ppc/mmu_helper.o
  CC      ppc-softmmu/hw/timer/mc146818rtc.o
  CC      ppc64-softmmu/hw/ppc/spapr_rng.o
  CC      ppc-softmmu/hw/vfio/common.o
  CC      ppc64-softmmu/hw/ppc/spapr_cpu_core.o
  CC      ppc64-softmmu/hw/ppc/spapr_ovec.o
  CC      ppc-softmmu/hw/vfio/pci.o
  CC      ppc-softmmu/hw/vfio/pci-quirks.o
  CC      ppc64-softmmu/hw/ppc/pnv.o
  CC      ppc64-softmmu/hw/ppc/pnv_xscom.o
  CC      ppc-softmmu/hw/vfio/platform.o
  CC      ppc-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/hw/ppc/pnv_core.o
  CC      ppc64-softmmu/hw/ppc/pnv_lpc.o
  CC      ppc-softmmu/hw/virtio/virtio.o
  CC      ppc-softmmu/hw/virtio/virtio-balloon.o
  CC      ppc64-softmmu/hw/ppc/spapr_pci_vfio.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtas_ddw.o
  CC      ppc-softmmu/hw/virtio/vhost.o
  CC      ppc64-softmmu/hw/ppc/ppc405_boards.o
  CC      ppc64-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppc-softmmu/hw/virtio/vhost-backend.o
  CC      ppc64-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc-softmmu/hw/virtio/vhost-user.o
  CC      ppcemb-softmmu/target/ppc/mmu-hash32.o
  CC      ppc64-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppc-softmmu/hw/virtio/vhost-vsock.o
  CC      ppc-softmmu/hw/virtio/virtio-crypto.o
  CC      ppc-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      ppc64-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppcemb-softmmu/target/ppc/monitor.o
  CC      ppc64-softmmu/hw/ppc/prep.o
  CC      ppc-softmmu/hw/ppc/ppc.o
  CC      ppc64-softmmu/hw/ppc/prep_systemio.o
  CC      ppcemb-softmmu/target/ppc/kvm-stub.o
  CC      ppc64-softmmu/hw/ppc/rs6000_mc.o
  CC      ppc-softmmu/hw/ppc/ppc_booke.o
  CC      ppc64-softmmu/hw/ppc/mac_oldworld.o
  CC      ppc-softmmu/hw/ppc/fdt.o
  CC      ppc64-softmmu/hw/ppc/mac_newworld.o
  CC      ppc-softmmu/hw/ppc/ppc405_boards.o
  CC      ppc-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppcemb-softmmu/target/ppc/dfp_helper.o
  CC      ppc64-softmmu/hw/ppc/e500.o
  CC      ppc-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppc64-softmmu/hw/ppc/mpc8544ds.o
  CC      ppc64-softmmu/hw/ppc/e500plat.o
  CC      ppc-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppc64-softmmu/hw/ppc/mpc8544_guts.o
  CC      ppcemb-softmmu/target/ppc/excp_helper.o
  CC      ppc-softmmu/hw/ppc/prep.o
  CC      ppc64-softmmu/hw/ppc/ppce500_spin.o
  CC      ppc-softmmu/hw/ppc/prep_systemio.o
  CC      ppc64-softmmu/hw/ppc/virtex_ml507.o
  CC      ppc64-softmmu/target/ppc/cpu-models.o
  CC      ppc-softmmu/hw/ppc/rs6000_mc.o
  CC      ppcemb-softmmu/target/ppc/fpu_helper.o
  CC      ppc-softmmu/hw/ppc/mac_oldworld.o
  CC      ppc64-softmmu/target/ppc/translate.o
  CC      ppc-softmmu/hw/ppc/mac_newworld.o
  CC      ppcemb-softmmu/target/ppc/int_helper.o
  CC      ppc-softmmu/hw/ppc/e500.o
  CC      ppc-softmmu/hw/ppc/mpc8544ds.o
  CC      ppc-softmmu/hw/ppc/e500plat.o
  CC      ppc64-softmmu/target/ppc/machine.o
  CC      ppc-softmmu/hw/ppc/mpc8544_guts.o
  CC      ppcemb-softmmu/target/ppc/timebase_helper.o
  CC      ppc-softmmu/hw/ppc/ppce500_spin.o
  CC      ppc64-softmmu/target/ppc/mmu_helper.o
  CC      ppc-softmmu/hw/ppc/virtex_ml507.o
  CC      ppc-softmmu/target/ppc/cpu-models.o
  CC      ppcemb-softmmu/target/ppc/misc_helper.o
  CC      ppc-softmmu/target/ppc/translate.o
  CC      ppcemb-softmmu/target/ppc/mem_helper.o
  CC      ppcemb-softmmu/target/ppc/gdbstub.o
  CC      ppc-softmmu/target/ppc/machine.o
  GEN     trace/generated-helpers.c
  CC      ppc64-softmmu/target/ppc/mmu-hash32.o
  CC      ppcemb-softmmu/trace/control-target.o
  CC      ppc-softmmu/target/ppc/mmu_helper.o
  CC      ppcemb-softmmu/gdbstub-xml.o
  CC      ppcemb-softmmu/trace/generated-helpers.o
  CC      ppc64-softmmu/target/ppc/monitor.o
  CC      ppc64-softmmu/target/ppc/mmu-hash64.o
  LINK    ppcemb-softmmu/qemu-system-ppcemb
  CC      ppc-softmmu/target/ppc/mmu-hash32.o
  CC      ppc64-softmmu/target/ppc/arch_dump.o
  CC      ppc-softmmu/target/ppc/monitor.o
  CC      ppc-softmmu/target/ppc/kvm-stub.o
  CC      ppc64-softmmu/target/ppc/compat.o
  CC      ppc64-softmmu/target/ppc/kvm-stub.o
  CC      ppc-softmmu/target/ppc/dfp_helper.o
  CC      ppc64-softmmu/target/ppc/dfp_helper.o
  CC      ppc-softmmu/target/ppc/excp_helper.o
  CC      ppc64-softmmu/target/ppc/excp_helper.o
  CC      ppc-softmmu/target/ppc/fpu_helper.o
  CC      ppc64-softmmu/target/ppc/fpu_helper.o
  CC      ppc64-softmmu/target/ppc/int_helper.o
  CC      ppc64-softmmu/target/ppc/timebase_helper.o
  CC      ppc-softmmu/target/ppc/int_helper.o
  CC      ppc-softmmu/target/ppc/timebase_helper.o
  CC      ppc64-softmmu/target/ppc/misc_helper.o
  CC      ppc-softmmu/target/ppc/misc_helper.o
  CC      ppc64-softmmu/target/ppc/mem_helper.o
  CC      ppc-softmmu/target/ppc/mem_helper.o
  CC      ppc64-softmmu/target/ppc/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      ppc64-softmmu/trace/control-target.o
  CC      ppc64-softmmu/gdbstub-xml.o
  CC      ppc-softmmu/target/ppc/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      ppc-softmmu/trace/control-target.o
  CC      ppc64-softmmu/trace/generated-helpers.o
  CC      ppc-softmmu/gdbstub-xml.o
  CC      ppc-softmmu/trace/generated-helpers.o
  LINK    ppc64-softmmu/qemu-system-ppc64
  LINK    ppc-softmmu/qemu-system-ppc
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze
  2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
                   ` (17 preceding siblings ...)
  2017-02-24 18:27 ` [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze no-reply
@ 2017-02-25 21:32 ` Peter Maydell
  18 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2017-02-25 21:32 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On 24 February 2017 at 17:40, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit a1cf5fac2b929ffa2abd1285401f2535ff8c6fea:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-block-2017-02-21' into staging (2017-02-21 13:58:50 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to f9e640f9a1a7185591985e10a557f11fbe783b87:
>
>   qmp-events: fix GUEST_PANICKED description formatting (2017-02-24 16:19:44 +0100)
>
> ----------------------------------------------------------------
> * kernel header update (requested by David and Vijay)
> * GuestPanicInformation fixups (Anton)
> * record/replay icount fixes (Pavel)
> * cpu-exec cleanup, unification of icount_decr with tcg_exit_req (me)
> * KVM_CAP_IMMEDIATE_EXIT support (me)
> * vmxcap update (me)

The patchew s390 host build failure looks like a genuine
problem, so I'm dropping this from my to-merge queue.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-02-25 21:32 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-24 17:40 [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 01/17] cpu-exec: unify icount_decr and tcg_exit_req Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 02/17] replay: check icount in cpu exec loop Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 03/17] cpu-exec: remove unnecessary check of cpu->exit_request Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 04/17] update-linux-headers: update for 4.11 Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 05/17] update Linux headers to 4.11 Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 06/17] cpus: remove ugly cast on sigbus_handler Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 07/17] KVM: x86: cleanup SIGBUS handlers Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 08/17] cpus: reorganize signal handling code Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 09/17] KVM: remove kvm_arch_on_sigbus Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 10/17] KVM: do not use sigtimedwait to catch SIGBUS Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 11/17] KVM: move SIG_IPI handling to kvm-all.c Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 12/17] kvm: use atomic_read/atomic_set to access cpu->exit_request Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 13/17] KVM: use KVM_CAP_IMMEDIATE_EXIT Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 14/17] vmxcap: port to Python 3 Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 15/17] vmxcap: update for September 2016 SDM Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 16/17] qapi: flatten GuestPanicInformation union Paolo Bonzini
2017-02-24 17:40 ` [Qemu-devel] [PULL 17/17] qmp-events: fix GUEST_PANICKED description formatting Paolo Bonzini
2017-02-24 18:27 ` [Qemu-devel] [PULL 00/17] KVM and cpu-exec patches for 2.9 soft freeze no-reply
2017-02-25 21:32 ` Peter Maydell

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).