diff options
Diffstat (limited to 'results/classifier/118/review/1728448')
| -rw-r--r-- | results/classifier/118/review/1728448 | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/results/classifier/118/review/1728448 b/results/classifier/118/review/1728448 new file mode 100644 index 000000000..5d6ea57f2 --- /dev/null +++ b/results/classifier/118/review/1728448 @@ -0,0 +1,132 @@ +register: 0.889 +device: 0.885 +architecture: 0.858 +peripherals: 0.844 +assembly: 0.822 +kernel: 0.822 +permissions: 0.797 +PID: 0.776 +graphic: 0.767 +user-level: 0.763 +debug: 0.746 +semantic: 0.733 +boot: 0.729 +socket: 0.726 +files: 0.707 +arm: 0.707 +network: 0.687 +performance: 0.682 +risc-v: 0.668 +mistranslation: 0.645 +KVM: 0.604 +virtual: 0.604 +hypervisor: 0.590 +VMM: 0.590 +ppc: 0.511 +vnc: 0.422 +TCG: 0.405 +x86: 0.318 +i386: 0.274 +-------------------- +arm: 0.994 +virtual: 0.913 +kernel: 0.673 +user-level: 0.567 +device: 0.278 +TCG: 0.194 +VMM: 0.181 +boot: 0.157 +hypervisor: 0.132 +PID: 0.132 +register: 0.098 +architecture: 0.081 +files: 0.064 +socket: 0.062 +vnc: 0.057 +debug: 0.054 +peripherals: 0.030 +performance: 0.026 +semantic: 0.023 +assembly: 0.006 +graphic: 0.004 +network: 0.004 +risc-v: 0.003 +mistranslation: 0.003 +x86: 0.001 +permissions: 0.001 +KVM: 0.001 +i386: 0.001 +ppc: 0.001 + +qemu-system-arm segmentation fault with cpu cortex-m* + +I try to run an emulation with qemu-system-arm under a cpu cortex-m3 but any execution under the processor result by a segmentation fault. + +My command is : qemu-system-arm -m 256 -M versatilepb -cpu cortex-m3 -kernel ~/qemu/wheezy/vmlinuz-3.2.0-4-versatile -initrd ~/qemu/wheezy/initrd.img-3.2.0-4-versatile -hda ~/qemu/wheezy/hda.img -append 'root=/dev/sda1' + +If a lauch the emulation without specifying a cpu equivalent to cortex-m*, the vm opens up well and works but I absolutely need to run it under cortex-m3. + + +Do you have any idea why I have this problem only with this type of processor ? + +I also try with other boards different from versatilepb but I have the same result. + +I am under ubuntu 17 64bits during my test. + +On 29 October 2017 at 19:24, Kevin <email address hidden> wrote: +> I try to run an emulation with qemu-system-arm under a cpu cortex-m3 but +> any execution under the processor result by a segmentation fault. +> +> My command is : qemu-system-arm -m 256 -M versatilepb -cpu cortex-m3 +> -kernel ~/qemu/wheezy/vmlinuz-3.2.0-4-versatile -initrd +> ~/qemu/wheezy/initrd.img-3.2.0-4-versatile -hda ~/qemu/wheezy/hda.img +> -append 'root=/dev/sda1' + +This command line is never going to work, for multiple reasons. +Unfortunately QEMU currently doesn't do a good job of identifying +option combinations which we know are wrong (like -cpu cortex-m3 +with -M versatilepb) and printing an error message. + +The major problem here is that the cortex-m3 is a microcontroller, +which is significantly different from the 'A-profile' devices +that Linux runs on. It has no MMU and usually 16MB of RAM or less: +why are you trying to run Linux on it? This will never work. + +Secondly, the "versatilepb" board is not a board which you can +use a Cortex-M3 with -- it's only intended to work with certain +CPUs, mainly the arm926. + +Thirdly, that looks like a prebuilt versatile kernel image -- it +probably won't work with a random CPU that's not the one the +versatile has, and it *definitely* won't work with the M3. + +Basic rule of thumb for QEMU ARM boards -- don't try to specify +"-cpu" unless you have documentation that specifically tells you +to. You're much more likely to create something that's just +a broken config that guest software can't handle. This is +always true for the Cortex-M3 -- unless the board is intended +to work with the M3 and is creating the correct interrupt +controller, you'll just end up with a broken model. + +If you need to use the Cortex-M3 then use one of the boards +which works with it -- lm3s6965evb, lm3s811evb, mps2-an385, +mps2-an511, or netduino2. You'll also need to run guest code +which is actually built for the board you're using and for +the Cortex-M3 (likely some kind of RTOS, or bare metal code.) +The MPS2 boards have the most RAM, but they're only in recent +QEMU versions. + +thanks +-- PMM + + +Thank you for you answer. + +I wanted to emulate under cortex-M3 because I need to exéutute an executable who will install a kernel but only runs under cortex-M3, for then realized fuzzing on this kernel. + +But, I will try with freeRTOS. + + +I'm closing this bug as it's a command line issue. Please open a new bug if you have further problems. + + |