qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs
@ 2017-10-04 14:55 Christophe Lyon
  2017-10-05 11:06 ` [Qemu-devel] [Bug 1721275] " Peter Maydell
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Christophe Lyon @ 2017-10-04 14:55 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

Hi,

This is an enhancement request, rather than a bug report.

After some discussions/presentations during the last Linaro Connect
(SFO17), I understand that it may be easy to add support for more ARM
CPUs in QEMU. I am interested in user-mode, if that matters.

I'm primarily using QEMU for GCC validations, and I'd like to make sure
that GCC doesn't generate instructions not supported by the CPU it's
supposed to generate code for.

I'd like to have:
cortex-m0
cortex-m4
cortex-m7
cortex-m23
cortex-m33

cortex-a35
cortex-a53
cortex-a57

Is it possible?
Is it the right place to ask?
Should I file separate requests for each?

Thanks

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  New

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
@ 2017-10-05 11:06 ` Peter Maydell
  2017-10-05 11:07 ` Peter Maydell
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2017-10-05 11:06 UTC (permalink / raw)
  To: qemu-devel

M0 is hard, because it's v6M which we don't support. M4 we already have
(but only the no-fpu variant). M7 we don't currently have -- what would
be the differences from M4? M33 is in the works (it's v8M). M23 is
harder, because it's v8M-baseline which is the v8M equivalent to v6M.
A53 and A57 we already have. How would A35 differ from A53/A57 ?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  New

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
  2017-10-05 11:06 ` [Qemu-devel] [Bug 1721275] " Peter Maydell
@ 2017-10-05 11:07 ` Peter Maydell
  2017-10-16 13:16 ` Christophe Lyon
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2017-10-05 11:07 UTC (permalink / raw)
  To: qemu-devel

PS: in general I wouldn't unconditionally trust that QEMU emulating CPU
X definitely does not implement any instructions that CPU X doesn't have
-- no real world code will notice, and we don't have any mechanism to
automatically verify that we didn't accidentally forget to
conditionalize an instruction on an architecture feature.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  New

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
  2017-10-05 11:06 ` [Qemu-devel] [Bug 1721275] " Peter Maydell
  2017-10-05 11:07 ` Peter Maydell
@ 2017-10-16 13:16 ` Christophe Lyon
  2017-10-16 13:41   ` Peter Maydell
  2019-09-13 13:42 ` Christophe Lyon
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 12+ messages in thread
From: Christophe Lyon @ 2017-10-16 13:16 UTC (permalink / raw)
  To: qemu-devel

Thanks for PS, I thought QEMU was stricter than that.

Regarding M7 vs M$ or A35 vs A53/A57, even though there's no functional
difference, it would be convenient in Makefiles to have CPU=cortex-a53,
and use $(CPU) to expand GCC and QEMU options, without having to guess
which CPU I should use for QEMU that would match the one I pass to GCC.

Regarding v[68]M, are there any plans to add support for these variants
to QEMU?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  New

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-16 13:16 ` Christophe Lyon
@ 2017-10-16 13:41   ` Peter Maydell
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2017-10-16 13:41 UTC (permalink / raw)
  To: Bug 1721275; +Cc: QEMU Developers

On 16 October 2017 at 14:16, Christophe Lyon
<christophe.lyon+launchpad@gmail.com> wrote:
> Thanks for PS, I thought QEMU was stricter than that.

Well, I hope we get it right, and we'll treat cases where
we get it wrong as bugs, but we're not testing...

> Regarding v[68]M, are there any plans to add support for these variants
> to QEMU?

v8M we're working on. v6M we have no plans for currently.

thankns
-- PMM

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (2 preceding siblings ...)
  2017-10-16 13:16 ` Christophe Lyon
@ 2019-09-13 13:42 ` Christophe Lyon
  2019-09-13 14:05 ` Peter Maydell
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Christophe Lyon @ 2019-09-13 13:42 UTC (permalink / raw)
  To: qemu-devel

Regarding Cortex-M7, I've noticed that unlike Cortex-M4, it supports
double precision floating-point. Is DP supported by qemu?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (3 preceding siblings ...)
  2019-09-13 13:42 ` Christophe Lyon
@ 2019-09-13 14:05 ` Peter Maydell
  2019-09-13 14:21 ` Christophe Lyon
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2019-09-13 14:05 UTC (permalink / raw)
  To: qemu-devel

Yes, QEMU supports DP (I actually had to go to some lengths to disable
the DP support for the M4 :-))

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (4 preceding siblings ...)
  2019-09-13 14:05 ` Peter Maydell
@ 2019-09-13 14:21 ` Christophe Lyon
  2019-09-13 14:40 ` Peter Maydell
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Christophe Lyon @ 2019-09-13 14:21 UTC (permalink / raw)
  To: qemu-devel

How do I activate it since --cpu cortex-m7 isn't supported?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (5 preceding siblings ...)
  2019-09-13 14:21 ` Christophe Lyon
@ 2019-09-13 14:40 ` Peter Maydell
  2019-10-23 12:12 ` Christophe Lyon
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2019-09-13 14:40 UTC (permalink / raw)
  To: qemu-devel

You can't for an M-profile CPU. It would work without any further coding
beyond getting the ID register values right if we had a Cortex-M7 model,
though.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (6 preceding siblings ...)
  2019-09-13 14:40 ` Peter Maydell
@ 2019-10-23 12:12 ` Christophe Lyon
  2019-10-23 18:14 ` Richard Henderson
  2019-10-24 10:59 ` Christophe Lyon
  9 siblings, 0 replies; 12+ messages in thread
From: Christophe Lyon @ 2019-10-23 12:12 UTC (permalink / raw)
  To: qemu-devel

It seemed "easy" to add cortex-m7 based on cortex-m4 (copy m4
description, update ID register values), but I realized that QEMU does
not support FPv5 which not only supports DP, but also adds new
instructions that QEMU does not handle yet (see section A2.5 of the
ARMv7-M ARM).

* Are there plans to implement them?
* If not, how difficult is it? (for a developer not very familiar with the QEMU code base)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (7 preceding siblings ...)
  2019-10-23 12:12 ` Christophe Lyon
@ 2019-10-23 18:14 ` Richard Henderson
  2019-10-24 10:59 ` Christophe Lyon
  9 siblings, 0 replies; 12+ messages in thread
From: Richard Henderson @ 2019-10-23 18:14 UTC (permalink / raw)
  To: qemu-devel

They are implemented, because they also appear in A-profile.
We just need to set the corresponding MVFR field to enable them.

Setting MVFR2.FPMISC = 4 will do the job, I believe.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug 1721275] Re: Support more ARM CPUs
  2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
                   ` (8 preceding siblings ...)
  2019-10-23 18:14 ` Richard Henderson
@ 2019-10-24 10:59 ` Christophe Lyon
  9 siblings, 0 replies; 12+ messages in thread
From: Christophe Lyon @ 2019-10-24 10:59 UTC (permalink / raw)
  To: qemu-devel

Good news, I thought at least some of them were not implemented because
for instance I couldn't find where VRINTA is handled (I noticed code for
NEON_2RM_VRINTA, but I thought there should be something in vfp.decode
for VRINT[ANPM])

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1721275

Title:
  Support more ARM CPUs

Status in QEMU:
  Won't Fix

Bug description:
  Hi,

  This is an enhancement request, rather than a bug report.

  After some discussions/presentations during the last Linaro Connect
  (SFO17), I understand that it may be easy to add support for more ARM
  CPUs in QEMU. I am interested in user-mode, if that matters.

  I'm primarily using QEMU for GCC validations, and I'd like to make
  sure that GCC doesn't generate instructions not supported by the CPU
  it's supposed to generate code for.

  I'd like to have:
  cortex-m0
  cortex-m4
  cortex-m7
  cortex-m23
  cortex-m33

  cortex-a35
  cortex-a53
  cortex-a57

  Is it possible?
  Is it the right place to ask?
  Should I file separate requests for each?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1721275/+subscriptions


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-10-24 11:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-04 14:55 [Qemu-devel] [Bug 1721275] [NEW] Support more ARM CPUs Christophe Lyon
2017-10-05 11:06 ` [Qemu-devel] [Bug 1721275] " Peter Maydell
2017-10-05 11:07 ` Peter Maydell
2017-10-16 13:16 ` Christophe Lyon
2017-10-16 13:41   ` Peter Maydell
2019-09-13 13:42 ` Christophe Lyon
2019-09-13 14:05 ` Peter Maydell
2019-09-13 14:21 ` Christophe Lyon
2019-09-13 14:40 ` Peter Maydell
2019-10-23 12:12 ` Christophe Lyon
2019-10-23 18:14 ` Richard Henderson
2019-10-24 10:59 ` Christophe Lyon

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