From: Igor Mammedov <imammedo@redhat.com>
To: Laurent Vivier <laurent@vivier.eu>
Cc: qemu-devel@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>,
"YunQiang Su" <syq@debian.org>,
"Riku Voipio" <riku.voipio@iki.fi>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Aaron Sierra" <asierra@xes-inc.com>
Subject: Re: [Qemu-devel] [PATCH v3 0/4] linux-user: select CPU type according ELF header values
Date: Thu, 18 Jan 2018 14:17:49 +0100 [thread overview]
Message-ID: <20180118141749.072a4a05@redhat.com> (raw)
In-Reply-To: <7b35a1bc-e7ce-4a8a-e71e-1ffaa6aff010@vivier.eu>
On Wed, 17 Jan 2018 17:15:38 +0100
Laurent Vivier <laurent@vivier.eu> wrote:
> Le 17/01/2018 à 16:49, Igor Mammedov a écrit :
> > On Tue, 16 Jan 2018 23:22:08 +0100
> > Laurent Vivier <laurent@vivier.eu> wrote:
> >
> >> This idea has been suggested to me before by Philippe
> >> Mathieu-Daudé, and recently YunQiang Su has proposed a
> >> patch to manage the MIPS r6 case.
> >>
> >> Based on this, this series tries to clean-up the original
> >> patch, and introduces the use for m68k architecture and
> >> port the patch from YunQiang Su.
> >>
> >> v3: fix code indent problem reported by patchew
> >> remove useless "!= 0"
> >> check for EF_M68K_M68000
> >> add EF_M68K_* flags in elf.h
> >> set 680x0 default CPU to m68040
> >> change "#if ... #endif" structure for ppc
> >> v2: move cpu_model selection to linux-user/*/target_elf.h
> >> provide eflags to cpu_get_model() instead of fd
> >> (and modify other patches accordingly)
> > Sorry for not noticing it earlier, but could you please
> > fix series to use cpu type names instead of cpu_model?
> >
> > I've just posted series that completes cpu_model refactoring
> > [PATCH 00/24] generalize parsing of cpu_model (part 4)
> > which removes remnants of the code using cpu_model to
> > instantiate CPUs, including reworking how default
> > cpu type for *-user is picked up.
> >
> > After that cpu_model shouldn't be used anywhere in the code
> > except of routines that process "-cpu" CLI and cpu types
> > should be used directly.
> >
> > So you might not need 1/4 after that or it would have
> > to be reworked and probably other patches where where
> > cpu_model is used.
>
> If I understand correctly, in linux-user/main.c we have to use
> cpu_create() instead of cpu_init(), and provide the cpu_type instead of
> the cpu_model?
yes, that's what my series does.
> In linux-user/main.c, How can I detect we want to use the default one
> (we were relying on "cpu_model == NULL" until now) to be able to compute
> the default one from the ELF header?
maybe something along this lines would do the job:
diff --git a/linux-user/main.c b/linux-user/main.c
index 4624cc9..c5d567f 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -43,6 +43,7 @@ static const char *filename;
static const char *argv0;
static int gdbstub_port;
static envlist_t *envlist;
+/* default type in case it's not possible to deduce from program */
static const char *cpu_type = TARGET_DEFAULT_CPU_TYPE;
unsigned long mmap_min_addr;
unsigned long guest_base;
@@ -4250,6 +4251,12 @@ static int parse_args(int argc, char **argv)
}
filename = argv[optind];
+ if (cpu_type is not set by user) {
+ /* override default type if we can get it from executable */
+ override_cpu_type = cpu_get_type(filename)
+ if (override_cpu_type)
+ cpu_type = override_cpu_type
+ }
exec_path = argv[optind];
> Thanks,
> Laurent
next prev parent reply other threads:[~2018-01-18 13:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-16 22:22 [Qemu-devel] [PATCH v3 0/4] linux-user: select CPU type according ELF header values Laurent Vivier
2018-01-16 22:22 ` [Qemu-devel] [PATCH v3 1/4] linux-user: Move CPU type name selection to a function Laurent Vivier
2018-01-16 22:22 ` [Qemu-devel] [PATCH v3 2/4] linux-user: introduce functions to detect CPU type Laurent Vivier
2018-01-16 22:22 ` [Qemu-devel] [PATCH v3 3/4] linux-user, m68k: select CPU according to ELF header values Laurent Vivier
2018-01-17 14:07 ` Richard Henderson
2018-01-16 22:22 ` [Qemu-devel] [PATCH v3 4/4] linux-user: MIPS set cpu to r6 CPU if binary is R6 Laurent Vivier
2018-01-17 15:49 ` [Qemu-devel] [PATCH v3 0/4] linux-user: select CPU type according ELF header values Igor Mammedov
2018-01-17 16:15 ` Laurent Vivier
2018-01-18 13:17 ` Igor Mammedov [this message]
2018-01-18 13:33 ` Laurent Vivier
2018-01-19 13:56 ` Laurent Vivier
2018-01-19 14:33 ` Igor Mammedov
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=20180118141749.072a4a05@redhat.com \
--to=imammedo@redhat.com \
--cc=asierra@xes-inc.com \
--cc=f4bug@amsat.org \
--cc=laurent@vivier.eu \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=riku.voipio@iki.fi \
--cc=syq@debian.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.