All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jeffery <andrew@aj.id.au>
To: OpenBMC <openbmc@lists.ozlabs.org>
Cc: "Patrick Williams" <patrick@stwcx.xyz>,
	"Teddy Reed" <teddy.reed@gmail.com>,
	"Cédric Le Goater" <clg@kaod.org>,
	"Joel Stanley" <joel@jms.id.au>,
	"Chris Austen" <austenc@us.ibm.com>
Subject: Aims for BMC emulation in qemu
Date: Thu, 19 May 2016 15:52:46 +0930	[thread overview]
Message-ID: <1463638966.2703.209.camel@aj.id.au> (raw)

[-- Attachment #1: Type: text/plain, Size: 2020 bytes --]

Hey all,

There's some divide as to whether our qemu machine types should
accurately describe the hardware, or whether compromises can be made.
We've been at one extreme with the poky vexpress-based qemuarm system,
but are progressing towards machine types that are a better reflection
of the Aspeed SoCs.

Cédric, Teddy, Joel and myself have been working on modelling the SoCs'
devices but some are more complex than others. For example getting
network up and running is desirable, but the the ftgmac100 code that
exists[1] has critical bugs and isn't upstream (though we've started
fixing it[2][3]). We could use a different NIC (e.g. the Cadence GEM),
but this doesn't reflect the hardware.

So, do we compromise or not, or can we avoid the problem altogether?

Accuracy of the models is useful for kernel and u-boot development,
where you can iterate quickly on your own machine to gain confidence
before deploying to hardware (but obviously requires the models to
exist).

Alternatively, compromising on the models can allow us to accelerate
userspace development, where some of the hardware details are
abstracted. For example, it would be useful to add a network device so
the robotframework tests[4] can be run. Depending on what you are
testing, you might not care for any hardware details.

At the moment we have a palmetto-bmc machine type in upstream qemu
(2.6.0) which describes the core devices. Maybe the solution is to keep
such machine types as an accurate reflection of the hardware, and
define others that have relaxed accuracy constraints for different
circumstances. I expect we'd be maintaining a fork if we did so, but it
would evaporate over time as more models were developed.

What are your thoughts?

Andrew


[1] https://lists.gnu.org/archive/html/qemu-devel/2013-03/msg02601.html
[2] https://github.com/shenki/qemu/tree/ftgmac100
[3] https://github.com/amboar/qemu/tree/ast2400-net-ftgmac100
[4] https://github.com/mkumatag/openbmc-automation

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

             reply	other threads:[~2016-05-19  6:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-19  6:22 Andrew Jeffery [this message]
2016-05-21 22:32 ` Aims for BMC emulation in qemu Chris Austen
     [not found] ` <20160521223211.26848C6042@b03ledav006.gho.boulder.ibm.com>
2016-05-23  5:26   ` Andrew Jeffery
2016-05-23 15:21     ` Cédric Le Goater
2016-05-25  0:19       ` Andrew Jeffery
2016-05-29 21:17         ` Teddy Reed
2016-05-31  6:07           ` Andrew Jeffery

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=1463638966.2703.209.camel@aj.id.au \
    --to=andrew@aj.id.au \
    --cc=austenc@us.ibm.com \
    --cc=clg@kaod.org \
    --cc=joel@jms.id.au \
    --cc=openbmc@lists.ozlabs.org \
    --cc=patrick@stwcx.xyz \
    --cc=teddy.reed@gmail.com \
    /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.