From: Anthony Liguori <anthony@codemonkey.ws>
To: Alexander Graf <agraf@suse.de>
Cc: Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Rob Herring <rob.herring@calxeda.com>,
Grant Likely <grant.likely@secretlab.ca>,
Paul Brook <paul@codesourcery.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
Jeremy Kerr <jeremy.kerr@canonical.com>,
John Williams <john.williams@petalogix.com>
Subject: Re: [Qemu-devel] [PATCH v2] arm: add device tree support
Date: Wed, 01 Feb 2012 09:13:30 -0600 [thread overview]
Message-ID: <4F29569A.7070504@codemonkey.ws> (raw)
In-Reply-To: <F9F646EF-0602-4472-8EC7-A999A3E1E8CF@suse.de>
On 02/01/2012 07:55 AM, Alexander Graf wrote:
>
> On 01.02.2012, at 14:52, Anthony Liguori wrote:
>> Fine, but to boot u-boot, the real hardware must set IP to something that's most likely an offset into ROM flash.
>>
>> Why can't we bootstrap semi-hosted mode by having a ROM somewhere that just redirects IP?
>>
>> It doesn't have to be a full blown u-boot.
>
> That would work, yes.
>
>>
>>>
>>> That's why I'm saying things don't work out all that simple with semi-hosted environments. Now you could argue that semi-hosting is a bad thing, but we'll always have to have it. On s390 for example, semi-hosting is how real hardware works. Or at least the parts that are visible to end users. Especially when you model PV machines, you'll have a hard time with fixed reset IPs too.
>>
>> s390 is a special case because "real hardware" is not actually real hardware. It's a VM.
>
> Sure, but how would we model things there? Our model needs to be flexible enough to cope with these oddballs.
>
> In fact, s390 is even more complicated. For DASD boot, the CPU is stalled at first and instead the DASD controller reads some instructions from memory that then bootstrap the bootloader. But IIUC that's only the case for DASD boot. For zfcp boot, you basically get semi-hosting.
Once CPUs are modeled QOM, my expectation is that we'll have something like a
CPU::halted property. As part of realize, a CPU would set halted = true and
that is what would trigger the CPU execution (be it through TCG or KVM).
There is no reason that on s390, the CPU realize function couldn't avoid setting
halted=true and instead allow another device (with a wider view of the system)
to perform some additional initialization work and then set the CPU halted
property to true.
This is all about what causes the system to start running. Once we move to a
property realize() model, it gives us a lot more flexibility to work through
these types of dependency issues.
Regards,
Anthony Liguori
>
> Alex
>
>
next prev parent reply other threads:[~2012-02-01 15:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-01 0:11 [Qemu-devel] [PATCH v2] arm: add device tree support Grant Likely
2012-02-01 1:10 ` Alexander Graf
2012-02-01 1:35 ` Paul Brook
2012-02-01 1:44 ` Alexander Graf
2012-02-01 2:37 ` Anthony Liguori
2012-02-01 2:40 ` John Williams
2012-02-01 13:04 ` Anthony Liguori
2012-02-01 13:10 ` Peter Maydell
2012-02-01 13:25 ` Anthony Liguori
2012-02-01 13:32 ` Alexander Graf
2012-02-01 13:44 ` Anthony Liguori
2012-02-01 13:49 ` Alexander Graf
2012-02-01 13:52 ` Anthony Liguori
2012-02-01 13:55 ` Alexander Graf
2012-02-01 15:13 ` Anthony Liguori [this message]
2012-02-01 17:38 ` Grant Likely
2012-02-01 20:59 ` Alexander Graf
2012-02-01 2:35 ` Anthony Liguori
2012-02-22 19:42 ` Peter Maydell
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=4F29569A.7070504@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=agraf@suse.de \
--cc=edgar.iglesias@gmail.com \
--cc=grant.likely@secretlab.ca \
--cc=jeremy.kerr@canonical.com \
--cc=john.williams@petalogix.com \
--cc=paul@codesourcery.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rob.herring@calxeda.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 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).