diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 19:39:53 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 19:39:53 +0200 |
| commit | dee4dcba78baf712cab403d47d9db319ab7f95d6 (patch) | |
| tree | 418478faf06786701a56268672f73d6b0b4eb239 /results/classifier/118/kernel/1733720 | |
| parent | 4d9e26c0333abd39bdbd039dcdb30ed429c475ba (diff) | |
| download | emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.tar.gz emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.zip | |
restructure results
Diffstat (limited to 'results/classifier/118/kernel/1733720')
| -rw-r--r-- | results/classifier/118/kernel/1733720 | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/results/classifier/118/kernel/1733720 b/results/classifier/118/kernel/1733720 deleted file mode 100644 index 24227987..00000000 --- a/results/classifier/118/kernel/1733720 +++ /dev/null @@ -1,107 +0,0 @@ -mistranslation: 0.985 -architecture: 0.972 -kernel: 0.959 -device: 0.937 -performance: 0.931 -arm: 0.929 -graphic: 0.903 -peripherals: 0.879 -user-level: 0.844 -semantic: 0.835 -debug: 0.814 -ppc: 0.809 -assembly: 0.805 -socket: 0.769 -boot: 0.755 -files: 0.709 -vnc: 0.708 -register: 0.576 -permissions: 0.568 -network: 0.539 -KVM: 0.500 -VMM: 0.469 -risc-v: 0.467 -x86: 0.461 -PID: 0.458 -virtual: 0.415 -TCG: 0.381 -hypervisor: 0.315 -i386: 0.233 - -raspi2 with multiple CPU's #1 - -Greetings, - -I am running a small program for raspi2 (from http://wiki.osdev.org/ARM_RaspberryPi_Tutorial_C). - -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. - - -./qemu.sh -1111 - -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, --KenD - -NOT A BUG - -Reviewed the code and found the problem. - -asm volatile("mrc p15, 0, %[id], c0, c0, 0 @ read MIDR\n\t" ... - -I miscopied the code above; MIDR should have been MIPDR ( 5 ) - -I now get: - -Linux:armv7l: ~/Downloads/RaspiTest/BareBones >>> ./qemu.sh -0H312ello, kernel World! - -Sorry about the bogus report! --KenD - -Sorry again, "MPIDR" - -Gotta learn to type! - - |
