qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] PPC TCG host breakage


From: Alexander Graf
Subject: [Qemu-devel] PPC TCG host breakage
Date: Sun, 4 Apr 2010 16:55:51 +0200

Howdy,

while trying to run a self-compiled ppc32 2.6.34-rc3 kernel in qemu I stumbled 
over this host TCG breakage. We're looking at this code: (printks added by me)

lib/lmb.c:lmb_add_region()

153                     if (adjacent > 0) {
154     printk("XXX %d - 0x%08llx\n", __LINE__, rgn->region[i].base);
155                             rgn->region[i].base -= size;
156                             rgn->region[i].size += size;
157     printk("XXX %d - 0x%08llx\n", __LINE__, rgn->region[i].base);
158                             coalesced++;
159                             break;

I put in a breakpoint at 0xc01f3bb0 and 0xc01f3bc8 where the register state was 
as follows:

(gdb) b *0xc01f3bb0
Breakpoint 1 at 0xc01f3bb0: file lib/lmb.c, line 155.
(gdb) b *0xc01f3bc8
Breakpoint 2 at 0xc01f3bc8: file lib/lmb.c, line 155.
(gdb) c
Continuing.

Breakpoint 1, lmb_add_region (rgn=0xc05d7eb8, base=41943040, size=15327232) at 
lib/lmb.c:155
155                             rgn->region[i].base -= size;
(gdb) info registers 
r0             0xc01f3ba0       3223272352
r1             0xc05b9f70       3227230064
r2             0xc058c410       3227042832
r3             0xc04fa4d4       3226445012
r4             0x9d     157
r5             0xffffffff       4294967295
r6             0xc05c5af8       3227278072
r7             0x4000   16384
r8             0xc05c5ee8       3227279080
r9             0xc05b65bc       3227215292
r10            0x3fff   16383
r11            0xc05d7ee8       3227352808
r12            0x42000022       1107296290
r13            0x0      0
r14            0x14dfd94        21888404
r15            0x14d0498        21824664
r16            0x14d048c        21824652
r17            0x1500d00        22023424
r18            0x14d07a0        21825440
r19            0x1      1
r20            0x14d03a8        21824424
r21            0xc04fa4d4       3226445012
r22            0x3      3
r23            0xc05d7eb8       3227352760
r24            0x2      2
r25            0x0      0
r26            0xe9e000 15327232
r27            0x2      2
r28            0x4000   16384
r29            0xc369e028       3278495784
r30            0x0      0
r31            0x2800000        41943040
pc             0xc01f3bb0       0xc01f3bb0 <lmb_add_region+272>
msr            0x3030   12336
cr             0x22000022       570425378
lr             0xc01f3ba0       0xc01f3ba0 <lmb_add_region+256>
ctr            0x1      1
xer            0x20000000       536870912
(gdb) c
Continuing.

Breakpoint 2, 0xc01f3bc8 in lmb_add_region (rgn=0xc05d7eb8, base=41943040, 
size=15327232) at lib/lmb.c:155
155                             rgn->region[i].base -= size;
(gdb) info registers 
r0             0xc01f3ba0       3223272352
r1             0xc05b9f70       3227230064
r2             0xc058c410       3227042832
r3             0xc04fa4d4       3226445012
r4             0x9d     157
r5             0xff162000       4279640064
r6             0x2800000        41943040
r7             0x0      0
r8             0x369e000        57270272
r9             0xc05b65bc       3227215292
r10            0x3fff   16383
r11            0xc05d7ee8       3227352808
r12            0x42000022       1107296290
r13            0x0      0
r14            0x14dfd94        21888404
r15            0x14d0498        21824664
r16            0x14d048c        21824652
r17            0x1500d00        22023424
r18            0x14d07a0        21825440
r19            0x1      1
r20            0x14d03a8        21824424
r21            0xc04fa4d4       3226445012
r22            0x3      3
r23            0xc05d7eb8       3227352760
r24            0x2      2
r25            0x0      0
r26            0xe9e000 15327232
r27            0x2      2
r28            0x0      0
r29            0x4000   16384
r30            0x0      0
r31            0x2800000        41943040
pc             0xc01f3bc8       0xc01f3bc8 <lmb_add_region+296>
msr            0x3030   12336
cr             0x22000022       570425378
lr             0xc01f3ba0       0xc01f3ba0 <lmb_add_region+256>
ctr            0x1      1
xer            0x0      0



Here r5 should be 0, as it substracts 0 from 0. I found that out by 
single-stepping over the respective instructions. Unfortunately the correct 
values get calculated when single-stepping, so it's probably some sort of 
temporary register values not getting cleared properly or so. Below is the dump 
when running a block that fails.



---------------- excp: 0201
NIP c01f3bb4   LR c01f3ba0 CTR 00000001 XER 20000000
MSR 00003030 HID0 0010c0ac  HF 00002000 idx 1
TB 00000000 00002800 DECR 00000000
GPR00 00000000c01f3ba0 00000000c05b9f70 00000000c058c410 00000000c04fa4d4
GPR04 000000000000009d 00000000ffffffff 00000000c05c5af8 0000000000000000
GPR08 00000000c05c5ee8 00000000c05b65bc 0000000000003fff 00000000c05d7ee8
GPR12 0000000042000022 0000000000000000 00000000014dfd94 00000000014d0498
GPR16 00000000014d048c 0000000001500d00 00000000014d07a0 0000000000000001
GPR20 00000000014d03a8 00000000c04fa4d4 0000000000000003 00000000c05d7eb8
GPR24 0000000000000002 0000000000000000 0000000000e9e000 0000000000000002
GPR28 0000000000004000 00000000c369e028 0000000000000000 0000000002800000
CR 22000022  [ E  E  -  -  -  -  E  E  ]             RES ffffffff
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 00000000
SRR0 c0003d78 SRR1 00003030 SDR1 1fef0000
IN: lmb_add_region
0xc01f3bb4:  lwz     r8,4(r11)
0xc01f3bb8:  lwz     r28,8(r11)
0xc01f3bbc:  lwz     r29,12(r11)
0xc01f3bc0:  subfc   r6,r26,r8
0xc01f3bc4:  subfe   r5,r25,r7
0xc01f3bc8:  stw     r5,0(r11)
0xc01f3bcc:  addc    r10,r26,r29
0xc01f3bd0:  adde    r9,r25,r28
0xc01f3bd4:  stw     r6,4(r11)
0xc01f3bd8:  stw     r9,8(r11)
0xc01f3bdc:  stw     r10,12(r11)
0xc01f3be0:  bl      0xc03eb960

OP:
 ---- 0xc01f3bb4
 movi_i32 access_type,$0x20
 movi_i32 tmp1,$0x4
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r8,tmp0,$0x1

 ---- 0xc01f3bb8
 movi_i32 tmp1,$0x8
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r28,tmp0,$0x1

 ---- 0xc01f3bbc
 movi_i32 tmp1,$0xc
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r29,tmp0,$0x1

 ---- 0xc01f3bc0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 sub_i32 r6,r8,r26
 brcond_i32 r6,r8,gtu,$0x0
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x0

 ---- 0xc01f3bc4
 movi_i32 tmp0,$0x20000000
 and_i32 loc2,xer,tmp0
 movi_i32 tmp0,$0x1d
 shr_i32 loc2,loc2,tmp0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 not_i32 r5,r25
 add_i32 r5,r5,r7
 brcond_i32 r5,r7,geu,$0x1
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x1
 add_i32 r5,r5,loc2
 brcond_i32 r5,loc2,geu,$0x2
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x2
 movi_i32 nip,$0xc01f3bc8
 movi_i32 tmp0,$0x10002
 movi_i32 tmp1,$raise_exception
 call tmp1,$0x0,$0,tmp0

 ---- 0xc01f3bc8
 mov_i32 tmp0,r11
 qemu_st32 r5,tmp0,$0x1

 ---- 0xc01f3bcc
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 add_i32 r10,r26,r29
 brcond_i32 r10,r26,geu,$0x3
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x3

 ---- 0xc01f3bd0
 movi_i32 tmp0,$0x20000000
 and_i32 loc2,xer,tmp0
 movi_i32 tmp0,$0x1d
 shr_i32 loc2,loc2,tmp0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 add_i32 r9,r25,r28
 brcond_i32 r9,r25,geu,$0x4
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x4
 add_i32 r9,r9,loc2
 brcond_i32 r9,loc2,geu,$0x5
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x5

 ---- 0xc01f3bd4
 movi_i32 tmp1,$0x4
 add_i32 tmp0,r11,tmp1
 qemu_st32 r6,tmp0,$0x1

 ---- 0xc01f3bd8
 movi_i32 tmp1,$0x8
 add_i32 tmp0,r11,tmp1
 qemu_st32 r9,tmp0,$0x1

 ---- 0xc01f3bdc
 movi_i32 tmp1,$0xc
 add_i32 tmp0,r11,tmp1
 qemu_st32 r10,tmp0,$0x1

 ---- 0xc01f3be0
 movi_i32 lr,$0xc01f3be4
 movi_i32 nip,$0xc03eb960
 exit_tb $0x0

OP after liveness analysis:
 ---- 0xc01f3bb4
 movi_i32 access_type,$0x20
 movi_i32 tmp1,$0x4
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r8,tmp0,$0x1

 ---- 0xc01f3bb8
 movi_i32 tmp1,$0x8
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r28,tmp0,$0x1

 ---- 0xc01f3bbc
 movi_i32 tmp1,$0xc
 add_i32 tmp0,r11,tmp1
 qemu_ld32 r29,tmp0,$0x1

 ---- 0xc01f3bc0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 sub_i32 r6,r8,r26
 brcond_i32 r6,r8,gtu,$0x0
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x0

 ---- 0xc01f3bc4
 movi_i32 tmp0,$0x20000000
 and_i32 loc2,xer,tmp0
 movi_i32 tmp0,$0x1d
 shr_i32 loc2,loc2,tmp0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 not_i32 r5,r25
 add_i32 r5,r5,r7
 brcond_i32 r5,r7,geu,$0x1
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x1
 add_i32 r5,r5,loc2
 brcond_i32 r5,loc2,geu,$0x2
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x2
 movi_i32 nip,$0xc01f3bc8
 movi_i32 tmp0,$0x10002
 movi_i32 tmp1,$raise_exception
 call tmp1,$0x0,$0,tmp0

 ---- 0xc01f3bc8
 mov_i32 tmp0,r11
 qemu_st32 r5,tmp0,$0x1

 ---- 0xc01f3bcc
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 add_i32 r10,r26,r29
 brcond_i32 r10,r26,geu,$0x3
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x3

 ---- 0xc01f3bd0
 movi_i32 tmp0,$0x20000000
 and_i32 loc2,xer,tmp0
 movi_i32 tmp0,$0x1d
 shr_i32 loc2,loc2,tmp0
 movi_i32 tmp0,$0xdfffffff
 and_i32 xer,xer,tmp0
 add_i32 r9,r25,r28
 brcond_i32 r9,r25,geu,$0x4
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x4
 add_i32 r9,r9,loc2
 brcond_i32 r9,loc2,geu,$0x5
 movi_i32 tmp0,$0x20000000
 or_i32 xer,xer,tmp0
 set_label $0x5

 ---- 0xc01f3bd4
 movi_i32 tmp1,$0x4
 add_i32 tmp0,r11,tmp1
 qemu_st32 r6,tmp0,$0x1

 ---- 0xc01f3bd8
 movi_i32 tmp1,$0x8
 add_i32 tmp0,r11,tmp1
 qemu_st32 r9,tmp0,$0x1

 ---- 0xc01f3bdc
 movi_i32 tmp1,$0xc
 add_i32 tmp0,r11,tmp1
 qemu_st32 r10,tmp0,$0x1

 ---- 0xc01f3be0
 movi_i32 lr,$0xc01f3be4
 movi_i32 nip,$0xc03eb960
 exit_tb $0x0
 end 

OUT: [size=968]
0xef919000:  lwz     r14,44(r27)
0xef919004:  addi    r15,r14,4
0xef919008:  li      r14,32
0xef91900c:  stw     r14,608(r27)
0xef919010:  rlwinm  r3,r15,24,20,27
0xef919014:  add     r3,r3,r27
0xef919018:  lwzu    r4,4740(r3)
0xef91901c:  rlwinm  r0,r15,0,30,19
0xef919020:  cmpw    cr7,r0,r4
0xef919024:  beq-    cr7,0xef919048
0xef919028:  mr      r3,r15
0xef91902c:  li      r4,1
0xef919030:  lis     r0,4123
0xef919034:  ori     r0,r0,31104
0xef919038:  mtctr   r0
0xef91903c:  bctrl
0xef919040:  mr      r14,r3
0xef919044:  b       0xef919054
0xef919048:  lwz     r3,12(r3)
0xef91904c:  add     r3,r3,r15
0xef919050:  lwzx    r14,0,r3
0xef919054:  lwz     r15,44(r27)
0xef919058:  addi    r16,r15,8
0xef91905c:  stw     r14,32(r27)
0xef919060:  rlwinm  r3,r16,24,20,27
0xef919064:  add     r3,r3,r27
0xef919068:  lwzu    r4,4740(r3)
0xef91906c:  rlwinm  r0,r16,0,30,19
0xef919070:  cmpw    cr7,r0,r4
0xef919074:  beq-    cr7,0xef919098
0xef919078:  mr      r3,r16
0xef91907c:  li      r4,1
0xef919080:  lis     r0,4123
0xef919084:  ori     r0,r0,31104
0xef919088:  mtctr   r0
0xef91908c:  bctrl
0xef919090:  mr      r14,r3
0xef919094:  b       0xef9190a4
0xef919098:  lwz     r3,12(r3)
0xef91909c:  add     r3,r3,r16
0xef9190a0:  lwzx    r14,0,r3
0xef9190a4:  lwz     r15,44(r27)
0xef9190a8:  addi    r16,r15,12
0xef9190ac:  stw     r14,112(r27)
0xef9190b0:  rlwinm  r3,r16,24,20,27
0xef9190b4:  add     r3,r3,r27
0xef9190b8:  lwzu    r4,4740(r3)
0xef9190bc:  rlwinm  r0,r16,0,30,19
0xef9190c0:  cmpw    cr7,r0,r4
0xef9190c4:  beq-    cr7,0xef9190e8
0xef9190c8:  mr      r3,r16
0xef9190cc:  li      r4,1
0xef9190d0:  lis     r0,4123
0xef9190d4:  ori     r0,r0,31104
0xef9190d8:  mtctr   r0
0xef9190dc:  bctrl
0xef9190e0:  mr      r14,r3
0xef9190e4:  b       0xef9190f4
0xef9190e8:  lwz     r3,12(r3)
0xef9190ec:  add     r3,r3,r16
0xef9190f0:  lwzx    r14,0,r3
0xef9190f4:  lwz     r15,296(r27)
0xef9190f8:  lis     r0,-8193
0xef9190fc:  ori     r0,r0,65535
0xef919100:  and     r15,r15,r0
0xef919104:  lwz     r16,32(r27)
0xef919108:  lwz     r17,104(r27)
0xef91910c:  subf    r18,r17,r16
0xef919110:  stw     r18,24(r27)
0xef919114:  stw     r14,116(r27)
0xef919118:  stw     r15,296(r27)
0xef91911c:  cmplw   cr7,r18,r16
0xef919120:  bgt-    cr7,0xef919130
0xef919124:  lwz     r14,296(r27)
0xef919128:  oris    r14,r14,8192
0xef91912c:  stw     r14,296(r27)
0xef919130:  lwz     r14,296(r27)
0xef919134:  andis.  r15,r14,8192
0xef919138:  rlwinm  r15,r15,3,29,31
0xef91913c:  lis     r0,-8193
0xef919140:  ori     r0,r0,65535
0xef919144:  and     r14,r14,r0
0xef919148:  lwz     r16,100(r27)
0xef91914c:  nor     r17,r16,r17
0xef919150:  lwz     r18,28(r27)
0xef919154:  add     r17,r17,r18
0xef919158:  stw     r15,32396(r27)
0xef91915c:  stw     r17,20(r27)
0xef919160:  stw     r14,296(r27)
0xef919164:  cmplw   cr7,r17,r18
0xef919168:  bge-    cr7,0xef919178
0xef91916c:  lwz     r14,296(r27)
0xef919170:  oris    r14,r14,8192
0xef919174:  stw     r14,296(r27)
0xef919178:  lwz     r14,20(r27)
0xef91917c:  lwz     r15,32396(r27)
0xef919180:  add     r14,r14,r15
0xef919184:  stw     r14,20(r27)
0xef919188:  cmplw   cr7,r14,r15
0xef91918c:  bge-    cr7,0xef91919c
0xef919190:  lwz     r14,296(r27)
0xef919194:  oris    r14,r14,8192
0xef919198:  stw     r14,296(r27)
0xef91919c:  lis     r3,1
0xef9191a0:  ori     r3,r3,2
0xef9191a4:  lis     r14,-16353
0xef9191a8:  ori     r14,r14,15304
0xef9191ac:  stw     r14,604(r27)
0xef9191b0:  lis     r0,4123
0xef9191b4:  ori     r0,r0,50640
0xef9191b8:  mtctr   r0
0xef9191bc:  bctrl
0xef9191c0:  lwz     r14,44(r27)
0xef9191c4:  lwz     r15,20(r27)
0xef9191c8:  rlwinm  r3,r14,24,20,27
0xef9191cc:  add     r3,r3,r27
0xef9191d0:  lwzu    r4,4744(r3)
0xef9191d4:  rlwinm  r0,r14,0,30,19
0xef9191d8:  cmpw    cr7,r0,r4
0xef9191dc:  beq-    cr7,0xef919200
0xef9191e0:  mr      r3,r14
0xef9191e4:  mr      r4,r15
0xef9191e8:  li      r5,1
0xef9191ec:  lis     r0,4123
0xef9191f0:  ori     r0,r0,28592
0xef9191f4:  mtctr   r0
0xef9191f8:  bctrl
0xef9191fc:  b       0xef91920c
0xef919200:  lwz     r3,8(r3)
0xef919204:  add     r3,r3,r14
0xef919208:  stwx    r15,0,r3
0xef91920c:  lwz     r14,296(r27)
0xef919210:  lis     r0,-8193
0xef919214:  ori     r0,r0,65535
0xef919218:  and     r14,r14,r0
0xef91921c:  lwz     r15,104(r27)
0xef919220:  lwz     r16,116(r27)
0xef919224:  add     r17,r15,r16
0xef919228:  stw     r17,40(r27)
0xef91922c:  stw     r14,296(r27)
0xef919230:  cmplw   cr7,r17,r15
0xef919234:  bge-    cr7,0xef919244
0xef919238:  lwz     r14,296(r27)
0xef91923c:  oris    r14,r14,8192
0xef919240:  stw     r14,296(r27)
0xef919244:  lwz     r14,296(r27)
0xef919248:  andis.  r15,r14,8192
0xef91924c:  rlwinm  r15,r15,3,29,31
0xef919250:  lis     r0,-8193
0xef919254:  ori     r0,r0,65535
0xef919258:  and     r14,r14,r0
0xef91925c:  lwz     r16,100(r27)
0xef919260:  lwz     r17,112(r27)
0xef919264:  add     r18,r16,r17
0xef919268:  stw     r15,32396(r27)
0xef91926c:  stw     r18,36(r27)
0xef919270:  stw     r14,296(r27)
0xef919274:  cmplw   cr7,r18,r16
0xef919278:  bge-    cr7,0xef919288
0xef91927c:  lwz     r14,296(r27)
0xef919280:  oris    r14,r14,8192
0xef919284:  stw     r14,296(r27)
0xef919288:  lwz     r14,36(r27)
0xef91928c:  lwz     r15,32396(r27)
0xef919290:  add     r14,r14,r15
0xef919294:  stw     r14,36(r27)
0xef919298:  cmplw   cr7,r14,r15
0xef91929c:  bge-    cr7,0xef9192ac
0xef9192a0:  lwz     r14,296(r27)
0xef9192a4:  oris    r14,r14,8192
0xef9192a8:  stw     r14,296(r27)
0xef9192ac:  lwz     r14,44(r27)
0xef9192b0:  addi    r15,r14,4
0xef9192b4:  lwz     r16,24(r27)
0xef9192b8:  rlwinm  r3,r15,24,20,27
0xef9192bc:  add     r3,r3,r27
0xef9192c0:  lwzu    r4,4744(r3)
0xef9192c4:  rlwinm  r0,r15,0,30,19
0xef9192c8:  cmpw    cr7,r0,r4
0xef9192cc:  beq-    cr7,0xef9192f0
0xef9192d0:  mr      r3,r15
0xef9192d4:  mr      r4,r16
0xef9192d8:  li      r5,1
0xef9192dc:  lis     r0,4123
0xef9192e0:  ori     r0,r0,28592
0xef9192e4:  mtctr   r0
0xef9192e8:  bctrl
0xef9192ec:  b       0xef9192fc
0xef9192f0:  lwz     r3,8(r3)
0xef9192f4:  add     r3,r3,r15
0xef9192f8:  stwx    r16,0,r3
0xef9192fc:  lwz     r14,44(r27)
0xef919300:  addi    r15,r14,8
0xef919304:  lwz     r16,36(r27)
0xef919308:  rlwinm  r3,r15,24,20,27
0xef91930c:  add     r3,r3,r27
0xef919310:  lwzu    r4,4744(r3)
0xef919314:  rlwinm  r0,r15,0,30,19
0xef919318:  cmpw    cr7,r0,r4
0xef91931c:  beq-    cr7,0xef919340
0xef919320:  mr      r3,r15
0xef919324:  mr      r4,r16
0xef919328:  li      r5,1
0xef91932c:  lis     r0,4123
0xef919330:  ori     r0,r0,28592
0xef919334:  mtctr   r0
0xef919338:  bctrl
0xef91933c:  b       0xef91934c
0xef919340:  lwz     r3,8(r3)
0xef919344:  add     r3,r3,r15
0xef919348:  stwx    r16,0,r3
0xef91934c:  lwz     r14,44(r27)
0xef919350:  addi    r15,r14,12
0xef919354:  lwz     r16,40(r27)
0xef919358:  rlwinm  r3,r15,24,20,27
0xef91935c:  add     r3,r3,r27
0xef919360:  lwzu    r4,4744(r3)
0xef919364:  rlwinm  r0,r15,0,30,19
0xef919368:  cmpw    cr7,r0,r4
0xef91936c:  beq-    cr7,0xef919390
0xef919370:  mr      r3,r15
0xef919374:  mr      r4,r16
0xef919378:  li      r5,1
0xef91937c:  lis     r0,4123
0xef919380:  ori     r0,r0,28592
0xef919384:  mtctr   r0
0xef919388:  bctrl
0xef91938c:  b       0xef91939c
0xef919390:  lwz     r3,8(r3)
0xef919394:  add     r3,r3,r15
0xef919398:  stwx    r16,0,r3
0xef91939c:  lis     r14,-16322
0xef9193a0:  ori     r14,r14,47456
0xef9193a4:  stw     r14,604(r27)
0xef9193a8:  lis     r14,-16353
0xef9193ac:  ori     r14,r14,15332
0xef9193b0:  stw     r14,256(r27)
0xef9193b4:  li      r3,0
0xef9193b8:  lis     r0,4169
0xef9193bc:  ori     r0,r0,40856
0xef9193c0:  mtctr   r0
0xef9193c4:  bctr


I used to following kernel image and command line to run the VM:

http://alex.csgraf.de/qemu/vmlinux.bz2

address@hidden:/SLES11/home/ppc32/kvm> ~/git/qemu/ppc-softmmu/qemu-system-ppc 
-kernel vmlinux  -serial mon:stdio -vnc :9 -L ~/git/qemu/pc-bios/ -m 512 
-initrd ../initrd.kvm -append "lmb=debug loglevel=9" 


Alex





reply via email to

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