[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 13/13] hw/arm/raspi: Add the Raspberry Pi Zero machine
From: |
Luc Michel |
Subject: |
Re: [PATCH v2 13/13] hw/arm/raspi: Add the Raspberry Pi Zero machine |
Date: |
Tue, 18 Feb 2020 09:49:58 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 2/17/20 12:45 PM, Philippe Mathieu-Daudé wrote:
> Add a Raspberry Pi Zero machine.
>
> $ qemu-system-arm -M raspi0w -serial stdio \
> -kernel raspberrypi/firmware/boot/kernel.img \
> -dtb raspberrypi/firmware/boot/bcm2708-rpi-zero-w.dtb \
> -append 'printk.time=0 earlycon=pl011,0x20201000 console=ttyAMA0'
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 4.19.69+ (dom@buildbot) (gcc version 4.9.3
> (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1261 Tue Sep 3 20:21:01 BST
> 2019
> [ 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 Zero W
> [ 0.000000] earlycon: pl11 at MMIO 0x20201000 (options '')
> [ 0.000000] bootconsole [pl11] enabled
> [ 0.000000] Memory policy: Data cache writeback
> [ 0.000000] cma: Reserved 8 MiB at 0x1b800000
> [ 0.000000] random: get_random_bytes called from start_kernel+0x8c/0x49c
> with crng_init=0
> [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 113680
> [ 0.000000] Kernel command line: printk.time=0 earlycon=pl011,0x20201000
> console=ttyAMA0 root=/dev/mmcblk0 rootwait
> Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
> Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
> Memory: 434380K/458752K available (6971K kernel code, 635K rwdata, 2080K
> rodata, 464K init, 797K bss, 16180K reserved, 8192K cma-reserved)
> Virtual kernel memory layout:
> vector : 0xffff0000 - 0xffff1000 ( 4 kB)
> fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
> vmalloc : 0xdc800000 - 0xff800000 ( 560 MB)
> lowmem : 0xc0000000 - 0xdc000000 ( 448 MB)
> modules : 0xbf000000 - 0xc0000000 ( 16 MB)
> .text : 0x(ptrval) - 0x(ptrval) (6973 kB)
> .init : 0x(ptrval) - 0x(ptrval) ( 464 kB)
> .data : 0x(ptrval) - 0x(ptrval) ( 636 kB)
> .bss : 0x(ptrval) - 0x(ptrval) ( 798 kB)
> SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> ftrace: allocating 25193 entries in 74 pages
> NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
> sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every
> 2147483647500ns
> clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:
> 1911260446275 ns
> bcm2835: system timer (irq = 27)
> Console: colour dummy device 80x30
> ...
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Luc Michel <address@hidden>
> ---
> hw/arm/raspi.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 2d9f4e3085..d59d7c4294 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -324,6 +324,15 @@ static void raspi_machine_class_common_init(MachineClass
> *mc,
> mc->default_ram_size = board_ram_size(board_rev);
> };
>
> +static void raspi0w_machine_class_init(ObjectClass *oc, void *data)
> +{
> + MachineClass *mc = MACHINE_CLASS(oc);
> + RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc);
> +
> + rmc->board_rev = 0x9000c1;
> + raspi_machine_class_common_init(mc, rmc->board_rev);
> +};
> +
> static void raspi1b_machine_class_init(ObjectClass *oc, void *data)
> {
> MachineClass *mc = MACHINE_CLASS(oc);
> @@ -357,6 +366,10 @@ static void raspi3b_machine_class_init(ObjectClass *oc,
> void *data)
>
> static const TypeInfo raspi_machine_types[] = {
> {
> + .name = MACHINE_TYPE_NAME("raspi0w"),
> + .parent = TYPE_RASPI_MACHINE,
> + .class_init = raspi0w_machine_class_init,
> + }, {
> .name = MACHINE_TYPE_NAME("raspi1b"),
> .parent = TYPE_RASPI_MACHINE,
> .class_init = raspi1b_machine_class_init,
>