qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	Chris Wright <chrisw@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] KVM call minutes for Feb 8
Date: Thu, 10 Feb 2011 13:23:57 +0100	[thread overview]
Message-ID: <4D53D8DD.50305@codemonkey.ws> (raw)
In-Reply-To: <AANLkTin0M3cCrX4ow3j7pLwiCqbdwWMRj2ne1HaqhFEp@mail.gmail.com>

On 02/10/2011 11:38 AM, Peter Maydell wrote:
> On 10 February 2011 10:13, Anthony Liguori<anthony@codemonkey.ws>  wrote:
>    
>> On 02/10/2011 10:04 AM, Peter Maydell wrote:
>>      
>>> On 10 February 2011 08:36, Anthony Liguori<anthony@codemonkey.ws>    wrote:
>>>        
>>>> So you would model arm926ej-s as the chipset and then build up the
>>>> machines
>>>> by modifying parameters of the chipset (like the board id) and/or adding
>>>> different components on top of it.
>>>>
>>>>          
>>> Er, ARM926 is the CPU, it's not a chipset. The board ID is definitely
>>> not a property of an ARM926, it's a property of the board (clue is in
>>> the name :-)). I don't think versatile boards have a "chipset" really...
>>>
>>>        
>> As I said, I'm not well versed in the component names in ARM.
>>
>> But that said, an actual processor doesn't connect directly to a bunch of
>> devices.  It almost always go through some chipset and that chipset
>> implements a lot of functionality typically.
>>
>> I think the name of the component I'm trying to refer to PL300 which I
>> believe is the Northbridge used for the Versatile boards.
>>      
> PL300 is just a bus interconnect (so you can connect multiple AXI
> bus masters (cores) to multiple AXI bus slaves (devices)).
> Versatile PB doesn't have anything in the documentation that claims
> to be a Northbridge (PBX does, VExpress doesn't).
>
> This is the system diagram for the Versatile Express:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0447d/I1007683.html
> I don't know what you'd want to claim is a "northbridge" there.
> Basically there's an FPGA with a pile of devices in it,
> and there's a test chip with the core and some other devices in
> it. But from a modelling perspective this is all completely
> irrelevant because regardless of where the hardware designer
> put the devices, they're just devices at a particular point in the
> memory map and with a particular set of interrupt wiring and so
> on.

But something interacts with each processor and dispatches the I/O 
operations in the address space, no?  I can't believe there are 2^32 
address lines coming off of every arm chip that each device connects.

This relationship of how I/O fans out through various devices is 
important because occasionally platforms do weird things during I/O fan 
out like implement an IOMMU.  If we don't model this I/O dispatch model 
within QEMU, then it's extremely difficult to implement things like IOMMUs.

It might be the case that a platform has a chipset that is a pile of 
well isolated devices that are crammed in the same silicon space but 
that otherwise have very well defined interactions with each other.  
This is the exception though, not the rule.

Particularly when looking at the relationship between certain devices on 
the PC (like the role the pckbd plays in address translation), things 
are simply not so idealized in practice.

But if it makes sense for ARM to describe every single platform device 
through a factory interface, that's fine.

Even in this case, you still want to model things like the distinction 
between the UART16650A and the ISA bus bridge for the serial device.  In 
this case, you want to be able to do composition without going through a 
factory.

>> An n900 is a very specific hardware configuration that is best represented
>> by some sort of configuration file vs. something hard coded in QEMU.
>>      
> Yes, that's the whole point -- "machine" == "specific hardware
> configuration".
>
> That's not getting rid of "machine", it's just saying "we should have
> some custom scripting language to define them rather than doing
> them in C". You still want, fundamentally, to be able to say
>    qemu-system-arm -M machinename
>    

No, qemu-system-arm -M /path/to/n900.cfg

But yeah, no disagreement there.  But today, the machine concept in QEMU 
is definitely not a specific hardware configuration.

Regards,

Anthony Liguori

> -- PMM
>
>    

  parent reply	other threads:[~2011-02-10 12:24 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08 15:55 [Qemu-devel] KVM call minutes for Feb 8 Chris Wright
2011-02-08 16:14 ` [Qemu-devel] " Stefan Hajnoczi
2011-02-08 16:39 ` [Qemu-devel] " Anthony Liguori
2011-02-08 17:13 ` Markus Armbruster
2011-02-08 19:02   ` Peter Maydell
2011-02-08 21:11     ` Anthony Liguori
2011-02-09  8:11     ` Markus Armbruster
2011-02-09  8:20       ` Peter Maydell
2011-02-09  9:02         ` Markus Armbruster
2011-02-08 19:30   ` Alexander Graf
2011-02-08 19:30   ` Aurelien Jarno
2011-02-09  8:23     ` Markus Armbruster
2011-02-09 10:43     ` Anthony Liguori
2011-02-09 17:38       ` Blue Swirl
2011-02-08 21:12   ` Anthony Liguori
2011-02-09  8:01     ` Markus Armbruster
2011-02-09 10:31       ` Anthony Liguori
2011-02-09 12:28         ` Markus Armbruster
2011-02-09 14:44           ` Anthony Liguori
2011-02-09 17:48             ` Blue Swirl
2011-02-09 19:53               ` Anthony Liguori
2011-02-09 19:59               ` Anthony Liguori
2011-02-09 20:15                 ` Blue Swirl
2011-02-10  7:47                   ` Anthony Liguori
2011-02-10  8:16                     ` Peter Maydell
2011-02-10  8:36                       ` Anthony Liguori
2011-02-10  9:04                         ` Peter Maydell
2011-02-10 10:13                           ` Anthony Liguori
2011-02-10 10:38                             ` Peter Maydell
2011-02-10 11:24                               ` Gleb Natapov
2011-02-10 12:23                               ` Anthony Liguori [this message]
2011-02-10 13:06                                 ` Peter Maydell
2011-02-10 19:17                       ` Scott Wood
2011-02-10 19:22                         ` Peter Maydell
2011-02-10 19:29                           ` Scott Wood
2011-02-10  9:07                     ` Gleb Natapov
2011-02-10 10:00                       ` Anthony Liguori
2011-02-10 10:10                         ` Gleb Natapov
2011-02-10 10:19                           ` Anthony Liguori
2011-02-10 10:49                             ` Gleb Natapov
2011-02-10 12:47                               ` Anthony Liguori
2011-02-10 13:12                                 ` Gleb Natapov
2011-02-10 10:25                       ` Avi Kivity
2011-02-10 11:13                         ` Gleb Natapov
2011-02-10 12:51                           ` Anthony Liguori
2011-02-10 13:00                             ` Avi Kivity
2011-02-10 13:29                               ` Gleb Natapov
2011-02-10 14:00                               ` Anthony Liguori
2011-02-10 13:27                             ` Gleb Natapov
2011-02-10 14:04                               ` Anthony Liguori
2011-02-10 14:20                                 ` Gleb Natapov
2011-02-10 16:05                                   ` Anthony Liguori
2011-02-11 18:14                                     ` Blue Swirl
2011-02-13  9:24                                       ` Gleb Natapov
2011-02-13 15:31                                       ` Anthony Liguori
2011-02-13 19:37                                         ` Blue Swirl
2011-02-13 19:57                                           ` Anthony Liguori
2011-02-13 21:00                                             ` Blue Swirl
2011-02-13 22:42                                               ` Anthony Liguori
2011-02-14 17:31                                                 ` Blue Swirl
2011-02-14 20:53                                                   ` Anthony Liguori
2011-02-14 21:25                                                     ` Blue Swirl
2011-02-14 21:47                                                       ` Anthony Liguori
2011-02-15 17:11                                                         ` Blue Swirl
2011-02-15 23:07                                                           ` Anthony Liguori
2011-02-16  9:52                                                             ` Gleb Natapov
2011-02-14  9:44                                             ` Paolo Bonzini
2011-02-10 10:29                     ` Avi Kivity
2011-02-13 15:38                       ` Anthony Liguori
2011-02-13 15:56                         ` Avi Kivity
2011-02-13 16:56                           ` Anthony Liguori
2011-02-13 18:08                             ` Gleb Natapov
2011-02-13 19:38                               ` Anthony Liguori
2011-02-14 10:23                                 ` Gleb Natapov
2011-02-13 21:24                             ` Peter Maydell
2011-02-13 22:43                               ` Anthony Liguori
2011-02-13 23:35                                 ` Peter Maydell
2011-02-13 15:39                       ` Anthony Liguori
2011-02-11 17:54                     ` Blue Swirl

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=4D53D8DD.50305@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=chrisw@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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).