Hi!
On 19 févr. 04, at 21:45, Daniel J. Guinan wrote:
I have been looking and tinkering with your OS X port and was not
able to get any translation working until I fudged with a couple of
things. The most important of those is in vl.c -> search for
valloc() -> you will see an attempt to allocate *page_size x all
memory* change it to *all memory* and you will be on your way. Here
is a log from my changes:
thanks ;) This one would be helpful.
COMMAND LINE: qemu -d -L ../pc-bios -nographic --kernel bzImage
--append "console=ttyS0 root=/dev/hda sb=0x220,5,1,5 ide2=noprobe
ide3=noprobe ide4=noprobe ide5=noprobe" linux.img
thanks for this one also ;)
Also after reading the output code again, and without knowing x86
assembly, I have been wondering myself about why does the ljmp change
the EIP to 0x0 and fetch code from 0xf000. So there might be an issue
here.
See:
[snip]
IN:
0x000ffff0: ljmp 0xf000,0xe05b
AFTER FLAGS OPT:
0x0000: movl_T0_im 0xf000
0x0001: movl_T1_im 0xe05b
0x0002: movl_seg_T0_vm 0xb0
0x0003: movl_T0_T1
0x0004: jmp_T0
0x0005: movl_T0_0
0x0006: exit_tb
0x0007: end
OUT: [size=60]
0x002071f0: lis r2,184
0x002071f4: lwz r24,-28096(r2)
0x002071f8: lis r2,184
0x002071fc: lwz r25,-28096(r2)
0x00207200: lis r2,184
0x00207204: clrlwi r0,r24,16
0x00207208: lwz r2,-28096(r2)
0x0020720c: mr r9,r27
0x00207210: stwux r0,r9,r2
0x00207214: rlwinm r0,r0,4,0,27
0x00207218: stw r0,4(r9)
0x0020721c: mr r24,r25
0x00207220: stw r24,32(r27)
0x00207224: li r24,0
0x00207228: blr
Trace 0x002071f0 [0x000ffff0]
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000600
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0
ES =0000 00000000 0000ffff 00000000
CS =f000 000f0000 0000ffff 00000000
SS =0000 00000000 0000ffff 00000000
DS =0000 00000000 0000ffff 00000000
FS =0000 00000000 0000ffff 00000000
GS =0000 00000000 0000ffff 00000000
LDT=0000 00000000 0000ffff 00008000
TR =0000 00000000 0000ffff 00008000
GDT= 00000000 0000ffff
IDT= 00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
CCS=00000000 CCD=00000000 CCO=EFLAGS
----------------
here should be 0x000fe05b or something like that...
IN:
0x000f0000: pushw %bp
0x000f0001: movw %sp,%bp
0x000f0003: pushw %ax
0x000f0004: pushw %cx
0x000f0005: pushw %es
0x000f0006: pushw %di
0x000f0007: movw 0xa(bp),%cx
0x000f000a: cmpw $0x0,%cx
0x000f000d: je 0xf001f
AFTER FLAGS OPT:
0x0000: movl_T0_EBP
0x0001: movl_A0_ESP
[snip]
I am still fiddling around with it and trying to wrap my head around
what Fabrice has done, but will post a diff if anyone wants it.
I am interested about your patch.
Thanks again,
Pierre
_______________________________________________
Qemu-devel mailing list
address@hidden
http://mail.nongnu.org/mailman/listinfo/qemu-devel