blob: 5c98aa66770c1039e222a41c5e9629c509ea3b91 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
graphic: 0.722
device: 0.669
boot: 0.664
instruction: 0.645
semantic: 0.536
vnc: 0.418
mistranslation: 0.298
socket: 0.203
other: 0.173
network: 0.094
assembly: 0.068
KVM: 0.004
[PPC] SegFault due to Stack Overflow in E500
I am getting a Segmentation Fault while simulating a PowerPC e500. I've tried to debug the problem and I've found that it occurs when you have a 0 value decrementer. The function trace is the following:
1) __cpu_ppc_store_decr (ppc.c) is called with value = 0 and raise_excp=booke_decr_cb;
2) Since value < 3, booke_decr_cb is called;
3) booke_decr_cb then calls booke_update_irq() and cpu_ppc_store_decr();
4) cpu_ppc_store_decr calls __cpu_ppc_store_decr
You're stuck on this infinite cycle until your stack overflows eventually.
Command Line:
qemu-system-ppc -cpu e500v2 -d guest_errors,unimp -m 2048 -M ppce500 -nographic -bios ../cc/share/qem
u/u-boot.e500 -kernel XKYAPP.exe
Platform where the bug occured: Bash ubuntu on Windows;
Revision where the bug was found: e3571ae30cd26d19efd4554c25e32ef64d6a36b3 (16 Set 2016)
Thanks!
Do you know what the DECAR SPR contains at that point in time? I guess it's 0 ... but what does that mean here? Should the decrementer be stopped?
[Expired for QEMU because there has been no activity for 60 days.]
|