qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 7/9] hw/arm/raspi: Add the Raspberry Pi A+ machine


From: Igor Mammedov
Subject: Re: [PATCH v3 7/9] hw/arm/raspi: Add the Raspberry Pi A+ machine
Date: Fri, 23 Oct 2020 17:55:55 +0200

On Sun, 18 Oct 2020 22:33:56 +0200
Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:

> The Pi A is almost the first machine released.
> It uses a BCM2835 SoC which includes a ARMv6Z core.
> 
> Example booting the machine using content from [*]
> (we use the device tree from the B model):
> 
>   $ qemu-system-arm -M raspi1ap -serial stdio \
>       -kernel raspberrypi/firmware/boot/kernel.img \
>       -dtb raspberrypi/firmware/boot/bcm2708-rpi-b-plus.dtb \
>       -append 'earlycon=pl011,0x20201000 console=ttyAMA0'
>   [    0.000000] Booting Linux on physical CPU 0x0
>   [    0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 4.9.3 
> (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 14:16:15 BST 
> 2020
>   [    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 
> (ARMv7), cr=00c5387d
>   [    0.000000] CPU: VIPT aliasing data cache, unknown instruction cache
>   [    0.000000] OF: fdt: Machine model: Raspberry Pi Model B+
>   ...
> 
> [*] 
> http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20200512-2_armhf.deb
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  hw/arm/raspi.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 30fafa59ecb..91a59d1d489 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -319,6 +319,15 @@ static void raspi_machine_class_common_init(MachineClass 
> *mc,
>      mc->default_ram_id = "ram";
>  };
>  
> +static void raspi1ap_machine_class_init(ObjectClass *oc, void *data)
> +{
> +    MachineClass *mc = MACHINE_CLASS(oc);
> +    RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc);
> +
> +    rmc->board_rev = 0x900021;
> +    raspi_machine_class_common_init(mc, rmc->board_rev);
> +};
> +
>  static void raspi2b_machine_class_init(ObjectClass *oc, void *data)
>  {
>      MachineClass *mc = MACHINE_CLASS(oc);
> @@ -343,6 +352,10 @@ static void raspi3b_machine_class_init(ObjectClass *oc, 
> void *data)
>  
>  static const TypeInfo raspi_machine_types[] = {
>      {
> +        .name           = MACHINE_TYPE_NAME("raspi1ap"),
> +        .parent         = TYPE_RASPI_MACHINE,
> +        .class_init     = raspi1ap_machine_class_init,
> +    }, {
>          .name           = MACHINE_TYPE_NAME("raspi2b"),
>          .parent         = TYPE_RASPI_MACHINE,
>          .class_init     = raspi2b_machine_class_init,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]