[Top][All Lists]

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

[Qemu-devel] [Bug 1733720] Re: raspi2 with multiple CPU's #1

From: Ken Dickey
Subject: [Qemu-devel] [Bug 1733720] Re: raspi2 with multiple CPU's #1
Date: Wed, 22 Nov 2017 05:28:51 -0000

Sorry again, "MPIDR"

Gotta learn to type!

You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

  raspi2 with multiple CPU's #1

Status in QEMU:

Bug description:

  I am running a small program for raspi2 (from

  This code writes "Hello World", but the output ir repeated 4 times.

  My thought was that this is emulating a 4 cpu core system.

  However, when I check the MPIDR registed for CPU number, it always
  returns 1.

  I git cloned github.com/qemu/qemu.git, made & installed on Acer ARM
  CB5-311 under Crouton/ubuntu.


  Linux:armv7l: ~/Downloads/RaspiTest/BareBones >>> uname -a
  Linux localhost 3.10.18 #1 SMP Mon Nov 13 16:34:10 PST 2017 armv7l armv7l 
armv7l GNU/Linux

  Linux:armv7l: ~/Downloads/RaspiTest/BareBones >>> qemu-system-arm --version
  QEMU emulator version 2.10.91 (v2.11.0-rc1-dirty)
  Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

  static inline uint32_t read_mpdir(void)
    uint32_t id;
    asm volatile("mrc p15, 0, %[id], c0, c0, 0 @ read MIDR\n\t"
               : [id] "=r" (id));
    return id;
  void kernel_main(uint32_t r0, uint32_t r1, uint32_t atags)
        // Declare as unused
        (void) r0;
        (void) r1;
        (void) atags;

          uint32_t cpu_id;

          cpu_id = read_mpdir() & 0x03;

          uart_putc( "01234"[cpu_id] ); /* output is "1111" */

          if (cpu_id == 0) { /* code never executes 8^( */ }

  ====== qemu.sh
  qemu-system-arm -m 256 -M raspi2 -no-reboot -serial stdio  -kernel myos.elf

  Thanks much,

To manage notifications about this bug go to:

reply via email to

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