* [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
@ 2017-08-11 7:46 David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
` (6 more replies)
0 siblings, 7 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
cpu.h is accessed outside of target/s390x. It should only contain
what is expected to be accessed outside of this folder. Therefore, create
internal.h and move a lot to that file.
While doing that, I noticed that a lot of function prototypes not
available with CONFIG_USER_ONLY are not protected by CONFIG_USER_ONLY.
As these CONFIG_USER_ONLY are in general ugly, I decided to minimize
them to the bare minimum :]. Do we care? I dropped it wherever possible.
My compiler doesn't bail out, so let's see what the bot says.
There is still a lot to clean up (e.g. do we want kvm-stub.c ?). This is
the first step.
David Hildenbrand (5):
target/s390x: introduce internal.h
target/s390x: move a couple of functions to cpu.c
s390x: avoid calling kvm_ functions outside of target/s390x/
target/s390x: remove all CONFIG_KVM from cpu.h
target/s390x: cleanup cpu.h
hw/s390x/s390-virtio-ccw.c | 4 +-
target/s390x/arch_dump.c | 1 +
target/s390x/cc_helper.c | 1 +
target/s390x/cpu.c | 87 ++++++
target/s390x/cpu.h | 759 +++++----------------------------------------
target/s390x/cpu_models.c | 1 +
target/s390x/diag.c | 1 +
target/s390x/excp_helper.c | 1 +
target/s390x/fpu_helper.c | 1 +
target/s390x/gdbstub.c | 1 +
target/s390x/helper.c | 1 +
target/s390x/int_helper.c | 1 +
target/s390x/internal.h | 612 ++++++++++++++++++++++++++++++++++++
target/s390x/interrupt.c | 1 +
target/s390x/ioinst.c | 1 +
target/s390x/kvm.c | 1 +
target/s390x/machine.c | 1 +
target/s390x/mem_helper.c | 1 +
target/s390x/misc_helper.c | 1 +
target/s390x/mmu_helper.c | 1 +
target/s390x/translate.c | 1 +
21 files changed, 787 insertions(+), 692 deletions(-)
create mode 100644 target/s390x/internal.h
--
2.9.4
^ permalink raw reply [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
@ 2017-08-11 7:46 ` David Hildenbrand
2017-08-11 13:15 ` Richard Henderson
` (2 more replies)
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c David Hildenbrand
` (5 subsequent siblings)
6 siblings, 3 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
cpu.h should only contain what really has to be accessed outside of
target/s390x/. Add internal.h which can only be used inside target/s390x/.
Move everything that isn't fast enough to run away and restructure it
right away.
Minor style fixes to avoid checkpatch warning to:
- struct Lowcore: "{" goes into same line as typedef
- struct LowCore: add spaces around "-" in array length calculations
- time2tod() and tod2time(): move "{" to separate line
- get_per_atmid(): add space between ")" and "?". Move cases by one char.
- get_per_atmid(): drop extra paremthesis around (1 << 6)
Signed-off-by: David Hildenbrand <david@redhat.com>
---
target/s390x/arch_dump.c | 1 +
target/s390x/cc_helper.c | 1 +
target/s390x/cpu.c | 1 +
target/s390x/cpu.h | 492 +--------------------------------------
target/s390x/cpu_models.c | 1 +
target/s390x/diag.c | 1 +
target/s390x/excp_helper.c | 1 +
target/s390x/fpu_helper.c | 1 +
target/s390x/gdbstub.c | 1 +
target/s390x/helper.c | 1 +
target/s390x/int_helper.c | 1 +
target/s390x/internal.h | 560 +++++++++++++++++++++++++++++++++++++++++++++
target/s390x/interrupt.c | 1 +
target/s390x/ioinst.c | 1 +
target/s390x/kvm.c | 1 +
target/s390x/machine.c | 1 +
target/s390x/mem_helper.c | 1 +
target/s390x/misc_helper.c | 1 +
target/s390x/mmu_helper.c | 1 +
target/s390x/translate.c | 1 +
20 files changed, 579 insertions(+), 491 deletions(-)
create mode 100644 target/s390x/internal.h
diff --git a/target/s390x/arch_dump.c b/target/s390x/arch_dump.c
index 96c9fb9..a6a61ee 100644
--- a/target/s390x/arch_dump.c
+++ b/target/s390x/arch_dump.c
@@ -13,6 +13,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "elf.h"
#include "exec/cpu-all.h"
#include "sysemu/dump.h"
diff --git a/target/s390x/cc_helper.c b/target/s390x/cc_helper.c
index 1cf8551..f008897 100644
--- a/target/s390x/cc_helper.c
+++ b/target/s390x/cc_helper.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/exec-all.h"
#include "exec/helper-proto.h"
#include "qemu/host-utils.h"
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 489bc25..dadd383 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -26,6 +26,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "cpu.h"
+#include "internal.h"
#include "qemu-common.h"
#include "qemu/cutils.h"
#include "qemu/timer.h"
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 29fdd5d..1ab88ad 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -213,20 +213,6 @@ static inline S390CPU *s390_env_get_cpu(CPUS390XState *env)
extern const struct VMStateDescription vmstate_s390_cpu;
#endif
-void s390_cpu_do_interrupt(CPUState *cpu);
-bool s390_cpu_exec_interrupt(CPUState *cpu, int int_req);
-void s390_cpu_dump_state(CPUState *cpu, FILE *f, fprintf_function cpu_fprintf,
- int flags);
-int s390_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
- int cpuid, void *opaque);
-
-hwaddr s390_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
-hwaddr s390_cpu_get_phys_addr_debug(CPUState *cpu, vaddr addr);
-int s390_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
-int s390_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
-void s390_cpu_gdb_init(CPUState *cs);
-void s390x_cpu_debug_excp_handler(CPUState *cs);
-
#include "sysemu/kvm.h"
/* distinguish between 24 bit and 31 bit addressing */
@@ -366,17 +352,6 @@ void s390x_cpu_debug_excp_handler(CPUState *cs);
#define MMU_SECONDARY_IDX 1
#define MMU_HOME_IDX 2
-static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
-{
- uint16_t pkm = env->cregs[3] >> 16;
-
- if (env->psw.mask & PSW_MASK_PSTATE) {
- /* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
- return pkm & (0x80 >> psw_key);
- }
- return true;
-}
-
static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
{
switch (env->psw.mask & PSW_MASK_ASC) {
@@ -393,20 +368,6 @@ static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
}
}
-static inline uint64_t cpu_mmu_idx_to_asc(int mmu_idx)
-{
- switch (mmu_idx) {
- case MMU_PRIMARY_IDX:
- return PSW_ASC_PRIMARY;
- case MMU_SECONDARY_IDX:
- return PSW_ASC_SECONDARY;
- case MMU_HOME_IDX:
- return PSW_ASC_HOME;
- default:
- abort();
- }
-}
-
static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
target_ulong *cs_base, uint32_t *flags)
{
@@ -415,26 +376,6 @@ static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
*flags = (env->psw.mask >> FLAG_MASK_PSW_SHIFT) & FLAG_MASK_PSW;
}
-#define MAX_ILEN 6
-
-/* While the PoO talks about ILC (a number between 1-3) what is actually
- stored in LowCore is shifted left one bit (an even between 2-6). As
- this is the actual length of the insn and therefore more useful, that
- is what we want to pass around and manipulate. To make sure that we
- have applied this distinction universally, rename the "ILC" to "ILEN". */
-static inline int get_ilen(uint8_t opc)
-{
- switch (opc >> 6) {
- case 0:
- return 2;
- case 1:
- case 2:
- return 4;
- default:
- return 6;
- }
-}
-
/* PER bits from control register 9 */
#define PER_CR9_EVENT_BRANCH 0x80000000
#define PER_CR9_EVENT_IFETCH 0x40000000
@@ -451,101 +392,25 @@ static inline int get_ilen(uint8_t opc)
#define PER_CODE_EVENT_STORE_REAL 0x0800
#define PER_CODE_EVENT_NULLIFICATION 0x0100
-/* Compute the ATMID field that is stored in the per_perc_atmid lowcore
- entry when a PER exception is triggered. */
-static inline uint8_t get_per_atmid(CPUS390XState *env)
-{
- return ((env->psw.mask & PSW_MASK_64) ? (1 << 7) : 0) |
- ( (1 << 6) ) |
- ((env->psw.mask & PSW_MASK_32) ? (1 << 5) : 0) |
- ((env->psw.mask & PSW_MASK_DAT)? (1 << 4) : 0) |
- ((env->psw.mask & PSW_ASC_SECONDARY)? (1 << 3) : 0) |
- ((env->psw.mask & PSW_ASC_ACCREG)? (1 << 2) : 0);
-}
-
-/* Check if an address is within the PER starting address and the PER
- ending address. The address range might loop. */
-static inline bool get_per_in_range(CPUS390XState *env, uint64_t addr)
-{
- if (env->cregs[10] <= env->cregs[11]) {
- return env->cregs[10] <= addr && addr <= env->cregs[11];
- } else {
- return env->cregs[10] <= addr || addr <= env->cregs[11];
- }
-}
-
S390CPU *cpu_s390x_init(const char *cpu_model);
S390CPU *s390x_new_cpu(const char *cpu_model, int64_t id, Error **errp);
-S390CPU *cpu_s390x_create(const char *cpu_model, Error **errp);
-void s390x_translate_init(void);
/* you can call this signal handler from your SIGBUS and SIGSEGV
signal handlers to inform the virtual CPU of exceptions. non zero
is returned if the signal was handled by the virtual CPU. */
int cpu_s390x_signal_handler(int host_signum, void *pinfo,
void *puc);
-int s390_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int rw,
- int mmu_idx);
#ifndef CONFIG_USER_ONLY
-void do_restart_interrupt(CPUS390XState *env);
-void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
- MMUAccessType access_type,
- int mmu_idx, uintptr_t retaddr);
-
-static inline hwaddr decode_basedisp_s(CPUS390XState *env, uint32_t ipb,
- uint8_t *ar)
-{
- hwaddr addr = 0;
- uint8_t reg;
-
- reg = ipb >> 28;
- if (reg > 0) {
- addr = env->regs[reg];
- }
- addr += (ipb >> 16) & 0xfff;
- if (ar) {
- *ar = reg;
- }
-
- return addr;
-}
-
-/* Base/displacement are at the same locations. */
-#define decode_basedisp_rs decode_basedisp_s
-
-/* helper functions for run_on_cpu() */
-static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
-{
- S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
-
- scc->cpu_reset(cs);
-}
-static inline void s390_do_cpu_full_reset(CPUState *cs, run_on_cpu_data arg)
-{
- cpu_reset(cs);
-}
-
-void s390x_tod_timer(void *opaque);
-void s390x_cpu_timer(void *opaque);
int s390_virtio_hypercall(CPUS390XState *env);
#ifdef CONFIG_KVM
-void kvm_s390_service_interrupt(uint32_t parm);
-void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
-void kvm_s390_floating_interrupt(struct kvm_s390_irq *irq);
int kvm_s390_inject_flic(struct kvm_s390_irq *irq);
-void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
-int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
- int len, bool is_write);
int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_clock);
#else
-static inline void kvm_s390_service_interrupt(uint32_t parm)
-{
-}
static inline int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
{
return -ENOSYS;
@@ -554,15 +419,6 @@ static inline int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
{
return -ENOSYS;
}
-static inline int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar,
- void *hostbuf, int len, bool is_write)
-{
- return -ENOSYS;
-}
-static inline void kvm_s390_access_exception(S390CPU *cpu, uint16_t code,
- uint64_t te_code)
-{
-}
#endif
static inline int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
@@ -586,50 +442,15 @@ static inline int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
}
S390CPU *s390_cpu_addr2state(uint16_t cpu_addr);
-unsigned int s390_cpu_halt(S390CPU *cpu);
-void s390_cpu_unhalt(S390CPU *cpu);
unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu);
-static inline uint8_t s390_cpu_get_state(S390CPU *cpu)
-{
- return cpu->env.cpu_state;
-}
void gtod_save(QEMUFile *f, void *opaque);
int gtod_load(QEMUFile *f, void *opaque, int version_id);
-void cpu_inject_ext(S390CPU *cpu, uint32_t code, uint32_t param,
- uint64_t param64);
-
-/* ioinst.c */
-void ioinst_handle_xsch(S390CPU *cpu, uint64_t reg1);
-void ioinst_handle_csch(S390CPU *cpu, uint64_t reg1);
-void ioinst_handle_hsch(S390CPU *cpu, uint64_t reg1);
-void ioinst_handle_msch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
-void ioinst_handle_ssch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
-void ioinst_handle_stcrw(S390CPU *cpu, uint32_t ipb);
-void ioinst_handle_stsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
-int ioinst_handle_tsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
-void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb);
-int ioinst_handle_tpi(S390CPU *cpu, uint32_t ipb);
-void ioinst_handle_schm(S390CPU *cpu, uint64_t reg1, uint64_t reg2,
- uint32_t ipb);
-void ioinst_handle_rsch(S390CPU *cpu, uint64_t reg1);
-void ioinst_handle_rchp(S390CPU *cpu, uint64_t reg1);
-void ioinst_handle_sal(S390CPU *cpu, uint64_t reg1);
-
/* service interrupts are floating therefore we must not pass an cpustate */
void s390_sclp_extint(uint32_t parm);
#else
-static inline unsigned int s390_cpu_halt(S390CPU *cpu)
-{
- return 0;
-}
-
-static inline void s390_cpu_unhalt(S390CPU *cpu)
-{
-}
-
static inline unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu)
{
return 0;
@@ -643,10 +464,6 @@ extern void subsystem_reset(void);
void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
#define cpu_list s390_cpu_list
-void s390_cpu_model_register_props(Object *obj);
-void s390_cpu_model_class_register_props(ObjectClass *oc);
-void s390_realize_cpu_model(CPUState *cs, Error **errp);
-ObjectClass *s390_cpu_class_by_name(const char *name);
#define EXCP_EXT 1 /* external interrupt */
#define EXCP_SVC 2 /* supervisor call (syscall) */
@@ -683,115 +500,6 @@ ObjectClass *s390_cpu_class_by_name(const char *name);
/* Total Core Registers. */
#define S390_NUM_CORE_REGS 18
-/* CC optimization */
-
-/* Instead of computing the condition codes after each x86 instruction,
- * QEMU just stores the result (called CC_DST), the type of operation
- * (called CC_OP) and whatever operands are needed (CC_SRC and possibly
- * CC_VR). When the condition codes are needed, the condition codes can
- * be calculated using this information. Condition codes are not generated
- * if they are only needed for conditional branches.
- */
-enum cc_op {
- CC_OP_CONST0 = 0, /* CC is 0 */
- CC_OP_CONST1, /* CC is 1 */
- CC_OP_CONST2, /* CC is 2 */
- CC_OP_CONST3, /* CC is 3 */
-
- CC_OP_DYNAMIC, /* CC calculation defined by env->cc_op */
- CC_OP_STATIC, /* CC value is env->cc_op */
-
- CC_OP_NZ, /* env->cc_dst != 0 */
- CC_OP_LTGT_32, /* signed less/greater than (32bit) */
- CC_OP_LTGT_64, /* signed less/greater than (64bit) */
- CC_OP_LTUGTU_32, /* unsigned less/greater than (32bit) */
- CC_OP_LTUGTU_64, /* unsigned less/greater than (64bit) */
- CC_OP_LTGT0_32, /* signed less/greater than 0 (32bit) */
- CC_OP_LTGT0_64, /* signed less/greater than 0 (64bit) */
-
- CC_OP_ADD_64, /* overflow on add (64bit) */
- CC_OP_ADDU_64, /* overflow on unsigned add (64bit) */
- CC_OP_ADDC_64, /* overflow on unsigned add-carry (64bit) */
- CC_OP_SUB_64, /* overflow on subtraction (64bit) */
- CC_OP_SUBU_64, /* overflow on unsigned subtraction (64bit) */
- CC_OP_SUBB_64, /* overflow on unsigned sub-borrow (64bit) */
- CC_OP_ABS_64, /* sign eval on abs (64bit) */
- CC_OP_NABS_64, /* sign eval on nabs (64bit) */
-
- CC_OP_ADD_32, /* overflow on add (32bit) */
- CC_OP_ADDU_32, /* overflow on unsigned add (32bit) */
- CC_OP_ADDC_32, /* overflow on unsigned add-carry (32bit) */
- CC_OP_SUB_32, /* overflow on subtraction (32bit) */
- CC_OP_SUBU_32, /* overflow on unsigned subtraction (32bit) */
- CC_OP_SUBB_32, /* overflow on unsigned sub-borrow (32bit) */
- CC_OP_ABS_32, /* sign eval on abs (64bit) */
- CC_OP_NABS_32, /* sign eval on nabs (64bit) */
-
- CC_OP_COMP_32, /* complement */
- CC_OP_COMP_64, /* complement */
-
- CC_OP_TM_32, /* test under mask (32bit) */
- CC_OP_TM_64, /* test under mask (64bit) */
-
- CC_OP_NZ_F32, /* FP dst != 0 (32bit) */
- CC_OP_NZ_F64, /* FP dst != 0 (64bit) */
- CC_OP_NZ_F128, /* FP dst != 0 (128bit) */
-
- CC_OP_ICM, /* insert characters under mask */
- CC_OP_SLA_32, /* Calculate shift left signed (32bit) */
- CC_OP_SLA_64, /* Calculate shift left signed (64bit) */
- CC_OP_FLOGR, /* find leftmost one */
- CC_OP_MAX
-};
-
-static const char *cc_names[] = {
- [CC_OP_CONST0] = "CC_OP_CONST0",
- [CC_OP_CONST1] = "CC_OP_CONST1",
- [CC_OP_CONST2] = "CC_OP_CONST2",
- [CC_OP_CONST3] = "CC_OP_CONST3",
- [CC_OP_DYNAMIC] = "CC_OP_DYNAMIC",
- [CC_OP_STATIC] = "CC_OP_STATIC",
- [CC_OP_NZ] = "CC_OP_NZ",
- [CC_OP_LTGT_32] = "CC_OP_LTGT_32",
- [CC_OP_LTGT_64] = "CC_OP_LTGT_64",
- [CC_OP_LTUGTU_32] = "CC_OP_LTUGTU_32",
- [CC_OP_LTUGTU_64] = "CC_OP_LTUGTU_64",
- [CC_OP_LTGT0_32] = "CC_OP_LTGT0_32",
- [CC_OP_LTGT0_64] = "CC_OP_LTGT0_64",
- [CC_OP_ADD_64] = "CC_OP_ADD_64",
- [CC_OP_ADDU_64] = "CC_OP_ADDU_64",
- [CC_OP_ADDC_64] = "CC_OP_ADDC_64",
- [CC_OP_SUB_64] = "CC_OP_SUB_64",
- [CC_OP_SUBU_64] = "CC_OP_SUBU_64",
- [CC_OP_SUBB_64] = "CC_OP_SUBB_64",
- [CC_OP_ABS_64] = "CC_OP_ABS_64",
- [CC_OP_NABS_64] = "CC_OP_NABS_64",
- [CC_OP_ADD_32] = "CC_OP_ADD_32",
- [CC_OP_ADDU_32] = "CC_OP_ADDU_32",
- [CC_OP_ADDC_32] = "CC_OP_ADDC_32",
- [CC_OP_SUB_32] = "CC_OP_SUB_32",
- [CC_OP_SUBU_32] = "CC_OP_SUBU_32",
- [CC_OP_SUBB_32] = "CC_OP_SUBB_32",
- [CC_OP_ABS_32] = "CC_OP_ABS_32",
- [CC_OP_NABS_32] = "CC_OP_NABS_32",
- [CC_OP_COMP_32] = "CC_OP_COMP_32",
- [CC_OP_COMP_64] = "CC_OP_COMP_64",
- [CC_OP_TM_32] = "CC_OP_TM_32",
- [CC_OP_TM_64] = "CC_OP_TM_64",
- [CC_OP_NZ_F32] = "CC_OP_NZ_F32",
- [CC_OP_NZ_F64] = "CC_OP_NZ_F64",
- [CC_OP_NZ_F128] = "CC_OP_NZ_F128",
- [CC_OP_ICM] = "CC_OP_ICM",
- [CC_OP_SLA_32] = "CC_OP_SLA_32",
- [CC_OP_SLA_64] = "CC_OP_SLA_64",
- [CC_OP_FLOGR] = "CC_OP_FLOGR",
-};
-
-static inline const char *cc_name(int cc_op)
-{
- return cc_names[cc_op];
-}
-
static inline void setcc(S390CPU *cpu, uint64_t cc)
{
CPUS390XState *env = &cpu->env;
@@ -801,130 +509,6 @@ static inline void setcc(S390CPU *cpu, uint64_t cc)
env->cc_op = cc;
}
-#ifndef CONFIG_USER_ONLY
-
-typedef struct LowCore
-{
- /* prefix area: defined by architecture */
- uint32_t ccw1[2]; /* 0x000 */
- uint32_t ccw2[4]; /* 0x008 */
- uint8_t pad1[0x80-0x18]; /* 0x018 */
- uint32_t ext_params; /* 0x080 */
- uint16_t cpu_addr; /* 0x084 */
- uint16_t ext_int_code; /* 0x086 */
- uint16_t svc_ilen; /* 0x088 */
- uint16_t svc_code; /* 0x08a */
- uint16_t pgm_ilen; /* 0x08c */
- uint16_t pgm_code; /* 0x08e */
- uint32_t data_exc_code; /* 0x090 */
- uint16_t mon_class_num; /* 0x094 */
- uint16_t per_perc_atmid; /* 0x096 */
- uint64_t per_address; /* 0x098 */
- uint8_t exc_access_id; /* 0x0a0 */
- uint8_t per_access_id; /* 0x0a1 */
- uint8_t op_access_id; /* 0x0a2 */
- uint8_t ar_access_id; /* 0x0a3 */
- uint8_t pad2[0xA8-0xA4]; /* 0x0a4 */
- uint64_t trans_exc_code; /* 0x0a8 */
- uint64_t monitor_code; /* 0x0b0 */
- uint16_t subchannel_id; /* 0x0b8 */
- uint16_t subchannel_nr; /* 0x0ba */
- uint32_t io_int_parm; /* 0x0bc */
- uint32_t io_int_word; /* 0x0c0 */
- uint8_t pad3[0xc8-0xc4]; /* 0x0c4 */
- uint32_t stfl_fac_list; /* 0x0c8 */
- uint8_t pad4[0xe8-0xcc]; /* 0x0cc */
- uint32_t mcck_interruption_code[2]; /* 0x0e8 */
- uint8_t pad5[0xf4-0xf0]; /* 0x0f0 */
- uint32_t external_damage_code; /* 0x0f4 */
- uint64_t failing_storage_address; /* 0x0f8 */
- uint8_t pad6[0x110-0x100]; /* 0x100 */
- uint64_t per_breaking_event_addr; /* 0x110 */
- uint8_t pad7[0x120-0x118]; /* 0x118 */
- PSW restart_old_psw; /* 0x120 */
- PSW external_old_psw; /* 0x130 */
- PSW svc_old_psw; /* 0x140 */
- PSW program_old_psw; /* 0x150 */
- PSW mcck_old_psw; /* 0x160 */
- PSW io_old_psw; /* 0x170 */
- uint8_t pad8[0x1a0-0x180]; /* 0x180 */
- PSW restart_new_psw; /* 0x1a0 */
- PSW external_new_psw; /* 0x1b0 */
- PSW svc_new_psw; /* 0x1c0 */
- PSW program_new_psw; /* 0x1d0 */
- PSW mcck_new_psw; /* 0x1e0 */
- PSW io_new_psw; /* 0x1f0 */
- PSW return_psw; /* 0x200 */
- uint8_t irb[64]; /* 0x210 */
- uint64_t sync_enter_timer; /* 0x250 */
- uint64_t async_enter_timer; /* 0x258 */
- uint64_t exit_timer; /* 0x260 */
- uint64_t last_update_timer; /* 0x268 */
- uint64_t user_timer; /* 0x270 */
- uint64_t system_timer; /* 0x278 */
- uint64_t last_update_clock; /* 0x280 */
- uint64_t steal_clock; /* 0x288 */
- PSW return_mcck_psw; /* 0x290 */
- uint8_t pad9[0xc00-0x2a0]; /* 0x2a0 */
- /* System info area */
- uint64_t save_area[16]; /* 0xc00 */
- uint8_t pad10[0xd40-0xc80]; /* 0xc80 */
- uint64_t kernel_stack; /* 0xd40 */
- uint64_t thread_info; /* 0xd48 */
- uint64_t async_stack; /* 0xd50 */
- uint64_t kernel_asce; /* 0xd58 */
- uint64_t user_asce; /* 0xd60 */
- uint64_t panic_stack; /* 0xd68 */
- uint64_t user_exec_asce; /* 0xd70 */
- uint8_t pad11[0xdc0-0xd78]; /* 0xd78 */
-
- /* SMP info area: defined by DJB */
- uint64_t clock_comparator; /* 0xdc0 */
- uint64_t ext_call_fast; /* 0xdc8 */
- uint64_t percpu_offset; /* 0xdd0 */
- uint64_t current_task; /* 0xdd8 */
- uint32_t softirq_pending; /* 0xde0 */
- uint32_t pad_0x0de4; /* 0xde4 */
- uint64_t int_clock; /* 0xde8 */
- uint8_t pad12[0xe00-0xdf0]; /* 0xdf0 */
-
- /* 0xe00 is used as indicator for dump tools */
- /* whether the kernel died with panic() or not */
- uint32_t panic_magic; /* 0xe00 */
-
- uint8_t pad13[0x11b8-0xe04]; /* 0xe04 */
-
- /* 64 bit extparam used for pfault, diag 250 etc */
- uint64_t ext_params2; /* 0x11B8 */
-
- uint8_t pad14[0x1200-0x11C0]; /* 0x11C0 */
-
- /* System info area */
-
- uint64_t floating_pt_save_area[16]; /* 0x1200 */
- uint64_t gpregs_save_area[16]; /* 0x1280 */
- uint32_t st_status_fixed_logout[4]; /* 0x1300 */
- uint8_t pad15[0x1318-0x1310]; /* 0x1310 */
- uint32_t prefixreg_save_area; /* 0x1318 */
- uint32_t fpt_creg_save_area; /* 0x131c */
- uint8_t pad16[0x1324-0x1320]; /* 0x1320 */
- uint32_t tod_progreg_save_area; /* 0x1324 */
- uint32_t cpu_timer_save_area[2]; /* 0x1328 */
- uint32_t clock_comp_save_area[2]; /* 0x1330 */
- uint8_t pad17[0x1340-0x1338]; /* 0x1338 */
- uint32_t access_regs_save_area[16]; /* 0x1340 */
- uint64_t cregs_save_area[16]; /* 0x1380 */
-
- /* align to the top of the prefix area */
-
- uint8_t pad18[0x2000-0x1400]; /* 0x1400 */
-} QEMU_PACKED LowCore;
-
-LowCore *cpu_map_lowcore(CPUS390XState *env);
-void cpu_unmap_lowcore(LowCore *lowcore);
-
-#endif
-
/* STSI */
#define STSI_LEVEL_MASK 0x00000000f0000000ULL
#define STSI_LEVEL_CURRENT 0x0000000000000000ULL
@@ -1100,15 +684,7 @@ struct sysib_322 {
/* SIGP order code mask corresponding to bit positions 56-63 */
#define SIGP_ORDER_MASK 0x000000ff
-void load_psw(CPUS390XState *env, uint64_t mask, uint64_t addr);
-uint64_t get_psw_mask(CPUS390XState *env);
-target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr);
-int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc,
- target_ulong *raddr, int *flags, bool exc);
int sclp_service_call(CPUS390XState *env, uint64_t sccb, uint32_t code);
-uint32_t calc_cc(CPUS390XState *env, uint32_t cc_op, uint64_t src, uint64_t dst,
- uint64_t vr);
-void s390_cpu_recompute_watchpoints(CPUState *cs);
int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
int len, bool is_write);
@@ -1120,46 +696,15 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
#define s390_cpu_virt_mem_check_write(cpu, laddr, ar, len) \
s390_cpu_virt_mem_rw(cpu, laddr, ar, NULL, len, true)
-/* The value of the TOD clock for 1.1.1970. */
-#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
-
-/* Converts ns to s390's clock format */
-static inline uint64_t time2tod(uint64_t ns) {
- return (ns << 9) / 125;
-}
-
-/* Converts s390's clock format to ns */
-static inline uint64_t tod2time(uint64_t t) {
- return (t * 125) >> 9;
-}
-
/* from s390-virtio-ccw */
#define MEM_SECTION_SIZE 0x10000000UL
#define MAX_AVAIL_SLOTS 32
-/* fpu_helper.c */
-uint32_t set_cc_nz_f32(float32 v);
-uint32_t set_cc_nz_f64(float64 v);
-uint32_t set_cc_nz_f128(float128 v);
-
-/* misc_helper.c */
-#ifndef CONFIG_USER_ONLY
-int handle_diag_288(CPUS390XState *env, uint64_t r1, uint64_t r3);
-void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3);
-#endif
/* automatically detect the instruction length */
#define ILEN_AUTO 0xff
void program_interrupt(CPUS390XState *env, uint32_t code, int ilen);
-void trigger_pgm_exception(CPUS390XState *env, uint32_t code, uint32_t ilen);
-void QEMU_NORETURN runtime_exception(CPUS390XState *env, int excp,
- uintptr_t retaddr);
#ifdef CONFIG_KVM
-void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
-void kvm_s390_io_interrupt(uint16_t subchannel_id,
- uint16_t subchannel_nr, uint32_t io_int_parm,
- uint32_t io_int_word);
-void kvm_s390_crw_mchk(void);
void kvm_s390_enable_css_support(S390CPU *cpu);
int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
int vq, bool assign);
@@ -1167,27 +712,11 @@ int kvm_s390_cpu_restart(S390CPU *cpu);
int kvm_s390_get_memslot_count(KVMState *s);
int kvm_s390_cmma_active(void);
void kvm_s390_cmma_reset(void);
-int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
void kvm_s390_reset_vcpu(S390CPU *cpu);
int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit, uint64_t *hw_limit);
-void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
-int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
-int kvm_s390_get_ri(void);
-int kvm_s390_get_gs(void);
void kvm_s390_crypto_reset(void);
#else
-static inline void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
-{
-}
-static inline void kvm_s390_io_interrupt(uint16_t subchannel_id,
- uint16_t subchannel_nr,
- uint32_t io_int_parm,
- uint32_t io_int_word)
-{
-}
-static inline void kvm_s390_crw_mchk(void)
-{
-}
+
static inline void kvm_s390_enable_css_support(S390CPU *cpu)
{
}
@@ -1208,10 +737,6 @@ static inline int kvm_s390_get_memslot_count(KVMState *s)
{
return MAX_AVAIL_SLOTS;
}
-static inline int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
-{
- return -ENOSYS;
-}
static inline void kvm_s390_reset_vcpu(S390CPU *cpu)
{
}
@@ -1220,21 +745,6 @@ static inline int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit,
{
return 0;
}
-static inline void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
-{
-}
-static inline int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
-{
- return 0;
-}
-static inline int kvm_s390_get_ri(void)
-{
- return 0;
-}
-static inline int kvm_s390_get_gs(void)
-{
- return 0;
-}
static inline void kvm_s390_crypto_reset(void)
{
}
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index fa1338f..798699e 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -12,6 +12,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "gen-features.h"
#include "qapi/error.h"
#include "qapi/visitor.h"
diff --git a/target/s390x/diag.c b/target/s390x/diag.c
index 10ac845..984e87c 100644
--- a/target/s390x/diag.c
+++ b/target/s390x/diag.c
@@ -14,6 +14,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/address-spaces.h"
#include "exec/exec-all.h"
#include "hw/watchdog/wdt_diag288.h"
diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
index d183377..9e925de 100644
--- a/target/s390x/excp_helper.c
+++ b/target/s390x/excp_helper.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "cpu.h"
+#include "internal.h"
#include "qemu/timer.h"
#include "exec/exec-all.h"
#include "exec/cpu_ldst.h"
diff --git a/target/s390x/fpu_helper.c b/target/s390x/fpu_helper.c
index 26f124f..ffbeb3b 100644
--- a/target/s390x/fpu_helper.c
+++ b/target/s390x/fpu_helper.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/exec-all.h"
#include "exec/cpu_ldst.h"
#include "exec/helper-proto.h"
diff --git a/target/s390x/gdbstub.c b/target/s390x/gdbstub.c
index a7efafe..b8c81da 100644
--- a/target/s390x/gdbstub.c
+++ b/target/s390x/gdbstub.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qemu-common.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/exec-all.h"
#include "exec/gdbstub.h"
#include "qemu/bitops.h"
diff --git a/target/s390x/helper.c b/target/s390x/helper.c
index 0c989b1..601fb2c 100644
--- a/target/s390x/helper.c
+++ b/target/s390x/helper.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/gdbstub.h"
#include "qemu/timer.h"
#include "exec/exec-all.h"
diff --git a/target/s390x/int_helper.c b/target/s390x/int_helper.c
index f26f36a..0076bea 100644
--- a/target/s390x/int_helper.c
+++ b/target/s390x/int_helper.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/exec-all.h"
#include "qemu/host-utils.h"
#include "exec/helper-proto.h"
diff --git a/target/s390x/internal.h b/target/s390x/internal.h
new file mode 100644
index 0000000..9a55271
--- /dev/null
+++ b/target/s390x/internal.h
@@ -0,0 +1,560 @@
+/*
+ * s390x internal definitions and helpers
+ *
+ * Copyright (c) 2009 Ulrich Hecht
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Contributions after 2012-10-29 are licensed under the terms of the
+ * GNU GPL, version 2 or (at your option) any later version.
+ *
+ * You should have received a copy of the GNU (Lesser) General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef S390X_INTERNAL_H
+#define S390X_INTERNAL_H
+
+#include "cpu.h"
+
+#ifndef CONFIG_USER_ONLY
+typedef struct LowCore {
+ /* prefix area: defined by architecture */
+ uint32_t ccw1[2]; /* 0x000 */
+ uint32_t ccw2[4]; /* 0x008 */
+ uint8_t pad1[0x80 - 0x18]; /* 0x018 */
+ uint32_t ext_params; /* 0x080 */
+ uint16_t cpu_addr; /* 0x084 */
+ uint16_t ext_int_code; /* 0x086 */
+ uint16_t svc_ilen; /* 0x088 */
+ uint16_t svc_code; /* 0x08a */
+ uint16_t pgm_ilen; /* 0x08c */
+ uint16_t pgm_code; /* 0x08e */
+ uint32_t data_exc_code; /* 0x090 */
+ uint16_t mon_class_num; /* 0x094 */
+ uint16_t per_perc_atmid; /* 0x096 */
+ uint64_t per_address; /* 0x098 */
+ uint8_t exc_access_id; /* 0x0a0 */
+ uint8_t per_access_id; /* 0x0a1 */
+ uint8_t op_access_id; /* 0x0a2 */
+ uint8_t ar_access_id; /* 0x0a3 */
+ uint8_t pad2[0xA8 - 0xA4]; /* 0x0a4 */
+ uint64_t trans_exc_code; /* 0x0a8 */
+ uint64_t monitor_code; /* 0x0b0 */
+ uint16_t subchannel_id; /* 0x0b8 */
+ uint16_t subchannel_nr; /* 0x0ba */
+ uint32_t io_int_parm; /* 0x0bc */
+ uint32_t io_int_word; /* 0x0c0 */
+ uint8_t pad3[0xc8 - 0xc4]; /* 0x0c4 */
+ uint32_t stfl_fac_list; /* 0x0c8 */
+ uint8_t pad4[0xe8 - 0xcc]; /* 0x0cc */
+ uint32_t mcck_interruption_code[2]; /* 0x0e8 */
+ uint8_t pad5[0xf4 - 0xf0]; /* 0x0f0 */
+ uint32_t external_damage_code; /* 0x0f4 */
+ uint64_t failing_storage_address; /* 0x0f8 */
+ uint8_t pad6[0x110 - 0x100]; /* 0x100 */
+ uint64_t per_breaking_event_addr; /* 0x110 */
+ uint8_t pad7[0x120 - 0x118]; /* 0x118 */
+ PSW restart_old_psw; /* 0x120 */
+ PSW external_old_psw; /* 0x130 */
+ PSW svc_old_psw; /* 0x140 */
+ PSW program_old_psw; /* 0x150 */
+ PSW mcck_old_psw; /* 0x160 */
+ PSW io_old_psw; /* 0x170 */
+ uint8_t pad8[0x1a0 - 0x180]; /* 0x180 */
+ PSW restart_new_psw; /* 0x1a0 */
+ PSW external_new_psw; /* 0x1b0 */
+ PSW svc_new_psw; /* 0x1c0 */
+ PSW program_new_psw; /* 0x1d0 */
+ PSW mcck_new_psw; /* 0x1e0 */
+ PSW io_new_psw; /* 0x1f0 */
+ PSW return_psw; /* 0x200 */
+ uint8_t irb[64]; /* 0x210 */
+ uint64_t sync_enter_timer; /* 0x250 */
+ uint64_t async_enter_timer; /* 0x258 */
+ uint64_t exit_timer; /* 0x260 */
+ uint64_t last_update_timer; /* 0x268 */
+ uint64_t user_timer; /* 0x270 */
+ uint64_t system_timer; /* 0x278 */
+ uint64_t last_update_clock; /* 0x280 */
+ uint64_t steal_clock; /* 0x288 */
+ PSW return_mcck_psw; /* 0x290 */
+ uint8_t pad9[0xc00 - 0x2a0]; /* 0x2a0 */
+ /* System info area */
+ uint64_t save_area[16]; /* 0xc00 */
+ uint8_t pad10[0xd40 - 0xc80]; /* 0xc80 */
+ uint64_t kernel_stack; /* 0xd40 */
+ uint64_t thread_info; /* 0xd48 */
+ uint64_t async_stack; /* 0xd50 */
+ uint64_t kernel_asce; /* 0xd58 */
+ uint64_t user_asce; /* 0xd60 */
+ uint64_t panic_stack; /* 0xd68 */
+ uint64_t user_exec_asce; /* 0xd70 */
+ uint8_t pad11[0xdc0 - 0xd78]; /* 0xd78 */
+
+ /* SMP info area: defined by DJB */
+ uint64_t clock_comparator; /* 0xdc0 */
+ uint64_t ext_call_fast; /* 0xdc8 */
+ uint64_t percpu_offset; /* 0xdd0 */
+ uint64_t current_task; /* 0xdd8 */
+ uint32_t softirq_pending; /* 0xde0 */
+ uint32_t pad_0x0de4; /* 0xde4 */
+ uint64_t int_clock; /* 0xde8 */
+ uint8_t pad12[0xe00 - 0xdf0]; /* 0xdf0 */
+
+ /* 0xe00 is used as indicator for dump tools */
+ /* whether the kernel died with panic() or not */
+ uint32_t panic_magic; /* 0xe00 */
+
+ uint8_t pad13[0x11b8 - 0xe04]; /* 0xe04 */
+
+ /* 64 bit extparam used for pfault, diag 250 etc */
+ uint64_t ext_params2; /* 0x11B8 */
+
+ uint8_t pad14[0x1200 - 0x11C0]; /* 0x11C0 */
+
+ /* System info area */
+
+ uint64_t floating_pt_save_area[16]; /* 0x1200 */
+ uint64_t gpregs_save_area[16]; /* 0x1280 */
+ uint32_t st_status_fixed_logout[4]; /* 0x1300 */
+ uint8_t pad15[0x1318 - 0x1310]; /* 0x1310 */
+ uint32_t prefixreg_save_area; /* 0x1318 */
+ uint32_t fpt_creg_save_area; /* 0x131c */
+ uint8_t pad16[0x1324 - 0x1320]; /* 0x1320 */
+ uint32_t tod_progreg_save_area; /* 0x1324 */
+ uint32_t cpu_timer_save_area[2]; /* 0x1328 */
+ uint32_t clock_comp_save_area[2]; /* 0x1330 */
+ uint8_t pad17[0x1340 - 0x1338]; /* 0x1338 */
+ uint32_t access_regs_save_area[16]; /* 0x1340 */
+ uint64_t cregs_save_area[16]; /* 0x1380 */
+
+ /* align to the top of the prefix area */
+
+ uint8_t pad18[0x2000 - 0x1400]; /* 0x1400 */
+} QEMU_PACKED LowCore;
+#endif /* CONFIG_USER_ONLY */
+
+static inline uint64_t cpu_mmu_idx_to_asc(int mmu_idx)
+{
+ switch (mmu_idx) {
+ case MMU_PRIMARY_IDX:
+ return PSW_ASC_PRIMARY;
+ case MMU_SECONDARY_IDX:
+ return PSW_ASC_SECONDARY;
+ case MMU_HOME_IDX:
+ return PSW_ASC_HOME;
+ default:
+ abort();
+ }
+}
+
+static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
+{
+ uint16_t pkm = env->cregs[3] >> 16;
+
+ if (env->psw.mask & PSW_MASK_PSTATE) {
+ /* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
+ return pkm & (0x80 >> psw_key);
+ }
+ return true;
+}
+
+#define MAX_ILEN 6
+
+/* While the PoO talks about ILC (a number between 1-3) what is actually
+ stored in LowCore is shifted left one bit (an even between 2-6). As
+ this is the actual length of the insn and therefore more useful, that
+ is what we want to pass around and manipulate. To make sure that we
+ have applied this distinction universally, rename the "ILC" to "ILEN". */
+static inline int get_ilen(uint8_t opc)
+{
+ switch (opc >> 6) {
+ case 0:
+ return 2;
+ case 1:
+ case 2:
+ return 4;
+ default:
+ return 6;
+ }
+}
+
+/* Compute the ATMID field that is stored in the per_perc_atmid lowcore
+ entry when a PER exception is triggered. */
+static inline uint8_t get_per_atmid(CPUS390XState *env)
+{
+ return ((env->psw.mask & PSW_MASK_64) ? (1 << 7) : 0) |
+ (1 << 6) |
+ ((env->psw.mask & PSW_MASK_32) ? (1 << 5) : 0) |
+ ((env->psw.mask & PSW_MASK_DAT) ? (1 << 4) : 0) |
+ ((env->psw.mask & PSW_ASC_SECONDARY) ? (1 << 3) : 0) |
+ ((env->psw.mask & PSW_ASC_ACCREG) ? (1 << 2) : 0);
+}
+
+/* Check if an address is within the PER starting address and the PER
+ ending address. The address range might loop. */
+static inline bool get_per_in_range(CPUS390XState *env, uint64_t addr)
+{
+ if (env->cregs[10] <= env->cregs[11]) {
+ return env->cregs[10] <= addr && addr <= env->cregs[11];
+ } else {
+ return env->cregs[10] <= addr || addr <= env->cregs[11];
+ }
+}
+
+/* CC optimization */
+
+/* Instead of computing the condition codes after each x86 instruction,
+ * QEMU just stores the result (called CC_DST), the type of operation
+ * (called CC_OP) and whatever operands are needed (CC_SRC and possibly
+ * CC_VR). When the condition codes are needed, the condition codes can
+ * be calculated using this information. Condition codes are not generated
+ * if they are only needed for conditional branches.
+ */
+enum cc_op {
+ CC_OP_CONST0 = 0, /* CC is 0 */
+ CC_OP_CONST1, /* CC is 1 */
+ CC_OP_CONST2, /* CC is 2 */
+ CC_OP_CONST3, /* CC is 3 */
+
+ CC_OP_DYNAMIC, /* CC calculation defined by env->cc_op */
+ CC_OP_STATIC, /* CC value is env->cc_op */
+
+ CC_OP_NZ, /* env->cc_dst != 0 */
+ CC_OP_LTGT_32, /* signed less/greater than (32bit) */
+ CC_OP_LTGT_64, /* signed less/greater than (64bit) */
+ CC_OP_LTUGTU_32, /* unsigned less/greater than (32bit) */
+ CC_OP_LTUGTU_64, /* unsigned less/greater than (64bit) */
+ CC_OP_LTGT0_32, /* signed less/greater than 0 (32bit) */
+ CC_OP_LTGT0_64, /* signed less/greater than 0 (64bit) */
+
+ CC_OP_ADD_64, /* overflow on add (64bit) */
+ CC_OP_ADDU_64, /* overflow on unsigned add (64bit) */
+ CC_OP_ADDC_64, /* overflow on unsigned add-carry (64bit) */
+ CC_OP_SUB_64, /* overflow on subtraction (64bit) */
+ CC_OP_SUBU_64, /* overflow on unsigned subtraction (64bit) */
+ CC_OP_SUBB_64, /* overflow on unsigned sub-borrow (64bit) */
+ CC_OP_ABS_64, /* sign eval on abs (64bit) */
+ CC_OP_NABS_64, /* sign eval on nabs (64bit) */
+
+ CC_OP_ADD_32, /* overflow on add (32bit) */
+ CC_OP_ADDU_32, /* overflow on unsigned add (32bit) */
+ CC_OP_ADDC_32, /* overflow on unsigned add-carry (32bit) */
+ CC_OP_SUB_32, /* overflow on subtraction (32bit) */
+ CC_OP_SUBU_32, /* overflow on unsigned subtraction (32bit) */
+ CC_OP_SUBB_32, /* overflow on unsigned sub-borrow (32bit) */
+ CC_OP_ABS_32, /* sign eval on abs (64bit) */
+ CC_OP_NABS_32, /* sign eval on nabs (64bit) */
+
+ CC_OP_COMP_32, /* complement */
+ CC_OP_COMP_64, /* complement */
+
+ CC_OP_TM_32, /* test under mask (32bit) */
+ CC_OP_TM_64, /* test under mask (64bit) */
+
+ CC_OP_NZ_F32, /* FP dst != 0 (32bit) */
+ CC_OP_NZ_F64, /* FP dst != 0 (64bit) */
+ CC_OP_NZ_F128, /* FP dst != 0 (128bit) */
+
+ CC_OP_ICM, /* insert characters under mask */
+ CC_OP_SLA_32, /* Calculate shift left signed (32bit) */
+ CC_OP_SLA_64, /* Calculate shift left signed (64bit) */
+ CC_OP_FLOGR, /* find leftmost one */
+ CC_OP_MAX
+};
+
+static const char *cc_names[] = {
+ [CC_OP_CONST0] = "CC_OP_CONST0",
+ [CC_OP_CONST1] = "CC_OP_CONST1",
+ [CC_OP_CONST2] = "CC_OP_CONST2",
+ [CC_OP_CONST3] = "CC_OP_CONST3",
+ [CC_OP_DYNAMIC] = "CC_OP_DYNAMIC",
+ [CC_OP_STATIC] = "CC_OP_STATIC",
+ [CC_OP_NZ] = "CC_OP_NZ",
+ [CC_OP_LTGT_32] = "CC_OP_LTGT_32",
+ [CC_OP_LTGT_64] = "CC_OP_LTGT_64",
+ [CC_OP_LTUGTU_32] = "CC_OP_LTUGTU_32",
+ [CC_OP_LTUGTU_64] = "CC_OP_LTUGTU_64",
+ [CC_OP_LTGT0_32] = "CC_OP_LTGT0_32",
+ [CC_OP_LTGT0_64] = "CC_OP_LTGT0_64",
+ [CC_OP_ADD_64] = "CC_OP_ADD_64",
+ [CC_OP_ADDU_64] = "CC_OP_ADDU_64",
+ [CC_OP_ADDC_64] = "CC_OP_ADDC_64",
+ [CC_OP_SUB_64] = "CC_OP_SUB_64",
+ [CC_OP_SUBU_64] = "CC_OP_SUBU_64",
+ [CC_OP_SUBB_64] = "CC_OP_SUBB_64",
+ [CC_OP_ABS_64] = "CC_OP_ABS_64",
+ [CC_OP_NABS_64] = "CC_OP_NABS_64",
+ [CC_OP_ADD_32] = "CC_OP_ADD_32",
+ [CC_OP_ADDU_32] = "CC_OP_ADDU_32",
+ [CC_OP_ADDC_32] = "CC_OP_ADDC_32",
+ [CC_OP_SUB_32] = "CC_OP_SUB_32",
+ [CC_OP_SUBU_32] = "CC_OP_SUBU_32",
+ [CC_OP_SUBB_32] = "CC_OP_SUBB_32",
+ [CC_OP_ABS_32] = "CC_OP_ABS_32",
+ [CC_OP_NABS_32] = "CC_OP_NABS_32",
+ [CC_OP_COMP_32] = "CC_OP_COMP_32",
+ [CC_OP_COMP_64] = "CC_OP_COMP_64",
+ [CC_OP_TM_32] = "CC_OP_TM_32",
+ [CC_OP_TM_64] = "CC_OP_TM_64",
+ [CC_OP_NZ_F32] = "CC_OP_NZ_F32",
+ [CC_OP_NZ_F64] = "CC_OP_NZ_F64",
+ [CC_OP_NZ_F128] = "CC_OP_NZ_F128",
+ [CC_OP_ICM] = "CC_OP_ICM",
+ [CC_OP_SLA_32] = "CC_OP_SLA_32",
+ [CC_OP_SLA_64] = "CC_OP_SLA_64",
+ [CC_OP_FLOGR] = "CC_OP_FLOGR",
+};
+
+static inline const char *cc_name(int cc_op)
+{
+ return cc_names[cc_op];
+}
+
+/* The value of the TOD clock for 1.1.1970. */
+#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
+
+/* Converts ns to s390's clock format */
+static inline uint64_t time2tod(uint64_t ns)
+{
+ return (ns << 9) / 125;
+}
+
+/* Converts s390's clock format to ns */
+static inline uint64_t tod2time(uint64_t t)
+{
+ return (t * 125) >> 9;
+}
+
+static inline hwaddr decode_basedisp_s(CPUS390XState *env, uint32_t ipb,
+ uint8_t *ar)
+{
+ hwaddr addr = 0;
+ uint8_t reg;
+
+ reg = ipb >> 28;
+ if (reg > 0) {
+ addr = env->regs[reg];
+ }
+ addr += (ipb >> 16) & 0xfff;
+ if (ar) {
+ *ar = reg;
+ }
+
+ return addr;
+}
+
+/* Base/displacement are at the same locations. */
+#define decode_basedisp_rs decode_basedisp_s
+
+/* helper functions for run_on_cpu() */
+static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
+{
+ S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
+
+ scc->cpu_reset(cs);
+}
+
+static inline void s390_do_cpu_full_reset(CPUState *cs, run_on_cpu_data arg)
+{
+ cpu_reset(cs);
+}
+
+static inline uint8_t s390_cpu_get_state(S390CPU *cpu)
+{
+ return cpu->env.cpu_state;
+}
+
+
+/* arch_dump.c */
+int s390_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
+ int cpuid, void *opaque);
+
+
+/* cc_helper.c */
+void load_psw(CPUS390XState *env, uint64_t mask, uint64_t addr);
+uint32_t calc_cc(CPUS390XState *env, uint32_t cc_op, uint64_t src, uint64_t dst,
+ uint64_t vr);
+
+
+/* cpu.c */
+#ifndef CONFIG_USER_ONLY
+unsigned int s390_cpu_halt(S390CPU *cpu);
+void s390_cpu_unhalt(S390CPU *cpu);
+#else
+static inline unsigned int s390_cpu_halt(S390CPU *cpu)
+{
+ return 0;
+}
+
+static inline void s390_cpu_unhalt(S390CPU *cpu)
+{
+}
+#endif
+
+
+/* cpu_models.c */
+void s390_cpu_model_register_props(Object *obj);
+void s390_cpu_model_class_register_props(ObjectClass *oc);
+void s390_realize_cpu_model(CPUState *cs, Error **errp);
+ObjectClass *s390_cpu_class_by_name(const char *name);
+
+
+/* excp_helper.c */
+void s390x_cpu_debug_excp_handler(CPUState *cs);
+void s390_cpu_do_interrupt(CPUState *cpu);
+bool s390_cpu_exec_interrupt(CPUState *cpu, int int_req);
+int s390_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int rw,
+ int mmu_idx);
+void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
+ MMUAccessType access_type,
+ int mmu_idx, uintptr_t retaddr);
+
+
+/* fpu_helper.c */
+uint32_t set_cc_nz_f32(float32 v);
+uint32_t set_cc_nz_f64(float64 v);
+uint32_t set_cc_nz_f128(float128 v);
+
+
+/* gdbstub.c */
+int s390_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
+int s390_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
+void s390_cpu_gdb_init(CPUState *cs);
+
+
+/* helper.c */
+void s390_cpu_dump_state(CPUState *cpu, FILE *f, fprintf_function cpu_fprintf,
+ int flags);
+hwaddr s390_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
+hwaddr s390_cpu_get_phys_addr_debug(CPUState *cpu, vaddr addr);
+uint64_t get_psw_mask(CPUS390XState *env);
+void s390_cpu_recompute_watchpoints(CPUState *cs);
+void s390x_tod_timer(void *opaque);
+void s390x_cpu_timer(void *opaque);
+S390CPU *cpu_s390x_create(const char *cpu_model, Error **errp);
+void do_restart_interrupt(CPUS390XState *env);
+#ifndef CONFIG_USER_ONLY
+LowCore *cpu_map_lowcore(CPUS390XState *env);
+void cpu_unmap_lowcore(LowCore *lowcore);
+#endif /* CONFIG_USER_ONLY */
+
+
+/* interrupt.c */
+void trigger_pgm_exception(CPUS390XState *env, uint32_t code, uint32_t ilen);
+void cpu_inject_ext(S390CPU *cpu, uint32_t code, uint32_t param,
+ uint64_t param64);
+
+
+/* ioinst.c */
+void ioinst_handle_xsch(S390CPU *cpu, uint64_t reg1);
+void ioinst_handle_csch(S390CPU *cpu, uint64_t reg1);
+void ioinst_handle_hsch(S390CPU *cpu, uint64_t reg1);
+void ioinst_handle_msch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
+void ioinst_handle_ssch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
+void ioinst_handle_stcrw(S390CPU *cpu, uint32_t ipb);
+void ioinst_handle_stsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
+int ioinst_handle_tsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
+void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb);
+int ioinst_handle_tpi(S390CPU *cpu, uint32_t ipb);
+void ioinst_handle_schm(S390CPU *cpu, uint64_t reg1, uint64_t reg2,
+ uint32_t ipb);
+void ioinst_handle_rsch(S390CPU *cpu, uint64_t reg1);
+void ioinst_handle_rchp(S390CPU *cpu, uint64_t reg1);
+void ioinst_handle_sal(S390CPU *cpu, uint64_t reg1);
+
+
+/* kvm.c */
+#ifdef CONFIG_KVM
+void kvm_s390_floating_interrupt(struct kvm_s390_irq *irq);
+void kvm_s390_service_interrupt(uint32_t parm);
+void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
+void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
+int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
+ int len, bool is_write);
+void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
+void kvm_s390_io_interrupt(uint16_t subchannel_id,
+ uint16_t subchannel_nr, uint32_t io_int_parm,
+ uint32_t io_int_word);
+void kvm_s390_crw_mchk(void);
+int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
+void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
+int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
+int kvm_s390_get_ri(void);
+int kvm_s390_get_gs(void);
+#else
+static inline void kvm_s390_service_interrupt(uint32_t parm)
+{
+}
+static inline void kvm_s390_access_exception(S390CPU *cpu, uint16_t code,
+ uint64_t te_code)
+{
+}
+static inline int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar,
+ void *hostbuf, int len, bool is_write)
+{
+ return -ENOSYS;
+}
+static inline void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
+{
+}
+static inline void kvm_s390_io_interrupt(uint16_t subchannel_id,
+ uint16_t subchannel_nr,
+ uint32_t io_int_parm,
+ uint32_t io_int_word)
+{
+}
+static inline void kvm_s390_crw_mchk(void)
+{
+}
+static inline int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
+{
+ return -ENOSYS;
+}
+static inline void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
+{
+}
+static inline int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
+{
+ return 0;
+}
+static inline int kvm_s390_get_ri(void)
+{
+ return 0;
+}
+static inline int kvm_s390_get_gs(void)
+{
+ return 0;
+}
+#endif /* CONFIG_KVM */
+
+
+/* mem_helper.c */
+target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr);
+
+
+/* mmu_helper.c */
+int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc,
+ target_ulong *raddr, int *flags, bool exc);
+
+
+/* misc_helper.c */
+void QEMU_NORETURN runtime_exception(CPUS390XState *env, int excp,
+ uintptr_t retaddr);
+int handle_diag_288(CPUS390XState *env, uint64_t r1, uint64_t r3);
+void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3);
+
+
+/* translate.c */
+void s390x_translate_init(void);
+
+#endif /* S390X_INTERNAL_H */
diff --git a/target/s390x/interrupt.c b/target/s390x/interrupt.c
index fde3da7..119ca74 100644
--- a/target/s390x/interrupt.c
+++ b/target/s390x/interrupt.c
@@ -10,6 +10,7 @@
#include "qemu/osdep.h"
#include "qemu/log.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/exec-all.h"
#include "sysemu/kvm.h"
#include "hw/s390x/ioinst.h"
diff --git a/target/s390x/ioinst.c b/target/s390x/ioinst.c
index 51fbea6..803ef5b 100644
--- a/target/s390x/ioinst.c
+++ b/target/s390x/ioinst.c
@@ -12,6 +12,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "hw/s390x/ioinst.h"
#include "trace.h"
#include "hw/s390x/s390-pci-bus.h"
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index c4c5791..6bb358c 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -29,6 +29,7 @@
#include "qemu-common.h"
#include "cpu.h"
+#include "internal.h"
#include "qemu/error-report.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
diff --git a/target/s390x/machine.c b/target/s390x/machine.c
index 2dcadfd..592db6b 100644
--- a/target/s390x/machine.c
+++ b/target/s390x/machine.c
@@ -17,6 +17,7 @@
#include "qemu/osdep.h"
#include "hw/hw.h"
#include "cpu.h"
+#include "internal.h"
#include "sysemu/kvm.h"
static int cpu_post_load(void *opaque, int version_id)
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index c71dce4..d8eca38 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/address-spaces.h"
#include "exec/helper-proto.h"
#include "exec/exec-all.h"
diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c
index d23ffcd..d9baca4 100644
--- a/target/s390x/misc_helper.c
+++ b/target/s390x/misc_helper.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qemu/main-loop.h"
#include "cpu.h"
+#include "internal.h"
#include "exec/memory.h"
#include "qemu/host-utils.h"
#include "exec/helper-proto.h"
diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c
index 1ad0158..09fe5bb 100644
--- a/target/s390x/mmu_helper.c
+++ b/target/s390x/mmu_helper.c
@@ -19,6 +19,7 @@
#include "qemu/error-report.h"
#include "exec/address-spaces.h"
#include "cpu.h"
+#include "internal.h"
#include "sysemu/kvm.h"
#include "trace.h"
#include "hw/s390x/storage-keys.h"
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index cd96a8d..4b0db7b 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -30,6 +30,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
+#include "internal.h"
#include "disas/disas.h"
#include "exec/exec-all.h"
#include "tcg-op.h"
--
2.9.4
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
@ 2017-08-11 7:46 ` David Hildenbrand
2017-08-11 13:17 ` Richard Henderson
2017-08-11 14:09 ` Thomas Huth
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/ David Hildenbrand
` (4 subsequent siblings)
6 siblings, 2 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
Signed-off-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++
target/s390x/cpu.h | 88 +++++++-----------------------------------------------
2 files changed, 90 insertions(+), 78 deletions(-)
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index dadd383..81165e8 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -392,6 +392,86 @@ unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu)
return s390_count_running_cpus();
}
+
+int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_get_clock(tod_high, tod_low);
+ }
+ /* Fixme TCG */
+ *tod_high = 0;
+ *tod_low = 0;
+ return 0;
+}
+
+int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_set_clock(tod_high, tod_low);
+ }
+ /* Fixme TCG */
+ return 0;
+}
+
+int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_set_mem_limit(kvm_state, new_limit, hw_limit);
+ }
+ return 0;
+}
+
+void s390_cmma_reset(void)
+{
+ if (kvm_enabled()) {
+ kvm_s390_cmma_reset();
+ }
+}
+
+int s390_cpu_restart(S390CPU *cpu)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_cpu_restart(cpu);
+ }
+ return -ENOSYS;
+}
+
+int s390_get_memslot_count(KVMState *s)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_get_memslot_count(s);
+ } else {
+ return MAX_AVAIL_SLOTS;
+ }
+}
+
+int s390_assign_subch_ioeventfd(EventNotifier *notifier,
+ uint32_t sch_id, int vq,
+ bool assign)
+{
+ if (kvm_enabled()) {
+ return kvm_s390_assign_subch_ioeventfd(notifier, sch_id, vq, assign);
+ } else {
+ return 0;
+ }
+}
+
+void s390_crypto_reset(void)
+{
+ if (kvm_enabled()) {
+ kvm_s390_crypto_reset();
+ }
+}
+
+bool s390_get_squash_mcss(void)
+{
+ if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
+ NULL)) {
+ return true;
+ }
+
+ return false;
+}
#endif
static gchar *s390_gdb_arch_name(CPUState *cs)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 1ab88ad..a9acef6 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -421,25 +421,8 @@ static inline int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
}
#endif
-static inline int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
-{
- if (kvm_enabled()) {
- return kvm_s390_get_clock(tod_high, tod_low);
- }
- /* Fixme TCG */
- *tod_high = 0;
- *tod_low = 0;
- return 0;
-}
-
-static inline int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
-{
- if (kvm_enabled()) {
- return kvm_s390_set_clock(tod_high, tod_low);
- }
- /* Fixme TCG */
- return 0;
-}
+int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low);
+int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low);
S390CPU *s390_cpu_addr2state(uint16_t cpu_addr);
unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu);
@@ -750,69 +733,18 @@ static inline void kvm_s390_crypto_reset(void)
}
#endif
-static inline int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit)
-{
- if (kvm_enabled()) {
- return kvm_s390_set_mem_limit(kvm_state, new_limit, hw_limit);
- }
- return 0;
-}
-
-static inline void s390_cmma_reset(void)
-{
- if (kvm_enabled()) {
- kvm_s390_cmma_reset();
- }
-}
-
-static inline int s390_cpu_restart(S390CPU *cpu)
-{
- if (kvm_enabled()) {
- return kvm_s390_cpu_restart(cpu);
- }
- return -ENOSYS;
-}
-
-static inline int s390_get_memslot_count(KVMState *s)
-{
- if (kvm_enabled()) {
- return kvm_s390_get_memslot_count(s);
- } else {
- return MAX_AVAIL_SLOTS;
- }
-}
-
+int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
+void s390_cmma_reset(void);
+int s390_cpu_restart(S390CPU *cpu);
+int s390_get_memslot_count(KVMState *s);
void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
uint32_t io_int_parm, uint32_t io_int_word);
void s390_crw_mchk(void);
-
-static inline int s390_assign_subch_ioeventfd(EventNotifier *notifier,
+int s390_assign_subch_ioeventfd(EventNotifier *notifier,
uint32_t sch_id, int vq,
- bool assign)
-{
- if (kvm_enabled()) {
- return kvm_s390_assign_subch_ioeventfd(notifier, sch_id, vq, assign);
- } else {
- return 0;
- }
-}
-
-static inline void s390_crypto_reset(void)
-{
- if (kvm_enabled()) {
- kvm_s390_crypto_reset();
- }
-}
-
-static inline bool s390_get_squash_mcss(void)
-{
- if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
- NULL)) {
- return true;
- }
-
- return false;
-}
+ bool assign);
+void s390_crypto_reset(void);
+bool s390_get_squash_mcss(void);
/* machine check interruption code */
--
2.9.4
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c David Hildenbrand
@ 2017-08-11 7:46 ` David Hildenbrand
2017-08-11 13:18 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h David Hildenbrand
` (3 subsequent siblings)
6 siblings, 2 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
Let's just introduce an helper.
Signed-off-by: David Hildenbrand <david@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 4 +---
target/s390x/cpu.c | 6 ++++++
target/s390x/cpu.h | 1 +
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 1c7af39..ac087ab 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -142,9 +142,7 @@ static void ccw_init(MachineState *machine)
/* register hypercalls */
virtio_ccw_register_hcalls();
- if (kvm_enabled()) {
- kvm_s390_enable_css_support(s390_cpu_addr2state(0));
- }
+ s390_enable_css_support(s390_cpu_addr2state(0));
/*
* Non mcss-e enabled guests only see the devices from the default
* css, which is determined by the value of the squash_mcss property.
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 81165e8..c834bfb 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -472,6 +472,12 @@ bool s390_get_squash_mcss(void)
return false;
}
+void s390_enable_css_support(S390CPU *cpu)
+{
+ if (kvm_enabled()) {
+ kvm_s390_enable_css_support(cpu);
+ }
+}
#endif
static gchar *s390_gdb_arch_name(CPUState *cs)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index a9acef6..87dea80 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -404,6 +404,7 @@ int cpu_s390x_signal_handler(int host_signum, void *pinfo,
#ifndef CONFIG_USER_ONLY
+void s390_enable_css_support(S390CPU *cpu);
int s390_virtio_hypercall(CPUS390XState *env);
#ifdef CONFIG_KVM
--
2.9.4
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
` (2 preceding siblings ...)
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/ David Hildenbrand
@ 2017-08-11 7:46 ` David Hildenbrand
2017-08-11 13:19 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h David Hildenbrand
` (2 subsequent siblings)
6 siblings, 2 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
Let's move everything into internal.h
Signed-off-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu.h | 62 -------------------------------------------------
target/s390x/internal.h | 52 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 52 insertions(+), 62 deletions(-)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 87dea80..dc1eb77 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -406,22 +406,6 @@ int cpu_s390x_signal_handler(int host_signum, void *pinfo,
void s390_enable_css_support(S390CPU *cpu);
int s390_virtio_hypercall(CPUS390XState *env);
-
-#ifdef CONFIG_KVM
-int kvm_s390_inject_flic(struct kvm_s390_irq *irq);
-int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
-int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_clock);
-#else
-static inline int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
-{
- return -ENOSYS;
-}
-static inline int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
-{
- return -ENOSYS;
-}
-#endif
-
int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low);
int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low);
@@ -688,52 +672,6 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
#define ILEN_AUTO 0xff
void program_interrupt(CPUS390XState *env, uint32_t code, int ilen);
-#ifdef CONFIG_KVM
-void kvm_s390_enable_css_support(S390CPU *cpu);
-int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
- int vq, bool assign);
-int kvm_s390_cpu_restart(S390CPU *cpu);
-int kvm_s390_get_memslot_count(KVMState *s);
-int kvm_s390_cmma_active(void);
-void kvm_s390_cmma_reset(void);
-void kvm_s390_reset_vcpu(S390CPU *cpu);
-int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit, uint64_t *hw_limit);
-void kvm_s390_crypto_reset(void);
-#else
-
-static inline void kvm_s390_enable_css_support(S390CPU *cpu)
-{
-}
-static inline int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier,
- uint32_t sch, int vq,
- bool assign)
-{
- return -ENOSYS;
-}
-static inline int kvm_s390_cpu_restart(S390CPU *cpu)
-{
- return -ENOSYS;
-}
-static inline void kvm_s390_cmma_reset(void)
-{
-}
-static inline int kvm_s390_get_memslot_count(KVMState *s)
-{
- return MAX_AVAIL_SLOTS;
-}
-static inline void kvm_s390_reset_vcpu(S390CPU *cpu)
-{
-}
-static inline int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit,
- uint64_t *hw_limit)
-{
- return 0;
-}
-static inline void kvm_s390_crypto_reset(void)
-{
-}
-#endif
-
int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
void s390_cmma_reset(void);
int s390_cpu_restart(S390CPU *cpu);
diff --git a/target/s390x/internal.h b/target/s390x/internal.h
index 9a55271..c3e98b4 100644
--- a/target/s390x/internal.h
+++ b/target/s390x/internal.h
@@ -491,6 +491,19 @@ void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
int kvm_s390_get_ri(void);
int kvm_s390_get_gs(void);
+int kvm_s390_inject_flic(struct kvm_s390_irq *irq);
+int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
+int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_clock);
+void kvm_s390_enable_css_support(S390CPU *cpu);
+int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
+ int vq, bool assign);
+int kvm_s390_cpu_restart(S390CPU *cpu);
+int kvm_s390_get_memslot_count(KVMState *s);
+int kvm_s390_cmma_active(void);
+void kvm_s390_cmma_reset(void);
+void kvm_s390_reset_vcpu(S390CPU *cpu);
+int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit, uint64_t *hw_limit);
+void kvm_s390_crypto_reset(void);
#else
static inline void kvm_s390_service_interrupt(uint32_t parm)
{
@@ -535,6 +548,45 @@ static inline int kvm_s390_get_gs(void)
{
return 0;
}
+static inline int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
+{
+ return -ENOSYS;
+}
+static inline int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
+{
+ return -ENOSYS;
+}
+static inline void kvm_s390_enable_css_support(S390CPU *cpu)
+{
+}
+static inline int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier,
+ uint32_t sch, int vq,
+ bool assign)
+{
+ return -ENOSYS;
+}
+static inline int kvm_s390_cpu_restart(S390CPU *cpu)
+{
+ return -ENOSYS;
+}
+static inline void kvm_s390_cmma_reset(void)
+{
+}
+static inline int kvm_s390_get_memslot_count(KVMState *s)
+{
+ return MAX_AVAIL_SLOTS;
+}
+static inline void kvm_s390_reset_vcpu(S390CPU *cpu)
+{
+}
+static inline int kvm_s390_set_mem_limit(KVMState *s, uint64_t new_limit,
+ uint64_t *hw_limit)
+{
+ return 0;
+}
+static inline void kvm_s390_crypto_reset(void)
+{
+}
#endif /* CONFIG_KVM */
--
2.9.4
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
` (3 preceding siblings ...)
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h David Hildenbrand
@ 2017-08-11 7:46 ` David Hildenbrand
2017-08-11 13:20 ` Richard Henderson
2017-08-11 8:04 ` [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and " no-reply
2017-08-11 15:15 ` Cornelia Huck
6 siblings, 1 reply; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 7:46 UTC (permalink / raw)
To: qemu-devel; +Cc: rth, Aurelien Jarno, thuth, cohuck, david, borntraeger
Let's reshuffle the function prototypes so we get a cleaner outline
of the files.
Signed-off-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu.h | 140 ++++++++++++++++++++++++++---------------------------
1 file changed, 70 insertions(+), 70 deletions(-)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index dc1eb77..f24688f 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -392,47 +392,6 @@ static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
#define PER_CODE_EVENT_STORE_REAL 0x0800
#define PER_CODE_EVENT_NULLIFICATION 0x0100
-S390CPU *cpu_s390x_init(const char *cpu_model);
-S390CPU *s390x_new_cpu(const char *cpu_model, int64_t id, Error **errp);
-
-/* you can call this signal handler from your SIGBUS and SIGSEGV
- signal handlers to inform the virtual CPU of exceptions. non zero
- is returned if the signal was handled by the virtual CPU. */
-int cpu_s390x_signal_handler(int host_signum, void *pinfo,
- void *puc);
-
-
-#ifndef CONFIG_USER_ONLY
-
-void s390_enable_css_support(S390CPU *cpu);
-int s390_virtio_hypercall(CPUS390XState *env);
-int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low);
-int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low);
-
-S390CPU *s390_cpu_addr2state(uint16_t cpu_addr);
-unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu);
-
-void gtod_save(QEMUFile *f, void *opaque);
-int gtod_load(QEMUFile *f, void *opaque, int version_id);
-
-/* service interrupts are floating therefore we must not pass an cpustate */
-void s390_sclp_extint(uint32_t parm);
-
-#else
-static inline unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu)
-{
- return 0;
-}
-#endif
-
-extern void subsystem_reset(void);
-
-#define cpu_init(model) CPU(cpu_s390x_init(model))
-#define cpu_signal_handler cpu_s390x_signal_handler
-
-void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
-#define cpu_list s390_cpu_list
-
#define EXCP_EXT 1 /* external interrupt */
#define EXCP_SVC 2 /* supervisor call (syscall) */
#define EXCP_PGM 3 /* program interruption */
@@ -652,39 +611,10 @@ struct sysib_322 {
/* SIGP order code mask corresponding to bit positions 56-63 */
#define SIGP_ORDER_MASK 0x000000ff
-int sclp_service_call(CPUS390XState *env, uint64_t sccb, uint32_t code);
-
-int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
- int len, bool is_write);
-
-#define s390_cpu_virt_mem_read(cpu, laddr, ar, dest, len) \
- s390_cpu_virt_mem_rw(cpu, laddr, ar, dest, len, false)
-#define s390_cpu_virt_mem_write(cpu, laddr, ar, dest, len) \
- s390_cpu_virt_mem_rw(cpu, laddr, ar, dest, len, true)
-#define s390_cpu_virt_mem_check_write(cpu, laddr, ar, len) \
- s390_cpu_virt_mem_rw(cpu, laddr, ar, NULL, len, true)
-
/* from s390-virtio-ccw */
#define MEM_SECTION_SIZE 0x10000000UL
#define MAX_AVAIL_SLOTS 32
-/* automatically detect the instruction length */
-#define ILEN_AUTO 0xff
-void program_interrupt(CPUS390XState *env, uint32_t code, int ilen);
-
-int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
-void s390_cmma_reset(void);
-int s390_cpu_restart(S390CPU *cpu);
-int s390_get_memslot_count(KVMState *s);
-void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
- uint32_t io_int_parm, uint32_t io_int_word);
-void s390_crw_mchk(void);
-int s390_assign_subch_ioeventfd(EventNotifier *notifier,
- uint32_t sch_id, int vq,
- bool assign);
-void s390_crypto_reset(void);
-bool s390_get_squash_mcss(void);
-
/* machine check interruption code */
/* subclasses */
@@ -730,4 +660,74 @@ bool s390_get_squash_mcss(void);
#define MCIC_VB_CT 0x0000000000020000ULL
#define MCIC_VB_CC 0x0000000000010000ULL
+/* cpu.c */
+int s390_get_clock(uint8_t *tod_high, uint64_t *tod_low);
+int s390_set_clock(uint8_t *tod_high, uint64_t *tod_low);
+void s390_crypto_reset(void);
+bool s390_get_squash_mcss(void);
+int s390_get_memslot_count(KVMState *s);
+int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
+void s390_cmma_reset(void);
+int s390_cpu_restart(S390CPU *cpu);
+void s390_enable_css_support(S390CPU *cpu);
+int s390_assign_subch_ioeventfd(EventNotifier *notifier,
+ uint32_t sch_id, int vq,
+ bool assign);
+#ifndef CONFIG_USER_ONLY
+unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu);
+#else
+static inline unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu)
+{
+ return 0;
+}
+#endif /* CONFIG_USER_ONLY */
+
+
+/* cpu_models.c */
+void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
+#define cpu_list s390_cpu_list
+
+
+/* helper.c */
+S390CPU *cpu_s390x_init(const char *cpu_model);
+#define cpu_init(model) CPU(cpu_s390x_init(model))
+S390CPU *s390x_new_cpu(const char *cpu_model, int64_t id, Error **errp);
+/* you can call this signal handler from your SIGBUS and SIGSEGV
+ signal handlers to inform the virtual CPU of exceptions. non zero
+ is returned if the signal was handled by the virtual CPU. */
+int cpu_s390x_signal_handler(int host_signum, void *pinfo,
+ void *puc);
+#define cpu_signal_handler cpu_s390x_signal_handler
+
+
+/* interrupt.c */
+void s390_crw_mchk(void);
+void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
+ uint32_t io_int_parm, uint32_t io_int_word);
+/* automatically detect the instruction length */
+#define ILEN_AUTO 0xff
+void program_interrupt(CPUS390XState *env, uint32_t code, int ilen);
+/* service interrupts are floating therefore we must not pass an cpustate */
+void s390_sclp_extint(uint32_t parm);
+
+
+/* mmu_helper.c */
+int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
+ int len, bool is_write);
+#define s390_cpu_virt_mem_read(cpu, laddr, ar, dest, len) \
+ s390_cpu_virt_mem_rw(cpu, laddr, ar, dest, len, false)
+#define s390_cpu_virt_mem_write(cpu, laddr, ar, dest, len) \
+ s390_cpu_virt_mem_rw(cpu, laddr, ar, dest, len, true)
+#define s390_cpu_virt_mem_check_write(cpu, laddr, ar, len) \
+ s390_cpu_virt_mem_rw(cpu, laddr, ar, NULL, len, true)
+
+
+/* outside of target/s390x/ */
+S390CPU *s390_cpu_addr2state(uint16_t cpu_addr);
+extern void subsystem_reset(void);
+int sclp_service_call(CPUS390XState *env, uint64_t sccb, uint32_t code);
+int s390_virtio_hypercall(CPUS390XState *env);
+void gtod_save(QEMUFile *f, void *opaque);
+int gtod_load(QEMUFile *f, void *opaque, int version_id);
+
#endif
--
2.9.4
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
` (4 preceding siblings ...)
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h David Hildenbrand
@ 2017-08-11 8:04 ` no-reply
2017-08-11 8:53 ` David Hildenbrand
2017-08-11 15:15 ` Cornelia Huck
6 siblings, 1 reply; 29+ messages in thread
From: no-reply @ 2017-08-11 8:04 UTC (permalink / raw)
To: david; +Cc: famz, qemu-devel, thuth, cohuck, borntraeger, aurelien, rth
Hi,
This series failed build test on s390x host. Please find the details below.
Message-id: 20170811074652.31474-1-david@redhat.com
Subject: [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
Type: series
=== 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=$PWD/build
echo -n "Using CC: "
realpath $CC
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
- [tag update] patchew/20170808162629.32493-1-quintela@redhat.com -> patchew/20170808162629.32493-1-quintela@redhat.com
* [new tag] patchew/20170811074652.31474-1-david@redhat.com -> patchew/20170811074652.31474-1-david@redhat.com
Switched to a new branch 'test'
f29ea02 target/s390x: cleanup cpu.h
fabf825 target/s390x: remove all CONFIG_KVM from cpu.h
9f78e1e s390x: avoid calling kvm_ functions outside of target/s390x/
94a2578 target/s390x: move a couple of functions to cpu.c
010458c target/s390x: introduce internal.h
=== OUTPUT BEGIN ===
=== ENV ===
XDG_SESSION_ID=22147
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-05mor12r/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
libxshmfence-1.2-3.fc24.s390x
giflib-4.1.6-15.fc24.s390x
trousers-lib-0.3.13-6.fc24.s390x
ncurses-base-6.0-6.20160709.fc25.noarch
gmp-6.1.1-1.fc25.s390x
libidn-1.33-1.fc25.s390x
slang-2.3.0-7.fc25.s390x
pkgconfig-0.29.1-1.fc25.s390x
alsa-lib-1.1.1-2.fc25.s390x
yum-metadata-parser-1.1.4-17.fc25.s390x
python3-slip-dbus-0.6.4-4.fc25.noarch
python2-cssselect-0.9.2-1.fc25.noarch
createrepo_c-libs-0.10.0-6.fc25.s390x
initscripts-9.69-1.fc25.s390x
parted-3.2-21.fc25.s390x
flex-2.6.0-3.fc25.s390x
colord-libs-1.3.4-1.fc25.s390x
python-osbs-client-0.33-3.fc25.noarch
perl-Pod-Simple-3.35-1.fc25.noarch
python2-simplejson-3.10.0-1.fc25.s390x
brltty-5.4-2.fc25.s390x
librados2-10.2.4-2.fc25.s390x
tcp_wrappers-7.6-83.fc25.s390x
libcephfs_jni1-10.2.4-2.fc25.s390x
nettle-devel-3.3-1.fc25.s390x
bzip2-devel-1.0.6-21.fc25.s390x
libuuid-2.28.2-2.fc25.s390x
python3-dnf-1.1.10-6.fc25.noarch
texlive-kpathsea-doc-svn41139-33.fc25.1.noarch
openssh-7.4p1-4.fc25.s390x
texlive-kpathsea-bin-svn40473-33.20160520.fc25.1.s390x
texlive-graphics-svn41015-33.fc25.1.noarch
texlive-dvipdfmx-def-svn40328-33.fc25.1.noarch
texlive-mfware-svn40768-33.fc25.1.noarch
texlive-texlive-scripts-svn41433-33.fc25.1.noarch
texlive-euro-svn22191.1.1-33.fc25.1.noarch
texlive-etex-svn37057.0-33.fc25.1.noarch
texlive-iftex-svn29654.0.2-33.fc25.1.noarch
texlive-palatino-svn31835.0-33.fc25.1.noarch
texlive-texlive-docindex-svn41430-33.fc25.1.noarch
texlive-xunicode-svn30466.0.981-33.fc25.1.noarch
texlive-koma-script-svn41508-33.fc25.1.noarch
texlive-pst-grad-svn15878.1.06-33.fc25.1.noarch
texlive-pst-blur-svn15878.2.0-33.fc25.1.noarch
texlive-jknapltx-svn19440.0-33.fc25.1.noarch
texinfo-6.1-4.fc25.s390x
openssl-devel-1.0.2k-1.fc25.s390x
gdk-pixbuf2-2.36.6-1.fc25.s390x
nspr-4.14.0-2.fc25.s390x
nss-softokn-freebl-3.30.2-1.0.fc25.s390x
jansson-2.10-2.fc25.s390x
fedora-repos-25-4.noarch
python3-libs-3.5.3-6.fc25.s390x
perl-Errno-1.25-387.fc25.s390x
acl-2.2.52-13.fc25.s390x
pcre2-utf16-10.23-8.fc25.s390x
pango-1.40.5-1.fc25.s390x
systemd-pam-231-17.fc25.s390x
python2-gluster-3.10.4-1.fc25.s390x
NetworkManager-libnm-1.4.4-5.fc25.s390x
selinux-policy-3.13.1-225.18.fc25.noarch
poppler-0.45.0-5.fc25.s390x
ccache-3.3.4-1.fc25.s390x
valgrind-3.12.0-9.fc25.s390x
perl-open-1.10-387.fc25.noarch
libaio-0.3.110-6.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
linux-atm-libs-2.5.1-14.fc24.s390x
libXext-1.3.3-4.fc24.s390x
libXxf86vm-1.1.4-3.fc24.s390x
bison-3.0.4-4.fc24.s390x
perl-srpm-macros-1-20.fc25.noarch
gawk-4.1.3-8.fc25.s390x
libwayland-client-1.12.0-1.fc25.s390x
perl-Exporter-5.72-366.fc25.noarch
perl-version-0.99.17-1.fc25.s390x
fftw-libs-double-3.3.5-3.fc25.s390x
libssh2-1.8.0-1.fc25.s390x
ModemManager-glib-1.6.4-1.fc25.s390x
newt-python3-0.52.19-2.fc25.s390x
python-munch-2.0.4-3.fc25.noarch
python-bugzilla-1.2.2-4.fc25.noarch
libedit-3.1-16.20160618cvs.fc25.s390x
createrepo_c-0.10.0-6.fc25.s390x
device-mapper-multipath-libs-0.4.9-83.fc25.s390x
yum-3.4.3-510.fc25.noarch
dracut-config-rescue-044-78.fc25.s390x
mozjs17-17.0.0-16.fc25.s390x
libselinux-2.5-13.fc25.s390x
libgo-devel-6.3.1-1.fc25.s390x
python2-pyparsing-2.1.10-1.fc25.noarch
cairo-gobject-1.14.8-1.fc25.s390x
ethtool-4.8-1.fc25.s390x
xorg-x11-proto-devel-7.7-20.fc25.noarch
brlapi-0.6.5-2.fc25.s390x
librados-devel-10.2.4-2.fc25.s390x
libXinerama-devel-1.1.3-6.fc24.s390x
lua-posix-33.3.1-3.fc25.s390x
usbredir-devel-0.7.1-2.fc24.s390x
libepoxy-1.4.1-1.fc25.s390x
python3-dnf-plugins-core-0.1.21-5.fc25.noarch
texlive-pdftex-doc-svn41149-33.fc25.1.noarch
openssh-clients-7.4p1-4.fc25.s390x
iptables-1.6.0-3.fc25.s390x
texlive-texlive.infra-svn41280-33.fc25.1.noarch
texlive-graphics-cfg-svn40269-33.fc25.1.noarch
texlive-bibtex-svn40768-33.fc25.1.noarch
texlive-mfware-bin-svn40473-33.20160520.fc25.1.s390x
texlive-texlive-scripts-bin-svn29741.0-33.20160520.fc25.1.noarch
texlive-sauerj-svn15878.0-33.fc25.1.noarch
texlive-enctex-svn34957.0-33.fc25.1.noarch
texlive-ifetex-svn24853.1.2-33.fc25.1.noarch
texlive-ntgclass-svn15878.2.1a-33.fc25.1.noarch
texlive-tex-gyre-math-svn41264-33.fc25.1.noarch
texlive-bera-svn20031.0-33.fc25.1.noarch
texlive-ms-svn29849.0-33.fc25.1.noarch
texlive-pst-fill-svn15878.1.01-33.fc25.1.noarch
texlive-ctable-svn38672-33.fc25.1.noarch
texlive-extsizes-svn17263.1.4a-33.fc25.1.noarch
texlive-collection-latexrecommended-svn35765.0-33.20160520.fc25.1.noarch
perl-Filter-1.57-1.fc25.s390x
krb5-workstation-1.14.4-7.fc25.s390x
python2-rpm-macros-3-12.fc25.noarch
libglvnd-egl-0.2.999-14.20170308git8e6e102.fc25.s390x
libglvnd-opengl-0.2.999-14.20170308git8e6e102.fc25.s390x
gdbm-1.13-1.fc25.s390x
nss-util-3.30.2-1.0.fc25.s390x
libcrypt-nss-2.24-9.fc25.s390x
libtasn1-4.12-1.fc25.s390x
fedora-release-25-2.noarch
gdb-headless-7.12.1-48.fc25.s390x
perl-macros-5.24.2-387.fc25.s390x
sqlite-devel-3.14.2-2.fc25.s390x
pcre-devel-8.41-1.fc25.s390x
libX11-1.6.5-1.fc25.s390x
coreutils-8.25-17.fc25.s390x
python2-openidc-client-0-3.20170523git77cb3ee.fc25.noarch
nss-sysinit-3.30.2-1.1.fc25.s390x
systemtap-client-3.1-5.fc25.s390x
nss-devel-3.30.2-1.1.fc25.s390x
firewalld-0.4.4.5-1.fc25.noarch
rpmlint-1.9-9.fc25.noarch
system-python-3.5.3-6.fc25.s390x
gpg-pubkey-efe550f5-5220ba41
gpg-pubkey-81b46521-55b3ca9a
filesystem-3.2-37.fc24.s390x
libffi-3.1-9.fc24.s390x
keyutils-libs-1.5.9-8.fc24.s390x
libnfnetlink-1.0.1-8.fc24.s390x
libtheora-1.1.1-14.fc24.s390x
xml-common-0.6.3-44.fc24.noarch
autoconf-2.69-22.fc24.noarch
libXt-1.1.5-3.fc24.s390x
kbd-legacy-2.0.3-3.fc24.noarch
ghostscript-fonts-5.50-35.fc24.noarch
libXevie-1.0.3-11.fc24.s390x
libcap-2.25-2.fc25.s390x
mpfr-3.1.5-1.fc25.s390x
perl-Carp-1.40-365.fc25.noarch
libmnl-1.0.4-1.fc25.s390x
perl-Unicode-EastAsianWidth-1.33-8.fc25.noarch
libwayland-cursor-1.12.0-1.fc25.s390x
python-krbV-1.0.90-12.fc25.s390x
python2-urllib3-1.15.1-3.fc25.noarch
fipscheck-1.4.1-11.fc25.s390x
libndp-1.6-1.fc25.s390x
gnupg2-2.1.13-2.fc25.s390x
libXfixes-5.0.3-1.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
dejagnu-1.6-1.fc25.noarch
libstdc++-devel-6.3.1-1.fc25.s390x
device-mapper-1.02.136-3.fc25.s390x
subversion-1.9.5-1.fc25.s390x
libtool-ltdl-2.4.6-13.fc25.s390x
libevent-2.0.22-1.fc25.s390x
atk-devel-2.22.0-1.fc25.s390x
libev-4.24-1.fc25.s390x
xorg-x11-fonts-Type1-7.5-16.fc24.noarch
brlapi-devel-0.6.5-2.fc25.s390x
pulseaudio-libs-10.0-2.fc25.s390x
glib2-2.50.3-1.fc25.s390x
python2-rpm-4.13.0.1-1.fc25.s390x
dnf-1.1.10-6.fc25.noarch
texlive-metafont-bin-svn40987-33.20160520.fc25.1.s390x
texlive-xkeyval-svn35741.2.7a-33.fc25.1.noarch
texlive-euler-svn17261.2.5-33.fc25.1.noarch
texlive-mptopdf-svn41282-33.fc25.1.noarch
texlive-wasy-svn35831.0-33.fc25.1.noarch
texlive-avantgar-svn31835.0-33.fc25.1.noarch
texlive-eurosym-svn17265.1.4_subrfix-33.fc25.1.noarch
texlive-knuth-lib-svn35820.0-33.fc25.1.noarch
texlive-parallel-svn15878.0-33.fc25.1.noarch
texlive-texlive-msg-translations-svn41431-33.fc25.1.noarch
texlive-latex-svn40218-33.fc25.1.noarch
texlive-lualatex-math-svn40621-33.fc25.1.noarch
texlive-auto-pst-pdf-svn23723.0.6-33.fc25.1.noarch
texlive-powerdot-svn38984-33.fc25.1.noarch
texlive-wasysym-svn15878.2.0-33.fc25.1.noarch
ImageMagick-libs-6.9.3.0-6.fc25.s390x
geoclue2-2.4.5-1.fc25.s390x
perl-IO-Socket-IP-0.39-1.fc25.noarch
python2-pyasn1-0.2.3-1.fc25.noarch
libglvnd-0.2.999-14.20170308git8e6e102.fc25.s390x
libglvnd-gles-0.2.999-14.20170308git8e6e102.fc25.s390x
gdk-pixbuf2-devel-2.36.6-1.fc25.s390x
at-spi2-core-devel-2.22.1-1.fc25.s390x
libacl-2.2.52-13.fc25.s390x
perl-libs-5.24.2-387.fc25.s390x
mesa-libglapi-17.0.5-3.fc25.s390x
kernel-headers-4.11.10-200.fc25.s390x
p11-kit-devel-0.23.2-4.fc25.s390x
python3-rpmconf-1.0.19-1.fc25.noarch
sqlite-3.14.2-2.fc25.s390x
pcre-utf32-8.41-1.fc25.s390x
libX11-common-1.6.5-1.fc25.noarch
coreutils-common-8.25-17.fc25.s390x
mesa-libEGL-17.0.5-3.fc25.s390x
nss-3.30.2-1.1.fc25.s390x
systemtap-runtime-3.1-5.fc25.s390x
NetworkManager-glib-1.4.4-5.fc25.s390x
audit-2.7.7-1.fc25.s390x
perl-Time-HiRes-1.9742-1.fc25.s390x
libsolv-0.6.28-1.fc25.s390x
gpg-pubkey-34ec9cba-54e38751
gpg-pubkey-030d5aed-55b577f0
basesystem-11-2.fc24.noarch
libmpc-1.0.2-5.fc24.s390x
libunistring-0.9.4-3.fc24.s390x
libmodman-2.0.1-12.fc24.s390x
lsscsi-0.28-3.fc24.s390x
kbd-misc-2.0.3-3.fc24.noarch
kmod-23-1.fc25.s390x
newt-0.52.19-2.fc25.s390x
perl-Text-Unidecode-1.27-3.fc25.noarch
plymouth-core-libs-0.9.3-0.6.20160620git0e65b86c.fc25.s390x
which-2.21-1.fc25.s390x
python3-slip-0.6.4-4.fc25.noarch
python3-systemd-232-1.fc25.s390x
python-lockfile-0.11.0-4.fc25.noarch
python2-requests-2.10.0-4.fc25.noarch
libnghttp2-1.13.0-2.fc25.s390x
python-urlgrabber-3.10.1-9.fc25.noarch
iputils-20161105-1.fc25.s390x
rest-0.8.0-1.fc25.s390x
adwaita-cursor-theme-3.22.0-1.fc25.noarch
authconfig-6.2.10-14.fc25.s390x
automake-1.15-7.fc25.noarch
shared-mime-info-1.8-1.fc25.s390x
pigz-2.3.4-1.fc25.s390x
device-mapper-libs-1.02.136-3.fc25.s390x
dnsmasq-2.76-2.fc25.s390x
fedora-packager-0.6.0.1-1.fc25.noarch
gcc-c++-6.3.1-1.fc25.s390x
libwebp-0.5.2-1.fc25.s390x
boost-system-1.60.0-10.fc25.s390x
libasyncns-0.8-10.fc24.s390x
libXau-devel-1.0.8-6.fc24.s390x
libverto-libev-0.2.6-6.fc24.s390x
python3-html5lib-0.999-9.fc25.noarch
ttmkfdir-3.0.9-48.fc24.s390x
pulseaudio-libs-glib2-10.0-2.fc25.s390x
wpa_supplicant-2.6-1.fc25.s390x
texlive-lib-2016-33.20160520.fc25.s390x
libXi-devel-1.7.9-1.fc25.s390x
python3-distro-1.0.3-1.fc25.noarch
rpm-plugin-systemd-inhibit-4.13.0.1-1.fc25.s390x
texlive-texlive-common-doc-svn40682-33.fc25.1.noarch
packagedb-cli-2.14.1-1.fc25.noarch
texlive-metafont-svn40793-33.fc25.1.noarch
texlive-tools-svn40934-33.fc25.1.noarch
texlive-enumitem-svn24146.3.5.2-33.fc25.1.noarch
texlive-mptopdf-bin-svn18674.0-33.20160520.fc25.1.noarch
texlive-underscore-svn18261.0-33.fc25.1.noarch
texlive-anysize-svn15878.0-33.fc25.1.noarch
texlive-euenc-svn19795.0.1h-33.fc25.1.noarch
texlive-kastrup-svn15878.0-33.fc25.1.noarch
texlive-paralist-svn39247-33.fc25.1.noarch
texlive-texlive-en-svn41185-33.fc25.1.noarch
texlive-tipa-svn29349.1.3-33.fc25.1.noarch
texlive-currfile-svn40725-33.fc25.1.noarch
texlive-pst-node-svn40743-33.fc25.1.noarch
texlive-pst-slpe-svn24391.1.31-33.fc25.1.noarch
texlive-typehtml-svn17134.0-33.fc25.1.noarch
SDL2-devel-2.0.5-3.fc25.s390x
libcroco-0.6.11-3.fc25.s390x
bluez-libs-devel-5.44-1.fc25.s390x
kernel-4.10.8-200.fc25.s390x
expat-2.2.1-1.fc25.s390x
system-python-libs-3.5.3-6.fc25.s390x
pcre2-10.23-8.fc25.s390x
firewalld-filesystem-0.4.4.5-1.fc25.noarch
pcre-cpp-8.41-1.fc25.s390x
python3-firewall-0.4.4.5-1.fc25.noarch
freetype-devel-2.6.5-9.fc25.s390x
pcre-utf16-8.41-1.fc25.s390x
linux-firmware-20170605-74.git37857004.fc25.noarch
distribution-gpg-keys-1.12-1.fc25.noarch
kernel-modules-4.11.10-200.fc25.s390x
gnutls-devel-3.5.14-1.fc25.s390x
systemtap-devel-3.1-5.fc25.s390x
java-1.8.0-openjdk-1.8.0.131-1.b12.fc25.s390x
polkit-0.113-8.fc25.s390x
perl-SelfLoader-1.23-387.fc25.noarch
libdb-utils-5.3.28-24.fc25.s390x
fontpackages-filesystem-1.44-17.fc24.noarch
groff-base-1.22.3-8.fc24.s390x
ilmbase-2.2.0-5.fc24.s390x
OpenEXR-libs-2.2.0-5.fc24.s390x
hesiod-3.2.1-6.fc24.s390x
sysfsutils-2.1.0-19.fc24.s390x
ocaml-srpm-macros-2-4.fc24.noarch
mailx-12.5-19.fc24.s390x
ncurses-libs-6.0-6.20160709.fc25.s390x
ipset-libs-6.29-1.fc25.s390x
gmp-devel-6.1.1-1.fc25.s390x
python-pip-8.1.2-2.fc25.noarch
harfbuzz-1.3.2-1.fc25.s390x
python2-iniparse-0.4-20.fc25.noarch
python3-iniparse-0.4-20.fc25.noarch
python3-kickstart-2.32-1.fc25.noarch
perl-Net-SSLeay-1.78-1.fc25.s390x
drpm-0.3.0-3.fc25.s390x
glib-networking-2.50.0-1.fc25.s390x
webkitgtk3-2.4.11-3.fc25.s390x
libXaw-1.0.13-4.fc25.s390x
xorg-x11-font-utils-7.5-32.fc25.s390x
hardlink-1.1-1.fc25.s390x
libcom_err-1.43.3-1.fc25.s390x
python2-dateutil-2.6.0-1.fc25.noarch
libXpm-3.5.12-1.fc25.s390x
python2-smmap-2.0.1-1.fc25.noarch
poppler-data-0.4.7-6.fc25.noarch
librbd1-10.2.4-2.fc25.s390x
perl-Digest-MD5-2.55-2.fc25.s390x
wayland-protocols-devel-1.7-1.fc25.noarch
texi2html-5.0-4.fc24.noarch
libxkbcommon-0.7.1-1.fc25.s390x
libuuid-devel-2.28.2-2.fc25.s390x
libcacard-2.5.3-1.fc25.s390x
libwmf-lite-0.2.8.4-50.fc25.s390x
texlive-tetex-svn41059-33.fc25.1.noarch
texlive-thumbpdf-svn34621.3.16-33.fc25.1.noarch
texlive-carlisle-svn18258.0-33.fc25.1.noarch
texlive-makeindex-bin-svn40473-33.20160520.fc25.1.s390x
texlive-pdftex-svn41149-33.fc25.1.noarch
texlive-csquotes-svn39538-33.fc25.1.noarch
texlive-courier-svn35058.0-33.fc25.1.noarch
texlive-helvetic-svn31835.0-33.fc25.1.noarch
texlive-mfnfss-svn19410.0-33.fc25.1.noarch
texlive-sepnum-svn20186.2.0-33.fc25.1.noarch
texlive-utopia-svn15878.0-33.fc25.1.noarch
texlive-luatexbase-svn38550-33.fc25.1.noarch
texlive-pst-3d-svn17257.1.10-33.fc25.1.noarch
texlive-latex-bin-bin-svn14050.0-33.20160520.fc25.1.noarch
texlive-l3experimental-svn41163-33.fc25.1.noarch
net-tools-2.0-0.40.20160329git.fc25.s390x
perl-Pod-Perldoc-3.28-1.fc25.noarch
openssl-1.0.2k-1.fc25.s390x
man-pages-4.06-4.fc25.noarch
python3-magic-5.29-4.fc25.noarch
libxml2-2.9.4-2.fc25.s390x
nss-softokn-3.30.2-1.0.fc25.s390x
p11-kit-trust-0.23.2-4.fc25.s390x
emacs-filesystem-25.2-2.fc25.noarch
python3-dateutil-2.6.0-1.fc25.noarch
perl-threads-shared-1.57-1.fc25.s390x
libnotify-0.7.7-1.fc25.s390x
unzip-6.0-32.fc25.s390x
pango-devel-1.40.5-1.fc25.s390x
libdrm-2.4.81-1.fc25.s390x
python-beautifulsoup4-4.6.0-1.fc25.noarch
libcurl-7.51.0-7.fc25.s390x
dhcp-client-4.3.5-3.fc25.s390x
python2-fedora-0.9.0-6.fc25.noarch
emacs-25.2-2.fc25.s390x
gdb-7.12.1-48.fc25.s390x
expat-devel-2.2.1-1.fc25.s390x
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
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
libcap-ng-0.7.8-1.fc25.s390x
binutils-2.26.1-1.fc25.s390x
lcms2-2.8-2.fc25.s390x
libcomps-0.1.7-5.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
gmp-c++-6.1.1-1.fc25.s390x
fontconfig-2.12.1-1.fc25.s390x
enchant-1.6.0-14.fc25.s390x
pyliblzma-0.5.3-16.fc25.s390x
libsepol-devel-2.5-10.fc25.s390x
python3-ordered-set-2.0.0-4.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
dracut-044-78.fc25.s390x
python2-pygpgme-0.3-18.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
bzip2-libs-1.0.6-21.fc25.s390x
libpng-1.6.27-1.fc25.s390x
desktop-file-utils-0.23-2.fc25.s390x
python2-cccolutils-1.4-1.fc25.s390x
python2-lxml-3.7.2-1.fc25.s390x
redhat-rpm-config-45-1.fc25.noarch
device-mapper-event-libs-1.02.136-3.fc25.s390x
lvm2-libs-2.02.167-3.fc25.s390x
python2-gitdb-2.0.0-1.fc25.noarch
gcc-gfortran-6.3.1-1.fc25.s390x
libselinux-python-2.5-13.fc25.s390x
openjpeg2-2.1.2-3.fc25.s390x
boost-thread-1.60.0-10.fc25.s390x
librbd-devel-10.2.4-2.fc25.s390x
libXcursor-devel-1.1.14-6.fc24.s390x
latex2html-2012-7.fc24.noarch
lksctp-tools-1.0.16-5.fc24.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
pulseaudio-libs-devel-10.0-2.fc25.s390x
libepoxy-devel-1.4.1-1.fc25.s390x
krb5-libs-1.14.4-7.fc25.s390x
libmount-2.28.2-2.fc25.s390x
python3-decorator-4.0.11-1.fc25.noarch
rpm-plugin-selinux-4.13.0.1-1.fc25.s390x
tzdata-java-2017b-1.fc25.noarch
python-srpm-macros-3-12.fc25.noarch
libsmartcols-2.28.2-2.fc25.s390x
kernel-core-4.10.5-200.fc25.s390x
kernel-modules-4.10.5-200.fc25.s390x
texlive-kpathsea-svn41139-33.fc25.1.noarch
texlive-amsmath-svn41561-33.fc25.1.noarch
texlive-thumbpdf-bin-svn6898.0-33.20160520.fc25.1.noarch
texlive-psnfss-svn33946.9.2a-33.fc25.1.noarch
texlive-subfig-svn15878.1.3-33.fc25.1.noarch
texlive-fancybox-svn18304.1.4-33.fc25.1.noarch
texlive-lua-alt-getopt-svn29349.0.7.0-33.fc25.1.noarch
texlive-natbib-svn20668.8.31b-33.fc25.1.noarch
texlive-pdftex-bin-svn40987-33.20160520.fc25.1.s390x
texlive-xdvi-svn40768-33.fc25.1.noarch
texlive-crop-svn15878.1.5-33.fc25.1.noarch
texlive-babel-english-svn30264.3.3p-33.fc25.1.noarch
texlive-cmextra-svn32831.0-33.fc25.1.noarch
texlive-fancyhdr-svn15878.3.1-33.fc25.1.noarch
texlive-luatex-svn40963-33.fc25.1.noarch
texlive-knuth-local-svn38627-33.fc25.1.noarch
texlive-mflogo-font-svn36898.1.002-33.fc25.1.noarch
texlive-parskip-svn19963.2.0-33.fc25.1.noarch
texlive-section-svn20180.0-33.fc25.1.noarch
texlive-textcase-svn15878.0-33.fc25.1.noarch
texlive-updmap-map-svn41159-33.fc25.1.noarch
texlive-attachfile-svn38830-33.fc25.1.noarch
libglvnd-glx-0.2.999-14.20170308git8e6e102.fc25.s390x
libglvnd-core-devel-0.2.999-14.20170308git8e6e102.fc25.s390x
python-magic-5.29-4.fc25.noarch
glibc-common-2.24-9.fc25.s390x
sqlite-libs-3.14.2-2.fc25.s390x
libtiff-4.0.8-1.fc25.s390x
libdb-5.3.28-24.fc25.s390x
glusterfs-client-xlators-3.10.4-1.fc25.s390x
nss-util-devel-3.30.2-1.0.fc25.s390x
gnutls-3.5.14-1.fc25.s390x
bind-license-9.10.5-2.P2.fc25.noarch
mesa-libGLES-17.0.5-3.fc25.s390x
python3-requests-kerberos-0.10.0-2.fc25.noarch
python3-pyOpenSSL-16.2.0-1.fc25.noarch
perl-threads-2.16-1.fc25.s390x
cryptsetup-libs-1.7.5-1.fc25.s390x
vim-minimal-8.0.705-1.fc25.s390x
netpbm-10.79.00-1.fc25.s390x
qrencode-libs-3.4.4-1.fc25.s390x
mariadb-config-10.1.24-3.fc25.s390x
gstreamer1-plugins-base-1.10.5-1.fc25.s390x
elfutils-default-yama-scope-0.169-1.fc25.noarch
glusterfs-3.10.4-1.fc25.s390x
systemd-udev-231-17.fc25.s390x
python2-koji-1.13.0-2.fc25.noarch
unbound-libs-1.6.3-1.fc25.s390x
openldap-2.4.44-11.fc25.s390x
koji-1.13.0-2.fc25.noarch
bind99-libs-9.9.10-2.P3.fc25.s390x
libcurl-devel-7.51.0-7.fc25.s390x
mesa-libGL-devel-17.0.5-3.fc25.s390x
python2-sssdconfig-1.15.2-5.fc25.noarch
webkitgtk4-plugin-process-gtk2-2.16.5-1.fc25.s390x
graphite2-devel-1.3.10-1.fc25.s390x
systemtap-sdt-devel-3.1-5.fc25.s390x
iproute-tc-4.11.0-1.fc25.s390x
libarchive-3.2.2-2.fc25.s390x
publicsuffix-list-dafsa-20170424-1.fc25.noarch
texlive-luaotfload-svn40902-33.fc25.1.noarch
texlive-unicode-math-svn38462-33.fc25.1.noarch
texlive-fancyvrb-svn18492.2.8-33.fc25.1.noarch
texlive-pst-pdf-bin-svn7838.0-33.20160520.fc25.1.noarch
texlive-amscls-svn36804.0-33.fc25.1.noarch
texlive-ltxmisc-svn21927.0-33.fc25.1.noarch
texlive-breqn-svn38099.0.98d-33.fc25.1.noarch
texlive-xetex-def-svn40327-33.fc25.1.noarch
openssh-server-7.4p1-4.fc25.s390x
sendmail-8.15.2-8.fc25.s390x
tzdata-2017b-1.fc25.noarch
hunspell-1.4.1-2.fc25.s390x
gpg-pubkey-8e1431d5-53bcbac7
zlib-1.2.8-10.fc24.s390x
sed-4.2.2-15.fc24.s390x
psmisc-22.21-8.fc24.s390x
gpm-libs-1.20.7-9.fc24.s390x
zip-3.0-16.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
nettle-3.3-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
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
s390utils-osasnmpd-1.36.0-1.fc25.s390x
python-dnf-plugins-extras-common-0.0.12-4.fc25.noarch
fpc-srpm-macros-1.0-1.fc25.noarch
libuser-0.62-4.fc25.s390x
man-db-2.7.5-3.fc25.s390x
python-systemd-doc-232-1.fc25.s390x
lz4-1.7.5-1.fc25.s390x
tar-1.29-3.fc25.s390x
bodhi-client-0.9.12.2-6.fc25.noarch
cairo-1.14.8-1.fc25.s390x
gcc-go-6.3.1-1.fc25.s390x
cracklib-dicts-2.9.6-4.fc25.s390x
libselinux-python3-2.5-13.fc25.s390x
python2-enchant-1.6.8-1.fc25.noarch
boost-iostreams-1.60.0-10.fc25.s390x
userspace-rcu-0.9.2-2.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
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
info-6.1-4.fc25.s390x
iptables-libs-1.6.0-3.fc25.s390x
libfdisk-2.28.2-2.fc25.s390x
dnf-plugins-core-0.1.21-5.fc25.noarch
perl-Storable-2.56-368.fc25.s390x
python2-decorator-4.0.11-1.fc25.noarch
libnetfilter_conntrack-1.0.6-2.fc25.s390x
texlive-texlive.infra-bin-svn40312-33.20160520.fc25.1.s390x
texlive-ifluatex-svn41346-33.fc25.1.noarch
texlive-fp-svn15878.0-33.fc25.1.noarch
texlive-latex-fonts-svn28888.0-33.fc25.1.noarch
texlive-bibtex-bin-svn40473-33.20160520.fc25.1.s390x
texlive-glyphlist-svn28576.0-33.fc25.1.noarch
texlive-marvosym-svn29349.2.2a-33.fc25.1.noarch
texlive-tex-bin-svn40987-33.20160520.fc25.1.s390x
texlive-texconfig-svn40768-33.fc25.1.noarch
texlive-wasy2-ps-svn35830.0-33.fc25.1.noarch
texlive-psfrag-svn15878.3.04-33.fc25.1.noarch
texlive-charter-svn15878.0-33.fc25.1.noarch
texlive-ec-svn25033.1.0-33.fc25.1.noarch
texlive-lineno-svn21442.4.41-33.fc25.1.noarch
texlive-hyphen-base-svn41138-33.fc25.1.noarch
texlive-manfnt-font-svn35799.0-33.fc25.1.noarch
texlive-ncntrsbk-svn31835.0-33.fc25.1.noarch
texlive-pst-math-svn34786.0.63-33.fc25.1.noarch
texlive-symbol-svn31835.0-33.fc25.1.noarch
texlive-environ-svn33821.0.3-33.fc25.1.noarch
texlive-algorithms-svn38085.0.1-33.fc25.1.noarch
kernel-core-4.10.8-200.fc25.s390x
libglvnd-devel-0.2.999-14.20170308git8e6e102.fc25.s390x
python3-hawkey-0.6.4-3.fc25.s390x
glibc-all-langpacks-2.24-9.fc25.s390x
freetype-2.6.5-9.fc25.s390x
mesa-libwayland-egl-17.0.5-3.fc25.s390x
libicu-57.1-5.fc25.s390x
nspr-devel-4.14.0-2.fc25.s390x
libnl3-cli-3.2.29-3.fc25.s390x
cups-libs-2.2.0-9.fc25.s390x
bind-libs-lite-9.10.5-2.P2.fc25.s390x
ca-certificates-2017.2.14-1.0.fc25.noarch
python3-kerberos-1.2.5-1.fc25.s390x
python3-cryptography-1.5.3-3.fc25.s390x
perl-IO-1.36-387.fc25.s390x
dhcp-libs-4.3.5-3.fc25.s390x
rsync-3.1.2-4.fc25.s390x
make-4.1-6.fc25.s390x
pcre2-devel-10.23-8.fc25.s390x
quota-4.03-8.fc25.s390x
libX11-devel-1.6.5-1.fc25.s390x
ghostscript-9.20-9.fc25.s390x
dbus-1.11.14-1.fc25.s390x
rpcbind-0.2.4-6.rc2.fc25.s390x
pyOpenSSL-16.2.0-1.fc25.noarch
glusterfs-devel-3.10.4-1.fc25.s390x
nss-tools-3.30.2-1.1.fc25.s390x
python3-pycurl-7.43.0-6.fc25.s390x
bind99-license-9.9.10-2.P3.fc25.noarch
curl-7.51.0-7.fc25.s390x
glusterfs-api-devel-3.10.4-1.fc25.s390x
python-firewall-0.4.4.5-1.fc25.noarch
netpbm-progs-10.79.00-1.fc25.s390x
libsndfile-1.0.28-3.fc25.s390x
python3-sssdconfig-1.15.2-5.fc25.noarch
wget-1.18-3.fc25.s390x
libsemanage-2.5-9.fc25.s390x
telnet-0.17-68.fc25.s390x
texlive-ifplatform-svn21156.0.4-33.fc25.1.noarch
texlive-eso-pic-svn37925.2.0g-33.fc25.1.noarch
texlive-xcolor-svn41044-33.fc25.1.noarch
texlive-pst-eps-svn15878.1.0-33.fc25.1.noarch
texlive-pst-text-svn15878.1.00-33.fc25.1.noarch
texlive-rotating-svn16832.2.16b-33.fc25.1.noarch
texlive-pdfpages-svn40638-33.fc25.1.noarch
texlive-cm-super-svn15878.0-33.fc25.1.noarch
texlive-xetex-svn41438-33.fc25.1.noarch
dnf-yum-1.1.10-6.fc25.noarch
libseccomp-devel-2.3.2-1.fc25.s390x
gpgme-1.8.0-10.fc25.s390x
apr-util-1.5.4-3.fc24.s390x
jbigkit-libs-2.1-5.fc24.s390x
pixman-0.34.0-2.fc24.s390x
dwz-0.12-2.fc24.s390x
expect-5.45-22.fc24.s390x
libsigsegv-2.10-10.fc24.s390x
fakeroot-libs-1.20.2-4.fc24.s390x
m17n-lib-1.7.0-5.fc24.s390x
libverto-0.2.6-6.fc24.s390x
libXmu-1.1.2-4.fc24.s390x
libXcursor-1.1.14-6.fc24.s390x
python-kitchen-1.2.4-2.fc24.noarch
fakeroot-1.20.2-4.fc24.s390x
blktrace-1.1.0-3.fc24.s390x
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
libgpg-error-1.24-1.fc25.s390x
findutils-4.6.0-8.fc25.s390x
libassuan-2.4.3-1.fc25.s390x
libusbx-1.0.21-1.fc25.s390x
libxslt-1.1.28-13.fc25.s390x
libmetalink-0.1.3-1.fc25.s390x
perl-MIME-Base64-3.15-365.fc25.s390x
ncurses-6.0-6.20160709.fc25.s390x
libwayland-server-1.12.0-1.fc25.s390x
perl-Fedora-VSP-0.001-4.fc25.noarch
perl-libintl-perl-1.26-1.fc25.s390x
shadow-utils-4.2.1-11.fc25.s390x
atk-2.22.0-1.fc25.s390x
pam-1.3.0-1.fc25.s390x
harfbuzz-icu-1.3.2-1.fc25.s390x
libsecret-0.18.5-2.fc25.s390x
s390utils-iucvterm-1.36.0-1.fc25.s390x
python3-requests-2.10.0-4.fc25.noarch
pyusb-1.0.0-2.fc25.noarch
python-enum34-1.0.4-6.fc25.noarch
pyxattr-0.5.3-8.fc25.s390x
libbabeltrace-1.4.0-3.fc25.s390x
libthai-0.1.25-1.fc25.s390x
deltarpm-3.6-17.fc25.s390x
s390utils-mon_statd-1.36.0-1.fc25.s390x
device-mapper-multipath-0.4.9-83.fc25.s390x
python3-pygpgme-0.3-18.fc25.s390x
libreport-filesystem-2.8.0-1.fc25.s390x
ghc-srpm-macros-1.4.2-4.fc25.noarch
rpmdevtools-8.9-1.fc25.noarch
python-dnf-plugins-extras-migrate-0.0.12-4.fc25.noarch
perl-IO-Socket-SSL-2.038-1.fc25.noarch
perl-File-ShareDir-1.102-7.fc25.noarch
tcl-8.6.6-1.fc25.s390x
bzip2-1.0.6-21.fc25.s390x
libss-1.43.3-1.fc25.s390x
libselinux-utils-2.5-13.fc25.s390x
python3-enchant-1.6.8-1.fc25.noarch
python2-dockerfile-parse-0.0.5-7.fc25.noarch
systemd-bootchart-231-2.fc25.s390x
gcc-objc-6.3.1-1.fc25.s390x
e2fsprogs-1.43.3-1.fc25.s390x
libstdc++-static-6.3.1-1.fc25.s390x
libpng-devel-1.6.27-1.fc25.s390x
perl-XML-Parser-2.44-5.fc25.s390x
lttng-ust-2.8.1-2.fc25.s390x
libXfixes-devel-5.0.3-1.fc25.s390x
libXcomposite-devel-0.4.4-8.fc24.s390x
python3-javapackages-4.7.0-6.1.fc25.noarch
libcephfs_jni-devel-10.2.4-2.fc25.s390x
keyutils-libs-devel-1.5.9-8.fc24.s390x
harfbuzz-devel-1.3.2-1.fc25.s390x
libidn-devel-1.33-1.fc25.s390x
libnfs-1.9.8-2.fc24.s390x
libssh2-devel-1.8.0-1.fc25.s390x
qemu-sanity-check-nodeps-1.1.5-5.fc24.s390x
alsa-lib-devel-1.1.1-2.fc25.s390x
libpsl-0.17.0-1.fc25.s390x
libseccomp-2.3.2-1.fc25.s390x
copy-jdk-configs-2.2-2.fc25.noarch
json-glib-1.2.6-1.fc25.s390x
python2-dnf-1.1.10-6.fc25.noarch
python2-GitPython-2.1.3-1.fc25.noarch
texlive-tetex-bin-svn36770.0-33.20160520.fc25.1.noarch
texlive-amsfonts-svn29208.3.04-33.fc25.1.noarch
texlive-babel-svn40706-33.fc25.1.noarch
texlive-colortbl-svn29803.v1.0a-33.fc25.1.noarch
texlive-babelbib-svn25245.1.31-33.fc25.1.noarch
texlive-footmisc-svn23330.5.5b-33.fc25.1.noarch
texlive-makeindex-svn40768-33.fc25.1.noarch
texlive-plain-svn40274-33.fc25.1.noarch
texlive-texconfig-bin-svn29741.0-33.20160520.fc25.1.noarch
texlive-zapfding-svn31835.0-33.fc25.1.noarch
texlive-microtype-svn41127-33.fc25.1.noarch
texlive-bookman-svn31835.0-33.fc25.1.noarch
texlive-dvisvgm-def-svn41011-33.fc25.1.noarch
texlive-finstrut-svn21719.0.5-33.fc25.1.noarch
texlive-hyph-utf8-svn41189-33.fc25.1.noarch
texlive-lualibs-svn40370-33.fc25.1.noarch
kernel-modules-4.10.8-200.fc25.s390x
python2-hawkey-0.6.4-3.fc25.s390x
glibc-2.24-9.fc25.s390x
elfutils-libelf-0.169-1.fc25.s390x
libsoup-2.56.0-3.fc25.s390x
libnl3-3.2.29-3.fc25.s390x
gstreamer1-1.10.5-1.fc25.s390x
polkit-libs-0.113-8.fc25.s390x
libtirpc-1.0.2-0.fc25.s390x
emacs-common-25.2-2.fc25.s390x
libteam-1.27-1.fc25.s390x
python3-3.5.3-6.fc25.s390x
python3-pyasn1-0.2.3-1.fc25.noarch
perl-File-Path-2.12-366.fc25.noarch
mesa-libwayland-egl-devel-17.0.5-3.fc25.s390x
libacl-devel-2.2.52-13.fc25.s390x
lua-libs-5.3.4-3.fc25.s390x
pcre2-utf32-10.23-8.fc25.s390x
quota-nls-4.03-8.fc25.noarch
gtk3-3.22.16-1.fc25.s390x
ghostscript-x11-9.20-9.fc25.s390x
systemd-231-17.fc25.s390x
glusterfs-api-3.10.4-1.fc25.s390x
glusterfs-extra-xlators-3.10.4-1.fc25.s390x
glusterfs-server-3.10.4-1.fc25.s390x
java-1.8.0-openjdk-headless-1.8.0.131-1.b12.fc25.s390x
git-2.9.4-1.fc25.s390x
dhcp-common-4.3.5-3.fc25.noarch
python2-rpkg-1.49-5.fc25.noarch
vte291-devel-0.46.2-1.fc25.s390x
python-devel-2.7.13-2.fc25.s390x
elfutils-0.169-1.fc25.s390x
lua-5.3.4-3.fc25.s390x
python3-beautifulsoup4-4.6.0-1.fc25.noarch
libmicrohttpd-0.9.55-1.fc25.s390x
screen-4.6.1-1.fc25.s390x
strace-4.18-1.fc25.s390x
texlive-mparhack-svn15878.1.4-33.fc25.1.noarch
texlive-pspicture-svn15878.0-33.fc25.1.noarch
texlive-soul-svn15878.2.4-33.fc25.1.noarch
texlive-trimspaces-svn15878.1.1-33.fc25.1.noarch
texlive-varwidth-svn24104.0.92-33.fc25.1.noarch
texlive-geometry-svn19716.5.6-33.fc25.1.noarch
texlive-memoir-svn41203-33.fc25.1.noarch
texlive-pgf-svn40966-33.fc25.1.noarch
texlive-pst-coil-svn37377.1.07-33.fc25.1.noarch
texlive-pst-plot-svn41242-33.fc25.1.noarch
texlive-latex-bin-svn41438-33.fc25.1.noarch
texlive-ucs-svn35853.2.2-33.fc25.1.noarch
texlive-ae-svn15878.1.4-33.fc25.1.noarch
texlive-xetex-bin-svn41091-33.20160520.fc25.1.s390x
fedora-upgrade-26.1-1.fc25.noarch
fedpkg-1.28-1.fc25.noarch
perl-Thread-Queue-3.12-1.fc25.noarch
cdparanoia-libs-10.2-21.fc24.s390x
ustr-1.0.4-21.fc24.s390x
libusb-0.1.5-7.fc24.s390x
readline-devel-6.3-8.fc24.s390x
chkconfig-1.8-1.fc25.s390x
avahi-libs-0.6.32-4.fc25.s390x
perl-Unicode-Normalize-1.25-365.fc25.s390x
perl-libnet-3.10-1.fc25.noarch
perl-podlators-4.09-1.fc25.noarch
dbus-python-1.2.4-2.fc25.s390x
libgnome-keyring-3.12.0-7.fc25.s390x
python-backports-1.0-8.fc25.s390x
python-pycparser-2.14-7.fc25.noarch
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
libXv-1.0.11-1.fc25.s390x
python2-ndg_httpsclient-0.4.0-4.fc25.noarch
btrfs-progs-4.6.1-1.fc25.s390x
libgcc-6.3.1-1.fc25.s390x
libgomp-6.3.1-1.fc25.s390x
perl-Encode-2.88-5.fc25.s390x
cracklib-2.9.6-4.fc25.s390x
libobjc-6.3.1-1.fc25.s390x
gcc-6.3.1-1.fc25.s390x
python3-dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch
boost-random-1.60.0-10.fc25.s390x
libref_array-0.1.5-29.fc25.s390x
libXrender-devel-0.9.10-1.fc25.s390x
javapackages-tools-4.7.0-6.1.fc25.noarch
keyutils-1.5.9-8.fc24.s390x
libcom_err-devel-1.43.3-1.fc25.s390x
lzo-minilzo-2.08-8.fc24.s390x
libusbx-devel-1.0.21-1.fc25.s390x
virglrenderer-devel-0.5.0-1.20160411git61846f92f.fc25.s390x
acpica-tools-20160831-1.fc25.s390x
grep-2.27-2.fc25.s390x
dnf-conf-1.1.10-6.fc25.noarch
crypto-policies-20160921-4.gitf3018dd.fc25.noarch
rpm-build-libs-4.13.0.1-1.fc25.s390x
libnfsidmap-0.27-1.fc25.s390x
SDL2-2.0.5-3.fc25.s390x
texlive-etex-pkg-svn39355-33.fc25.1.noarch
texlive-multido-svn18302.1.42-33.fc25.1.noarch
texlive-gsftopk-svn40768-33.fc25.1.noarch
texlive-pst-ovl-svn40873-33.fc25.1.noarch
texlive-ltabptch-svn17533.1.74d-33.fc25.1.noarch
texlive-cite-svn36428.5.5-33.fc25.1.noarch
texlive-fpl-svn15878.1.002-33.fc25.1.noarch
texlive-mathpazo-svn15878.1.003-33.fc25.1.noarch
texlive-rcs-svn15878.0-33.fc25.1.noarch
texlive-type1cm-svn21820.0-33.fc25.1.noarch
texlive-l3kernel-svn41246-33.fc25.1.noarch
texlive-hyperref-svn41396-33.fc25.1.noarch
texlive-pst-tree-svn24142.1.12-33.fc25.1.noarch
texlive-sansmathaccent-svn30187.0-33.fc25.1.noarch
texlive-dvipdfmx-bin-svn40273-33.20160520.fc25.1.s390x
texlive-zapfchan-svn31835.0-33.fc25.1.noarch
glib2-static-2.50.3-1.fc25.s390x
bash-completion-2.5-1.fc25.noarch
glusterfs-libs-3.10.4-1.fc25.s390x
p11-kit-0.23.2-4.fc25.s390x
hyphen-2.8.8-4.fc24.s390x
gnutls-c++-3.5.14-1.fc25.s390x
python3-idna-2.5-1.fc25.noarch
nss-softokn-devel-3.30.2-1.0.fc25.s390x
less-481-7.fc25.s390x
rpmconf-base-1.0.19-1.fc25.noarch
gtk2-2.24.31-2.fc25.s390x
mesa-libgbm-17.0.5-3.fc25.s390x
nfs-utils-2.1.1-5.rc4.fc25.s390x
perl-Git-2.9.4-1.fc25.noarch
mock-1.4.2-1.fc25.noarch
mc-4.8.19-5.fc25.s390x
pcre-static-8.41-1.fc25.s390x
bind-libs-9.10.5-2.P2.fc25.s390x
libproxy-0.4.15-2.fc25.s390x
gpg-pubkey-a29cb19c-53bcbba6
m4-1.4.17-9.fc24.s390x
liblockfile-1.09-4.fc24.s390x
sg3_utils-1.41-3.fc24.s390x
libXinerama-1.1.3-6.fc24.s390x
libXft-2.3.2-4.fc24.s390x
tcp_wrappers-libs-7.6-83.fc25.s390x
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-Pod-Usage-1.69-1.fc25.noarch
device-mapper-persistent-data-0.6.3-1.fc25.s390x
net-snmp-libs-5.7.3-13.fc25.s390x
python3-six-1.10.0-3.fc25.noarch
python3-pysocks-1.5.6-5.fc25.noarch
python-chardet-2.3.0-1.fc25.noarch
python2-cffi-1.7.0-2.fc25.s390x
gc-devel-7.4.4-1.fc25.s390x
plymouth-0.9.3-0.6.20160620git0e65b86c.fc25.s390x
ebtables-2.0.10-21.fc25.s390x
python3-librepo-1.7.18-3.fc25.s390x
net-snmp-5.7.3-13.fc25.s390x
at-spi2-atk-2.22.0-1.fc25.s390x
avahi-autoipd-0.6.32-4.fc25.s390x
libgo-6.3.1-1.fc25.s390x
cpp-6.3.1-1.fc25.s390x
pyparsing-2.1.10-1.fc25.noarch
python3-pyparsing-2.1.10-1.fc25.noarch
libcollection-0.7.0-29.fc25.s390x
libcephfs-devel-10.2.4-2.fc25.s390x
libXdamage-devel-1.1.4-8.fc24.s390x
libverto-devel-0.2.6-6.fc24.s390x
snappy-1.1.3-2.fc24.s390x
cairo-gobject-devel-1.14.8-1.fc25.s390x
cyrus-sasl-devel-2.1.26-26.2.fc24.s390x
libXi-1.7.9-1.fc25.s390x
texlive-base-2016-33.20160520.fc25.noarch
python3-rpm-4.13.0.1-1.fc25.s390x
texlive-booktabs-svn40846-33.fc25.1.noarch
texlive-lm-svn28119.2.004-33.fc25.1.noarch
texlive-gsftopk-bin-svn40473-33.20160520.fc25.1.s390x
texlive-tex-svn40793-33.fc25.1.noarch
texlive-fancyref-svn15878.0.9c-33.fc25.1.noarch
texlive-chngcntr-svn17157.1.0a-33.fc25.1.noarch
texlive-fix2col-svn38770-33.fc25.1.noarch
texlive-marginnote-svn41382-33.fc25.1.noarch
texlive-pxfonts-svn15878.0-33.fc25.1.noarch
texlive-txfonts-svn15878.0-33.fc25.1.noarch
texlive-l3packages-svn41246-33.fc25.1.noarch
texlive-oberdiek-svn41346-33.fc25.1.noarch
texlive-pst-tools-svn34067.0.05-33.fc25.1.noarch
texlive-tex-gyre-svn18651.2.004-33.fc25.1.noarch
texlive-dvipdfmx-svn41149-33.fc25.1.noarch
texlive-collection-fontsrecommended-svn35830.0-33.20160520.fc25.1.noarch
libcacard-devel-2.5.3-1.fc25.s390x
ykpers-1.18.0-2.fc25.s390x
python2-idna-2.5-1.fc25.noarch
file-libs-5.29-4.fc25.s390x
policycoreutils-2.5-20.fc25.s390x
libgcrypt-1.7.8-1.fc25.s390x
pcre-8.41-1.fc25.s390x
GeoIP-1.6.11-1.fc25.s390x
ghostscript-core-9.20-9.fc25.s390x
python3-cffi-1.7.0-2.fc25.s390x
nss-softokn-freebl-devel-3.30.2-1.0.fc25.s390x
json-c-0.12.1-2.fc25.s390x
vim-common-8.0.705-1.fc25.s390x
vte291-0.46.2-1.fc25.s390x
libdrm-devel-2.4.81-1.fc25.s390x
gssproxy-0.7.0-9.fc25.s390x
git-core-doc-2.9.4-1.fc25.s390x
systemtap-3.1-5.fc25.s390x
mesa-libgbm-devel-17.0.5-3.fc25.s390x
vim-enhanced-8.0.705-1.fc25.s390x
glibc-static-2.24-9.fc25.s390x
libgusb-0.2.10-1.fc25.s390x
python-async-0.6.1-9.fc22.s390x
dejavu-sans-mono-fonts-2.35-3.fc24.noarch
popt-1.16-7.fc24.s390x
cyrus-sasl-lib-2.1.26-26.2.fc24.s390x
xz-5.2.2-2.fc24.s390x
libpipeline-1.4.1-2.fc24.s390x
pinentry-0.9.7-2.fc24.s390x
pth-2.0.7-27.fc24.s390x
libsepol-2.5-10.fc25.s390x
libxcb-1.12-1.fc25.s390x
perl-Getopt-Long-2.49.1-1.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
python2-libcomps-0.1.7-5.fc25.s390x
gc-7.4.4-1.fc25.s390x
s390utils-cmsfs-1.36.0-1.fc25.s390x
newt-python-0.52.19-2.fc25.s390x
qt5-srpm-macros-5.7.1-1.fc25.noarch
device-mapper-event-1.02.136-3.fc25.s390x
perl-Class-Inspector-1.31-2.fc25.noarch
libbasicobjects-0.1.1-29.fc25.s390x
libradosstriper1-10.2.4-2.fc25.s390x
libXxf86vm-devel-1.1.4-3.fc24.s390x
zziplib-0.13.62-7.fc24.s390x
libpaper-1.1.24-12.fc24.s390x
libini_config-1.3.0-29.fc25.s390x
snappy-devel-1.1.3-2.fc24.s390x
libcap-ng-devel-0.7.8-1.fc25.s390x
libxkbcommon-devel-0.7.1-1.fc25.s390x
openssl-libs-1.0.2k-1.fc25.s390x
libkadm5-1.14.4-7.fc25.s390x
rpm-libs-4.13.0.1-1.fc25.s390x
util-linux-2.28.2-2.fc25.s390x
texlive-etoolbox-svn38031.2.2a-33.fc25.1.noarch
texlive-dvips-svn41149-33.fc25.1.noarch
texlive-latexconfig-svn40274-33.fc25.1.noarch
texlive-tex-ini-files-svn40533-33.fc25.1.noarch
texlive-qstest-svn15878.0-33.fc25.1.noarch
texlive-cmap-svn41168-33.fc25.1.noarch
texlive-luatex-bin-svn41091-33.20160520.fc25.1.s390x
texlive-mflogo-svn38628-33.fc25.1.noarch
texlive-sansmath-svn17997.1.1-33.fc25.1.noarch
texlive-unicode-data-svn39808-33.fc25.1.noarch
texlive-luaotfload-bin-svn34647.0-33.20160520.fc25.1.noarch
texlive-listings-svn37534.1.6-33.fc25.1.noarch
texlive-pstricks-svn41321-33.fc25.1.noarch
texlive-metalogo-svn18611.0.12-33.fc25.1.noarch
texlive-collection-latex-svn41011-33.20160520.fc25.1.noarch
kernel-4.10.5-200.fc25.s390x
python2-dnf-plugins-core-0.1.21-5.fc25.noarch
xkeyboard-config-2.20-2.fc25.noarch
file-5.29-4.fc25.s390x
perl-Test-Harness-3.39-1.fc25.noarch
systemd-libs-231-17.fc25.s390x
webkitgtk4-jsc-2.16.5-1.fc25.s390x
gtk-update-icon-cache-3.22.16-1.fc25.s390x
glibc-devel-2.24-9.fc25.s390x
python3-pycparser-2.14-7.fc25.noarch
kernel-devel-4.11.10-200.fc25.s390x
gsm-1.0.17-1.fc25.s390x
vim-filesystem-8.0.705-1.fc25.s390x
webkitgtk4-2.16.5-1.fc25.s390x
python-2.7.13-2.fc25.s390x
glusterfs-fuse-3.10.4-1.fc25.s390x
git-core-2.9.4-1.fc25.s390x
selinux-policy-targeted-3.13.1-225.18.fc25.noarch
kernel-4.11.10-200.fc25.s390x
rpmconf-1.0.19-1.fc25.noarch
teamd-1.27-1.fc25.s390x
jasper-libs-1.900.13-4.fc25.s390x
libattr-2.4.47-16.fc24.s390x
libvisual-0.4.0-20.fc24.s390x
libpcap-1.7.4-2.fc24.s390x
libutempter-1.1.6-8.fc24.s390x
libgudev-230-3.fc24.s390x
popt-devel-1.16-7.fc24.s390x
hicolor-icon-theme-0.15-3.fc24.noarch
setup-2.10.4-1.fc25.noarch
bash-4.3.43-4.fc25.s390x
libjpeg-turbo-1.5.1-0.fc25.s390x
perl-Socket-2.024-1.fc25.s390x
perl-HTTP-Tiny-0.070-1.fc25.noarch
ipset-6.29-1.fc25.s390x
python2-setuptools-25.1.1-1.fc25.noarch
gsettings-desktop-schemas-3.22.0-1.fc25.s390x
python3-setuptools-25.1.1-1.fc25.noarch
python-slip-dbus-0.6.4-4.fc25.noarch
python2-ply-3.8-2.fc25.noarch
dtc-1.4.2-1.fc25.s390x
guile-2.0.13-1.fc25.s390x
cronie-anacron-1.5.1-2.fc25.s390x
libXtst-1.2.3-1.fc25.s390x
iso-codes-3.70-1.fc25.noarch
s390utils-1.36.0-1.fc25.s390x
python-backports-ssl_match_hostname-3.5.0.1-3.fc25.noarch
fedora-cert-0.6.0.1-1.fc25.noarch
libstdc++-6.3.1-1.fc25.s390x
subversion-libs-1.9.5-1.fc25.s390x
libgfortran-6.3.1-1.fc25.s390x
dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch
lvm2-2.02.167-3.fc25.s390x
libselinux-devel-2.5-13.fc25.s390x
perl-Time-Local-1.250-1.fc25.noarch
libradosstriper-devel-10.2.4-2.fc25.s390x
flac-libs-1.3.2-1.fc25.s390x
perl-Digest-1.17-366.fc25.noarch
teckit-2.5.1-15.fc24.s390x
libpath_utils-0.2.1-29.fc25.s390x
attr-2.4.47-16.fc24.s390x
usbredir-0.7.1-2.fc24.s390x
cairo-devel-1.14.8-1.fc25.s390x
lzo-devel-2.08-8.fc24.s390x
libcap-devel-2.25-2.fc25.s390x
krb5-devel-1.14.4-7.fc25.s390x
rpm-4.13.0.1-1.fc25.s390x
kernel-devel-4.10.5-200.fc25.s390x
libbsd-0.8.3-1.fc25.s390x
texlive-url-svn32528.3.4-33.fc25.1.noarch
texlive-dvips-bin-svn40987-33.20160520.fc25.1.s390x
texlive-index-svn24099.4.1beta-33.fc25.1.noarch
texlive-setspace-svn24881.6.7a-33.fc25.1.noarch
texlive-mathtools-svn38833-33.fc25.1.noarch
texlive-cm-svn32865.0-33.fc25.1.noarch
texlive-graphics-def-svn41879-33.fc25.1.noarch
texlive-mdwtools-svn15878.1.05.4-33.fc25.1.noarch
texlive-rsfs-svn15878.0-33.fc25.1.noarch
texlive-ucharcat-svn38907-33.fc25.1.noarch
texlive-fontspec-svn41262-33.fc25.1.noarch
texlive-showexpl-svn32737.v0.3l-33.fc25.1.noarch
texlive-pstricks-add-svn40744-33.fc25.1.noarch
texlive-beamer-svn36461.3.36-33.fc25.1.noarch
texlive-collection-basic-svn41149-33.20160520.fc25.1.noarch
rpm-build-4.13.0.1-1.fc25.s390x
xemacs-filesystem-21.5.34-20.20170124hgf412e9f093d4.fc25.noarch
hawkey-0.6.4-3.fc25.s390x
gdk-pixbuf2-modules-2.36.6-1.fc25.s390x
bluez-libs-5.44-1.fc25.s390x
audit-libs-2.7.7-1.fc25.s390x
iproute-4.11.0-1.fc25.s390x
libICE-1.0.9-9.fc25.s390x
glibc-headers-2.24-9.fc25.s390x
python3-ply-3.8-2.fc25.noarch
perl-5.24.2-387.fc25.s390x
graphite2-1.3.10-1.fc25.s390x
vte-profile-0.46.2-1.fc25.s390x
gtk3-devel-3.22.16-1.fc25.s390x
python-libs-2.7.13-2.fc25.s390x
mesa-libGL-17.0.5-3.fc25.s390x
python2-pycurl-7.43.0-6.fc25.s390x
NetworkManager-1.4.4-5.fc25.s390x
mesa-libEGL-devel-17.0.5-3.fc25.s390x
mariadb-libs-10.1.24-3.fc25.s390x
mesa-libGLES-devel-17.0.5-3.fc25.s390x
hostname-3.15-8.fc25.s390x
gpg-pubkey-a0a7badb-52844296
readline-6.3-8.fc24.s390x
cpio-2.12-3.fc24.s390x
libXcomposite-0.4.4-8.fc24.s390x
procps-ng-3.3.10-11.fc24.s390x
GConf2-3.2.6-16.fc24.s390x
xz-devel-5.2.2-2.fc24.s390x
fedora-logos-22.0.0-3.fc24.s390x
gpg-pubkey-e372e838-56fd7943
kmod-libs-23-1.fc25.s390x
perl-parent-0.236-1.fc25.noarch
perl-TermReadKey-2.37-1.fc25.s390x
ncurses-c++-libs-6.0-6.20160709.fc25.s390x
gzip-1.8-1.fc25.s390x
python3-gobject-base-3.22.0-1.fc25.s390x
python2-yubico-1.3.2-3.fc25.noarch
s390utils-ziomon-1.36.0-1.fc25.s390x
librepo-1.7.18-3.fc25.s390x
librsvg2-2.40.16-2.fc25.s390x
gnat-srpm-macros-4-1.fc25.noarch
python-decoratortools-1.8-12.fc25.noarch
m17n-db-1.7.0-7.fc25.noarch
e2fsprogs-libs-1.43.3-1.fc25.s390x
libvorbis-1.3.5-1.fc25.s390x
gcc-gdb-plugin-6.3.1-1.fc25.s390x
npth-1.3-1.fc25.s390x
libcephfs1-10.2.4-2.fc25.s390x
wayland-devel-1.12.0-1.fc25.s390x
libxcb-devel-1.12-1.fc25.s390x
perl-encoding-2.19-5.fc25.s390x
python3-cssselect-0.9.2-1.fc25.noarch
gettext-libs-0.19.8.1-3.fc25.s390x
at-spi2-atk-devel-2.22.0-1.fc25.s390x
virglrenderer-0.5.0-1.20160411git61846f92f.fc25.s390x
pixman-devel-0.34.0-2.fc24.s390x
libnfs-devel-1.9.8-2.fc24.s390x
libblkid-2.28.2-2.fc25.s390x
glib2-devel-2.50.3-1.fc25.s390x
texlive-ifxetex-svn19685.0.5-33.fc25.1.noarch
texlive-caption-svn41409-33.fc25.1.noarch
texlive-float-svn15878.1.3d-33.fc25.1.noarch
texlive-pdftex-def-svn22653.0.06d-33.fc25.1.noarch
texlive-xdvi-bin-svn40750-33.20160520.fc25.1.s390x
texlive-beton-svn15878.0-33.fc25.1.noarch
texlive-filecontents-svn24250.1.3-33.fc25.1.noarch
texlive-lm-math-svn36915.1.959-33.fc25.1.noarch
texlive-pslatex-svn16416.0-33.fc25.1.noarch
texlive-times-svn35058.0-33.fc25.1.noarch
texlive-breakurl-svn29901.1.40-33.fc25.1.noarch
texlive-filehook-svn24280.0.5d-33.fc25.1.noarch
texlive-pst-pdf-svn31660.1.1v-33.fc25.1.noarch
texlive-seminar-svn34011.1.62-33.fc25.1.noarch
texlive-xetexconfig-svn41133-33.fc25.1.noarch
python-rpm-macros-3-12.fc25.noarch
rpm-devel-4.13.0.1-1.fc25.s390x
nss-pem-1.0.3-3.fc25.s390x
at-spi2-core-2.22.1-1.fc25.s390x
GeoIP-GeoLite-data-2017.04-1.fc25.noarch
kernel-devel-4.10.8-200.fc25.s390x
dbus-libs-1.11.14-1.fc25.s390x
perl-Scalar-List-Utils-1.48-1.fc25.s390x
libidn2-2.0.2-1.fc25.s390x
libtasn1-devel-4.12-1.fc25.s390x
python3-koji-1.13.0-2.fc25.noarch
glusterfs-cli-3.10.4-1.fc25.s390x
opus-1.1.5-1.fc25.s390x
mariadb-common-10.1.24-3.fc25.s390x
elfutils-libs-0.169-1.fc25.s390x
kernel-core-4.11.10-200.fc25.s390x
gnutls-dane-3.5.14-1.fc25.s390x
systemd-container-231-17.fc25.s390x
sudo-1.8.20p2-1.fc25.s390x
dbus-devel-1.11.14-1.fc25.s390x
perl-Module-CoreList-5.20170621-1.fc25.noarch
libicu-devel-57.1-5.fc25.s390x
js-jquery-2.2.4-3.fc25.noarch
=== TEST BEGIN ===
Using CC: /home/fam/bin/cc
Install prefix /var/tmp/patchew-tester-tmp-05mor12r/src/install
BIOS directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/share/qemu
binary directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/bin
library directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/lib
module directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/include
config directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/etc
local state directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/var
Manual directory /var/tmp/patchew-tester-tmp-05mor12r/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /var/tmp/patchew-tester-tmp-05mor12r/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 -DNCURSES_WIDECHAR -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/libdrm -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
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.16)
GTK GL support yes
VTE support yes (0.46.2)
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
TCG support yes
TCG debug enabled no
TCG interpreter no
RDMA support 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
vhost-user 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
crypto afalg no
GlusterFS support yes
gcov gcov
gcov enabled no
TPM support yes
libssh2 support yes
TPM passthrough no
QOM debugging yes
Live block migration 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
VxHS block device no
GEN aarch64-softmmu/config-devices.mak.tmp
GEN cris-softmmu/config-devices.mak.tmp
GEN alpha-softmmu/config-devices.mak.tmp
GEN arm-softmmu/config-devices.mak.tmp
GEN cris-softmmu/config-devices.mak
GEN alpha-softmmu/config-devices.mak
GEN i386-softmmu/config-devices.mak.tmp
GEN arm-softmmu/config-devices.mak
GEN aarch64-softmmu/config-devices.mak
GEN lm32-softmmu/config-devices.mak.tmp
GEN m68k-softmmu/config-devices.mak.tmp
GEN microblazeel-softmmu/config-devices.mak.tmp
GEN m68k-softmmu/config-devices.mak
GEN lm32-softmmu/config-devices.mak
GEN microblaze-softmmu/config-devices.mak.tmp
GEN mips64el-softmmu/config-devices.mak.tmp
GEN i386-softmmu/config-devices.mak
GEN microblazeel-softmmu/config-devices.mak
GEN mips64-softmmu/config-devices.mak.tmp
GEN mipsel-softmmu/config-devices.mak.tmp
GEN microblaze-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 ppc64-softmmu/config-devices.mak.tmp
GEN or1k-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 or1k-softmmu/config-devices.mak
GEN ppc-softmmu/config-devices.mak.tmp
GEN s390x-softmmu/config-devices.mak.tmp
GEN ppc64-softmmu/config-devices.mak
GEN ppcemb-softmmu/config-devices.mak
GEN sh4eb-softmmu/config-devices.mak.tmp
GEN ppc-softmmu/config-devices.mak
GEN sh4-softmmu/config-devices.mak.tmp
GEN s390x-softmmu/config-devices.mak
GEN sparc64-softmmu/config-devices.mak.tmp
GEN sparc-softmmu/config-devices.mak.tmp
GEN sparc-softmmu/config-devices.mak
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 x86_64-softmmu/config-devices.mak.tmp
GEN sparc64-softmmu/config-devices.mak
GEN xtensaeb-softmmu/config-devices.mak.tmp
GEN unicore32-softmmu/config-devices.mak
GEN xtensaeb-softmmu/config-devices.mak
GEN xtensa-softmmu/config-devices.mak.tmp
GEN tricore-softmmu/config-devices.mak
GEN aarch64-linux-user/config-devices.mak.tmp
GEN x86_64-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 aarch64-linux-user/config-devices.mak
GEN alpha-linux-user/config-devices.mak
GEN arm-linux-user/config-devices.mak.tmp
GEN cris-linux-user/config-devices.mak.tmp
GEN armeb-linux-user/config-devices.mak
GEN hppa-linux-user/config-devices.mak.tmp
GEN i386-linux-user/config-devices.mak.tmp
GEN arm-linux-user/config-devices.mak
GEN i386-linux-user/config-devices.mak
GEN hppa-linux-user/config-devices.mak
GEN cris-linux-user/config-devices.mak
GEN microblazeel-linux-user/config-devices.mak.tmp
GEN m68k-linux-user/config-devices.mak.tmp
GEN mips64el-linux-user/config-devices.mak.tmp
GEN microblaze-linux-user/config-devices.mak.tmp
GEN m68k-linux-user/config-devices.mak
GEN microblazeel-linux-user/config-devices.mak
GEN microblaze-linux-user/config-devices.mak
GEN mips64-linux-user/config-devices.mak.tmp
GEN mipsel-linux-user/config-devices.mak.tmp
GEN mips64el-linux-user/config-devices.mak
GEN mips-linux-user/config-devices.mak.tmp
GEN mipsn32el-linux-user/config-devices.mak.tmp
GEN mips64-linux-user/config-devices.mak
GEN mipsel-linux-user/config-devices.mak
GEN mipsn32-linux-user/config-devices.mak.tmp
GEN mips-linux-user/config-devices.mak
GEN nios2-linux-user/config-devices.mak.tmp
GEN mipsn32el-linux-user/config-devices.mak
GEN mipsn32-linux-user/config-devices.mak
GEN or1k-linux-user/config-devices.mak.tmp
GEN ppc64abi32-linux-user/config-devices.mak.tmp
GEN nios2-linux-user/config-devices.mak
GEN ppc64le-linux-user/config-devices.mak.tmp
GEN ppc64-linux-user/config-devices.mak.tmp
GEN or1k-linux-user/config-devices.mak
GEN ppc64le-linux-user/config-devices.mak
GEN ppc-linux-user/config-devices.mak.tmp
GEN ppc64abi32-linux-user/config-devices.mak
GEN s390x-linux-user/config-devices.mak.tmp
GEN ppc64-linux-user/config-devices.mak
GEN sh4eb-linux-user/config-devices.mak.tmp
GEN sh4-linux-user/config-devices.mak.tmp
GEN ppc-linux-user/config-devices.mak
GEN sparc32plus-linux-user/config-devices.mak.tmp
GEN s390x-linux-user/config-devices.mak
GEN sparc32plus-linux-user/config-devices.mak
GEN sh4eb-linux-user/config-devices.mak
GEN sparc64-linux-user/config-devices.mak.tmp
GEN sh4-linux-user/config-devices.mak
GEN sparc-linux-user/config-devices.mak.tmp
GEN tilegx-linux-user/config-devices.mak.tmp
GEN x86_64-linux-user/config-devices.mak.tmp
GEN sparc64-linux-user/config-devices.mak
GEN x86_64-linux-user/config-devices.mak
GEN sparc-linux-user/config-devices.mak
GEN config-host.h
GEN tilegx-linux-user/config-devices.mak
GEN qmp-commands.h
GEN qemu-options.def
GEN qapi-types.h
GEN qapi-event.h
GEN qapi-visit.h
GEN qmp-marshal.c
GEN qapi-types.c
GEN qapi-visit.c
GEN qapi-event.c
GEN qmp-introspect.h
GEN trace/generated-tcg-tracers.h
GEN qmp-introspect.c
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN tests/test-qapi-visit.h
GEN tests/test-qapi-types.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 chardev/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/net/trace.h
GEN hw/intc/trace.h
GEN hw/audio/trace.h
GEN hw/virtio/trace.h
GEN hw/misc/trace.h
GEN hw/usb/trace.h
GEN hw/scsi/trace.h
GEN hw/nvram/trace.h
GEN hw/display/trace.h
GEN hw/input/trace.h
GEN hw/timer/trace.h
GEN hw/dma/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/trace.h
GEN hw/i386/xen/trace.h
GEN hw/9pfs/trace.h
GEN hw/ppc/trace.h
GEN hw/pci/trace.h
GEN hw/s390x/trace.h
GEN hw/vfio/trace.h
GEN hw/acpi/trace.h
GEN hw/arm/trace.h
GEN hw/xen/trace.h
GEN ui/trace.h
GEN hw/alpha/trace.h
GEN audio/trace.h
GEN net/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/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 accel/tcg/trace.h
GEN accel/kvm/trace.h
GEN trace-root.c
GEN nbd/trace.h
GEN util/trace.c
GEN crypto/trace.c
GEN io/trace.c
GEN migration/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/intc/trace.c
GEN hw/virtio/trace.c
GEN hw/net/trace.c
GEN hw/audio/trace.c
GEN hw/misc/trace.c
GEN hw/usb/trace.c
GEN hw/scsi/trace.c
GEN hw/nvram/trace.c
GEN hw/input/trace.c
GEN hw/display/trace.c
GEN hw/timer/trace.c
GEN hw/dma/trace.c
GEN hw/sparc/trace.c
GEN hw/sd/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/acpi/trace.c
GEN hw/arm/trace.c
GEN hw/alpha/trace.c
GEN hw/xen/trace.c
GEN ui/trace.c
GEN audio/trace.c
GEN net/trace.c
GEN target/i386/trace.c
GEN target/arm/trace.c
GEN target/mips/trace.c
GEN target/sparc/trace.c
GEN target/s390x/trace.c
GEN target/ppc/trace.c
GEN linux-user/trace.c
GEN qom/trace.c
GEN qapi/trace.c
GEN accel/tcg/trace.c
GEN accel/kvm/trace.c
GEN nbd/trace.c
GEN config-all-devices.mak
CC tests/qemu-iotests/socket_scm_helper.o
GEN qemu-monitor.texi
GEN qemu-options.texi
GEN docs/version.texi
GEN qemu-img-cmds.texi
GEN qemu-monitor-info.texi
GEN qemu-img.1
GEN qemu-nbd.8
GEN qemu-ga.8
GEN docs/interop/qemu-ga-qapi.texi
GEN docs/interop/qemu-qmp-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
CC qmp-introspect.o
GEN qga/qapi-generated/qga-qmp-marshal.c
CC qapi-types.o
CC qapi-visit.o
CC qapi-event.o
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/qnum.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.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/iohandler.o
CC util/main-loop.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/qemu-thread-posix.o
CC util/memfd.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/cacheinfo.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/keyval.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 util/stats64.o
CC util/systemd.o
CC trace-root.o
CC util/trace.o
CC io/trace.o
CC crypto/trace.o
CC migration/trace.o
CC block/trace.o
CC chardev/trace.o
CC hw/block/trace.o
CC hw/char/trace.o
CC hw/block/dataplane/trace.o
CC hw/intc/trace.o
CC hw/net/trace.o
CC hw/virtio/trace.o
CC hw/audio/trace.o
CC hw/usb/trace.o
CC hw/misc/trace.o
CC hw/scsi/trace.o
CC hw/display/trace.o
CC hw/nvram/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 target/arm/trace.o
CC net/trace.o
CC target/mips/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
CC accel/tcg/trace.o
CC accel/kvm/trace.o
CC nbd/trace.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.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/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/slirp.o
CC stubs/set-fd-handler.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 stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.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/qcow2-bitmap.o
CC block/qed.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/nfs.o
CC block/curl.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/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.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 qemu-bridge-helper.o
CC fsdev/9p-iov-marshal.o
CC blockdev.o
CC blockdev-nbd.o
CC bootdevice.o
CC iothread.o
CC qdev-monitor.o
CC device-hotplug.o
CC os-posix.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC device_tree.o
CC qmp.o
CC qmp-marshal.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/sdlaudio.o
CC audio/ossaudio.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/rng-random.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC backends/hostmem-file.o
CC backends/cryptodev.o
CC backends/cryptodev-builtin.o
CC block/stream.o
CC chardev/wctablet.o
CC chardev/msmouse.o
CC chardev/testdev.o
CC chardev/baum.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/mips.o
CC disas/nios2.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/compiler-intrinsics.o
CXX disas/libvixl/vixl/a64/instructions-a64.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-throttle.o
CC fsdev/qemu-fsdev-dummy.o
CC hw/9pfs/9p.o
CC hw/9pfs/9p-util.o
CC hw/9pfs/9p-xattr.o
CC hw/9pfs/9p-local.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/codir.o
CC hw/9pfs/cofile.o
CC hw/9pfs/coxattr.o
CC hw/9pfs/9p-synth.o
CC hw/9pfs/9p-handle.o
CC hw/9pfs/9p-proxy.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/vmgenid.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/aml-build.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/ipmi.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/audio/soundhw.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/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/bt/hid.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/cmsdk-apb-uart.o
CC hw/char/debugcon.o
CC hw/char/etraxfs_ser.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/nmi.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/loader-fit.o
CC hw/core/qdev-properties-system.o
CC hw/core/register.o
CC hw/core/or-irq.o
CC hw/core/platform-bus.o
CC hw/cpu/core.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/g364fb.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/vmware_vga.o
CC hw/display/vga-isa-mm.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/display/milkymist-tmu2.o
CC hw/dma/puv3_dma.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/mpc8xxx.o
CC hw/gpio/gpio_key.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/imx_i2c.o
CC hw/i2c/exynos4210_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/microdrive.o
CC hw/ide/via.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/etraxfs_pic.o
CC hw/intc/imx_avic.o
CC hw/intc/lm32_pic.o
CC hw/intc/realview_gic.o
CC hw/intc/slavio_intctl.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3_redist.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_its_common.o
CC hw/intc/openpic.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/isa_ipmi_kcs.o
CC hw/ipmi/ipmi_bmc_extern.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/piix4.o
CC hw/isa/pc87312.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/tmp421.o
CC hw/misc/sga.o
CC hw/misc/debugexit.o
CC hw/misc/pc-testdev.o
CC hw/misc/pci-testdev.o
CC hw/misc/edu.o
CC hw/misc/unimp.o
CC hw/misc/arm_l2x0.o
CC hw/misc/a9scu.o
CC hw/misc/arm_integrator_debug.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/e1000x_common.o
CC hw/net/net_tx_pkt.o
CC hw/net/net_rx_pkt.o
CC hw/net/e1000e.o
CC hw/net/rtl8139.o
CC hw/net/e1000e_core.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/allwinner_emac.o
CC hw/net/xilinx_axienet.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/ftgmac100.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_world.o
CC hw/net/rocker/rocker_of_dpa.o
CC hw/nvram/ds1225y.o
CC hw/nvram/eeprom93xx.o
CC hw/nvram/fw_cfg.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-host/xilinx-pcie.o
CC hw/pci/pci_bridge.o
CC hw/pci/pci.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/ssi-sd.o
CC hw/sd/sd.o
CC hw/sd/core.o
CC hw/sd/sdhci.o
CC hw/smbios/smbios.o
CC hw/smbios/smbios-stub.o
CC hw/smbios/smbios_type_38.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/armv7m_systick.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_epit.o
CC hw/timer/imx_gpt.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/timer/cmsdk-apb-timer.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-msos.o
CC hw/usb/desc.o
CC hw/usb/hcd-ohci.o
CC hw/usb/hcd-uhci.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-xhci-nec.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-rng.o
CC hw/virtio/virtio-pci.o
CC hw/virtio/virtio-bus.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/channel.o
CC migration/savevm.o
CC migration/colo-comm.o
CC migration/colo.o
CC migration/colo-failover.o
CC migration/vmstate.o
CC migration/vmstate-types.o
CC migration/page_cache.o
CC migration/qemu-file.o
CC migration/global_state.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/slirp.o
CC net/vhost-user.o
CC net/filter.o
CC net/filter-buffer.o
CC net/filter-mirror.o
CC net/colo-compare.o
CC net/colo.o
CC net/filter-rewriter.o
CC net/filter-replay.o
CC net/tap.o
CC net/tap-linux.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-net.o
CC replay/replay-snapshot.o
CC replay/replay-audio.o
CC slirp/cksum.o
CC slirp/if.o
CC slirp/ip_icmp.o
CC slirp/ip6_icmp.o
CC slirp/ip6_output.o
CC slirp/ip6_input.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_subr.o
CC slirp/tcp_output.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 slirp/ncsi.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/sdl2.o
CC ui/input-linux.o
CC ui/sdl2-input.o
CC ui/sdl2-2d.o
CC ui/sdl2-gl.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-auth-vencrypt.o
CC ui/vnc-enc-zrle.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 ui/egl-headless.o
CC ui/gtk-gl-area.o
CC chardev/char.o
CC chardev/char-fd.o
CC chardev/char-fe.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
CCAS s390-ccw/start.o
CC s390-ccw/main.o
CC s390-ccw/bootmap.o
CC s390-ccw/sclp.o
CC s390-ccw/virtio.o
LINK tests/qemu-iotests/socket_scm_helper
CC s390-ccw/virtio-scsi.o
CC s390-ccw/virtio-blkdev.o
s390-netboot.img not built since roms/SLOF/ is not available.
GEN qemu-doc.txt
GEN qemu-doc.html
GEN qemu.1
BUILD s390-ccw/s390-ccw.elf
STRIP s390-ccw/s390-ccw.img
GEN docs/interop/qemu-qmp-ref.html
GEN docs/interop/qemu-qmp-ref.txt
GEN docs/interop/qemu-qmp-ref.7
GEN docs/interop/qemu-ga-ref.html
GEN docs/interop/qemu-ga-ref.txt
GEN docs/interop/qemu-ga-ref.7
CC qga/commands.o
CC qga/guest-agent-command-state.o
CC qga/commands-posix.o
CC qga/main.o
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
CC qga/qapi-generated/qga-qapi-visit.o
CC qga/qapi-generated/qga-qmp-marshal.o
AR libqemuutil.a
AR libqemustub.a
CC qemu-img.o
LINK qemu-io
LINK fsdev/virtfs-proxy-helper
CC ui/console-gl.o
LINK qemu-bridge-helper
LINK qemu-ga
LINK ivshmem-client
LINK ivshmem-server
LINK qemu-nbd
GEN aarch64-softmmu/hmp-commands.h
GEN aarch64-softmmu/hmp-commands-info.h
GEN aarch64-softmmu/config-target.h
CC aarch64-softmmu/exec.o
CC aarch64-softmmu/tcg/tcg.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
GEN alpha-softmmu/hmp-commands.h
GEN alpha-softmmu/hmp-commands-info.h
GEN alpha-softmmu/config-target.h
CC alpha-softmmu/exec.o
CC arm-softmmu/tcg/tcg.o
CC aarch64-softmmu/tcg/tcg-op.o
GEN cris-softmmu/hmp-commands.h
CC alpha-softmmu/tcg/tcg.o
GEN cris-softmmu/hmp-commands-info.h
GEN cris-softmmu/config-target.h
CC cris-softmmu/exec.o
CC arm-softmmu/tcg/tcg-op.o
CC alpha-softmmu/tcg/tcg-op.o
CC aarch64-softmmu/tcg/optimize.o
CC cris-softmmu/tcg/tcg.o
CC aarch64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/tcg/tcg-runtime.o
CC arm-softmmu/tcg/optimize.o
CC aarch64-softmmu/fpu/softfloat.o
CC alpha-softmmu/tcg/optimize.o
CC cris-softmmu/tcg/tcg-op.o
CC arm-softmmu/tcg/tcg-common.o
CC alpha-softmmu/tcg/tcg-common.o
CC arm-softmmu/tcg/tcg-runtime.o
CC alpha-softmmu/tcg/tcg-runtime.o
CC alpha-softmmu/fpu/softfloat.o
CC arm-softmmu/fpu/softfloat.o
CC cris-softmmu/tcg/optimize.o
CC aarch64-softmmu/disas.o
GEN aarch64-softmmu/gdbstub-xml.c
CC cris-softmmu/tcg/tcg-common.o
CC cris-softmmu/tcg/tcg-runtime.o
CC cris-softmmu/fpu/softfloat.o
CC aarch64-softmmu/hax-stub.o
CC alpha-softmmu/disas.o
CC arm-softmmu/disas.o
CC aarch64-softmmu/arch_init.o
CC alpha-softmmu/hax-stub.o
GEN arm-softmmu/gdbstub-xml.c
CC alpha-softmmu/arch_init.o
CC aarch64-softmmu/cpus.o
CC alpha-softmmu/cpus.o
CC arm-softmmu/hax-stub.o
CC arm-softmmu/arch_init.o
CC aarch64-softmmu/monitor.o
CC alpha-softmmu/monitor.o
CC arm-softmmu/cpus.o
CC cris-softmmu/disas.o
CC arm-softmmu/monitor.o
CC cris-softmmu/hax-stub.o
CC aarch64-softmmu/gdbstub.o
CC cris-softmmu/arch_init.o
CC alpha-softmmu/gdbstub.o
CC aarch64-softmmu/balloon.o
CC cris-softmmu/cpus.o
CC aarch64-softmmu/ioport.o
CC alpha-softmmu/balloon.o
CC aarch64-softmmu/numa.o
CC arm-softmmu/gdbstub.o
CC alpha-softmmu/ioport.o
CC cris-softmmu/monitor.o
CC aarch64-softmmu/qtest.o
CC alpha-softmmu/numa.o
CC arm-softmmu/balloon.o
CC aarch64-softmmu/memory.o
CC arm-softmmu/ioport.o
CC alpha-softmmu/qtest.o
CC arm-softmmu/numa.o
CC alpha-softmmu/memory.o
CC arm-softmmu/qtest.o
CC cris-softmmu/gdbstub.o
CC aarch64-softmmu/memory_mapping.o
CC arm-softmmu/memory.o
CC cris-softmmu/balloon.o
CC aarch64-softmmu/dump.o
CC cris-softmmu/ioport.o
CC alpha-softmmu/memory_mapping.o
CC alpha-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC cris-softmmu/numa.o
CC arm-softmmu/memory_mapping.o
CC alpha-softmmu/migration/ram.o
CC cris-softmmu/qtest.o
CC aarch64-softmmu/accel/accel.o
CC arm-softmmu/dump.o
CC cris-softmmu/memory.o
CC aarch64-softmmu/accel/stubs/kvm-stub.o
CC alpha-softmmu/accel/accel.o
CC aarch64-softmmu/accel/tcg/tcg-all.o
CC arm-softmmu/migration/ram.o
CC aarch64-softmmu/accel/tcg/cputlb.o
CC alpha-softmmu/accel/stubs/kvm-stub.o
CC cris-softmmu/memory_mapping.o
CC alpha-softmmu/accel/tcg/tcg-all.o
CC cris-softmmu/dump.o
CC alpha-softmmu/accel/tcg/cputlb.o
CC arm-softmmu/accel/accel.o
CC arm-softmmu/accel/stubs/kvm-stub.o
CC cris-softmmu/migration/ram.o
CC aarch64-softmmu/accel/tcg/cpu-exec.o
CC arm-softmmu/accel/tcg/tcg-all.o
CC alpha-softmmu/accel/tcg/cpu-exec.o
CC arm-softmmu/accel/tcg/cputlb.o
CC cris-softmmu/accel/accel.o
CC aarch64-softmmu/accel/tcg/cpu-exec-common.o
CC cris-softmmu/accel/stubs/kvm-stub.o
CC alpha-softmmu/accel/tcg/cpu-exec-common.o
CC aarch64-softmmu/accel/tcg/translate-all.o
CC cris-softmmu/accel/tcg/tcg-all.o
CC alpha-softmmu/accel/tcg/translate-all.o
CC alpha-softmmu/hw/9pfs/virtio-9p-device.o
CC cris-softmmu/accel/tcg/cputlb.o
CC aarch64-softmmu/hw/9pfs/virtio-9p-device.o
CC alpha-softmmu/hw/block/virtio-blk.o
CC arm-softmmu/accel/tcg/cpu-exec.o
CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o
CC aarch64-softmmu/hw/block/virtio-blk.o
CC alpha-softmmu/hw/block/dataplane/virtio-blk.o
CC arm-softmmu/accel/tcg/cpu-exec-common.o
CC alpha-softmmu/hw/char/virtio-serial-bus.o
CC cris-softmmu/accel/tcg/cpu-exec.o
CC arm-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o
CC alpha-softmmu/hw/core/generic-loader.o
CC aarch64-softmmu/hw/char/exynos4210_uart.o
CC cris-softmmu/accel/tcg/cpu-exec-common.o
CC alpha-softmmu/hw/core/null-machine.o
CC aarch64-softmmu/hw/char/omap_uart.o
CC arm-softmmu/hw/9pfs/virtio-9p-device.o
CC alpha-softmmu/hw/display/vga.o
CC cris-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/hw/char/digic-uart.o
CC arm-softmmu/hw/adc/stm32f2xx_adc.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC arm-softmmu/hw/block/virtio-blk.o
CC cris-softmmu/hw/core/generic-loader.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC arm-softmmu/hw/block/dataplane/virtio-blk.o
CC cris-softmmu/hw/core/null-machine.o
CC alpha-softmmu/hw/display/virtio-gpu.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC arm-softmmu/hw/char/exynos4210_uart.o
CC cris-softmmu/hw/misc/mmio_interface.o
CC arm-softmmu/hw/char/omap_uart.o
CC aarch64-softmmu/hw/core/generic-loader.o
CC cris-softmmu/hw/net/etraxfs_eth.o
CC alpha-softmmu/hw/display/virtio-gpu-3d.o
CC arm-softmmu/hw/char/digic-uart.o
CC aarch64-softmmu/hw/core/null-machine.o
CC cris-softmmu/hw/net/vhost_net.o
CC arm-softmmu/hw/char/stm32f2xx_usart.o
CC aarch64-softmmu/hw/cpu/arm11mpcore.o
CC cris-softmmu/hw/net/rocker/qmp-norocker.o
CC alpha-softmmu/hw/display/virtio-gpu-pci.o
CC cris-softmmu/hw/vfio/common.o
CC arm-softmmu/hw/char/bcm2835_aux.o
CC aarch64-softmmu/hw/cpu/realview_mpcore.o
CC arm-softmmu/hw/char/virtio-serial-bus.o
CC alpha-softmmu/hw/misc/ivshmem.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC cris-softmmu/hw/vfio/platform.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC alpha-softmmu/hw/misc/mmio_interface.o
CC arm-softmmu/hw/core/generic-loader.o
CC alpha-softmmu/hw/net/virtio-net.o
CC cris-softmmu/hw/vfio/spapr.o
CC aarch64-softmmu/hw/display/omap_dss.o
CC arm-softmmu/hw/core/null-machine.o
CC cris-softmmu/hw/cris/boot.o
CC arm-softmmu/hw/cpu/arm11mpcore.o
CC alpha-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/display/omap_lcdc.o
CC cris-softmmu/hw/cris/axis_dev88.o
CC arm-softmmu/hw/cpu/realview_mpcore.o
CC alpha-softmmu/hw/scsi/virtio-scsi.o
CC cris-softmmu/target/cris/translate.o
CC arm-softmmu/hw/cpu/a9mpcore.o
CC aarch64-softmmu/hw/display/pxa2xx_lcd.o
CC alpha-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC arm-softmmu/hw/cpu/a15mpcore.o
CC alpha-softmmu/hw/scsi/vhost-scsi-common.o
CC arm-softmmu/hw/display/omap_dss.o
CC alpha-softmmu/hw/scsi/vhost-scsi.o
CC aarch64-softmmu/hw/display/bcm2835_fb.o
CC alpha-softmmu/hw/scsi/vhost-user-scsi.o
CC arm-softmmu/hw/display/omap_lcdc.o
CC alpha-softmmu/hw/timer/mc146818rtc.o
CC aarch64-softmmu/hw/display/vga.o
CC cris-softmmu/target/cris/op_helper.o
CC arm-softmmu/hw/display/pxa2xx_lcd.o
CC alpha-softmmu/hw/vfio/common.o
CC cris-softmmu/target/cris/helper.o
CC cris-softmmu/target/cris/cpu.o
CC aarch64-softmmu/hw/display/virtio-gpu.o
CC alpha-softmmu/hw/vfio/pci.o
CC arm-softmmu/hw/display/bcm2835_fb.o
CC cris-softmmu/target/cris/gdbstub.o
CC arm-softmmu/hw/display/vga.o
CC aarch64-softmmu/hw/display/virtio-gpu-3d.o
CC cris-softmmu/target/cris/mmu.o
CC alpha-softmmu/hw/vfio/pci-quirks.o
CC aarch64-softmmu/hw/display/virtio-gpu-pci.o
CC cris-softmmu/target/cris/machine.o
CC alpha-softmmu/hw/vfio/platform.o
GEN trace/generated-helpers.c
CC arm-softmmu/hw/display/virtio-gpu.o
CC cris-softmmu/trace/control-target.o
CC aarch64-softmmu/hw/display/dpcd.o
CC alpha-softmmu/hw/vfio/spapr.o
CC cris-softmmu/trace/generated-helpers.o
CC aarch64-softmmu/hw/display/xlnx_dp.o
CC alpha-softmmu/hw/virtio/virtio.o
LINK cris-softmmu/qemu-system-cris
CC arm-softmmu/hw/display/virtio-gpu-3d.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC alpha-softmmu/hw/virtio/virtio-balloon.o
CC arm-softmmu/hw/display/virtio-gpu-pci.o
CC alpha-softmmu/hw/virtio/vhost.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC arm-softmmu/hw/dma/omap_dma.o
GEN i386-softmmu/hmp-commands.h
GEN i386-softmmu/hmp-commands-info.h
GEN i386-softmmu/config-target.h
CC alpha-softmmu/hw/virtio/vhost-backend.o
CC i386-softmmu/exec.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC alpha-softmmu/hw/virtio/vhost-user.o
CC arm-softmmu/hw/dma/soc_dma.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC alpha-softmmu/hw/virtio/vhost-vsock.o
CC arm-softmmu/hw/dma/pxa2xx_dma.o
CC alpha-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/dma/bcm2835_dma.o
CC aarch64-softmmu/hw/gpio/omap_gpio.o
CC alpha-softmmu/hw/virtio/virtio-crypto-pci.o
CC arm-softmmu/hw/dma/bcm2835_dma.o
CC aarch64-softmmu/hw/gpio/imx_gpio.o
CC alpha-softmmu/hw/alpha/dp264.o
CC arm-softmmu/hw/gpio/omap_gpio.o
CC alpha-softmmu/hw/alpha/pci.o
CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o
CC i386-softmmu/tcg/tcg.o
CC arm-softmmu/hw/gpio/imx_gpio.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC alpha-softmmu/hw/alpha/typhoon.o
CC arm-softmmu/hw/gpio/bcm2835_gpio.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC alpha-softmmu/target/alpha/machine.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC arm-softmmu/hw/i2c/omap_i2c.o
CC alpha-softmmu/target/alpha/translate.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.o
CC arm-softmmu/hw/input/pxa2xx_keypad.o
CC arm-softmmu/hw/input/tsc210x.o
CC i386-softmmu/tcg/tcg-op.o
CC aarch64-softmmu/hw/intc/exynos4210_gic.o
CC aarch64-softmmu/hw/intc/exynos4210_combiner.o
CC alpha-softmmu/target/alpha/helper.o
CC aarch64-softmmu/hw/intc/omap_intc.o
CC alpha-softmmu/target/alpha/cpu.o
CC arm-softmmu/hw/intc/armv7m_nvic.o
CC alpha-softmmu/target/alpha/int_helper.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC alpha-softmmu/target/alpha/fpu_helper.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
CC arm-softmmu/hw/intc/exynos4210_gic.o
CC alpha-softmmu/target/alpha/vax_helper.o
CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o
CC arm-softmmu/hw/intc/exynos4210_combiner.o
CC alpha-softmmu/target/alpha/sys_helper.o
CC arm-softmmu/hw/intc/omap_intc.o
CC aarch64-softmmu/hw/intc/aspeed_vic.o
CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
CC alpha-softmmu/target/alpha/mem_helper.o
CC arm-softmmu/hw/intc/bcm2835_ic.o
CC i386-softmmu/tcg/optimize.o
CC alpha-softmmu/target/alpha/gdbstub.o
GEN trace/generated-helpers.c
CC alpha-softmmu/trace/control-target.o
CC arm-softmmu/hw/intc/bcm2836_control.o
CC alpha-softmmu/trace/generated-helpers.o
CC arm-softmmu/hw/intc/allwinner-a10-pic.o
CC aarch64-softmmu/hw/misc/ivshmem.o
CC i386-softmmu/tcg/tcg-common.o
CC arm-softmmu/hw/intc/aspeed_vic.o
LINK alpha-softmmu/qemu-system-alpha
CC i386-softmmu/tcg/tcg-runtime.o
CC arm-softmmu/hw/intc/arm_gicv3_cpuif.o
CC aarch64-softmmu/hw/misc/arm_sysctl.o
CC aarch64-softmmu/hw/misc/cbus.o
CC i386-softmmu/fpu/softfloat.o
CC aarch64-softmmu/hw/misc/exynos4210_pmu.o
CC arm-softmmu/hw/misc/ivshmem.o
CC aarch64-softmmu/hw/misc/exynos4210_clk.o
CC i386-softmmu/disas.o
CC aarch64-softmmu/hw/misc/exynos4210_rng.o
CC arm-softmmu/hw/misc/arm_sysctl.o
CC aarch64-softmmu/hw/misc/imx_ccm.o
CC arm-softmmu/hw/misc/cbus.o
CC aarch64-softmmu/hw/misc/imx31_ccm.o
CC arm-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 aarch64-softmmu/hw/misc/imx25_ccm.o
CC arm-softmmu/hw/misc/exynos4210_clk.o
CC aarch64-softmmu/hw/misc/imx6_ccm.o
CC arm-softmmu/hw/misc/exynos4210_rng.o
GEN i386-softmmu/gdbstub-xml.c
CC aarch64-softmmu/hw/misc/imx6_src.o
CC arm-softmmu/hw/misc/imx_ccm.o
CC arm-softmmu/hw/misc/imx31_ccm.o
CC aarch64-softmmu/hw/misc/mst_fpga.o
CC i386-softmmu/hax-stub.o
CC aarch64-softmmu/hw/misc/omap_clk.o
CC arm-softmmu/hw/misc/imx25_ccm.o
CC i386-softmmu/arch_init.o
CC arm-softmmu/hw/misc/imx6_ccm.o
CC aarch64-softmmu/hw/misc/omap_gpmc.o
CC i386-softmmu/cpus.o
CC lm32-softmmu/tcg/tcg.o
CC arm-softmmu/hw/misc/imx6_src.o
CC aarch64-softmmu/hw/misc/omap_l4.o
CC arm-softmmu/hw/misc/mst_fpga.o
CC i386-softmmu/monitor.o
CC aarch64-softmmu/hw/misc/omap_sdrc.o
CC arm-softmmu/hw/misc/omap_clk.o
CC aarch64-softmmu/hw/misc/omap_tap.o
CC arm-softmmu/hw/misc/omap_gpmc.o
CC aarch64-softmmu/hw/misc/bcm2835_mbox.o
CC arm-softmmu/hw/misc/omap_l4.o
CC lm32-softmmu/tcg/tcg-op.o
CC arm-softmmu/hw/misc/omap_sdrc.o
CC aarch64-softmmu/hw/misc/bcm2835_property.o
CC arm-softmmu/hw/misc/omap_tap.o
CC i386-softmmu/gdbstub.o
CC aarch64-softmmu/hw/misc/bcm2835_rng.o
CC aarch64-softmmu/hw/misc/zynq_slcr.o
CC arm-softmmu/hw/misc/bcm2835_mbox.o
CC aarch64-softmmu/hw/misc/zynq-xadc.o
CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
CC i386-softmmu/balloon.o
CC arm-softmmu/hw/misc/bcm2835_property.o
CC aarch64-softmmu/hw/misc/mps2-scc.o
CC i386-softmmu/ioport.o
CC aarch64-softmmu/hw/misc/auxbus.o
CC arm-softmmu/hw/misc/bcm2835_rng.o
CC i386-softmmu/numa.o
CC aarch64-softmmu/hw/misc/aspeed_scu.o
CC arm-softmmu/hw/misc/zynq_slcr.o
CC lm32-softmmu/tcg/optimize.o
CC aarch64-softmmu/hw/misc/aspeed_sdmc.o
CC arm-softmmu/hw/misc/zynq-xadc.o
CC i386-softmmu/qtest.o
CC aarch64-softmmu/hw/misc/mmio_interface.o
CC arm-softmmu/hw/misc/stm32f2xx_syscfg.o
CC aarch64-softmmu/hw/net/virtio-net.o
CC i386-softmmu/memory.o
CC arm-softmmu/hw/misc/mps2-scc.o
CC lm32-softmmu/tcg/tcg-common.o
CC lm32-softmmu/tcg/tcg-runtime.o
CC arm-softmmu/hw/misc/aspeed_scu.o
CC aarch64-softmmu/hw/net/vhost_net.o
CC lm32-softmmu/fpu/softfloat.o
CC arm-softmmu/hw/misc/aspeed_sdmc.o
CC aarch64-softmmu/hw/pcmcia/pxa2xx.o
CC arm-softmmu/hw/misc/mmio_interface.o
CC i386-softmmu/memory_mapping.o
CC aarch64-softmmu/hw/scsi/virtio-scsi.o
CC arm-softmmu/hw/net/virtio-net.o
CC i386-softmmu/dump.o
CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/scsi/vhost-scsi-common.o
CC arm-softmmu/hw/net/vhost_net.o
CC i386-softmmu/migration/ram.o
CC arm-softmmu/hw/pcmcia/pxa2xx.o
CC aarch64-softmmu/hw/scsi/vhost-scsi.o
CC arm-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/scsi/vhost-user-scsi.o
CC lm32-softmmu/disas.o
CC aarch64-softmmu/hw/sd/omap_mmc.o
CC i386-softmmu/accel/accel.o
CC arm-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC lm32-softmmu/hax-stub.o
CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o
CC arm-softmmu/hw/scsi/vhost-scsi-common.o
CC i386-softmmu/accel/stubs/kvm-stub.o
CC lm32-softmmu/arch_init.o
CC arm-softmmu/hw/scsi/vhost-scsi.o
CC i386-softmmu/accel/tcg/tcg-all.o
CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o
CC lm32-softmmu/cpus.o
CC aarch64-softmmu/hw/ssi/omap_spi.o
CC arm-softmmu/hw/scsi/vhost-user-scsi.o
CC i386-softmmu/accel/tcg/cputlb.o
CC aarch64-softmmu/hw/ssi/imx_spi.o
CC arm-softmmu/hw/sd/omap_mmc.o
CC lm32-softmmu/monitor.o
CC aarch64-softmmu/hw/timer/exynos4210_mct.o
CC arm-softmmu/hw/sd/pxa2xx_mmci.o
CC aarch64-softmmu/hw/timer/exynos4210_pwm.o
CC arm-softmmu/hw/sd/bcm2835_sdhost.o
CC i386-softmmu/accel/tcg/cpu-exec.o
CC aarch64-softmmu/hw/timer/exynos4210_rtc.o
CC arm-softmmu/hw/ssi/omap_spi.o
CC aarch64-softmmu/hw/timer/omap_gptimer.o
CC i386-softmmu/accel/tcg/cpu-exec-common.o
CC lm32-softmmu/gdbstub.o
CC arm-softmmu/hw/ssi/imx_spi.o
CC aarch64-softmmu/hw/timer/omap_synctimer.o
CC i386-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/hw/timer/pxa2xx_timer.o
CC arm-softmmu/hw/timer/exynos4210_mct.o
CC lm32-softmmu/balloon.o
CC i386-softmmu/hw/9pfs/virtio-9p-device.o
CC aarch64-softmmu/hw/timer/digic-timer.o
CC lm32-softmmu/ioport.o
CC arm-softmmu/hw/timer/exynos4210_pwm.o
CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o
CC i386-softmmu/hw/block/virtio-blk.o
CC arm-softmmu/hw/timer/exynos4210_rtc.o
CC lm32-softmmu/numa.o
CC aarch64-softmmu/hw/usb/tusb6010.o
CC arm-softmmu/hw/timer/omap_gptimer.o
CC i386-softmmu/hw/block/dataplane/virtio-blk.o
CC aarch64-softmmu/hw/vfio/common.o
CC arm-softmmu/hw/timer/omap_synctimer.o
CC lm32-softmmu/qtest.o
CC arm-softmmu/hw/timer/pxa2xx_timer.o
CC i386-softmmu/hw/char/virtio-serial-bus.o
CC lm32-softmmu/memory.o
CC arm-softmmu/hw/timer/digic-timer.o
CC aarch64-softmmu/hw/vfio/pci.o
CC i386-softmmu/hw/core/generic-loader.o
CC arm-softmmu/hw/timer/allwinner-a10-pit.o
CC i386-softmmu/hw/core/null-machine.o
CC arm-softmmu/hw/usb/tusb6010.o
CC lm32-softmmu/memory_mapping.o
CC i386-softmmu/hw/display/vga.o
CC arm-softmmu/hw/vfio/common.o
CC aarch64-softmmu/hw/vfio/pci-quirks.o
CC lm32-softmmu/dump.o
CC arm-softmmu/hw/vfio/pci.o
CC i386-softmmu/hw/display/virtio-gpu.o
CC aarch64-softmmu/hw/vfio/platform.o
CC lm32-softmmu/migration/ram.o
CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o
CC arm-softmmu/hw/vfio/pci-quirks.o
CC aarch64-softmmu/hw/vfio/amd-xgbe.o
CC i386-softmmu/hw/display/virtio-gpu-3d.o
CC aarch64-softmmu/hw/vfio/spapr.o
CC lm32-softmmu/accel/accel.o
CC arm-softmmu/hw/vfio/platform.o
CC lm32-softmmu/accel/stubs/kvm-stub.o
CC aarch64-softmmu/hw/virtio/virtio.o
CC i386-softmmu/hw/display/virtio-gpu-pci.o
CC lm32-softmmu/accel/tcg/tcg-all.o
CC arm-softmmu/hw/vfio/calxeda-xgmac.o
CC lm32-softmmu/accel/tcg/cputlb.o
CC i386-softmmu/hw/display/virtio-vga.o
CC arm-softmmu/hw/vfio/amd-xgbe.o
CC aarch64-softmmu/hw/virtio/virtio-balloon.o
CC arm-softmmu/hw/vfio/spapr.o
CC i386-softmmu/hw/intc/apic.o
CC arm-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/virtio/vhost.o
CC i386-softmmu/hw/intc/apic_common.o
CC lm32-softmmu/accel/tcg/cpu-exec.o
CC arm-softmmu/hw/virtio/virtio-balloon.o
CC i386-softmmu/hw/intc/ioapic.o
CC aarch64-softmmu/hw/virtio/vhost-backend.o
CC lm32-softmmu/accel/tcg/cpu-exec-common.o
CC arm-softmmu/hw/virtio/vhost.o
CC i386-softmmu/hw/isa/lpc_ich9.o
CC aarch64-softmmu/hw/virtio/vhost-user.o
CC lm32-softmmu/accel/tcg/translate-all.o
CC i386-softmmu/hw/misc/vmport.o
CC aarch64-softmmu/hw/virtio/vhost-vsock.o
CC arm-softmmu/hw/virtio/vhost-backend.o
CC i386-softmmu/hw/misc/ivshmem.o
CC arm-softmmu/hw/virtio/vhost-user.o
CC lm32-softmmu/hw/core/generic-loader.o
CC aarch64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
CC lm32-softmmu/hw/core/null-machine.o
CC arm-softmmu/hw/virtio/vhost-vsock.o
CC i386-softmmu/hw/misc/pvpanic.o
CC arm-softmmu/hw/virtio/virtio-crypto.o
CC lm32-softmmu/hw/input/milkymist-softusb.o
CC aarch64-softmmu/hw/arm/boot.o
CC i386-softmmu/hw/misc/mmio_interface.o
CC i386-softmmu/hw/net/virtio-net.o
CC lm32-softmmu/hw/misc/milkymist-hpdmc.o
CC arm-softmmu/hw/virtio/virtio-crypto-pci.o
CC lm32-softmmu/hw/misc/milkymist-pfpu.o
CC aarch64-softmmu/hw/arm/collie.o
CC arm-softmmu/hw/arm/boot.o
CC lm32-softmmu/hw/misc/mmio_interface.o
CC aarch64-softmmu/hw/arm/exynos4_boards.o
CC i386-softmmu/hw/net/vhost_net.o
CC lm32-softmmu/hw/net/milkymist-minimac2.o
CC arm-softmmu/hw/arm/collie.o
CC i386-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/arm/gumstix.o
CC arm-softmmu/hw/arm/exynos4_boards.o
CC lm32-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/arm/highbank.o
CC i386-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC arm-softmmu/hw/arm/gumstix.o
CC lm32-softmmu/hw/net/rocker/qmp-norocker.o
CC lm32-softmmu/hw/sd/milkymist-memcard.o
CC aarch64-softmmu/hw/arm/digic_boards.o
CC arm-softmmu/hw/arm/highbank.o
CC i386-softmmu/hw/scsi/vhost-scsi-common.o
CC lm32-softmmu/hw/vfio/common.o
CC aarch64-softmmu/hw/arm/integratorcp.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 i386-softmmu/hw/scsi/vhost-user-scsi.o
CC aarch64-softmmu/hw/arm/mainstone.o
CC lm32-softmmu/hw/vfio/platform.o
CC i386-softmmu/hw/timer/mc146818rtc.o
CC arm-softmmu/hw/arm/mainstone.o
CC aarch64-softmmu/hw/arm/musicpal.o
CC arm-softmmu/hw/arm/musicpal.o
CC i386-softmmu/hw/vfio/common.o
CC lm32-softmmu/hw/vfio/spapr.o
CC aarch64-softmmu/hw/arm/nseries.o
CC lm32-softmmu/hw/lm32/lm32_boards.o
CC i386-softmmu/hw/vfio/pci.o
CC arm-softmmu/hw/arm/nseries.o
CC lm32-softmmu/hw/lm32/milkymist.o
CC aarch64-softmmu/hw/arm/omap_sx1.o
CC aarch64-softmmu/hw/arm/palm.o
CC arm-softmmu/hw/arm/omap_sx1.o
CC i386-softmmu/hw/vfio/pci-quirks.o
CC lm32-softmmu/target/lm32/translate.o
CC arm-softmmu/hw/arm/palm.o
CC aarch64-softmmu/hw/arm/realview.o
CC i386-softmmu/hw/vfio/platform.o
CC aarch64-softmmu/hw/arm/spitz.o
CC lm32-softmmu/target/lm32/op_helper.o
CC arm-softmmu/hw/arm/realview.o
CC lm32-softmmu/target/lm32/helper.o
CC i386-softmmu/hw/vfio/spapr.o
CC aarch64-softmmu/hw/arm/stellaris.o
CC arm-softmmu/hw/arm/spitz.o
CC lm32-softmmu/target/lm32/cpu.o
CC i386-softmmu/hw/virtio/virtio.o
CC lm32-softmmu/target/lm32/gdbstub.o
CC aarch64-softmmu/hw/arm/tosa.o
CC arm-softmmu/hw/arm/stellaris.o
CC lm32-softmmu/target/lm32/lm32-semi.o
CC aarch64-softmmu/hw/arm/versatilepb.o
CC lm32-softmmu/target/lm32/machine.o
CC arm-softmmu/hw/arm/tosa.o
CC i386-softmmu/hw/virtio/virtio-balloon.o
GEN trace/generated-helpers.c
CC arm-softmmu/hw/arm/versatilepb.o
CC lm32-softmmu/trace/control-target.o
CC aarch64-softmmu/hw/arm/vexpress.o
CC lm32-softmmu/trace/generated-helpers.o
CC i386-softmmu/hw/virtio/vhost.o
CC arm-softmmu/hw/arm/vexpress.o
LINK lm32-softmmu/qemu-system-lm32
CC aarch64-softmmu/hw/arm/virt.o
CC arm-softmmu/hw/arm/virt.o
CC i386-softmmu/hw/virtio/vhost-backend.o
CC i386-softmmu/hw/virtio/vhost-user.o
CC aarch64-softmmu/hw/arm/xilinx_zynq.o
CC arm-softmmu/hw/arm/xilinx_zynq.o
CC aarch64-softmmu/hw/arm/z2.o
CC i386-softmmu/hw/virtio/vhost-vsock.o
GEN m68k-softmmu/hmp-commands.h
CC arm-softmmu/hw/arm/z2.o
GEN m68k-softmmu/hmp-commands-info.h
GEN m68k-softmmu/config-target.h
CC m68k-softmmu/exec.o
CC aarch64-softmmu/hw/arm/virt-acpi-build.o
CC i386-softmmu/hw/virtio/virtio-crypto.o
CC arm-softmmu/hw/arm/virt-acpi-build.o
CC aarch64-softmmu/hw/arm/netduino2.o
CC i386-softmmu/hw/virtio/virtio-crypto-pci.o
CC arm-softmmu/hw/arm/netduino2.o
CC aarch64-softmmu/hw/arm/sysbus-fdt.o
CC arm-softmmu/hw/arm/sysbus-fdt.o
CC i386-softmmu/hw/i386/multiboot.o
CC aarch64-softmmu/hw/arm/armv7m.o
CC arm-softmmu/hw/arm/armv7m.o
CC i386-softmmu/hw/i386/pc.o
CC m68k-softmmu/tcg/tcg.o
CC aarch64-softmmu/hw/arm/exynos4210.o
CC arm-softmmu/hw/arm/exynos4210.o
CC aarch64-softmmu/hw/arm/pxa2xx.o
CC arm-softmmu/hw/arm/pxa2xx.o
CC i386-softmmu/hw/i386/pc_piix.o
CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o
CC m68k-softmmu/tcg/tcg-op.o
CC i386-softmmu/hw/i386/pc_q35.o
CC aarch64-softmmu/hw/arm/pxa2xx_pic.o
CC arm-softmmu/hw/arm/pxa2xx_gpio.o
CC arm-softmmu/hw/arm/pxa2xx_pic.o
CC i386-softmmu/hw/i386/pc_sysfw.o
CC aarch64-softmmu/hw/arm/digic.o
CC arm-softmmu/hw/arm/digic.o
CC i386-softmmu/hw/i386/x86-iommu.o
CC aarch64-softmmu/hw/arm/omap1.o
CC arm-softmmu/hw/arm/omap1.o
CC i386-softmmu/hw/i386/intel_iommu.o
CC aarch64-softmmu/hw/arm/omap2.o
CC arm-softmmu/hw/arm/omap2.o
CC m68k-softmmu/tcg/optimize.o
CC aarch64-softmmu/hw/arm/strongarm.o
CC i386-softmmu/hw/i386/amd_iommu.o
CC arm-softmmu/hw/arm/strongarm.o
CC aarch64-softmmu/hw/arm/allwinner-a10.o
CC m68k-softmmu/tcg/tcg-common.o
CC i386-softmmu/hw/i386/kvmvapic.o
CC arm-softmmu/hw/arm/allwinner-a10.o
CC aarch64-softmmu/hw/arm/cubieboard.o
CC m68k-softmmu/tcg/tcg-runtime.o
CC i386-softmmu/hw/i386/acpi-build.o
CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o
CC arm-softmmu/hw/arm/cubieboard.o
CC m68k-softmmu/fpu/softfloat.o
CC arm-softmmu/hw/arm/bcm2835_peripherals.o
CC aarch64-softmmu/hw/arm/bcm2836.o
CC arm-softmmu/hw/arm/bcm2836.o
CC i386-softmmu/hw/i386/pci-assign-load-rom.o
CC aarch64-softmmu/hw/arm/raspi.o
CC arm-softmmu/hw/arm/raspi.o
CC i386-softmmu/target/i386/helper.o
CC aarch64-softmmu/hw/arm/stm32f205_soc.o
CC arm-softmmu/hw/arm/stm32f205_soc.o
CC i386-softmmu/target/i386/cpu.o
CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o
CC arm-softmmu/hw/arm/fsl-imx25.o
CC i386-softmmu/target/i386/gdbstub.o
CC aarch64-softmmu/hw/arm/xlnx-ep108.o
CC arm-softmmu/hw/arm/imx25_pdk.o
CC m68k-softmmu/disas.o
CC i386-softmmu/target/i386/xsave_helper.o
CC arm-softmmu/hw/arm/fsl-imx31.o
CC aarch64-softmmu/hw/arm/fsl-imx25.o
CC i386-softmmu/target/i386/translate.o
GEN m68k-softmmu/gdbstub-xml.c
CC m68k-softmmu/hax-stub.o
CC arm-softmmu/hw/arm/kzm.o
CC aarch64-softmmu/hw/arm/imx25_pdk.o
CC m68k-softmmu/arch_init.o
CC arm-softmmu/hw/arm/fsl-imx6.o
CC aarch64-softmmu/hw/arm/fsl-imx31.o
CC m68k-softmmu/cpus.o
CC aarch64-softmmu/hw/arm/kzm.o
CC arm-softmmu/hw/arm/sabrelite.o
CC m68k-softmmu/monitor.o
CC aarch64-softmmu/hw/arm/fsl-imx6.o
CC arm-softmmu/hw/arm/aspeed_soc.o
CC aarch64-softmmu/hw/arm/sabrelite.o
CC aarch64-softmmu/hw/arm/aspeed_soc.o
CC arm-softmmu/hw/arm/aspeed.o
CC aarch64-softmmu/hw/arm/aspeed.o
CC aarch64-softmmu/hw/arm/mps2.o
CC arm-softmmu/hw/arm/mps2.o
CC m68k-softmmu/gdbstub.o
CC aarch64-softmmu/target/arm/arm-semi.o
CC arm-softmmu/target/arm/arm-semi.o
CC m68k-softmmu/balloon.o
CC arm-softmmu/target/arm/machine.o
CC aarch64-softmmu/target/arm/machine.o
CC m68k-softmmu/ioport.o
CC aarch64-softmmu/target/arm/psci.o
CC arm-softmmu/target/arm/psci.o
CC aarch64-softmmu/target/arm/arch_dump.o
CC m68k-softmmu/numa.o
CC arm-softmmu/target/arm/arch_dump.o
CC aarch64-softmmu/target/arm/monitor.o
CC m68k-softmmu/qtest.o
CC arm-softmmu/target/arm/monitor.o
CC aarch64-softmmu/target/arm/kvm-stub.o
CC arm-softmmu/target/arm/kvm-stub.o
CC aarch64-softmmu/target/arm/translate.o
CC m68k-softmmu/memory.o
CC i386-softmmu/target/i386/bpt_helper.o
CC arm-softmmu/target/arm/translate.o
CC i386-softmmu/target/i386/cc_helper.o
CC i386-softmmu/target/i386/excp_helper.o
CC m68k-softmmu/memory_mapping.o
CC i386-softmmu/target/i386/fpu_helper.o
CC m68k-softmmu/dump.o
CC m68k-softmmu/migration/ram.o
CC m68k-softmmu/accel/accel.o
CC m68k-softmmu/accel/stubs/kvm-stub.o
CC i386-softmmu/target/i386/int_helper.o
CC m68k-softmmu/accel/tcg/tcg-all.o
CC i386-softmmu/target/i386/mem_helper.o
CC m68k-softmmu/accel/tcg/cputlb.o
CC aarch64-softmmu/target/arm/op_helper.o
CC i386-softmmu/target/i386/misc_helper.o
CC arm-softmmu/target/arm/op_helper.o
CC i386-softmmu/target/i386/mpx_helper.o
CC aarch64-softmmu/target/arm/helper.o
CC m68k-softmmu/accel/tcg/cpu-exec.o
CC i386-softmmu/target/i386/seg_helper.o
CC m68k-softmmu/accel/tcg/cpu-exec-common.o
CC arm-softmmu/target/arm/helper.o
CC m68k-softmmu/accel/tcg/translate-all.o
CC m68k-softmmu/hw/char/mcf_uart.o
CC m68k-softmmu/hw/core/generic-loader.o
CC m68k-softmmu/hw/core/null-machine.o
CC i386-softmmu/target/i386/smm_helper.o
CC aarch64-softmmu/target/arm/cpu.o
CC m68k-softmmu/hw/misc/mmio_interface.o
CC i386-softmmu/target/i386/svm_helper.o
CC aarch64-softmmu/target/arm/neon_helper.o
CC m68k-softmmu/hw/net/mcf_fec.o
CC i386-softmmu/target/i386/machine.o
CC arm-softmmu/target/arm/cpu.o
CC m68k-softmmu/hw/net/vhost_net.o
CC i386-softmmu/target/i386/arch_memory_mapping.o
CC m68k-softmmu/hw/net/rocker/qmp-norocker.o
CC m68k-softmmu/hw/vfio/common.o
CC aarch64-softmmu/target/arm/iwmmxt_helper.o
CC arm-softmmu/target/arm/neon_helper.o
CC i386-softmmu/target/i386/arch_dump.o
CC m68k-softmmu/hw/vfio/platform.o
CC i386-softmmu/target/i386/monitor.o
CC aarch64-softmmu/target/arm/gdbstub.o
CC i386-softmmu/target/i386/kvm-stub.o
CC arm-softmmu/target/arm/iwmmxt_helper.o
CC m68k-softmmu/hw/vfio/spapr.o
CC aarch64-softmmu/target/arm/cpu64.o
GEN trace/generated-helpers.c
CC i386-softmmu/trace/control-target.o
CC m68k-softmmu/hw/m68k/an5206.o
CC aarch64-softmmu/target/arm/translate-a64.o
CC i386-softmmu/gdbstub-xml.o
CC i386-softmmu/trace/generated-helpers.o
CC m68k-softmmu/hw/m68k/mcf5208.o
CC arm-softmmu/target/arm/gdbstub.o
LINK i386-softmmu/qemu-system-i386
CC m68k-softmmu/hw/m68k/mcf5206.o
CC arm-softmmu/target/arm/crypto_helper.o
CC m68k-softmmu/hw/m68k/mcf_intc.o
CC m68k-softmmu/target/m68k/m68k-semi.o
CC arm-softmmu/target/arm/arm-powerctl.o
CC m68k-softmmu/target/m68k/translate.o
GEN trace/generated-helpers.c
CC arm-softmmu/trace/control-target.o
CC arm-softmmu/gdbstub-xml.o
CC m68k-softmmu/target/m68k/op_helper.o
CC arm-softmmu/trace/generated-helpers.o
CC m68k-softmmu/target/m68k/helper.o
LINK arm-softmmu/qemu-system-arm
CC m68k-softmmu/target/m68k/cpu.o
CC aarch64-softmmu/target/arm/helper-a64.o
CC aarch64-softmmu/target/arm/gdbstub64.o
CC aarch64-softmmu/target/arm/crypto_helper.o
CC m68k-softmmu/target/m68k/fpu_helper.o
GEN microblazeel-softmmu/hmp-commands.h
GEN microblazeel-softmmu/hmp-commands-info.h
CC aarch64-softmmu/target/arm/arm-powerctl.o
GEN microblazeel-softmmu/config-target.h
CC microblazeel-softmmu/exec.o
CC m68k-softmmu/target/m68k/gdbstub.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/trace/control-target.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/gdbstub-xml.o
CC m68k-softmmu/trace/control-target.o
CC aarch64-softmmu/trace/generated-helpers.o
CC m68k-softmmu/gdbstub-xml.o
GEN microblaze-softmmu/hmp-commands.h
CC m68k-softmmu/trace/generated-helpers.o
LINK aarch64-softmmu/qemu-system-aarch64
GEN microblaze-softmmu/hmp-commands-info.h
GEN microblaze-softmmu/config-target.h
CC microblaze-softmmu/exec.o
LINK m68k-softmmu/qemu-system-m68k
CC microblazeel-softmmu/tcg/tcg.o
GEN mips64el-softmmu/hmp-commands.h
GEN mips64el-softmmu/hmp-commands-info.h
GEN mips64el-softmmu/config-target.h
CC microblaze-softmmu/tcg/tcg.o
CC mips64el-softmmu/exec.o
GEN mips64-softmmu/hmp-commands.h
GEN mips64-softmmu/hmp-commands-info.h
GEN mips64-softmmu/config-target.h
CC mips64-softmmu/exec.o
CC microblazeel-softmmu/tcg/tcg-op.o
CC microblaze-softmmu/tcg/tcg-op.o
CC mips64el-softmmu/tcg/tcg.o
CC mips64-softmmu/tcg/tcg.o
CC microblazeel-softmmu/tcg/optimize.o
CC microblaze-softmmu/tcg/optimize.o
CC microblazeel-softmmu/tcg/tcg-common.o
CC microblazeel-softmmu/tcg/tcg-runtime.o
CC mips64el-softmmu/tcg/tcg-op.o
CC microblazeel-softmmu/fpu/softfloat.o
CC microblaze-softmmu/tcg/tcg-common.o
CC microblaze-softmmu/tcg/tcg-runtime.o
CC mips64-softmmu/tcg/tcg-op.o
CC microblaze-softmmu/fpu/softfloat.o
CC mips64el-softmmu/tcg/optimize.o
CC microblazeel-softmmu/disas.o
CC microblazeel-softmmu/hax-stub.o
CC microblazeel-softmmu/arch_init.o
CC mips64el-softmmu/tcg/tcg-common.o
CC mips64-softmmu/tcg/optimize.o
CC microblazeel-softmmu/cpus.o
CC microblaze-softmmu/disas.o
CC mips64el-softmmu/tcg/tcg-runtime.o
CC microblaze-softmmu/hax-stub.o
CC mips64el-softmmu/fpu/softfloat.o
CC microblazeel-softmmu/monitor.o
CC microblaze-softmmu/arch_init.o
CC mips64-softmmu/tcg/tcg-common.o
CC microblaze-softmmu/cpus.o
CC mips64-softmmu/tcg/tcg-runtime.o
CC mips64-softmmu/fpu/softfloat.o
CC microblaze-softmmu/monitor.o
CC microblazeel-softmmu/gdbstub.o
CC microblazeel-softmmu/balloon.o
CC mips64el-softmmu/disas.o
CC microblazeel-softmmu/ioport.o
CC mips64el-softmmu/hax-stub.o
CC microblaze-softmmu/gdbstub.o
CC microblazeel-softmmu/numa.o
CC mips64el-softmmu/arch_init.o
CC microblazeel-softmmu/qtest.o
CC microblaze-softmmu/balloon.o
CC mips64-softmmu/disas.o
CC mips64el-softmmu/cpus.o
CC microblaze-softmmu/ioport.o
CC microblazeel-softmmu/memory.o
CC mips64-softmmu/hax-stub.o
CC mips64el-softmmu/monitor.o
CC microblaze-softmmu/numa.o
CC mips64-softmmu/arch_init.o
CC mips64-softmmu/cpus.o
CC microblaze-softmmu/qtest.o
CC microblazeel-softmmu/memory_mapping.o
CC mips64-softmmu/monitor.o
CC microblaze-softmmu/memory.o
CC microblazeel-softmmu/dump.o
CC mips64el-softmmu/gdbstub.o
CC microblazeel-softmmu/migration/ram.o
CC mips64el-softmmu/balloon.o
CC mips64el-softmmu/ioport.o
CC mips64-softmmu/gdbstub.o
CC microblazeel-softmmu/accel/accel.o
CC microblaze-softmmu/memory_mapping.o
CC mips64el-softmmu/numa.o
CC mips64-softmmu/balloon.o
CC microblazeel-softmmu/accel/stubs/kvm-stub.o
CC mips64el-softmmu/qtest.o
CC microblaze-softmmu/dump.o
CC microblazeel-softmmu/accel/tcg/tcg-all.o
CC mips64-softmmu/ioport.o
CC mips64el-softmmu/memory.o
CC microblazeel-softmmu/accel/tcg/cputlb.o
CC mips64-softmmu/numa.o
CC microblaze-softmmu/migration/ram.o
CC mips64-softmmu/qtest.o
CC mips64-softmmu/memory.o
CC microblazeel-softmmu/accel/tcg/cpu-exec.o
CC mips64el-softmmu/memory_mapping.o
CC microblaze-softmmu/accel/accel.o
CC mips64el-softmmu/dump.o
CC microblaze-softmmu/accel/stubs/kvm-stub.o
CC microblazeel-softmmu/accel/tcg/cpu-exec-common.o
CC microblazeel-softmmu/accel/tcg/translate-all.o
CC mips64-softmmu/memory_mapping.o
CC microblaze-softmmu/accel/tcg/tcg-all.o
CC mips64el-softmmu/migration/ram.o
CC microblaze-softmmu/accel/tcg/cputlb.o
CC mips64-softmmu/dump.o
CC microblazeel-softmmu/hw/core/generic-loader.o
CC microblazeel-softmmu/hw/core/null-machine.o
CC mips64el-softmmu/accel/accel.o
CC microblazeel-softmmu/hw/misc/mmio_interface.o
CC mips64-softmmu/migration/ram.o
CC mips64el-softmmu/accel/stubs/kvm-stub.o
CC mips64el-softmmu/accel/tcg/tcg-all.o
CC microblazeel-softmmu/hw/net/xilinx_ethlite.o
CC mips64el-softmmu/accel/tcg/cputlb.o
CC mips64-softmmu/accel/accel.o
CC microblazeel-softmmu/hw/net/vhost_net.o
CC microblaze-softmmu/accel/tcg/cpu-exec.o
CC mips64-softmmu/accel/stubs/kvm-stub.o
CC microblazeel-softmmu/hw/net/rocker/qmp-norocker.o
CC mips64-softmmu/accel/tcg/tcg-all.o
CC microblaze-softmmu/accel/tcg/cpu-exec-common.o
CC microblazeel-softmmu/hw/vfio/common.o
CC mips64-softmmu/accel/tcg/cputlb.o
CC microblaze-softmmu/accel/tcg/translate-all.o
CC mips64el-softmmu/accel/tcg/cpu-exec.o
CC microblaze-softmmu/hw/core/generic-loader.o
CC microblazeel-softmmu/hw/vfio/platform.o
CC microblaze-softmmu/hw/core/null-machine.o
CC mips64el-softmmu/accel/tcg/cpu-exec-common.o
CC mips64-softmmu/accel/tcg/cpu-exec.o
CC microblazeel-softmmu/hw/vfio/spapr.o
CC microblaze-softmmu/hw/misc/mmio_interface.o
CC mips64el-softmmu/accel/tcg/translate-all.o
CC microblaze-softmmu/hw/net/xilinx_ethlite.o
CC mips64-softmmu/accel/tcg/cpu-exec-common.o
CC microblazeel-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
CC mips64-softmmu/accel/tcg/translate-all.o
CC microblaze-softmmu/hw/net/vhost_net.o
CC mips64el-softmmu/hw/9pfs/virtio-9p-device.o
CC microblaze-softmmu/hw/net/rocker/qmp-norocker.o
CC microblazeel-softmmu/hw/microblaze/petalogix_ml605_mmu.o
CC microblaze-softmmu/hw/vfio/common.o
CC mips64el-softmmu/hw/block/virtio-blk.o
CC mips64-softmmu/hw/9pfs/virtio-9p-device.o
CC microblazeel-softmmu/hw/microblaze/boot.o
CC mips64-softmmu/hw/block/virtio-blk.o
CC mips64el-softmmu/hw/block/dataplane/virtio-blk.o
CC microblazeel-softmmu/target/microblaze/translate.o
CC microblaze-softmmu/hw/vfio/platform.o
CC mips64-softmmu/hw/block/dataplane/virtio-blk.o
CC mips64el-softmmu/hw/char/virtio-serial-bus.o
CC microblaze-softmmu/hw/vfio/spapr.o
CC microblaze-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
CC mips64-softmmu/hw/char/virtio-serial-bus.o
CC microblazeel-softmmu/target/microblaze/op_helper.o
CC mips64el-softmmu/hw/core/generic-loader.o
CC microblaze-softmmu/hw/microblaze/petalogix_ml605_mmu.o
CC mips64el-softmmu/hw/core/null-machine.o
CC mips64-softmmu/hw/core/generic-loader.o
CC microblaze-softmmu/hw/microblaze/boot.o
CC microblazeel-softmmu/target/microblaze/helper.o
CC mips64el-softmmu/hw/display/vga.o
CC microblaze-softmmu/target/microblaze/translate.o
CC mips64-softmmu/hw/core/null-machine.o
CC microblazeel-softmmu/target/microblaze/cpu.o
CC mips64-softmmu/hw/display/vga.o
CC microblazeel-softmmu/target/microblaze/gdbstub.o
CC microblazeel-softmmu/target/microblaze/mmu.o
CC mips64el-softmmu/hw/display/virtio-gpu.o
CC microblaze-softmmu/target/microblaze/op_helper.o
GEN trace/generated-helpers.c
CC microblazeel-softmmu/trace/control-target.o
CC mips64-softmmu/hw/display/virtio-gpu.o
CC microblaze-softmmu/target/microblaze/helper.o
CC microblazeel-softmmu/trace/generated-helpers.o
CC mips64el-softmmu/hw/display/virtio-gpu-3d.o
CC microblaze-softmmu/target/microblaze/cpu.o
LINK microblazeel-softmmu/qemu-system-microblazeel
CC mips64-softmmu/hw/display/virtio-gpu-3d.o
CC microblaze-softmmu/target/microblaze/gdbstub.o
CC mips64el-softmmu/hw/display/virtio-gpu-pci.o
CC microblaze-softmmu/target/microblaze/mmu.o
CC mips64el-softmmu/hw/intc/mips_gic.o
GEN trace/generated-helpers.c
CC microblaze-softmmu/trace/control-target.o
CC mips64-softmmu/hw/display/virtio-gpu-pci.o
CC mips64el-softmmu/hw/misc/ivshmem.o
CC microblaze-softmmu/trace/generated-helpers.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 mips64-softmmu/hw/intc/mips_gic.o
CC mips64el-softmmu/hw/misc/mips_cmgcr.o
LINK microblaze-softmmu/qemu-system-microblaze
CC mips64el-softmmu/hw/misc/mips_cpc.o
CC mips64-softmmu/hw/misc/ivshmem.o
CC mips64el-softmmu/hw/misc/mips_itu.o
CC mips64el-softmmu/hw/misc/mmio_interface.o
CC mips64-softmmu/hw/misc/mips_cmgcr.o
CC mips64-softmmu/hw/misc/mips_cpc.o
CC mips64el-softmmu/hw/net/virtio-net.o
CC mips64-softmmu/hw/misc/mips_itu.o
GEN mips-softmmu/hmp-commands.h
CC mipsel-softmmu/tcg/tcg.o
CC mips64-softmmu/hw/misc/mmio_interface.o
GEN mips-softmmu/hmp-commands-info.h
GEN mips-softmmu/config-target.h
CC mips64-softmmu/hw/net/virtio-net.o
CC mips-softmmu/exec.o
CC mips64el-softmmu/hw/net/vhost_net.o
CC mips64el-softmmu/hw/scsi/virtio-scsi.o
CC mips64-softmmu/hw/net/vhost_net.o
CC mips64el-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC mips64-softmmu/hw/scsi/virtio-scsi.o
CC mips64el-softmmu/hw/scsi/vhost-scsi-common.o
CC mipsel-softmmu/tcg/tcg-op.o
CC mips64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC mips64el-softmmu/hw/scsi/vhost-scsi.o
CC mips64-softmmu/hw/scsi/vhost-scsi-common.o
CC mips64el-softmmu/hw/scsi/vhost-user-scsi.o
CC mips-softmmu/tcg/tcg.o
CC mips64-softmmu/hw/scsi/vhost-scsi.o
CC mips64el-softmmu/hw/timer/mips_gictimer.o
CC mips64el-softmmu/hw/timer/mc146818rtc.o
CC mips64-softmmu/hw/scsi/vhost-user-scsi.o
CC mips64-softmmu/hw/timer/mips_gictimer.o
CC mips64el-softmmu/hw/vfio/common.o
CC mips64-softmmu/hw/timer/mc146818rtc.o
CC mipsel-softmmu/tcg/optimize.o
CC mips64el-softmmu/hw/vfio/pci.o
CC mips-softmmu/tcg/tcg-op.o
CC mips64-softmmu/hw/vfio/common.o
CC mipsel-softmmu/tcg/tcg-common.o
CC mips64-softmmu/hw/vfio/pci.o
CC mips64el-softmmu/hw/vfio/pci-quirks.o
CC mipsel-softmmu/tcg/tcg-runtime.o
CC mipsel-softmmu/fpu/softfloat.o
CC mips64el-softmmu/hw/vfio/platform.o
CC mips64-softmmu/hw/vfio/pci-quirks.o
CC mips-softmmu/tcg/optimize.o
CC mips64el-softmmu/hw/vfio/spapr.o
CC mips64-softmmu/hw/vfio/platform.o
CC mips64el-softmmu/hw/virtio/virtio.o
CC mips-softmmu/tcg/tcg-common.o
CC mips64-softmmu/hw/vfio/spapr.o
CC mips-softmmu/tcg/tcg-runtime.o
CC mips64el-softmmu/hw/virtio/virtio-balloon.o
CC mips64-softmmu/hw/virtio/virtio.o
CC mips64el-softmmu/hw/virtio/vhost.o
CC mips-softmmu/fpu/softfloat.o
CC mipsel-softmmu/disas.o
CC mips64el-softmmu/hw/virtio/vhost-backend.o
CC mipsel-softmmu/hax-stub.o
CC mipsel-softmmu/arch_init.o
CC mips64-softmmu/hw/virtio/virtio-balloon.o
CC mips64el-softmmu/hw/virtio/vhost-user.o
CC mipsel-softmmu/cpus.o
CC mips64-softmmu/hw/virtio/vhost.o
CC mips64el-softmmu/hw/virtio/vhost-vsock.o
CC mips64el-softmmu/hw/virtio/virtio-crypto.o
CC mipsel-softmmu/monitor.o
CC mips64-softmmu/hw/virtio/vhost-backend.o
CC mips64-softmmu/hw/virtio/vhost-user.o
CC mips-softmmu/disas.o
CC mips64el-softmmu/hw/virtio/virtio-crypto-pci.o
CC mips-softmmu/hax-stub.o
CC mips64el-softmmu/hw/mips/mips_r4k.o
CC mips64-softmmu/hw/virtio/vhost-vsock.o
CC mips-softmmu/arch_init.o
CC mips64el-softmmu/hw/mips/mips_malta.o
CC mips-softmmu/cpus.o
CC mips64-softmmu/hw/virtio/virtio-crypto.o
CC mips64el-softmmu/hw/mips/mips_mipssim.o
CC mipsel-softmmu/gdbstub.o
CC mips64-softmmu/hw/virtio/virtio-crypto-pci.o
CC mips64el-softmmu/hw/mips/addr.o
CC mips-softmmu/monitor.o
CC mips64el-softmmu/hw/mips/cputimer.o
CC mips64-softmmu/hw/mips/mips_r4k.o
CC mipsel-softmmu/balloon.o
CC mips64el-softmmu/hw/mips/mips_int.o
CC mips64-softmmu/hw/mips/mips_malta.o
CC mips64el-softmmu/hw/mips/mips_jazz.o
CC mipsel-softmmu/ioport.o
CC mipsel-softmmu/numa.o
CC mips64-softmmu/hw/mips/mips_mipssim.o
CC mips64el-softmmu/hw/mips/mips_fulong2e.o
CC mipsel-softmmu/qtest.o
CC mips64-softmmu/hw/mips/addr.o
CC mips64el-softmmu/hw/mips/gt64xxx_pci.o
CC mips-softmmu/gdbstub.o
CC mips64-softmmu/hw/mips/cputimer.o
CC mipsel-softmmu/memory.o
CC mips64-softmmu/hw/mips/mips_int.o
CC mips64el-softmmu/hw/mips/cps.o
CC mips64-softmmu/hw/mips/mips_jazz.o
CC mips-softmmu/balloon.o
CC mips64-softmmu/hw/mips/gt64xxx_pci.o
CC mips64el-softmmu/hw/mips/boston.o
CC mips-softmmu/ioport.o
CC mips64-softmmu/hw/mips/cps.o
CC mips-softmmu/numa.o
CC mips64el-softmmu/target/mips/translate.o
CC mipsel-softmmu/memory_mapping.o
CC mips64-softmmu/target/mips/translate.o
CC mips-softmmu/qtest.o
CC mipsel-softmmu/dump.o
CC mips-softmmu/memory.o
CC mipsel-softmmu/migration/ram.o
CC mipsel-softmmu/accel/accel.o
CC mips-softmmu/memory_mapping.o
CC mipsel-softmmu/accel/stubs/kvm-stub.o
CC mips-softmmu/dump.o
CC mipsel-softmmu/accel/tcg/tcg-all.o
CC mipsel-softmmu/accel/tcg/cputlb.o
CC mips-softmmu/migration/ram.o
CC mipsel-softmmu/accel/tcg/cpu-exec.o
CC mips-softmmu/accel/accel.o
CC mipsel-softmmu/accel/tcg/cpu-exec-common.o
CC mips-softmmu/accel/stubs/kvm-stub.o
CC mipsel-softmmu/accel/tcg/translate-all.o
CC mips-softmmu/accel/tcg/tcg-all.o
CC mips64-softmmu/target/mips/dsp_helper.o
CC mipsel-softmmu/hw/9pfs/virtio-9p-device.o
CC mips-softmmu/accel/tcg/cputlb.o
CC mips64el-softmmu/target/mips/dsp_helper.o
CC mipsel-softmmu/hw/block/virtio-blk.o
CC mips64-softmmu/target/mips/op_helper.o
CC mipsel-softmmu/hw/block/dataplane/virtio-blk.o
CC mips-softmmu/accel/tcg/cpu-exec.o
CC mips-softmmu/accel/tcg/cpu-exec-common.o
CC mipsel-softmmu/hw/char/virtio-serial-bus.o
CC mips-softmmu/accel/tcg/translate-all.o
CC mips64el-softmmu/target/mips/op_helper.o
CC mipsel-softmmu/hw/core/generic-loader.o
CC mips-softmmu/hw/9pfs/virtio-9p-device.o
CC mips-softmmu/hw/block/virtio-blk.o
CC mipsel-softmmu/hw/core/null-machine.o
CC mipsel-softmmu/hw/display/vga.o
CC mips-softmmu/hw/block/dataplane/virtio-blk.o
CC mips64-softmmu/target/mips/lmi_helper.o
CC mips-softmmu/hw/char/virtio-serial-bus.o
CC mips64-softmmu/target/mips/helper.o
CC mipsel-softmmu/hw/display/virtio-gpu.o
CC mips-softmmu/hw/core/generic-loader.o
CC mips64el-softmmu/target/mips/lmi_helper.o
CC mips64-softmmu/target/mips/cpu.o
CC mips-softmmu/hw/core/null-machine.o
CC mipsel-softmmu/hw/display/virtio-gpu-3d.o
CC mips64el-softmmu/target/mips/helper.o
CC mips64-softmmu/target/mips/gdbstub.o
CC mips-softmmu/hw/display/vga.o
CC mips64-softmmu/target/mips/msa_helper.o
CC mips64el-softmmu/target/mips/cpu.o
CC mipsel-softmmu/hw/display/virtio-gpu-pci.o
CC mips64el-softmmu/target/mips/gdbstub.o
CC mips64el-softmmu/target/mips/msa_helper.o
CC mipsel-softmmu/hw/intc/mips_gic.o
CC mips-softmmu/hw/display/virtio-gpu.o
CC mipsel-softmmu/hw/misc/ivshmem.o
CC mips-softmmu/hw/display/virtio-gpu-3d.o
CC mipsel-softmmu/hw/misc/mips_cmgcr.o
CC mips-softmmu/hw/display/virtio-gpu-pci.o
CC mipsel-softmmu/hw/misc/mips_cpc.o
CC mipsel-softmmu/hw/misc/mips_itu.o
CC mips-softmmu/hw/intc/mips_gic.o
CC mips64-softmmu/target/mips/mips-semi.o
CC mipsel-softmmu/hw/misc/mmio_interface.o
CC mips64-softmmu/target/mips/machine.o
CC mips-softmmu/hw/misc/ivshmem.o
CC mipsel-softmmu/hw/net/virtio-net.o
GEN trace/generated-helpers.c
CC mips64el-softmmu/target/mips/mips-semi.o
CC mips64-softmmu/trace/control-target.o
CC mips-softmmu/hw/misc/mips_cmgcr.o
CC mips64-softmmu/trace/generated-helpers.o
CC mips64el-softmmu/target/mips/machine.o
CC mips-softmmu/hw/misc/mips_cpc.o
LINK mips64-softmmu/qemu-system-mips64
CC mipsel-softmmu/hw/net/vhost_net.o
GEN trace/generated-helpers.c
CC mips64el-softmmu/trace/control-target.o
CC mips-softmmu/hw/misc/mips_itu.o
CC mips64el-softmmu/trace/generated-helpers.o
CC mipsel-softmmu/hw/scsi/virtio-scsi.o
CC mips-softmmu/hw/misc/mmio_interface.o
LINK mips64el-softmmu/qemu-system-mips64el
CC mipsel-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC mips-softmmu/hw/net/virtio-net.o
CC mipsel-softmmu/hw/scsi/vhost-scsi-common.o
CC mipsel-softmmu/hw/scsi/vhost-scsi.o
CC mips-softmmu/hw/net/vhost_net.o
CC mipsel-softmmu/hw/scsi/vhost-user-scsi.o
CC mips-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC mips-softmmu/hw/scsi/virtio-scsi.o
CC mipsel-softmmu/hw/timer/mips_gictimer.o
CC mipsel-softmmu/hw/timer/mc146818rtc.o
CC mips-softmmu/hw/scsi/vhost-scsi-common.o
CC mips-softmmu/hw/scsi/vhost-scsi.o
GEN moxie-softmmu/hmp-commands.h
GEN moxie-softmmu/hmp-commands-info.h
GEN moxie-softmmu/config-target.h
CC moxie-softmmu/exec.o
CC mipsel-softmmu/hw/vfio/common.o
CC mips-softmmu/hw/scsi/vhost-user-scsi.o
CC mips-softmmu/hw/timer/mips_gictimer.o
GEN nios2-softmmu/hmp-commands.h
GEN nios2-softmmu/hmp-commands-info.h
CC mipsel-softmmu/hw/vfio/pci.o
GEN nios2-softmmu/config-target.h
CC mips-softmmu/hw/timer/mc146818rtc.o
CC nios2-softmmu/exec.o
CC mips-softmmu/hw/vfio/common.o
CC moxie-softmmu/tcg/tcg.o
CC mips-softmmu/hw/vfio/pci.o
CC mipsel-softmmu/hw/vfio/pci-quirks.o
CC mipsel-softmmu/hw/vfio/platform.o
CC mips-softmmu/hw/vfio/pci-quirks.o
CC nios2-softmmu/tcg/tcg.o
CC mipsel-softmmu/hw/vfio/spapr.o
CC mips-softmmu/hw/vfio/platform.o
CC mipsel-softmmu/hw/virtio/virtio.o
CC moxie-softmmu/tcg/tcg-op.o
CC mips-softmmu/hw/vfio/spapr.o
CC mipsel-softmmu/hw/virtio/virtio-balloon.o
CC mips-softmmu/hw/virtio/virtio.o
CC nios2-softmmu/tcg/tcg-op.o
CC mipsel-softmmu/hw/virtio/vhost.o
CC mips-softmmu/hw/virtio/virtio-balloon.o
CC mips-softmmu/hw/virtio/vhost.o
CC mipsel-softmmu/hw/virtio/vhost-backend.o
CC moxie-softmmu/tcg/optimize.o
CC mipsel-softmmu/hw/virtio/vhost-user.o
CC nios2-softmmu/tcg/optimize.o
CC mips-softmmu/hw/virtio/vhost-backend.o
CC mipsel-softmmu/hw/virtio/vhost-vsock.o
CC mips-softmmu/hw/virtio/vhost-user.o
CC mipsel-softmmu/hw/virtio/virtio-crypto.o
CC moxie-softmmu/tcg/tcg-common.o
CC nios2-softmmu/tcg/tcg-common.o
CC mips-softmmu/hw/virtio/vhost-vsock.o
CC mipsel-softmmu/hw/virtio/virtio-crypto-pci.o
CC moxie-softmmu/tcg/tcg-runtime.o
CC nios2-softmmu/tcg/tcg-runtime.o
CC mips-softmmu/hw/virtio/virtio-crypto.o
CC mipsel-softmmu/hw/mips/mips_r4k.o
CC moxie-softmmu/fpu/softfloat.o
CC nios2-softmmu/fpu/softfloat.o
CC mips-softmmu/hw/virtio/virtio-crypto-pci.o
CC mipsel-softmmu/hw/mips/mips_malta.o
CC mipsel-softmmu/hw/mips/mips_mipssim.o
CC mips-softmmu/hw/mips/mips_r4k.o
CC mipsel-softmmu/hw/mips/addr.o
CC mips-softmmu/hw/mips/mips_malta.o
CC mipsel-softmmu/hw/mips/cputimer.o
CC mips-softmmu/hw/mips/mips_mipssim.o
CC moxie-softmmu/disas.o
CC nios2-softmmu/disas.o
CC mipsel-softmmu/hw/mips/mips_int.o
CC mips-softmmu/hw/mips/addr.o
CC moxie-softmmu/hax-stub.o
CC mipsel-softmmu/hw/mips/gt64xxx_pci.o
CC moxie-softmmu/arch_init.o
CC mips-softmmu/hw/mips/cputimer.o
CC nios2-softmmu/hax-stub.o
CC nios2-softmmu/arch_init.o
CC mipsel-softmmu/hw/mips/cps.o
CC moxie-softmmu/cpus.o
CC mips-softmmu/hw/mips/mips_int.o
CC mipsel-softmmu/target/mips/translate.o
CC nios2-softmmu/cpus.o
CC mips-softmmu/hw/mips/gt64xxx_pci.o
CC moxie-softmmu/monitor.o
CC nios2-softmmu/monitor.o
CC mips-softmmu/hw/mips/cps.o
CC mips-softmmu/target/mips/translate.o
CC moxie-softmmu/gdbstub.o
CC nios2-softmmu/gdbstub.o
CC moxie-softmmu/balloon.o
CC nios2-softmmu/balloon.o
CC moxie-softmmu/ioport.o
CC nios2-softmmu/ioport.o
CC moxie-softmmu/numa.o
CC nios2-softmmu/numa.o
CC moxie-softmmu/qtest.o
CC nios2-softmmu/qtest.o
CC moxie-softmmu/memory.o
CC nios2-softmmu/memory.o
CC mipsel-softmmu/target/mips/dsp_helper.o
CC moxie-softmmu/memory_mapping.o
CC nios2-softmmu/memory_mapping.o
CC moxie-softmmu/dump.o
CC mips-softmmu/target/mips/dsp_helper.o
CC nios2-softmmu/dump.o
CC mipsel-softmmu/target/mips/op_helper.o
CC moxie-softmmu/migration/ram.o
CC nios2-softmmu/migration/ram.o
CC mips-softmmu/target/mips/op_helper.o
CC moxie-softmmu/accel/accel.o
CC moxie-softmmu/accel/stubs/kvm-stub.o
CC nios2-softmmu/accel/accel.o
CC moxie-softmmu/accel/tcg/tcg-all.o
CC nios2-softmmu/accel/stubs/kvm-stub.o
CC mipsel-softmmu/target/mips/lmi_helper.o
CC moxie-softmmu/accel/tcg/cputlb.o
CC nios2-softmmu/accel/tcg/tcg-all.o
CC mips-softmmu/target/mips/lmi_helper.o
CC mipsel-softmmu/target/mips/helper.o
CC nios2-softmmu/accel/tcg/cputlb.o
CC mipsel-softmmu/target/mips/cpu.o
CC mips-softmmu/target/mips/helper.o
CC mipsel-softmmu/target/mips/gdbstub.o
CC moxie-softmmu/accel/tcg/cpu-exec.o
CC mips-softmmu/target/mips/cpu.o
CC mipsel-softmmu/target/mips/msa_helper.o
CC mips-softmmu/target/mips/gdbstub.o
CC moxie-softmmu/accel/tcg/cpu-exec-common.o
CC nios2-softmmu/accel/tcg/cpu-exec.o
CC mips-softmmu/target/mips/msa_helper.o
CC moxie-softmmu/accel/tcg/translate-all.o
CC nios2-softmmu/accel/tcg/cpu-exec-common.o
CC moxie-softmmu/hw/core/generic-loader.o
CC nios2-softmmu/accel/tcg/translate-all.o
CC moxie-softmmu/hw/core/null-machine.o
CC moxie-softmmu/hw/display/vga.o
CC nios2-softmmu/hw/core/generic-loader.o
CC nios2-softmmu/hw/core/null-machine.o
CC moxie-softmmu/hw/misc/mmio_interface.o
CC nios2-softmmu/hw/intc/nios2_iic.o
CC nios2-softmmu/hw/misc/mmio_interface.o
CC mipsel-softmmu/target/mips/mips-semi.o
CC moxie-softmmu/hw/net/vhost_net.o
CC mips-softmmu/target/mips/mips-semi.o
CC nios2-softmmu/hw/net/vhost_net.o
CC moxie-softmmu/hw/net/rocker/qmp-norocker.o
CC mipsel-softmmu/target/mips/machine.o
CC mips-softmmu/target/mips/machine.o
CC moxie-softmmu/hw/timer/mc146818rtc.o
CC nios2-softmmu/hw/net/rocker/qmp-norocker.o
GEN trace/generated-helpers.c
CC mipsel-softmmu/trace/control-target.o
CC nios2-softmmu/hw/timer/altera_timer.o
GEN trace/generated-helpers.c
CC mips-softmmu/trace/control-target.o
CC mipsel-softmmu/trace/generated-helpers.o
CC moxie-softmmu/hw/vfio/common.o
CC nios2-softmmu/hw/vfio/common.o
CC mips-softmmu/trace/generated-helpers.o
LINK mipsel-softmmu/qemu-system-mipsel
LINK mips-softmmu/qemu-system-mips
CC moxie-softmmu/hw/vfio/platform.o
CC nios2-softmmu/hw/vfio/platform.o
CC nios2-softmmu/hw/vfio/spapr.o
CC moxie-softmmu/hw/vfio/spapr.o
CC nios2-softmmu/hw/nios2/boot.o
CC moxie-softmmu/hw/moxie/moxiesim.o
CC moxie-softmmu/target/moxie/translate.o
CC nios2-softmmu/hw/nios2/cpu_pic.o
CC nios2-softmmu/hw/nios2/10m50_devboard.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/target/moxie/helper.o
CC nios2-softmmu/target/nios2/translate.o
CC or1k-softmmu/tcg/tcg.o
CC moxie-softmmu/target/moxie/machine.o
CC nios2-softmmu/target/nios2/op_helper.o
CC moxie-softmmu/target/moxie/cpu.o
CC nios2-softmmu/target/nios2/helper.o
CC moxie-softmmu/target/moxie/mmu.o
GEN trace/generated-helpers.c
CC moxie-softmmu/trace/control-target.o
CC nios2-softmmu/target/nios2/cpu.o
CC nios2-softmmu/target/nios2/mmu.o
CC or1k-softmmu/tcg/tcg-op.o
CC moxie-softmmu/trace/generated-helpers.o
CC nios2-softmmu/target/nios2/monitor.o
GEN trace/generated-helpers.c
CC or1k-softmmu/tcg/optimize.o
CC nios2-softmmu/trace/control-target.o
LINK moxie-softmmu/qemu-system-moxie
CC nios2-softmmu/trace/generated-helpers.o
CC or1k-softmmu/tcg/tcg-common.o
LINK nios2-softmmu/qemu-system-nios2
CC or1k-softmmu/tcg/tcg-runtime.o
CC or1k-softmmu/fpu/softfloat.o
GEN ppc64-softmmu/hmp-commands.h
GEN ppc64-softmmu/hmp-commands-info.h
GEN ppc64-softmmu/config-target.h
CC ppc64-softmmu/exec.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
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/tcg/tcg.o
CC or1k-softmmu/disas.o
CC ppcemb-softmmu/tcg/tcg.o
CC or1k-softmmu/hax-stub.o
CC ppc-softmmu/tcg/tcg.o
CC or1k-softmmu/arch_init.o
CC or1k-softmmu/cpus.o
CC ppc64-softmmu/tcg/tcg-op.o
CC or1k-softmmu/monitor.o
CC ppcemb-softmmu/tcg/tcg-op.o
CC ppc-softmmu/tcg/tcg-op.o
CC or1k-softmmu/gdbstub.o
CC ppc64-softmmu/tcg/optimize.o
CC or1k-softmmu/balloon.o
CC or1k-softmmu/ioport.o
CC ppc64-softmmu/tcg/tcg-common.o
CC ppcemb-softmmu/tcg/optimize.o
CC or1k-softmmu/numa.o
CC ppc64-softmmu/tcg/tcg-runtime.o
CC ppc-softmmu/tcg/optimize.o
CC or1k-softmmu/qtest.o
CC ppc64-softmmu/fpu/softfloat.o
CC or1k-softmmu/memory.o
CC ppcemb-softmmu/tcg/tcg-common.o
CC ppcemb-softmmu/tcg/tcg-runtime.o
CC ppc-softmmu/tcg/tcg-common.o
CC ppcemb-softmmu/fpu/softfloat.o
CC ppc-softmmu/tcg/tcg-runtime.o
CC or1k-softmmu/memory_mapping.o
CC ppc-softmmu/fpu/softfloat.o
CC or1k-softmmu/dump.o
CC ppc64-softmmu/disas.o
CC or1k-softmmu/migration/ram.o
GEN ppc64-softmmu/gdbstub-xml.c
CC ppcemb-softmmu/disas.o
CC or1k-softmmu/accel/accel.o
GEN ppcemb-softmmu/gdbstub-xml.c
CC ppc64-softmmu/hax-stub.o
CC or1k-softmmu/accel/stubs/kvm-stub.o
CC ppc64-softmmu/libdecnumber/decContext.o
CC ppcemb-softmmu/hax-stub.o
CC or1k-softmmu/accel/tcg/tcg-all.o
CC ppc-softmmu/disas.o
CC ppc64-softmmu/libdecnumber/decNumber.o
CC ppcemb-softmmu/libdecnumber/decContext.o
CC or1k-softmmu/accel/tcg/cputlb.o
GEN ppc-softmmu/gdbstub-xml.c
CC ppcemb-softmmu/libdecnumber/decNumber.o
CC or1k-softmmu/accel/tcg/cpu-exec.o
CC ppc-softmmu/hax-stub.o
CC ppc64-softmmu/libdecnumber/dpd/decimal32.o
CC or1k-softmmu/accel/tcg/cpu-exec-common.o
CC ppcemb-softmmu/libdecnumber/dpd/decimal32.o
CC ppc-softmmu/libdecnumber/decContext.o
CC ppc64-softmmu/libdecnumber/dpd/decimal64.o
CC ppcemb-softmmu/libdecnumber/dpd/decimal64.o
CC ppc-softmmu/libdecnumber/decNumber.o
CC or1k-softmmu/accel/tcg/translate-all.o
CC ppc64-softmmu/libdecnumber/dpd/decimal128.o
CC ppcemb-softmmu/libdecnumber/dpd/decimal128.o
CC or1k-softmmu/hw/core/generic-loader.o
CC ppc64-softmmu/arch_init.o
CC ppcemb-softmmu/arch_init.o
CC or1k-softmmu/hw/core/null-machine.o
CC ppc64-softmmu/cpus.o
CC or1k-softmmu/hw/misc/mmio_interface.o
CC ppcemb-softmmu/cpus.o
CC or1k-softmmu/hw/net/vhost_net.o
CC ppc64-softmmu/monitor.o
CC ppc-softmmu/libdecnumber/dpd/decimal32.o
CC ppcemb-softmmu/monitor.o
CC or1k-softmmu/hw/net/rocker/qmp-norocker.o
CC ppc-softmmu/libdecnumber/dpd/decimal64.o
CC or1k-softmmu/hw/vfio/common.o
CC ppc-softmmu/libdecnumber/dpd/decimal128.o
CC ppc-softmmu/arch_init.o
CC or1k-softmmu/hw/vfio/platform.o
CC ppc-softmmu/cpus.o
CC ppcemb-softmmu/gdbstub.o
CC ppc64-softmmu/gdbstub.o
CC or1k-softmmu/hw/vfio/spapr.o
CC ppcemb-softmmu/balloon.o
CC ppc-softmmu/monitor.o
CC ppc64-softmmu/balloon.o
CC or1k-softmmu/hw/openrisc/pic_cpu.o
CC ppcemb-softmmu/ioport.o
CC ppc64-softmmu/ioport.o
CC or1k-softmmu/hw/openrisc/cputimer.o
CC ppcemb-softmmu/numa.o
CC ppc64-softmmu/numa.o
CC or1k-softmmu/hw/openrisc/openrisc_sim.o
CC ppcemb-softmmu/qtest.o
CC ppc64-softmmu/qtest.o
CC or1k-softmmu/target/openrisc/machine.o
CC ppc-softmmu/gdbstub.o
CC or1k-softmmu/target/openrisc/cpu.o
CC ppc64-softmmu/memory.o
CC ppcemb-softmmu/memory.o
CC or1k-softmmu/target/openrisc/exception.o
CC or1k-softmmu/target/openrisc/interrupt.o
CC ppc-softmmu/balloon.o
CC or1k-softmmu/target/openrisc/mmu.o
CC ppc-softmmu/ioport.o
CC or1k-softmmu/target/openrisc/translate.o
CC ppc-softmmu/numa.o
CC ppc64-softmmu/memory_mapping.o
CC ppcemb-softmmu/memory_mapping.o
CC ppc-softmmu/qtest.o
CC ppc64-softmmu/dump.o
CC ppcemb-softmmu/dump.o
CC ppc-softmmu/memory.o
CC or1k-softmmu/target/openrisc/exception_helper.o
CC ppc64-softmmu/migration/ram.o
CC or1k-softmmu/target/openrisc/fpu_helper.o
CC ppcemb-softmmu/migration/ram.o
CC ppc-softmmu/memory_mapping.o
CC ppc64-softmmu/accel/accel.o
CC or1k-softmmu/target/openrisc/interrupt_helper.o
CC ppc64-softmmu/accel/stubs/kvm-stub.o
CC ppc-softmmu/dump.o
CC or1k-softmmu/target/openrisc/mmu_helper.o
CC ppcemb-softmmu/accel/accel.o
CC ppc64-softmmu/accel/tcg/tcg-all.o
CC or1k-softmmu/target/openrisc/sys_helper.o
CC ppc64-softmmu/accel/tcg/cputlb.o
CC or1k-softmmu/target/openrisc/gdbstub.o
CC ppc-softmmu/migration/ram.o
CC ppcemb-softmmu/accel/stubs/kvm-stub.o
CC ppcemb-softmmu/accel/tcg/tcg-all.o
GEN trace/generated-helpers.c
CC or1k-softmmu/trace/control-target.o
CC ppcemb-softmmu/accel/tcg/cputlb.o
CC ppc-softmmu/accel/accel.o
CC or1k-softmmu/trace/generated-helpers.o
CC ppc-softmmu/accel/stubs/kvm-stub.o
CC ppc64-softmmu/accel/tcg/cpu-exec.o
LINK or1k-softmmu/qemu-system-or1k
CC ppc-softmmu/accel/tcg/tcg-all.o
CC ppc64-softmmu/accel/tcg/cpu-exec-common.o
CC ppc-softmmu/accel/tcg/cputlb.o
CC ppcemb-softmmu/accel/tcg/cpu-exec.o
CC ppc64-softmmu/accel/tcg/translate-all.o
CC ppc-softmmu/accel/tcg/cpu-exec.o
CC ppc64-softmmu/hw/9pfs/virtio-9p-device.o
CC ppcemb-softmmu/accel/tcg/cpu-exec-common.o
CC ppc64-softmmu/hw/block/virtio-blk.o
CC ppc64-softmmu/hw/block/dataplane/virtio-blk.o
CC ppcemb-softmmu/accel/tcg/translate-all.o
CC ppc64-softmmu/hw/char/spapr_vty.o
CC ppcemb-softmmu/hw/9pfs/virtio-9p-device.o
CC ppc-softmmu/accel/tcg/cpu-exec-common.o
CC ppc-softmmu/accel/tcg/translate-all.o
CC ppc64-softmmu/hw/char/virtio-serial-bus.o
CC ppcemb-softmmu/hw/block/virtio-blk.o
CC ppc64-softmmu/hw/core/generic-loader.o
CC ppc-softmmu/hw/9pfs/virtio-9p-device.o
GEN s390x-softmmu/hmp-commands.h
CC ppc64-softmmu/hw/core/null-machine.o
GEN s390x-softmmu/hmp-commands-info.h
CC s390x-softmmu/gen-features
GEN s390x-softmmu/config-target.h
GEN s390x-softmmu/gen-features.h
CC ppcemb-softmmu/hw/block/dataplane/virtio-blk.o
CC ppc64-softmmu/hw/display/sm501.o
CC ppc-softmmu/hw/block/virtio-blk.o
CC s390x-softmmu/exec.o
CC ppcemb-softmmu/hw/char/virtio-serial-bus.o
CC ppc-softmmu/hw/block/dataplane/virtio-blk.o
CC ppc64-softmmu/hw/display/vga.o
CC ppcemb-softmmu/hw/core/generic-loader.o
CC ppc-softmmu/hw/char/virtio-serial-bus.o
CC ppcemb-softmmu/hw/core/null-machine.o
CC ppcemb-softmmu/hw/display/sm501.o
CC ppc-softmmu/hw/core/generic-loader.o
CC ppc64-softmmu/hw/display/virtio-gpu.o
CC ppc-softmmu/hw/core/null-machine.o
CC ppc-softmmu/hw/display/sm501.o
CC s390x-softmmu/tcg/tcg.o
CC ppcemb-softmmu/hw/display/vga.o
CC ppc64-softmmu/hw/display/virtio-gpu-3d.o
CC ppc-softmmu/hw/display/vga.o
CC ppc64-softmmu/hw/display/virtio-gpu-pci.o
CC ppcemb-softmmu/hw/display/virtio-gpu.o
CC s390x-softmmu/tcg/tcg-op.o
CC ppc64-softmmu/hw/display/virtio-vga.o
CC ppc-softmmu/hw/display/virtio-gpu.o
CC ppcemb-softmmu/hw/display/virtio-gpu-3d.o
CC ppc64-softmmu/hw/intc/xics.o
CC ppc64-softmmu/hw/intc/xics_spapr.o
CC ppc-softmmu/hw/display/virtio-gpu-3d.o
CC ppcemb-softmmu/hw/display/virtio-gpu-pci.o
CC ppc64-softmmu/hw/intc/xics_pnv.o
CC ppc-softmmu/hw/display/virtio-gpu-pci.o
CC ppcemb-softmmu/hw/misc/ivshmem.o
CC ppc64-softmmu/hw/misc/ivshmem.o
CC s390x-softmmu/tcg/optimize.o
CC ppc-softmmu/hw/misc/ivshmem.o
CC ppcemb-softmmu/hw/misc/mmio_interface.o
CC ppc64-softmmu/hw/misc/mmio_interface.o
CC ppcemb-softmmu/hw/net/xilinx_ethlite.o
CC ppc-softmmu/hw/misc/mmio_interface.o
CC ppc64-softmmu/hw/net/spapr_llan.o
CC ppcemb-softmmu/hw/net/virtio-net.o
CC ppc-softmmu/hw/net/xilinx_ethlite.o
CC s390x-softmmu/tcg/tcg-common.o
CC ppc64-softmmu/hw/net/xilinx_ethlite.o
CC ppc-softmmu/hw/net/virtio-net.o
CC s390x-softmmu/tcg/tcg-runtime.o
CC ppc64-softmmu/hw/net/virtio-net.o
CC ppcemb-softmmu/hw/net/vhost_net.o
CC s390x-softmmu/fpu/softfloat.o
CC ppcemb-softmmu/hw/scsi/virtio-scsi.o
CC ppc-softmmu/hw/net/vhost_net.o
CC ppc64-softmmu/hw/net/vhost_net.o
CC ppcemb-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC ppc-softmmu/hw/net/fsl_etsec/etsec.o
CC ppc64-softmmu/hw/net/fsl_etsec/etsec.o
CC ppc-softmmu/hw/net/fsl_etsec/registers.o
CC ppcemb-softmmu/hw/scsi/vhost-scsi-common.o
CC ppc-softmmu/hw/net/fsl_etsec/rings.o
CC ppc64-softmmu/hw/net/fsl_etsec/registers.o
CC ppcemb-softmmu/hw/scsi/vhost-scsi.o
CC ppc64-softmmu/hw/net/fsl_etsec/rings.o
CC ppc-softmmu/hw/net/fsl_etsec/miim.o
CC ppcemb-softmmu/hw/scsi/vhost-user-scsi.o
CC ppc-softmmu/hw/scsi/virtio-scsi.o
CC ppc64-softmmu/hw/net/fsl_etsec/miim.o
CC ppcemb-softmmu/hw/vfio/common.o
CC ppc64-softmmu/hw/nvram/spapr_nvram.o
CC ppc-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC ppc64-softmmu/hw/scsi/spapr_vscsi.o
CC ppcemb-softmmu/hw/vfio/pci.o
CC s390x-softmmu/disas.o
CC ppc-softmmu/hw/scsi/vhost-scsi-common.o
CC ppc-softmmu/hw/scsi/vhost-scsi.o
GEN s390x-softmmu/gdbstub-xml.c
CC ppc64-softmmu/hw/scsi/virtio-scsi.o
CC ppc-softmmu/hw/scsi/vhost-user-scsi.o
CC ppcemb-softmmu/hw/vfio/pci-quirks.o
CC ppc64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC ppc-softmmu/hw/timer/mc146818rtc.o
CC ppc64-softmmu/hw/scsi/vhost-scsi-common.o
CC s390x-softmmu/hax-stub.o
CC ppcemb-softmmu/hw/vfio/platform.o
CC ppc64-softmmu/hw/scsi/vhost-scsi.o
CC ppc-softmmu/hw/vfio/common.o
CC s390x-softmmu/arch_init.o
CC ppc64-softmmu/hw/scsi/vhost-user-scsi.o
CC ppcemb-softmmu/hw/vfio/spapr.o
CC ppc64-softmmu/hw/timer/mc146818rtc.o
CC s390x-softmmu/cpus.o
CC ppcemb-softmmu/hw/virtio/virtio.o
CC ppc-softmmu/hw/vfio/pci.o
CC s390x-softmmu/monitor.o
CC ppc64-softmmu/hw/vfio/common.o
CC ppcemb-softmmu/hw/virtio/virtio-balloon.o
CC ppc-softmmu/hw/vfio/pci-quirks.o
CC ppc64-softmmu/hw/vfio/pci.o
CC ppcemb-softmmu/hw/virtio/vhost.o
CC ppc-softmmu/hw/vfio/platform.o
CC s390x-softmmu/gdbstub.o
CC ppc64-softmmu/hw/vfio/pci-quirks.o
CC ppcemb-softmmu/hw/virtio/vhost-backend.o
CC ppc-softmmu/hw/vfio/spapr.o
CC s390x-softmmu/balloon.o
CC ppcemb-softmmu/hw/virtio/vhost-user.o
CC ppc-softmmu/hw/virtio/virtio.o
CC s390x-softmmu/ioport.o
CC ppc64-softmmu/hw/vfio/platform.o
CC ppcemb-softmmu/hw/virtio/vhost-vsock.o
CC s390x-softmmu/numa.o
CC ppc64-softmmu/hw/vfio/spapr.o
CC ppcemb-softmmu/hw/virtio/virtio-crypto.o
CC s390x-softmmu/qtest.o
CC ppc-softmmu/hw/virtio/virtio-balloon.o
CC ppc64-softmmu/hw/virtio/virtio.o
CC ppcemb-softmmu/hw/virtio/virtio-crypto-pci.o
CC s390x-softmmu/memory.o
CC ppc-softmmu/hw/virtio/vhost.o
CC ppcemb-softmmu/hw/ppc/ppc.o
CC ppc64-softmmu/hw/virtio/virtio-balloon.o
CC ppc-softmmu/hw/virtio/vhost-backend.o
CC ppcemb-softmmu/hw/ppc/ppc_booke.o
CC ppc64-softmmu/hw/virtio/vhost.o
CC s390x-softmmu/memory_mapping.o
CC ppc-softmmu/hw/virtio/vhost-user.o
CC ppcemb-softmmu/hw/ppc/fdt.o
CC s390x-softmmu/dump.o
CC ppc-softmmu/hw/virtio/vhost-vsock.o
CC ppcemb-softmmu/hw/ppc/ppc405_boards.o
CC ppc64-softmmu/hw/virtio/vhost-backend.o
CC ppc-softmmu/hw/virtio/virtio-crypto.o
CC ppcemb-softmmu/hw/ppc/ppc4xx_devs.o
CC s390x-softmmu/migration/ram.o
CC ppc64-softmmu/hw/virtio/vhost-user.o
CC ppcemb-softmmu/hw/ppc/ppc405_uc.o
CC ppc-softmmu/hw/virtio/virtio-crypto-pci.o
CC ppc64-softmmu/hw/virtio/vhost-vsock.o
CC s390x-softmmu/accel/accel.o
CC ppc-softmmu/hw/ppc/ppc.o
CC ppc64-softmmu/hw/virtio/virtio-crypto.o
CC ppcemb-softmmu/hw/ppc/ppc440_bamboo.o
CC s390x-softmmu/accel/kvm/kvm-all.o
CC ppcemb-softmmu/hw/ppc/ppc4xx_pci.o
CC ppc-softmmu/hw/ppc/ppc_booke.o
CC ppc64-softmmu/hw/virtio/virtio-crypto-pci.o
CC ppcemb-softmmu/hw/ppc/virtex_ml507.o
CC ppc-softmmu/hw/ppc/fdt.o
CC ppc64-softmmu/hw/ppc/ppc.o
CC ppc-softmmu/hw/ppc/ppc405_boards.o
CC ppcemb-softmmu/target/ppc/cpu-models.o
CC s390x-softmmu/accel/tcg/tcg-all.o
CC ppc-softmmu/hw/ppc/ppc4xx_devs.o
CC ppc64-softmmu/hw/ppc/ppc_booke.o
CC s390x-softmmu/accel/tcg/cputlb.o
CC ppc64-softmmu/hw/ppc/fdt.o
CC ppc-softmmu/hw/ppc/ppc405_uc.o
CC ppc64-softmmu/hw/ppc/spapr.o
CC ppc-softmmu/hw/ppc/ppc440_bamboo.o
CC ppcemb-softmmu/target/ppc/cpu.o
CC ppc-softmmu/hw/ppc/ppc4xx_pci.o
CC ppcemb-softmmu/target/ppc/translate.o
CC s390x-softmmu/accel/tcg/cpu-exec.o
CC ppc-softmmu/hw/ppc/prep.o
CC ppc64-softmmu/hw/ppc/spapr_vio.o
CC s390x-softmmu/accel/tcg/cpu-exec-common.o
CC ppc-softmmu/hw/ppc/prep_systemio.o
CC s390x-softmmu/accel/tcg/translate-all.o
CC ppc64-softmmu/hw/ppc/spapr_events.o
CC ppc-softmmu/hw/ppc/rs6000_mc.o
CC s390x-softmmu/hw/9pfs/virtio-9p-device.o
CC ppc64-softmmu/hw/ppc/spapr_hcall.o
CC s390x-softmmu/hw/block/virtio-blk.o
CC ppc-softmmu/hw/ppc/mac_oldworld.o
CC s390x-softmmu/hw/block/dataplane/virtio-blk.o
CC ppc64-softmmu/hw/ppc/spapr_iommu.o
CC ppc-softmmu/hw/ppc/mac_newworld.o
CC s390x-softmmu/hw/char/virtio-serial-bus.o
CC ppc64-softmmu/hw/ppc/spapr_rtas.o
CC ppc-softmmu/hw/ppc/e500.o
CC s390x-softmmu/hw/char/terminal3270.o
CC ppc64-softmmu/hw/ppc/spapr_pci.o
CC s390x-softmmu/hw/core/generic-loader.o
CC ppc-softmmu/hw/ppc/mpc8544ds.o
CC s390x-softmmu/hw/core/null-machine.o
CC ppc-softmmu/hw/ppc/e500plat.o
CC ppc64-softmmu/hw/ppc/spapr_rtc.o
CC ppc-softmmu/hw/ppc/mpc8544_guts.o
CC s390x-softmmu/hw/display/virtio-gpu.o
CC ppc64-softmmu/hw/ppc/spapr_drc.o
CC ppc-softmmu/hw/ppc/ppce500_spin.o
CC ppc-softmmu/hw/ppc/virtex_ml507.o
CC s390x-softmmu/hw/display/virtio-gpu-3d.o
CC ppc64-softmmu/hw/ppc/spapr_rng.o
CC ppc-softmmu/target/ppc/cpu-models.o
CC ppc64-softmmu/hw/ppc/spapr_cpu_core.o
CC ppc64-softmmu/hw/ppc/spapr_ovec.o
CC s390x-softmmu/hw/display/virtio-gpu-pci.o
CC ppc64-softmmu/hw/ppc/pnv.o
CC s390x-softmmu/hw/intc/s390_flic.o
CC ppc64-softmmu/hw/ppc/pnv_xscom.o
CC ppc-softmmu/target/ppc/cpu.o
CC ppc64-softmmu/hw/ppc/pnv_core.o
CC s390x-softmmu/hw/intc/s390_flic_kvm.o
CC ppc-softmmu/target/ppc/translate.o
CC ppc64-softmmu/hw/ppc/pnv_lpc.o
/var/tmp/patchew-tester-tmp-05mor12r/src/hw/intc/s390_flic_kvm.c:125:5: error: no previous prototype for ‘kvm_s390_inject_flic’ [-Werror=missing-prototypes]
int kvm_s390_inject_flic(struct kvm_s390_irq *irq)
^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
/var/tmp/patchew-tester-tmp-05mor12r/src/rules.mak:66: recipe for target 'hw/intc/s390_flic_kvm.o' failed
make[1]: *** [hw/intc/s390_flic_kvm.o] Error 1
Makefile:328: recipe for target 'subdir-s390x-softmmu' failed
make: *** [subdir-s390x-softmmu] Error 2
make: *** Waiting for unfinished jobs....
CC ppc64-softmmu/hw/ppc/pnv_psi.o
CC ppc64-softmmu/hw/ppc/pnv_occ.o
CC ppc64-softmmu/hw/ppc/pnv_bmc.o
CC ppc64-softmmu/hw/ppc/spapr_pci_vfio.o
CC ppc64-softmmu/hw/ppc/spapr_rtas_ddw.o
CC ppc64-softmmu/hw/ppc/ppc405_boards.o
CC ppc64-softmmu/hw/ppc/ppc4xx_devs.o
CC ppc64-softmmu/hw/ppc/ppc405_uc.o
CC ppc64-softmmu/hw/ppc/ppc440_bamboo.o
CC ppc64-softmmu/hw/ppc/ppc4xx_pci.o
CC ppc64-softmmu/hw/ppc/prep.o
CC ppc64-softmmu/hw/ppc/prep_systemio.o
CC ppc64-softmmu/hw/ppc/rs6000_mc.o
CC ppc64-softmmu/hw/ppc/mac_oldworld.o
CC ppc64-softmmu/hw/ppc/mac_newworld.o
CC ppc64-softmmu/hw/ppc/e500.o
CC ppc64-softmmu/hw/ppc/mpc8544ds.o
CC ppcemb-softmmu/target/ppc/machine.o
CC ppc64-softmmu/hw/ppc/e500plat.o
CC ppc64-softmmu/hw/ppc/mpc8544_guts.o
CC ppc64-softmmu/hw/ppc/ppce500_spin.o
CC ppcemb-softmmu/target/ppc/mmu_helper.o
CC ppc64-softmmu/hw/ppc/virtex_ml507.o
CC ppc64-softmmu/target/ppc/cpu-models.o
CC ppc64-softmmu/target/ppc/cpu.o
CC ppc64-softmmu/target/ppc/translate.o
CC ppcemb-softmmu/target/ppc/mmu-hash32.o
CC ppcemb-softmmu/target/ppc/monitor.o
CC ppcemb-softmmu/target/ppc/arch_dump.o
CC ppcemb-softmmu/target/ppc/kvm-stub.o
CC ppc64-softmmu/target/ppc/machine.o
CC ppcemb-softmmu/target/ppc/dfp_helper.o
CC ppc64-softmmu/target/ppc/mmu_helper.o
CC ppcemb-softmmu/target/ppc/excp_helper.o
CC ppcemb-softmmu/target/ppc/fpu_helper.o
CC ppc64-softmmu/target/ppc/mmu-hash32.o
CC ppcemb-softmmu/target/ppc/int_helper.o
CC ppc-softmmu/target/ppc/machine.o
CC ppc-softmmu/target/ppc/mmu_helper.o
CC ppc64-softmmu/target/ppc/monitor.o
CC ppcemb-softmmu/target/ppc/timebase_helper.o
CC ppc-softmmu/target/ppc/mmu-hash32.o
CC ppc-softmmu/target/ppc/monitor.o
CC ppcemb-softmmu/target/ppc/misc_helper.o
CC ppc-softmmu/target/ppc/arch_dump.o
CC ppcemb-softmmu/target/ppc/mem_helper.o
CC ppc64-softmmu/target/ppc/arch_dump.o
CC ppc-softmmu/target/ppc/kvm-stub.o
CC ppc-softmmu/target/ppc/dfp_helper.o
CC ppc64-softmmu/target/ppc/mmu-hash64.o
CC ppcemb-softmmu/target/ppc/gdbstub.o
GEN trace/generated-helpers.c
CC ppc64-softmmu/target/ppc/mmu-book3s-v3.o
CC ppc-softmmu/target/ppc/excp_helper.o
CC ppcemb-softmmu/trace/control-target.o
CC ppcemb-softmmu/gdbstub-xml.o
CC ppc64-softmmu/target/ppc/compat.o
CC ppcemb-softmmu/trace/generated-helpers.o
CC ppc-softmmu/target/ppc/fpu_helper.o
CC ppc64-softmmu/target/ppc/mmu-radix64.o
LINK ppcemb-softmmu/qemu-system-ppcemb
CC ppc64-softmmu/target/ppc/kvm-stub.o
CC ppc64-softmmu/target/ppc/dfp_helper.o
CC ppc64-softmmu/target/ppc/excp_helper.o
CC ppc-softmmu/target/ppc/int_helper.o
CC ppc64-softmmu/target/ppc/fpu_helper.o
CC ppc64-softmmu/target/ppc/int_helper.o
CC ppc-softmmu/target/ppc/timebase_helper.o
CC ppc-softmmu/target/ppc/misc_helper.o
CC ppc-softmmu/target/ppc/mem_helper.o
CC ppc-softmmu/target/ppc/gdbstub.o
GEN trace/generated-helpers.c
CC ppc-softmmu/trace/control-target.o
CC ppc-softmmu/gdbstub-xml.o
CC ppc64-softmmu/target/ppc/timebase_helper.o
CC ppc-softmmu/trace/generated-helpers.o
CC ppc64-softmmu/target/ppc/misc_helper.o
CC ppc64-softmmu/target/ppc/mem_helper.o
LINK ppc-softmmu/qemu-system-ppc
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 ppc64-softmmu/trace/generated-helpers.o
LINK ppc64-softmmu/qemu-system-ppc64
=== 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] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
2017-08-11 8:04 ` [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and " no-reply
@ 2017-08-11 8:53 ` David Hildenbrand
0 siblings, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 8:53 UTC (permalink / raw)
To: qemu-devel; +Cc: famz, thuth, cohuck, borntraeger, aurelien, rth
> /var/tmp/patchew-tester-tmp-05mor12r/src/hw/intc/s390_flic_kvm.c:125:5: error: no previous prototype for ‘kvm_s390_inject_flic’ [-Werror=missing-prototypes]
> int kvm_s390_inject_flic(struct kvm_s390_irq *irq)
> ^~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
Easily fixed, not moving kvm_s390_inject_flic in "target/s390x: remove
all CONFIG_KVM from cpu.h"
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
@ 2017-08-11 13:15 ` Richard Henderson
2017-08-11 13:21 ` David Hildenbrand
2017-08-11 14:00 ` Thomas Huth
2017-08-11 14:14 ` Thomas Huth
2 siblings, 1 reply; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 13:15 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 08/11/2017 12:46 AM, David Hildenbrand wrote:
> +
> +static const char *cc_names[] = {
> + [CC_OP_CONST0] = "CC_OP_CONST0",
This should get moved out of the header to the c file that uses it.
(Why it's ever there in the first place is a mystery...)
Otherwise,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c David Hildenbrand
@ 2017-08-11 13:17 ` Richard Henderson
2017-08-11 14:09 ` Thomas Huth
1 sibling, 0 replies; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 13:17 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 08/11/2017 12:46 AM, David Hildenbrand wrote:
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> target/s390x/cpu.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++
> target/s390x/cpu.h | 88 +++++++-----------------------------------------------
> 2 files changed, 90 insertions(+), 78 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/ David Hildenbrand
@ 2017-08-11 13:18 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
1 sibling, 0 replies; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 13:18 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 08/11/2017 12:46 AM, David Hildenbrand wrote:
> }
> +void s390_enable_css_support(S390CPU *cpu)
Spacing. Otherwise,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h David Hildenbrand
@ 2017-08-11 13:19 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
1 sibling, 0 replies; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 13:19 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 08/11/2017 12:46 AM, David Hildenbrand wrote:
> Let's move everything into internal.h
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> target/s390x/cpu.h | 62 -------------------------------------------------
> target/s390x/internal.h | 52 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 52 insertions(+), 62 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h David Hildenbrand
@ 2017-08-11 13:20 ` Richard Henderson
0 siblings, 0 replies; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 13:20 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 08/11/2017 12:46 AM, David Hildenbrand wrote:
> Let's reshuffle the function prototypes so we get a cleaner outline
> of the files.
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> target/s390x/cpu.h | 140 ++++++++++++++++++++++++++---------------------------
> 1 file changed, 70 insertions(+), 70 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 13:15 ` Richard Henderson
@ 2017-08-11 13:21 ` David Hildenbrand
0 siblings, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 13:21 UTC (permalink / raw)
To: Richard Henderson, qemu-devel; +Cc: Aurelien Jarno, thuth, cohuck, borntraeger
On 11.08.2017 15:15, Richard Henderson wrote:
> On 08/11/2017 12:46 AM, David Hildenbrand wrote:
>> +
>> +static const char *cc_names[] = {
>> + [CC_OP_CONST0] = "CC_OP_CONST0",
>
> This should get moved out of the header to the c file that uses it.
> (Why it's ever there in the first place is a mystery...)
>
> Otherwise,
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
>
> r~
>
Thanks, I'll add a separate patch for that then!
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
2017-08-11 13:15 ` Richard Henderson
@ 2017-08-11 14:00 ` Thomas Huth
2017-08-11 14:21 ` David Hildenbrand
2017-08-11 14:14 ` Thomas Huth
2 siblings, 1 reply; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:00 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 09:46, David Hildenbrand wrote:
> cpu.h should only contain what really has to be accessed outside of
> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>
> Move everything that isn't fast enough to run away and restructure it
> right away.
>
> Minor style fixes to avoid checkpatch warning to:
> - struct Lowcore: "{" goes into same line as typedef
> - struct LowCore: add spaces around "-" in array length calculations
> - time2tod() and tod2time(): move "{" to separate line
> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
[...]
> diff --git a/target/s390x/internal.h b/target/s390x/internal.h
> new file mode 100644
> index 0000000..9a55271
> --- /dev/null
> +++ b/target/s390x/internal.h
> @@ -0,0 +1,560 @@
> +/*
> + * s390x internal definitions and helpers
> + *
> + * Copyright (c) 2009 Ulrich Hecht
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * Contributions after 2012-10-29 are licensed under the terms of the
> + * GNU GPL, version 2 or (at your option) any later version.
Slightly off-topic to your patch, but since you're at it anyway: AFAIK
the above sentence effectively means that we should update the copyright
boiler plate to GPL2+ nowadays. See
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html section 3.
> + * You should have received a copy of the GNU (Lesser) General Public
> + * License along with this library; if not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifndef S390X_INTERNAL_H
> +#define S390X_INTERNAL_H
> +
> +#include "cpu.h"
> +
> +#ifndef CONFIG_USER_ONLY
> +typedef struct LowCore {
> + /* prefix area: defined by architecture */
> + uint32_t ccw1[2]; /* 0x000 */
> + uint32_t ccw2[4]; /* 0x008 */
> + uint8_t pad1[0x80 - 0x18]; /* 0x018 */
> + uint32_t ext_params; /* 0x080 */
> + uint16_t cpu_addr; /* 0x084 */
> + uint16_t ext_int_code; /* 0x086 */
> + uint16_t svc_ilen; /* 0x088 */
> + uint16_t svc_code; /* 0x08a */
> + uint16_t pgm_ilen; /* 0x08c */
> + uint16_t pgm_code; /* 0x08e */
> + uint32_t data_exc_code; /* 0x090 */
> + uint16_t mon_class_num; /* 0x094 */
> + uint16_t per_perc_atmid; /* 0x096 */
> + uint64_t per_address; /* 0x098 */
> + uint8_t exc_access_id; /* 0x0a0 */
> + uint8_t per_access_id; /* 0x0a1 */
> + uint8_t op_access_id; /* 0x0a2 */
> + uint8_t ar_access_id; /* 0x0a3 */
> + uint8_t pad2[0xA8 - 0xA4]; /* 0x0a4 */
> + uint64_t trans_exc_code; /* 0x0a8 */
> + uint64_t monitor_code; /* 0x0b0 */
> + uint16_t subchannel_id; /* 0x0b8 */
> + uint16_t subchannel_nr; /* 0x0ba */
> + uint32_t io_int_parm; /* 0x0bc */
> + uint32_t io_int_word; /* 0x0c0 */
> + uint8_t pad3[0xc8 - 0xc4]; /* 0x0c4 */
> + uint32_t stfl_fac_list; /* 0x0c8 */
> + uint8_t pad4[0xe8 - 0xcc]; /* 0x0cc */
> + uint32_t mcck_interruption_code[2]; /* 0x0e8 */
> + uint8_t pad5[0xf4 - 0xf0]; /* 0x0f0 */
> + uint32_t external_damage_code; /* 0x0f4 */
> + uint64_t failing_storage_address; /* 0x0f8 */
> + uint8_t pad6[0x110 - 0x100]; /* 0x100 */
> + uint64_t per_breaking_event_addr; /* 0x110 */
> + uint8_t pad7[0x120 - 0x118]; /* 0x118 */
> + PSW restart_old_psw; /* 0x120 */
> + PSW external_old_psw; /* 0x130 */
> + PSW svc_old_psw; /* 0x140 */
> + PSW program_old_psw; /* 0x150 */
> + PSW mcck_old_psw; /* 0x160 */
> + PSW io_old_psw; /* 0x170 */
> + uint8_t pad8[0x1a0 - 0x180]; /* 0x180 */
> + PSW restart_new_psw; /* 0x1a0 */
> + PSW external_new_psw; /* 0x1b0 */
> + PSW svc_new_psw; /* 0x1c0 */
> + PSW program_new_psw; /* 0x1d0 */
> + PSW mcck_new_psw; /* 0x1e0 */
> + PSW io_new_psw; /* 0x1f0 */
> + PSW return_psw; /* 0x200 */
> + uint8_t irb[64]; /* 0x210 */
> + uint64_t sync_enter_timer; /* 0x250 */
> + uint64_t async_enter_timer; /* 0x258 */
> + uint64_t exit_timer; /* 0x260 */
> + uint64_t last_update_timer; /* 0x268 */
> + uint64_t user_timer; /* 0x270 */
> + uint64_t system_timer; /* 0x278 */
> + uint64_t last_update_clock; /* 0x280 */
> + uint64_t steal_clock; /* 0x288 */
> + PSW return_mcck_psw; /* 0x290 */
> + uint8_t pad9[0xc00 - 0x2a0]; /* 0x2a0 */
> + /* System info area */
> + uint64_t save_area[16]; /* 0xc00 */
> + uint8_t pad10[0xd40 - 0xc80]; /* 0xc80 */
> + uint64_t kernel_stack; /* 0xd40 */
> + uint64_t thread_info; /* 0xd48 */
> + uint64_t async_stack; /* 0xd50 */
> + uint64_t kernel_asce; /* 0xd58 */
> + uint64_t user_asce; /* 0xd60 */
> + uint64_t panic_stack; /* 0xd68 */
> + uint64_t user_exec_asce; /* 0xd70 */
> + uint8_t pad11[0xdc0 - 0xd78]; /* 0xd78 */
> +
> + /* SMP info area: defined by DJB */
> + uint64_t clock_comparator; /* 0xdc0 */
> + uint64_t ext_call_fast; /* 0xdc8 */
> + uint64_t percpu_offset; /* 0xdd0 */
> + uint64_t current_task; /* 0xdd8 */
> + uint32_t softirq_pending; /* 0xde0 */
> + uint32_t pad_0x0de4; /* 0xde4 */
> + uint64_t int_clock; /* 0xde8 */
> + uint8_t pad12[0xe00 - 0xdf0]; /* 0xdf0 */
> +
> + /* 0xe00 is used as indicator for dump tools */
> + /* whether the kernel died with panic() or not */
> + uint32_t panic_magic; /* 0xe00 */
> +
> + uint8_t pad13[0x11b8 - 0xe04]; /* 0xe04 */
> +
> + /* 64 bit extparam used for pfault, diag 250 etc */
> + uint64_t ext_params2; /* 0x11B8 */
> +
> + uint8_t pad14[0x1200 - 0x11C0]; /* 0x11C0 */
> +
> + /* System info area */
> +
> + uint64_t floating_pt_save_area[16]; /* 0x1200 */
> + uint64_t gpregs_save_area[16]; /* 0x1280 */
> + uint32_t st_status_fixed_logout[4]; /* 0x1300 */
> + uint8_t pad15[0x1318 - 0x1310]; /* 0x1310 */
> + uint32_t prefixreg_save_area; /* 0x1318 */
> + uint32_t fpt_creg_save_area; /* 0x131c */
> + uint8_t pad16[0x1324 - 0x1320]; /* 0x1320 */
> + uint32_t tod_progreg_save_area; /* 0x1324 */
> + uint32_t cpu_timer_save_area[2]; /* 0x1328 */
> + uint32_t clock_comp_save_area[2]; /* 0x1330 */
> + uint8_t pad17[0x1340 - 0x1338]; /* 0x1338 */
> + uint32_t access_regs_save_area[16]; /* 0x1340 */
> + uint64_t cregs_save_area[16]; /* 0x1380 */
> +
> + /* align to the top of the prefix area */
> +
> + uint8_t pad18[0x2000 - 0x1400]; /* 0x1400 */
> +} QEMU_PACKED LowCore;
> +#endif /* CONFIG_USER_ONLY */
Maybe you could move the cpu_map_lowcore() below into the same #ifdef
now? Or maybe move everything related to lowcore into a separate header
file called "lowcore.h" instead? ... just ideas, I've got not a strong
opinion about that yet.
> +static inline uint64_t cpu_mmu_idx_to_asc(int mmu_idx)
> +{
> + switch (mmu_idx) {
> + case MMU_PRIMARY_IDX:
> + return PSW_ASC_PRIMARY;
> + case MMU_SECONDARY_IDX:
> + return PSW_ASC_SECONDARY;
> + case MMU_HOME_IDX:
> + return PSW_ASC_HOME;
> + default:
> + abort();
> + }
> +}
Only used in excp_helper.c ===> move it there?
> +static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
> +{
> + uint16_t pkm = env->cregs[3] >> 16;
> +
> + if (env->psw.mask & PSW_MASK_PSTATE) {
> + /* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
> + return pkm & (0x80 >> psw_key);
> + }
> + return true;
> +}
Only used in mem_helper.c ==> suggest to move it there.
[...]
> +/* Check if an address is within the PER starting address and the PER
> + ending address. The address range might loop. */
> +static inline bool get_per_in_range(CPUS390XState *env, uint64_t addr)
> +{
> + if (env->cregs[10] <= env->cregs[11]) {
> + return env->cregs[10] <= addr && addr <= env->cregs[11];
> + } else {
> + return env->cregs[10] <= addr || addr <= env->cregs[11];
> + }
> +}
Only used in misc_helper.c ==> move it there?
[...]
> +/* helper functions for run_on_cpu() */
> +static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
> +{
> + S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
> +
> + scc->cpu_reset(cs);
> +}
This function seems to be used in diag.c only, so you could also move it
there instead.
> +/* arch_dump.c */
> +int s390_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
> + int cpuid, void *opaque);
> +
> +
> +/* cc_helper.c */
> +void load_psw(CPUS390XState *env, uint64_t mask, uint64_t addr);
> +uint32_t calc_cc(CPUS390XState *env, uint32_t cc_op, uint64_t src, uint64_t dst,
> + uint64_t vr);
> +
> +
> +/* cpu.c */
> +#ifndef CONFIG_USER_ONLY
> +unsigned int s390_cpu_halt(S390CPU *cpu);
> +void s390_cpu_unhalt(S390CPU *cpu);
> +#else
> +static inline unsigned int s390_cpu_halt(S390CPU *cpu)
> +{
> + return 0;
> +}
> +
> +static inline void s390_cpu_unhalt(S390CPU *cpu)
> +{
> +}
> +#endif
> +
> +
> +/* cpu_models.c */
> +void s390_cpu_model_register_props(Object *obj);
> +void s390_cpu_model_class_register_props(ObjectClass *oc);
> +void s390_realize_cpu_model(CPUState *cs, Error **errp);
> +ObjectClass *s390_cpu_class_by_name(const char *name);
> +
> +
> +/* excp_helper.c */
> +void s390x_cpu_debug_excp_handler(CPUState *cs);
> +void s390_cpu_do_interrupt(CPUState *cpu);
> +bool s390_cpu_exec_interrupt(CPUState *cpu, int int_req);
> +int s390_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int rw,
> + int mmu_idx);
> +void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
> + MMUAccessType access_type,
> + int mmu_idx, uintptr_t retaddr);
> +
> +
> +/* fpu_helper.c */
> +uint32_t set_cc_nz_f32(float32 v);
> +uint32_t set_cc_nz_f64(float64 v);
> +uint32_t set_cc_nz_f128(float128 v);
> +
> +
> +/* gdbstub.c */
> +int s390_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
> +int s390_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
> +void s390_cpu_gdb_init(CPUState *cs);
> +
> +
> +/* helper.c */
> +void s390_cpu_dump_state(CPUState *cpu, FILE *f, fprintf_function cpu_fprintf,
> + int flags);
> +hwaddr s390_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
> +hwaddr s390_cpu_get_phys_addr_debug(CPUState *cpu, vaddr addr);
> +uint64_t get_psw_mask(CPUS390XState *env);
> +void s390_cpu_recompute_watchpoints(CPUState *cs);
> +void s390x_tod_timer(void *opaque);
> +void s390x_cpu_timer(void *opaque);
> +S390CPU *cpu_s390x_create(const char *cpu_model, Error **errp);
> +void do_restart_interrupt(CPUS390XState *env);
> +#ifndef CONFIG_USER_ONLY
> +LowCore *cpu_map_lowcore(CPUS390XState *env);
> +void cpu_unmap_lowcore(LowCore *lowcore);
> +#endif /* CONFIG_USER_ONLY */
> +
> +
> +/* interrupt.c */
> +void trigger_pgm_exception(CPUS390XState *env, uint32_t code, uint32_t ilen);
> +void cpu_inject_ext(S390CPU *cpu, uint32_t code, uint32_t param,
> + uint64_t param64);
> +
> +
> +/* ioinst.c */
> +void ioinst_handle_xsch(S390CPU *cpu, uint64_t reg1);
> +void ioinst_handle_csch(S390CPU *cpu, uint64_t reg1);
> +void ioinst_handle_hsch(S390CPU *cpu, uint64_t reg1);
> +void ioinst_handle_msch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
> +void ioinst_handle_ssch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
> +void ioinst_handle_stcrw(S390CPU *cpu, uint32_t ipb);
> +void ioinst_handle_stsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
> +int ioinst_handle_tsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb);
> +void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb);
> +int ioinst_handle_tpi(S390CPU *cpu, uint32_t ipb);
> +void ioinst_handle_schm(S390CPU *cpu, uint64_t reg1, uint64_t reg2,
> + uint32_t ipb);
> +void ioinst_handle_rsch(S390CPU *cpu, uint64_t reg1);
> +void ioinst_handle_rchp(S390CPU *cpu, uint64_t reg1);
> +void ioinst_handle_sal(S390CPU *cpu, uint64_t reg1);
> +
> +
> +/* kvm.c */
> +#ifdef CONFIG_KVM
> +void kvm_s390_floating_interrupt(struct kvm_s390_irq *irq);
> +void kvm_s390_service_interrupt(uint32_t parm);
> +void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
> +void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
> +int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
> + int len, bool is_write);
> +void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
> +void kvm_s390_io_interrupt(uint16_t subchannel_id,
> + uint16_t subchannel_nr, uint32_t io_int_parm,
> + uint32_t io_int_word);
> +void kvm_s390_crw_mchk(void);
> +int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
> +void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
> +int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
> +int kvm_s390_get_ri(void);
> +int kvm_s390_get_gs(void);
> +#else
> +static inline void kvm_s390_service_interrupt(uint32_t parm)
> +{
> +}
> +static inline void kvm_s390_access_exception(S390CPU *cpu, uint16_t code,
> + uint64_t te_code)
> +{
> +}
> +static inline int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar,
> + void *hostbuf, int len, bool is_write)
> +{
> + return -ENOSYS;
> +}
> +static inline void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
> +{
> +}
> +static inline void kvm_s390_io_interrupt(uint16_t subchannel_id,
> + uint16_t subchannel_nr,
> + uint32_t io_int_parm,
> + uint32_t io_int_word)
> +{
> +}
> +static inline void kvm_s390_crw_mchk(void)
> +{
> +}
> +static inline int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
> +{
> + return -ENOSYS;
> +}
> +static inline void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
> +{
> +}
> +static inline int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
> +{
> + return 0;
> +}
> +static inline int kvm_s390_get_ri(void)
> +{
> + return 0;
> +}
> +static inline int kvm_s390_get_gs(void)
> +{
> + return 0;
> +}
> +#endif /* CONFIG_KVM */
> +
> +
> +/* mem_helper.c */
> +target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr);
> +
> +
> +/* mmu_helper.c */
> +int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc,
> + target_ulong *raddr, int *flags, bool exc);
> +
> +
> +/* misc_helper.c */
> +void QEMU_NORETURN runtime_exception(CPUS390XState *env, int excp,
> + uintptr_t retaddr);
> +int handle_diag_288(CPUS390XState *env, uint64_t r1, uint64_t r3);
> +void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3);
> +
> +
> +/* translate.c */
> +void s390x_translate_init(void);
I wonder whether we maybe want to have separate headers for all these
prototypes, at least for the files that would have a lot of them, e.g.
ioinst.h ?
Thomas
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c David Hildenbrand
2017-08-11 13:17 ` Richard Henderson
@ 2017-08-11 14:09 ` Thomas Huth
1 sibling, 0 replies; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:09 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 09:46, David Hildenbrand wrote:
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> target/s390x/cpu.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++
> target/s390x/cpu.h | 88 +++++++-----------------------------------------------
> 2 files changed, 90 insertions(+), 78 deletions(-)
>
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index dadd383..81165e8 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -392,6 +392,86 @@ unsigned int s390_cpu_set_state(uint8_t cpu_state, S390CPU *cpu)
[...]
> +int s390_assign_subch_ioeventfd(EventNotifier *notifier,
> + uint32_t sch_id, int vq,
> + bool assign)
Indentation looks weird.
[....]
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 1ab88ad..a9acef6 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -421,25 +421,8 @@ static inline int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_low)
[...]
> +int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
> +void s390_cmma_reset(void);
> +int s390_cpu_restart(S390CPU *cpu);
> +int s390_get_memslot_count(KVMState *s);
> void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
> uint32_t io_int_parm, uint32_t io_int_word);
> void s390_crw_mchk(void);
> -
> -static inline int s390_assign_subch_ioeventfd(EventNotifier *notifier,
> +int s390_assign_subch_ioeventfd(EventNotifier *notifier,
> uint32_t sch_id, int vq,
> - bool assign)
... and that's likely the reason ;-) Indentation now looks wrong here, too.
> -{
> - if (kvm_enabled()) {
> - return kvm_s390_assign_subch_ioeventfd(notifier, sch_id, vq, assign);
> - } else {
> - return 0;
> - }
> -}
> -
> -static inline void s390_crypto_reset(void)
> -{
> - if (kvm_enabled()) {
> - kvm_s390_crypto_reset();
> - }
> -}
> -
> -static inline bool s390_get_squash_mcss(void)
> -{
> - if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
> - NULL)) {
> - return true;
> - }
> -
> - return false;
> -}
> + bool assign);
> +void s390_crypto_reset(void);
> +bool s390_get_squash_mcss(void);
>
> /* machine check interruption code */
>
>
Apart from the white space nits, looks fine, so when you've fixed them:
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
2017-08-11 13:15 ` Richard Henderson
2017-08-11 14:00 ` Thomas Huth
@ 2017-08-11 14:14 ` Thomas Huth
2017-08-11 14:16 ` David Hildenbrand
2 siblings, 1 reply; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:14 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 09:46, David Hildenbrand wrote:
> cpu.h should only contain what really has to be accessed outside of
> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>
> Move everything that isn't fast enough to run away and restructure it
> right away.
>
> Minor style fixes to avoid checkpatch warning to:
> - struct Lowcore: "{" goes into same line as typedef
> - struct LowCore: add spaces around "-" in array length calculations
> - time2tod() and tod2time(): move "{" to separate line
> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
[...]
> +/* kvm.c */
> +#ifdef CONFIG_KVM
> +void kvm_s390_floating_interrupt(struct kvm_s390_irq *irq);
> +void kvm_s390_service_interrupt(uint32_t parm);
> +void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
> +void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
> +int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
> + int len, bool is_write);
> +void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
> +void kvm_s390_io_interrupt(uint16_t subchannel_id,
> + uint16_t subchannel_nr, uint32_t io_int_parm,
> + uint32_t io_int_word);
> +void kvm_s390_crw_mchk(void);
> +int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
> +void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
> +int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
> +int kvm_s390_get_ri(void);
> +int kvm_s390_get_gs(void);
> +#else
> +static inline void kvm_s390_service_interrupt(uint32_t parm)
> +{
> +}
> +static inline void kvm_s390_access_exception(S390CPU *cpu, uint16_t code,
> + uint64_t te_code)
> +{
> +}
> +static inline int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar,
> + void *hostbuf, int len, bool is_write)
> +{
> + return -ENOSYS;
> +}
> +static inline void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
> +{
> +}
> +static inline void kvm_s390_io_interrupt(uint16_t subchannel_id,
> + uint16_t subchannel_nr,
> + uint32_t io_int_parm,
> + uint32_t io_int_word)
> +{
> +}
> +static inline void kvm_s390_crw_mchk(void)
> +{
> +}
> +static inline int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
> +{
> + return -ENOSYS;
> +}
> +static inline void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
> +{
> +}
> +static inline int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
> +{
> + return 0;
> +}
> +static inline int kvm_s390_get_ri(void)
> +{
> + return 0;
> +}
> +static inline int kvm_s390_get_gs(void)
> +{
> + return 0;
> +}
> +#endif /* CONFIG_KVM */
By the way, all the other targets that have KVM have a separate header
for things like this: kvm_arm.h, kvm_ppc.h, kvm_mips.h, kvm_i386.h
... maybe it's time for kvm_s390x.h now?
Thomas
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 14:14 ` Thomas Huth
@ 2017-08-11 14:16 ` David Hildenbrand
0 siblings, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 14:16 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
> By the way, all the other targets that have KVM have a separate header
> for things like this: kvm_arm.h, kvm_ppc.h, kvm_mips.h, kvm_i386.h
> ... maybe it's time for kvm_s390x.h now?
Definitely!
>
> Thomas
>
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/ David Hildenbrand
2017-08-11 13:18 ` Richard Henderson
@ 2017-08-11 14:19 ` Thomas Huth
1 sibling, 0 replies; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:19 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 09:46, David Hildenbrand wrote:
> Let's just introduce an helper.
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> hw/s390x/s390-virtio-ccw.c | 4 +---
> target/s390x/cpu.c | 6 ++++++
> target/s390x/cpu.h | 1 +
> 3 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 1c7af39..ac087ab 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -142,9 +142,7 @@ static void ccw_init(MachineState *machine)
> /* register hypercalls */
> virtio_ccw_register_hcalls();
>
> - if (kvm_enabled()) {
> - kvm_s390_enable_css_support(s390_cpu_addr2state(0));
> - }
> + s390_enable_css_support(s390_cpu_addr2state(0));
> /*
> * Non mcss-e enabled guests only see the devices from the default
> * css, which is determined by the value of the squash_mcss property.
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index 81165e8..c834bfb 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -472,6 +472,12 @@ bool s390_get_squash_mcss(void)
>
> return false;
> }
> +void s390_enable_css_support(S390CPU *cpu)
> +{
> + if (kvm_enabled()) {
> + kvm_s390_enable_css_support(cpu);
> + }
> +}
> #endif
>
> static gchar *s390_gdb_arch_name(CPUState *cs)
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index a9acef6..87dea80 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -404,6 +404,7 @@ int cpu_s390x_signal_handler(int host_signum, void *pinfo,
>
> #ifndef CONFIG_USER_ONLY
>
> +void s390_enable_css_support(S390CPU *cpu);
> int s390_virtio_hypercall(CPUS390XState *env);
>
> #ifdef CONFIG_KVM
>
As Richard already said: Spacing before s390_enable_css_support() ...
but apart from that:
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h David Hildenbrand
2017-08-11 13:19 ` Richard Henderson
@ 2017-08-11 14:19 ` Thomas Huth
2017-08-11 16:11 ` David Hildenbrand
2017-08-11 17:18 ` Richard Henderson
1 sibling, 2 replies; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:19 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 09:46, David Hildenbrand wrote:
> Let's move everything into internal.h
Or kvm_s390x.h ? ;-)
Thomas
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 14:00 ` Thomas Huth
@ 2017-08-11 14:21 ` David Hildenbrand
2017-08-11 14:39 ` Thomas Huth
0 siblings, 1 reply; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 14:21 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 16:00, Thomas Huth wrote:
> On 11.08.2017 09:46, David Hildenbrand wrote:
>> cpu.h should only contain what really has to be accessed outside of
>> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>>
>> Move everything that isn't fast enough to run away and restructure it
>> right away.
>>
>> Minor style fixes to avoid checkpatch warning to:
>> - struct Lowcore: "{" goes into same line as typedef
>> - struct LowCore: add spaces around "-" in array length calculations
>> - time2tod() and tod2time(): move "{" to separate line
>> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
>> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>>
>> Signed-off-by: David Hildenbrand <david@redhat.com>
>> ---
> [...]
>> diff --git a/target/s390x/internal.h b/target/s390x/internal.h
>> new file mode 100644
>> index 0000000..9a55271
>> --- /dev/null
>> +++ b/target/s390x/internal.h
>> @@ -0,0 +1,560 @@
>> +/*
>> + * s390x internal definitions and helpers
>> + *
>> + * Copyright (c) 2009 Ulrich Hecht
>> + *
>> + * This library is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU Lesser General Public
>> + * License as published by the Free Software Foundation; either
>> + * version 2 of the License, or (at your option) any later version.
>> + *
>> + * This library is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * Contributions after 2012-10-29 are licensed under the terms of the
>> + * GNU GPL, version 2 or (at your option) any later version.
>
> Slightly off-topic to your patch, but since you're at it anyway: AFAIK
> the above sentence effectively means that we should update the copyright
> boiler plate to GPL2+ nowadays. See
> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html section 3.
(not a license expert)
Do you want me to replace it also in cpu.h?
Do we still need the remark about "contributions after 2012-10-29 are" ?
>
>> + * You should have received a copy of the GNU (Lesser) General Public
>> + * License along with this library; if not, see <http://www.gnu.org/licenses/>.
>> + */
>> +
[...]
>> + uint8_t pad18[0x2000 - 0x1400]; /* 0x1400 */
>> +} QEMU_PACKED LowCore;
>> +#endif /* CONFIG_USER_ONLY */
>
> Maybe you could move the cpu_map_lowcore() below into the same #ifdef
> now? Or maybe move everything related to lowcore into a separate header
> file called "lowcore.h" instead? ... just ideas, I've got not a strong
> opinion about that yet.
I'll leave it like that for now. I would agree if we also had a separate
file called lowcore.c. We can do that later.
>
>> +static inline uint64_t cpu_mmu_idx_to_asc(int mmu_idx)
>> +{
>> + switch (mmu_idx) {
>> + case MMU_PRIMARY_IDX:
>> + return PSW_ASC_PRIMARY;
>> + case MMU_SECONDARY_IDX:
>> + return PSW_ASC_SECONDARY;
>> + case MMU_HOME_IDX:
>> + return PSW_ASC_HOME;
>> + default:
>> + abort();
>> + }
>> +}
>
> Only used in excp_helper.c ===> move it there?
Agreed, separate patch.
>
>> +static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
>> +{
>> + uint16_t pkm = env->cregs[3] >> 16;
>> +
>> + if (env->psw.mask & PSW_MASK_PSTATE) {
>> + /* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
>> + return pkm & (0x80 >> psw_key);
>> + }
>> + return true;
>> +}
>
> Only used in mem_helper.c ==> suggest to move it there.
Agreed, separate patch.
>
> [...]
>> +/* Check if an address is within the PER starting address and the PER
>> + ending address. The address range might loop. */
>> +static inline bool get_per_in_range(CPUS390XState *env, uint64_t addr)
>> +{
>> + if (env->cregs[10] <= env->cregs[11]) {
>> + return env->cregs[10] <= addr && addr <= env->cregs[11];
>> + } else {
>> + return env->cregs[10] <= addr || addr <= env->cregs[11];
>> + }
>> +}
>
> Only used in misc_helper.c ==> move it there?
Agreed, separate patch.
>
> [...]
>> +/* helper functions for run_on_cpu() */
>> +static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg)
>> +{
>> + S390CPUClass *scc = S390_CPU_GET_CLASS(cs);
>> +
>> + scc->cpu_reset(cs);
>> +}
>
> This function seems to be used in diag.c only, so you could also move it
> there instead.
Agreed, separate patch.
[...]
>> +/* mem_helper.c */
>> +target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr);
>> +
>> +
>> +/* mmu_helper.c */
>> +int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc,
>> + target_ulong *raddr, int *flags, bool exc);
>> +
>> +
>> +/* misc_helper.c */
>> +void QEMU_NORETURN runtime_exception(CPUS390XState *env, int excp,
>> + uintptr_t retaddr);
>> +int handle_diag_288(CPUS390XState *env, uint64_t r1, uint64_t r3);
>> +void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3);
>> +
>> +
>> +/* translate.c */
>> +void s390x_translate_init(void);
>
> I wonder whether we maybe want to have separate headers for all these
> prototypes, at least for the files that would have a lot of them, e.g.
> ioinst.h ?
I agree for kvm, that seems to be the longest list.
>
> Thomas
>
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 14:21 ` David Hildenbrand
@ 2017-08-11 14:39 ` Thomas Huth
2017-08-11 16:11 ` David Hildenbrand
0 siblings, 1 reply; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 14:39 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 16:21, David Hildenbrand wrote:
> On 11.08.2017 16:00, Thomas Huth wrote:
>> On 11.08.2017 09:46, David Hildenbrand wrote:
>>> cpu.h should only contain what really has to be accessed outside of
>>> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>>>
>>> Move everything that isn't fast enough to run away and restructure it
>>> right away.
>>>
>>> Minor style fixes to avoid checkpatch warning to:
>>> - struct Lowcore: "{" goes into same line as typedef
>>> - struct LowCore: add spaces around "-" in array length calculations
>>> - time2tod() and tod2time(): move "{" to separate line
>>> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
>>> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>>>
>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>> ---
>> [...]
>>> diff --git a/target/s390x/internal.h b/target/s390x/internal.h
>>> new file mode 100644
>>> index 0000000..9a55271
>>> --- /dev/null
>>> +++ b/target/s390x/internal.h
>>> @@ -0,0 +1,560 @@
>>> +/*
>>> + * s390x internal definitions and helpers
>>> + *
>>> + * Copyright (c) 2009 Ulrich Hecht
>>> + *
>>> + * This library is free software; you can redistribute it and/or
>>> + * modify it under the terms of the GNU Lesser General Public
>>> + * License as published by the Free Software Foundation; either
>>> + * version 2 of the License, or (at your option) any later version.
>>> + *
>>> + * This library is distributed in the hope that it will be useful,
>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>> + * Lesser General Public License for more details.
>>> + *
>>> + * Contributions after 2012-10-29 are licensed under the terms of the
>>> + * GNU GPL, version 2 or (at your option) any later version.
>>
>> Slightly off-topic to your patch, but since you're at it anyway: AFAIK
>> the above sentence effectively means that we should update the copyright
>> boiler plate to GPL2+ nowadays. See
>> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html section 3.
>
> (not a license expert)
>
> Do you want me to replace it also in cpu.h?
No, at least not directly here in this patch series. I think that's
something for a separate patch (we've got the same issue in cpu.c and
kvm.c), so just use the correct boilerplate text in internal.h here.
> Do we still need the remark about "contributions after 2012-10-29 are" ?
Once the license text has been updated, the remark can certainly go away.
Thomas
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
` (5 preceding siblings ...)
2017-08-11 8:04 ` [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and " no-reply
@ 2017-08-11 15:15 ` Cornelia Huck
2017-08-11 15:30 ` David Hildenbrand
6 siblings, 1 reply; 29+ messages in thread
From: Cornelia Huck @ 2017-08-11 15:15 UTC (permalink / raw)
To: David Hildenbrand; +Cc: qemu-devel, rth, Aurelien Jarno, thuth, borntraeger
On Fri, 11 Aug 2017 09:46:47 +0200
David Hildenbrand <david@redhat.com> wrote:
> cpu.h is accessed outside of target/s390x. It should only contain
> what is expected to be accessed outside of this folder. Therefore, create
> internal.h and move a lot to that file.
Cool, I like that.
>
> While doing that, I noticed that a lot of function prototypes not
> available with CONFIG_USER_ONLY are not protected by CONFIG_USER_ONLY.
>
> As these CONFIG_USER_ONLY are in general ugly, I decided to minimize
> them to the bare minimum :]. Do we care? I dropped it wherever possible.
>
> My compiler doesn't bail out, so let's see what the bot says.
That should be easy to fix :)
>
> There is still a lot to clean up (e.g. do we want kvm-stub.c ?). This is
> the first step.
Do you plan to send a v2 with kvm_s390x.h? If yes, I'll hold off
looking at this series.
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h
2017-08-11 15:15 ` Cornelia Huck
@ 2017-08-11 15:30 ` David Hildenbrand
0 siblings, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 15:30 UTC (permalink / raw)
To: Cornelia Huck; +Cc: qemu-devel, rth, Aurelien Jarno, thuth, borntraeger
On 11.08.2017 17:15, Cornelia Huck wrote:
> On Fri, 11 Aug 2017 09:46:47 +0200
> David Hildenbrand <david@redhat.com> wrote:
>
>> cpu.h is accessed outside of target/s390x. It should only contain
>> what is expected to be accessed outside of this folder. Therefore, create
>> internal.h and move a lot to that file.
>
> Cool, I like that.
>
>>
>> While doing that, I noticed that a lot of function prototypes not
>> available with CONFIG_USER_ONLY are not protected by CONFIG_USER_ONLY.
>>
>> As these CONFIG_USER_ONLY are in general ugly, I decided to minimize
>> them to the bare minimum :]. Do we care? I dropped it wherever possible.
>>
>> My compiler doesn't bail out, so let's see what the bot says.
>
> That should be easy to fix :)
>
>>
>> There is still a lot to clean up (e.g. do we want kvm-stub.c ?). This is
>> the first step.
>
> Do you plan to send a v2 with kvm_s390x.h? If yes, I'll hold off
> looking at this series.
>
Yes, will take care of the review comments from Richard and Thomas.
(including kvm_s390x.h)
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 14:39 ` Thomas Huth
@ 2017-08-11 16:11 ` David Hildenbrand
2017-08-11 16:29 ` Thomas Huth
0 siblings, 1 reply; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 16:11 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 16:39, Thomas Huth wrote:
> On 11.08.2017 16:21, David Hildenbrand wrote:
>> On 11.08.2017 16:00, Thomas Huth wrote:
>>> On 11.08.2017 09:46, David Hildenbrand wrote:
>>>> cpu.h should only contain what really has to be accessed outside of
>>>> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>>>>
>>>> Move everything that isn't fast enough to run away and restructure it
>>>> right away.
>>>>
>>>> Minor style fixes to avoid checkpatch warning to:
>>>> - struct Lowcore: "{" goes into same line as typedef
>>>> - struct LowCore: add spaces around "-" in array length calculations
>>>> - time2tod() and tod2time(): move "{" to separate line
>>>> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
>>>> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>>>>
>>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>>> ---
>>> [...]
>>>> diff --git a/target/s390x/internal.h b/target/s390x/internal.h
>>>> new file mode 100644
>>>> index 0000000..9a55271
>>>> --- /dev/null
>>>> +++ b/target/s390x/internal.h
>>>> @@ -0,0 +1,560 @@
>>>> +/*
>>>> + * s390x internal definitions and helpers
>>>> + *
>>>> + * Copyright (c) 2009 Ulrich Hecht
>>>> + *
>>>> + * This library is free software; you can redistribute it and/or
>>>> + * modify it under the terms of the GNU Lesser General Public
>>>> + * License as published by the Free Software Foundation; either
>>>> + * version 2 of the License, or (at your option) any later version.
>>>> + *
>>>> + * This library is distributed in the hope that it will be useful,
>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>>> + * Lesser General Public License for more details.
>>>> + *
>>>> + * Contributions after 2012-10-29 are licensed under the terms of the
>>>> + * GNU GPL, version 2 or (at your option) any later version.
>>>
>>> Slightly off-topic to your patch, but since you're at it anyway: AFAIK
>>> the above sentence effectively means that we should update the copyright
>>> boiler plate to GPL2+ nowadays. See
>>> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html section 3.
>>
>> (not a license expert)
>>
>> Do you want me to replace it also in cpu.h?
>
> No, at least not directly here in this patch series. I think that's
> something for a separate patch (we've got the same issue in cpu.c and
> kvm.c), so just use the correct boilerplate text in internal.h here.
>
I'll use the following:
/*
* s390x internal definitions and helpers
*
* Copyright (c) 2009 Ulrich Hecht
*
* This work is licensed under the terms of the GNU LGPL, version 2.1 or
later.
* See the COPYING.LIB file in the top-level directory.
*/
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 14:19 ` Thomas Huth
@ 2017-08-11 16:11 ` David Hildenbrand
2017-08-11 17:18 ` Richard Henderson
1 sibling, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 16:11 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 16:19, Thomas Huth wrote:
> On 11.08.2017 09:46, David Hildenbrand wrote:
>> Let's move everything into internal.h
>
> Or kvm_s390x.h ? ;-)
And even kvm-stubs.c!
>
> Thomas
>
>
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h
2017-08-11 16:11 ` David Hildenbrand
@ 2017-08-11 16:29 ` Thomas Huth
0 siblings, 0 replies; 29+ messages in thread
From: Thomas Huth @ 2017-08-11 16:29 UTC (permalink / raw)
To: David Hildenbrand, qemu-devel; +Cc: rth, Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 18:11, David Hildenbrand wrote:
> On 11.08.2017 16:39, Thomas Huth wrote:
>> On 11.08.2017 16:21, David Hildenbrand wrote:
>>> On 11.08.2017 16:00, Thomas Huth wrote:
>>>> On 11.08.2017 09:46, David Hildenbrand wrote:
>>>>> cpu.h should only contain what really has to be accessed outside of
>>>>> target/s390x/. Add internal.h which can only be used inside target/s390x/.
>>>>>
>>>>> Move everything that isn't fast enough to run away and restructure it
>>>>> right away.
>>>>>
>>>>> Minor style fixes to avoid checkpatch warning to:
>>>>> - struct Lowcore: "{" goes into same line as typedef
>>>>> - struct LowCore: add spaces around "-" in array length calculations
>>>>> - time2tod() and tod2time(): move "{" to separate line
>>>>> - get_per_atmid(): add space between ")" and "?". Move cases by one char.
>>>>> - get_per_atmid(): drop extra paremthesis around (1 << 6)
>>>>>
>>>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>>>> ---
>>>> [...]
>>>>> diff --git a/target/s390x/internal.h b/target/s390x/internal.h
>>>>> new file mode 100644
>>>>> index 0000000..9a55271
>>>>> --- /dev/null
>>>>> +++ b/target/s390x/internal.h
>>>>> @@ -0,0 +1,560 @@
>>>>> +/*
>>>>> + * s390x internal definitions and helpers
>>>>> + *
>>>>> + * Copyright (c) 2009 Ulrich Hecht
>>>>> + *
>>>>> + * This library is free software; you can redistribute it and/or
>>>>> + * modify it under the terms of the GNU Lesser General Public
>>>>> + * License as published by the Free Software Foundation; either
>>>>> + * version 2 of the License, or (at your option) any later version.
>>>>> + *
>>>>> + * This library is distributed in the hope that it will be useful,
>>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>>>> + * Lesser General Public License for more details.
>>>>> + *
>>>>> + * Contributions after 2012-10-29 are licensed under the terms of the
>>>>> + * GNU GPL, version 2 or (at your option) any later version.
>>>>
>>>> Slightly off-topic to your patch, but since you're at it anyway: AFAIK
>>>> the above sentence effectively means that we should update the copyright
>>>> boiler plate to GPL2+ nowadays. See
>>>> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html section 3.
>>>
>>> (not a license expert)
>>>
>>> Do you want me to replace it also in cpu.h?
>>
>> No, at least not directly here in this patch series. I think that's
>> something for a separate patch (we've got the same issue in cpu.c and
>> kvm.c), so just use the correct boilerplate text in internal.h here.
>>
>
> I'll use the following:
>
> /*
> * s390x internal definitions and helpers
> *
> * Copyright (c) 2009 Ulrich Hecht
> *
> * This work is licensed under the terms of the GNU LGPL, version 2.1 or
> later.
> * See the COPYING.LIB file in the top-level directory.
> */
That's the LGPL text ... I meant to change it to GPL2+ instead.
Thomas
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 14:19 ` Thomas Huth
2017-08-11 16:11 ` David Hildenbrand
@ 2017-08-11 17:18 ` Richard Henderson
2017-08-11 18:42 ` David Hildenbrand
1 sibling, 1 reply; 29+ messages in thread
From: Richard Henderson @ 2017-08-11 17:18 UTC (permalink / raw)
To: Thomas Huth, David Hildenbrand, qemu-devel
Cc: Aurelien Jarno, cohuck, borntraeger
It's not all kvm related, so I'd prefer the more general name.
r~
On August 11, 2017 9:19:52 AM CDT, Thomas Huth <thuth@redhat.com> wrote:
>On 11.08.2017 09:46, David Hildenbrand wrote:
>> Let's move everything into internal.h
>
>Or kvm_s390x.h ? ;-)
>
> Thomas
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h
2017-08-11 17:18 ` Richard Henderson
@ 2017-08-11 18:42 ` David Hildenbrand
0 siblings, 0 replies; 29+ messages in thread
From: David Hildenbrand @ 2017-08-11 18:42 UTC (permalink / raw)
To: Richard Henderson, Thomas Huth, qemu-devel
Cc: Aurelien Jarno, cohuck, borntraeger
On 11.08.2017 19:18, Richard Henderson wrote:
> It's not all kvm related, so I'd prefer the more general name.
Thomas suggested to have both, internal.h and kvm_s390x.h
All KVM stuff goes into kvm_s390x.h. I even moved the stubs to
kvm-stubs.c (that's the way e.g. x86 handles it).
End result looks pretty clean, will send it out shortly.
Thanks!
>
> r~
>
> On August 11, 2017 9:19:52 AM CDT, Thomas Huth <thuth@redhat.com> wrote:
>
> On 11.08.2017 09:46, David Hildenbrand wrote:
>
> Let's move everything into internal.h
>
>
> Or kvm_s390x.h ? ;-)
>
> Thomas
>
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
Thanks,
David
^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2017-08-11 18:42 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-11 7:46 [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and cleanup cpu.h David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 1/5] target/s390x: introduce internal.h David Hildenbrand
2017-08-11 13:15 ` Richard Henderson
2017-08-11 13:21 ` David Hildenbrand
2017-08-11 14:00 ` Thomas Huth
2017-08-11 14:21 ` David Hildenbrand
2017-08-11 14:39 ` Thomas Huth
2017-08-11 16:11 ` David Hildenbrand
2017-08-11 16:29 ` Thomas Huth
2017-08-11 14:14 ` Thomas Huth
2017-08-11 14:16 ` David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 2/5] target/s390x: move a couple of functions to cpu.c David Hildenbrand
2017-08-11 13:17 ` Richard Henderson
2017-08-11 14:09 ` Thomas Huth
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 3/5] s390x: avoid calling kvm_ functions outside of target/s390x/ David Hildenbrand
2017-08-11 13:18 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 4/5] target/s390x: remove all CONFIG_KVM from cpu.h David Hildenbrand
2017-08-11 13:19 ` Richard Henderson
2017-08-11 14:19 ` Thomas Huth
2017-08-11 16:11 ` David Hildenbrand
2017-08-11 17:18 ` Richard Henderson
2017-08-11 18:42 ` David Hildenbrand
2017-08-11 7:46 ` [Qemu-devel] [PATCH RFC 5/5] target/s390x: cleanup cpu.h David Hildenbrand
2017-08-11 13:20 ` Richard Henderson
2017-08-11 8:04 ` [Qemu-devel] [PATCH RFC 0/5] target/s390x: introduce internal.h and " no-reply
2017-08-11 8:53 ` David Hildenbrand
2017-08-11 15:15 ` Cornelia Huck
2017-08-11 15:30 ` David Hildenbrand
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).