qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

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