Re: [Qemu-devel] [PATCH v4 0/4] Add ASPEED AST2400 SoC and OpenPower BMC machine

2016-03-15 Thread Andrew Jeffery
On Tue, 2016-03-15 at 11:25 +0100, Cédric Le Goater wrote:
> On 03/15/2016 06:01 AM, Andrew Jeffery wrote:
> > On Tue, 2016-03-15 at 12:34 +0800, Jeremy Kerr wrote:
> > > Hi Andrew,
> > > 
> > > > This patch series models enough of the ASPEED AST2400 ARM9 SoC[0] to
> > > > boot an aspeed_defconfig Linux kernel[1][2]. Specifically, the series
> > > > implements the ASPEED timer and VIC devices, integrates them into an
> > > > AST2400 SoC and exposes it all through a new opbmc2400 machine. The
> > > > device model patches only partially implement the hardware features of
> > > > the timer and VIC, again mostly just enough to boot Linux.
> > > 
> > > Awesome! Nice to have these patches escaping the lab :)
> > > 
> > > In terms of naming suggestions: I think this depends on what we're
> > > looking to emulate here. I see two options:
> > > 
> > > The qemu platform becomes a "reference" for OpenPOWER bmc hardware, but
> > > doesn't necessarily align with an actual machine. In that case,
> > > something generic like opbmc- would make sense.
> > > 
> > > On the other hand, if we'd like to create qemu platforms that represent
> > > actual machines (eg, the OpenPOWER "palmetto" machine), then
> > > -bmc would seem more appropriate. In this case, the machine
> > > name would be palmetto-bmc. No need to include the SoC name in that, as
> > > it's defined by the hardware implementation.
> > > 
> > > I think the latter option may be more generally useful.
> > 
> > Okay, agreed, I'll rework the change to use palmetto-bmc for the
> > machine name. Thanks for the feedback.
> 
> Yes. palmetto-bmc is good choice. Palmetto is a reference machine
> for OpenPOWER. 
> 
> May be change also :
> 
> +mc->desc = "OpenPOWER AST2400 BMC (ARM926EJ-S)";
> 
> to reflect that choice.

Will do!

Thanks,

Andrew

signature.asc
Description: This is a digitally signed message part


Re: [Qemu-devel] [PATCH v4 0/4] Add ASPEED AST2400 SoC and OpenPower BMC machine

2016-03-15 Thread Cédric Le Goater
On 03/15/2016 06:01 AM, Andrew Jeffery wrote:
> On Tue, 2016-03-15 at 12:34 +0800, Jeremy Kerr wrote:
>> Hi Andrew,
>>
>>> This patch series models enough of the ASPEED AST2400 ARM9 SoC[0] to
>>> boot an aspeed_defconfig Linux kernel[1][2]. Specifically, the series
>>> implements the ASPEED timer and VIC devices, integrates them into an
>>> AST2400 SoC and exposes it all through a new opbmc2400 machine. The
>>> device model patches only partially implement the hardware features of
>>> the timer and VIC, again mostly just enough to boot Linux.
>>
>> Awesome! Nice to have these patches escaping the lab :)
>>
>> In terms of naming suggestions: I think this depends on what we're
>> looking to emulate here. I see two options:
>>
>> The qemu platform becomes a "reference" for OpenPOWER bmc hardware, but
>> doesn't necessarily align with an actual machine. In that case,
>> something generic like opbmc- would make sense.
>>
>> On the other hand, if we'd like to create qemu platforms that represent
>> actual machines (eg, the OpenPOWER "palmetto" machine), then
>> -bmc would seem more appropriate. In this case, the machine
>> name would be palmetto-bmc. No need to include the SoC name in that, as
>> it's defined by the hardware implementation.
>>
>> I think the latter option may be more generally useful.
> 
> Okay, agreed, I'll rework the change to use palmetto-bmc for the
> machine name. Thanks for the feedback.

Yes. palmetto-bmc is good choice. Palmetto is a reference machine
for OpenPOWER. 

May be change also :

+mc->desc = "OpenPOWER AST2400 BMC (ARM926EJ-S)";

to reflect that choice.

Thanks,

C. 




Re: [Qemu-devel] [PATCH v4 0/4] Add ASPEED AST2400 SoC and OpenPower BMC machine

2016-03-14 Thread Andrew Jeffery
On Tue, 2016-03-15 at 12:34 +0800, Jeremy Kerr wrote:
> Hi Andrew,
> 
> > This patch series models enough of the ASPEED AST2400 ARM9 SoC[0] to
> > boot an aspeed_defconfig Linux kernel[1][2]. Specifically, the series
> > implements the ASPEED timer and VIC devices, integrates them into an
> > AST2400 SoC and exposes it all through a new opbmc2400 machine. The
> > device model patches only partially implement the hardware features of
> > the timer and VIC, again mostly just enough to boot Linux.
> 
> Awesome! Nice to have these patches escaping the lab :)
> 
> In terms of naming suggestions: I think this depends on what we're
> looking to emulate here. I see two options:
> 
> The qemu platform becomes a "reference" for OpenPOWER bmc hardware, but
> doesn't necessarily align with an actual machine. In that case,
> something generic like opbmc- would make sense.
> 
> On the other hand, if we'd like to create qemu platforms that represent
> actual machines (eg, the OpenPOWER "palmetto" machine), then
> -bmc would seem more appropriate. In this case, the machine
> name would be palmetto-bmc. No need to include the SoC name in that, as
> it's defined by the hardware implementation.
> 
> I think the latter option may be more generally useful.

Okay, agreed, I'll rework the change to use palmetto-bmc for the
machine name. Thanks for the feedback.

Andrew

signature.asc
Description: This is a digitally signed message part


Re: [Qemu-devel] [PATCH v4 0/4] Add ASPEED AST2400 SoC and OpenPower BMC machine

2016-03-14 Thread Jeremy Kerr
Hi Andrew,

> This patch series models enough of the ASPEED AST2400 ARM9 SoC[0] to
> boot an aspeed_defconfig Linux kernel[1][2]. Specifically, the series
> implements the ASPEED timer and VIC devices, integrates them into an
> AST2400 SoC and exposes it all through a new opbmc2400 machine. The
> device model patches only partially implement the hardware features of
> the timer and VIC, again mostly just enough to boot Linux.

Awesome! Nice to have these patches escaping the lab :)

In terms of naming suggestions: I think this depends on what we're
looking to emulate here. I see two options:

The qemu platform becomes a "reference" for OpenPOWER bmc hardware, but
doesn't necessarily align with an actual machine. In that case,
something generic like opbmc- would make sense.

On the other hand, if we'd like to create qemu platforms that represent
actual machines (eg, the OpenPOWER "palmetto" machine), then
-bmc would seem more appropriate. In this case, the machine
name would be palmetto-bmc. No need to include the SoC name in that, as
it's defined by the hardware implementation.

I think the latter option may be more generally useful.

Regards,


Jeremy



[Qemu-devel] [PATCH v4 0/4] Add ASPEED AST2400 SoC and OpenPower BMC machine

2016-03-13 Thread Andrew Jeffery
This patch series models enough of the ASPEED AST2400 ARM9 SoC[0] to boot an
aspeed_defconfig Linux kernel[1][2]. Specifically, the series implements the
ASPEED timer and VIC devices, integrates them into an AST2400 SoC and exposes
it all through a new opbmc2400 machine. The device model patches only partially
implement the hardware features of the timer and VIC, again mostly just enough
to boot Linux.

Unfortunately the datasheet describing the devices is not generally available,
but I'll try to add comments to any unclear areas.

The addition of the AST2400 to QEMU is motivated by use of the SoC as a BMC in
OpenPOWER[2][3] machines and the ongoing development of OpenBMC[4]. The
presence of a machine model utilising the AST2400 will help with development
and testing of the OpenBMC stack.

Cheers,

Andrew

[0] http://www.aspeedtech.com/products.php?fPath=20=376
[1] https://github.com/openbmc/linux/tree/dev-4.3
[2] git fetch g...@github.com:openbmc/linux.git dev-4.3
[3] http://openpowerfoundation.org/
[4] https://github.com/open-power/
[5] https://github.com/openbmc/openbmc

Changes since v3:

  Address comments from Peter Maydell, splitting the machine model from
  hw/arm/ast2400.c into hw/arm/opbmc2400.c amongst other minor cleanups to the
  timer and VIC.

Changes since v2:

  This re-roll is a reasonable rework of the patches in the series, which may
  make it difficult to compare v1 to v2.

  Addressed reviews/comments from:
  * Peter Maydell
  * Alexey Kardashevskiy
  * Joel Stanley

Changes since v1:

  Addressed reviews/comments from:
  * Cédric Le Goater

Andrew Jeffery (4):
  hw/timer: Add ASPEED timer device model
  hw/intc: Add (new) ASPEED VIC device model
  hw/arm: Add an ASPEED AST2400 SoC
  hw/arm: Add opbmc2400, an AST2400-based OpenPOWER BMC machine

 default-configs/arm-softmmu.mak |   1 +
 hw/arm/Makefile.objs|   1 +
 hw/arm/ast2400.c| 137 
 hw/arm/opbmc2400.c  |  66 ++
 hw/intc/Makefile.objs   |   1 +
 hw/intc/aspeed_vic.c| 339 ++
 hw/timer/Makefile.objs  |   1 +
 hw/timer/aspeed_timer.c | 451 
 include/hw/arm/ast2400.h|  35 
 include/hw/intc/aspeed_vic.h|  48 +
 include/hw/timer/aspeed_timer.h |  59 ++
 trace-events|  16 ++
 12 files changed, 1155 insertions(+)
 create mode 100644 hw/arm/ast2400.c
 create mode 100644 hw/arm/opbmc2400.c
 create mode 100644 hw/intc/aspeed_vic.c
 create mode 100644 hw/timer/aspeed_timer.c
 create mode 100644 include/hw/arm/ast2400.h
 create mode 100644 include/hw/intc/aspeed_vic.h
 create mode 100644 include/hw/timer/aspeed_timer.h

-- 
2.5.0