mirror of https://github.com/xqemu/xqemu.git
S390: Enable -cpu help and QMP query-cpu-definitions
This enables qemu -cpu help to return a list of supported CPU models on s390 and also to query for cpu definitions in the monitor. Initially only cpu model = host is returned. This needs to be reworked into a full-fledged CPU model handling later on. This change is needed to allow libvirt exploiters (like OpenStack) to specify a CPU model. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> [agraf: fix s390x-linux-user, adjust header locations] Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
e674a49aae
commit
904e5fd5c2
|
@ -2,6 +2,7 @@
|
||||||
* QEMU S390 virtio target
|
* QEMU S390 virtio target
|
||||||
*
|
*
|
||||||
* Copyright (c) 2009 Alexander Graf <agraf@suse.de>
|
* Copyright (c) 2009 Alexander Graf <agraf@suse.de>
|
||||||
|
* Copyright IBM Corp 2012
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -13,7 +14,10 @@
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* 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/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,33 @@
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
#include "sysemu/arch_init.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* generate CPU information for cpu -? */
|
||||||
|
void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_KVM
|
||||||
|
(*cpu_fprintf)(f, "s390 %16s\n", "host");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp)
|
||||||
|
{
|
||||||
|
CpuDefinitionInfoList *entry;
|
||||||
|
CpuDefinitionInfo *info;
|
||||||
|
|
||||||
|
info = g_malloc0(sizeof(*info));
|
||||||
|
info->name = g_strdup("host");
|
||||||
|
|
||||||
|
entry = g_malloc0(sizeof(*entry));
|
||||||
|
entry->value = info;
|
||||||
|
|
||||||
|
return entry;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* CPUClass::reset() */
|
/* CPUClass::reset() */
|
||||||
static void s390_cpu_reset(CPUState *s)
|
static void s390_cpu_reset(CPUState *s)
|
||||||
|
|
|
@ -362,6 +362,9 @@ static inline void cpu_set_tls(CPUS390XState *env, target_ulong newtls)
|
||||||
#define cpu_gen_code cpu_s390x_gen_code
|
#define cpu_gen_code cpu_s390x_gen_code
|
||||||
#define cpu_signal_handler cpu_s390x_signal_handler
|
#define cpu_signal_handler cpu_s390x_signal_handler
|
||||||
|
|
||||||
|
void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
||||||
|
#define cpu_list s390_cpu_list
|
||||||
|
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
|
|
||||||
#define EXCP_EXT 1 /* external interrupt */
|
#define EXCP_EXT 1 /* external interrupt */
|
||||||
|
|
Loading…
Reference in New Issue