On Tue, 18 Feb 2020 10:35:43 +0100 Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
> Cc'ing Eduardo/Igor. > > On 2/18/20 9:48 AM, Luc Michel wrote: > > On 2/17/20 12:45 PM, Philippe Mathieu-Daudé wrote: > >> $ qemu-system-arm -M raspi1b -serial stdio \ > >> -kernel raspberrypi/firmware/boot/kernel.img \ > >> -dtb raspberrypi/firmware/boot/bcm2708-rpi-b.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 Model B > >> [ 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 > >> 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) > >> ... > >> > >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > >> --- > >> hw/arm/raspi.c | 13 +++++++++++++ > >> 1 file changed, 13 insertions(+) > >> > >> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c > >> index 3537a329ac..2d9f4e3085 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 raspi1b_machine_class_init(ObjectClass *oc, void *data) > >> +{ > >> + MachineClass *mc = MACHINE_CLASS(oc); > >> + RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc); > >> + > >> + rmc->board_rev = 0x900032; > >> + raspi_machine_class_common_init(mc, rmc->board_rev); > >> +}; > >> + > >> static void raspi2b_machine_class_init(ObjectClass *oc, void *data) > >> { > >> MachineClass *mc = MACHINE_CLASS(oc); > >> @@ -348,6 +357,10 @@ static void raspi3b_machine_class_init(ObjectClass > >> *oc, void *data) > >> > >> static const TypeInfo raspi_machine_types[] = { > >> { > >> + .name = MACHINE_TYPE_NAME("raspi1b"), > > If it's the B+ model, why not call it raspi1b+ ? > > I thought about it (and prefer it), but I'm not sure this can have some > side-effect. > > Eduardo, Igor, is that OK to use a '+' in a machine name? > > So far the names used match [a-zA-Z0-9-]. That was my impression as well. How about "raspi1-plus" > > > >> + .parent = TYPE_RASPI_MACHINE, > >> + .class_init = raspi1b_machine_class_init, > >> + }, { > >> .name = MACHINE_TYPE_NAME("raspi2b"), > >> .parent = TYPE_RASPI_MACHINE, > >> .class_init = raspi2b_machine_class_init, > >> > > >