From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org, kvm@vger.kernel.org,
linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Michael Mueller <mimu@linux.vnet.ibm.com>,
Gleb Natapov <gleb@kernel.org>, Alexander Graf <agraf@suse.de>,
Christian Borntraeger <borntraeger@de.ibm.com>,
"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Andreas Faerber <afaerber@suse.de>,
Richard Henderson <rth@twiddle.net>
Subject: [Qemu-devel] [RFC PATCH v2 02/15] cpu-model: Introduce option --probe to switch into probe mode
Date: Tue, 17 Feb 2015 15:24:00 +0100 [thread overview]
Message-ID: <1424183053-4310-3-git-send-email-mimu@linux.vnet.ibm.com> (raw)
In-Reply-To: <1424183053-4310-1-git-send-email-mimu@linux.vnet.ibm.com>
The option --probe allows to switch into probe mode also for machines
different from none. If one or more accelerators are specified these
accelerators are used to provide probable properties. If no accelerator
is given a list of accellerators that support probing is used.
Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
---
accel.c | 13 ++++++++-----
include/sysemu/accel.h | 2 +-
qemu-options.hx | 8 ++++++++
vl.c | 7 ++++++-
4 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/accel.c b/accel.c
index 260b009..4ed6df8 100644
--- a/accel.c
+++ b/accel.c
@@ -81,7 +81,7 @@ static int accel_init_machine(AccelClass *acc, MachineState *ms,
return ret;
}
-int configure_accelerator(MachineState *ms)
+int configure_accelerator(MachineState *ms, int probe)
{
const char *p, *name;
char buf[10];
@@ -90,13 +90,16 @@ int configure_accelerator(MachineState *ms)
bool init_failed = false;
AccelClass *acc = NULL;
ObjectClass *oc;
- bool probe_mode = false;
+ bool probe_mode;
+ probe_mode = probe != 0;
p = qemu_opt_get(qemu_get_machine_opts(), "accel");
if (p == NULL) {
- oc = (ObjectClass *) MACHINE_GET_CLASS(current_machine);
- name = object_class_get_name(oc);
- probe_mode = !strcmp(name, "none" TYPE_MACHINE_SUFFIX);
+ if (!probe_mode) {
+ oc = (ObjectClass *) MACHINE_GET_CLASS(current_machine);
+ name = object_class_get_name(oc);
+ probe_mode = !strcmp(name, "none" TYPE_MACHINE_SUFFIX);
+ }
if (probe_mode) {
/* Use these accelerators in probe mode, tcg should be last */
p = probe_mode_accels;
diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
index 997720f..3adb6ba 100644
--- a/include/sysemu/accel.h
+++ b/include/sysemu/accel.h
@@ -57,6 +57,6 @@ typedef struct AccelClass {
extern int tcg_tb_size;
-int configure_accelerator(MachineState *ms);
+int configure_accelerator(MachineState *ms, int probe);
#endif
diff --git a/qemu-options.hx b/qemu-options.hx
index 85ca3ad..22e7544 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2847,6 +2847,14 @@ STEXI
Do not start CPU at startup (you must type 'c' in the monitor).
ETEXI
+DEF("probe", 0, QEMU_OPTION_probe, \
+ "-probe startup in probe mode, option -S is selected as well\n", QEMU_ARCH_ALL)
+STEXI
+@item -probe
+@findex -probe
+Startup in probe mode.
+ETEXI
+
DEF("realtime", HAS_ARG, QEMU_OPTION_realtime,
"-realtime [mlock=on|off]\n"
" run qemu with realtime features\n"
diff --git a/vl.c b/vl.c
index 8c8f142..0fabc0b 100644
--- a/vl.c
+++ b/vl.c
@@ -138,6 +138,7 @@ bool enable_mlock = false;
int nb_nics;
NICInfo nd_table[MAX_NICS];
int autostart;
+int probe;
static int rtc_utc = 1;
static int rtc_date_offset = -1; /* -1 means no change */
QEMUClockType rtc_clock;
@@ -3148,6 +3149,10 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_S:
autostart = 0;
break;
+ case QEMU_OPTION_probe:
+ probe = 1;
+ autostart = 0;
+ break;
case QEMU_OPTION_k:
keyboard_layout = optarg;
break;
@@ -4027,7 +4032,7 @@ int main(int argc, char **argv, char **envp)
exit(1);
}
- configure_accelerator(current_machine);
+ configure_accelerator(current_machine, probe);
if (qtest_chrdev) {
Error *local_err = NULL;
--
1.8.3.1
next prev parent reply other threads:[~2015-02-17 14:25 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-17 14:23 [Qemu-devel] [RFC PATCH v2 00/15] QEMU: s390: cpu model implementation Michael Mueller
2015-02-17 14:23 ` [Qemu-devel] [RFC PATCH v2 01/15] cpu-model: Introduce probe mode for machine none Michael Mueller
2015-02-17 14:24 ` Michael Mueller [this message]
2015-02-17 19:16 ` [Qemu-devel] [RFC PATCH v2 02/15] cpu-model: Introduce option --probe to switch into probe mode Eric Blake
2015-02-18 9:08 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 03/15] cpu-model: Introduce stub routine cpu_desc_avail Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 04/15] cpu-model/s390: Introduce S390 CPU models Michael Mueller
2015-02-20 13:54 ` Alexander Graf
2015-02-20 15:00 ` Michael Mueller
2015-02-20 15:22 ` Alexander Graf
2015-02-20 15:49 ` Michael Mueller
2015-02-20 16:57 ` Alexander Graf
2015-02-20 17:37 ` Michael Mueller
2015-02-20 17:50 ` Alexander Graf
2015-02-20 19:43 ` Michael Mueller
2015-02-20 19:55 ` Alexander Graf
2015-02-23 12:56 ` Christian Borntraeger
2015-02-23 13:27 ` Christian Borntraeger
2015-02-20 13:55 ` Alexander Graf
2015-02-20 15:02 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 05/15] cpu-model/s390: Introduce S390 CPU facilities Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 06/15] cpu-model/s390: Define cpu model specific facility lists Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 07/15] cpu-model/s390: Add cpu model alias definition routines Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 08/15] cpu-model/s390: Update linux-headers/asm-s390/kvm.h Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines Michael Mueller
2015-02-20 13:59 ` Alexander Graf
2015-02-20 15:18 ` Michael Mueller
2015-02-20 16:59 ` Alexander Graf
2015-02-20 18:42 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 10/15] cpu-model/s390: Add cpu class initialization routines Michael Mueller
2015-02-20 16:02 ` Richard Henderson
2015-02-20 16:12 ` Michael Mueller
2015-02-20 16:27 ` Michael Mueller
2015-02-20 16:34 ` Andreas Färber
2015-02-20 16:55 ` Michael Mueller
2015-02-20 18:11 ` Richard Henderson
2015-02-20 18:59 ` Michael Mueller
2015-02-20 19:21 ` Alexander Graf
2015-02-20 19:35 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 11/15] cpu-model/s390: Add QMP command query-cpu-model Michael Mueller
2015-02-17 18:03 ` Eric Blake
2015-02-18 8:39 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 12/15] cpu-model/s390: Extend QMP command query-cpu-definitions Michael Mueller
2015-02-17 18:09 ` Eric Blake
2015-02-18 9:29 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 13/15] cpu-model/s390: Add processor property routines Michael Mueller
2015-02-20 14:03 ` Alexander Graf
2015-02-20 15:32 ` Michael Mueller
2015-02-20 15:41 ` Andreas Färber
2015-02-20 16:04 ` Michael Mueller
2015-02-20 16:28 ` Andreas Färber
2015-02-20 16:53 ` Michael Mueller
2015-02-20 16:05 ` Michael Mueller
2015-02-20 17:00 ` Alexander Graf
2015-02-20 19:29 ` Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 14/15] cpu-model/s390: Add cpu model selection routine Michael Mueller
2015-02-17 14:24 ` [Qemu-devel] [RFC PATCH v2 15/15] cpu-model/s390: Enable S390 cpu model Michael Mueller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1424183053-4310-3-git-send-email-mimu@linux.vnet.ibm.com \
--to=mimu@linux.vnet.ibm.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=gleb@kernel.org \
--cc=jjherne@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).