[PATCH qemu 06/12] ast2400: use contents of first SPI flash as a rom
Andrew Jeffery
andrew at aj.id.au
Tue Jun 7 16:24:44 AEST 2016
On Sun, 2016-05-29 at 23:19 +0200, Cédric Le Goater wrote:
> This provides support for U-Boot images which are loaded at 0x0.
>
> A Palmetto BMC guest can now be simply booted with :
>
> $ qemu-system-arm -m 256 -M palmetto-bmc -nographic -nodefaults \
> -mtdblock ./flash-palmetto-20160512040959 \
> -mtdblock ./palmetto.pnor
>
> The first block device uses the file "./flash-palmetto-20160512040959"
> which will act as a SPI flash module for the BMC, handled by the
> SMC/FMC controller. The second block device uses the file
> "./palmetto.pnor" which is an OpenPower firmware image for a palmetto
> OpenPower system. This one will be handled by the SMC/SPI controller.
>
> The flash images can be grabbed here :
>
> https://openpower.xyz/job/openbmc-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/palmetto/flash-palmetto
> https://openpower.xyz/job/openpower-op-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/palmetto.pnor
>
> We could add a second BMC SPI flash by changing the 'num-cs' property
> of the controller and emulate a golden image flash module.
>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
> ---
>
> That might seem a little too hacky ?
>
> hw/arm/palmetto-bmc.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/hw/arm/palmetto-bmc.c b/hw/arm/palmetto-bmc.c
> index c4099987d354..50369c0331a6 100644
> --- a/hw/arm/palmetto-bmc.c
> +++ b/hw/arm/palmetto-bmc.c
> @@ -17,6 +17,7 @@
> #include "hw/arm/arm.h"
> #include "hw/arm/ast2400.h"
> #include "hw/boards.h"
> +#include "hw/loader.h"
>
> static struct arm_boot_info palmetto_bmc_binfo = {
> .loader_start = AST2400_SDRAM_BASE,
> @@ -53,6 +54,14 @@ static void palmetto_bmc_init(MachineState *machine)
> aspeed_smc_init_flashes(&bmc->soc.smc, "n25q256a");
> aspeed_smc_init_flashes(&bmc->soc.spi, "mx25l25635e");
>
> + /*
> + * Install first SMC/FMC flash content as a rom.
> + */
> + if (bmc->soc.smc.flashes[0]) {
> + rom_add_blob_fixed("aspeed.smc.0", bmc->soc.smc.flashes[0]->storage,
> + bmc->soc.smc.flashes[0]->size, 0);
> + }
> +
As mentioned on IRC it's probably best we investigate alternative
approaches and use this as a last resort.
Andrew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20160607/d2d5cbca/attachment-0001.sig>
More information about the openbmc
mailing list