From: Peter Maydell <peter.maydell@linaro.org>
To: Liviu Ionescu <ilg@livius.net>
Cc: QEMU Developers <Qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Cortex-M development progress
Date: Tue, 25 Nov 2014 20:37:29 +0000 [thread overview]
Message-ID: <CAFEAcA9eL_hmh=BX6bJDVxg2hdu1x5VSZWK5sv=CLpx9dZ_tFA@mail.gmail.com> (raw)
In-Reply-To: <98093680-8E5F-4290-8008-94FC276CC421@livius.net>
On 25 November 2014 at 19:58, Liviu Ionescu <ilg@livius.net> wrote:
> As mentioned in a previous message, I started work on a more detailed implementation for the M profile.
>
> At first I defined in target-arm/cpu.c the cpu-s for all variants (M0/M0+/M1/M3/M4/M7).
>
> /* Cortex-M cores. Currently only M3 is tested and fully functional. */
> { .name = "cortex-m0", .initfn = cortex_m0_initfn,
> .class_init = arm_v6m_class_init },
> { .name = "cortex-m0p", .initfn = cortex_m0p_initfn,
> .class_init = arm_v6m_class_init },
> { .name = "cortex-m1", .initfn = cortex_m1_initfn,
> .class_init = arm_v6m_class_init },
> { .name = "cortex-m3", .initfn = cortex_m3_initfn,
> .class_init = arm_v7m_class_init },
> { .name = "cortex-m4", .initfn = cortex_m4_initfn,
> .class_init = arm_v7m_class_init },
> { .name = "cortex-m7", .initfn = cortex_m7_initfn,
> .class_init = arm_v7m_class_init },
>
> The proper flags might still need adjustments, but at least we have a starting point.
I would recommend concentrating on one of these and getting
it right, rather than defining five new cores and dozens
of MCUs none of which are actually implemented to their
specifications.
> According to my tests, the core initialisations are enough
> to run a simple SysTick timer application.
This just means that code that doesn't really care what
CPU it runs on will run on a CPU that claims to be an
M0/M4/M7 but is actually more or less an M3. If your
code really doesn't care then just run it on our
existing Cortex-M3 CPU.
Patches which can be integrated into mainline will need
to make a reasonable attempt at implementing the actual
correct functionality of whichever CPU you pick (either
adding the extra features in an M4 or cutting out
the features which don't exist in v6M).
I'd also strongly prefer not to implement three dozen
boards unless we really need them all. Again, start
with one and implement a decent subset of the devices
it has on it.
thanks
-- PMM
next prev parent reply other threads:[~2014-11-25 20:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 19:58 [Qemu-devel] Cortex-M development progress Liviu Ionescu
2014-11-25 20:37 ` Peter Maydell [this message]
2014-11-25 21:37 ` Liviu Ionescu
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='CAFEAcA9eL_hmh=BX6bJDVxg2hdu1x5VSZWK5sv=CLpx9dZ_tFA@mail.gmail.com' \
--to=peter.maydell@linaro.org \
--cc=Qemu-devel@nongnu.org \
--cc=ilg@livius.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).