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