On 08/22/2011 11:55 PM, Alexander Graf wrote:
> When I bumped into Jason on Linuxcon, we tried out to run the e500 target
> on his Windriver build that used SPE and immediately ran into emulation
> issues. Fortunately there weren't too many, so here are the patches to get
> a guest using SPE instructions working just fine.
>

The patch set looks good to me.  I tried it out this morning.

I have a patch that implements enough of the the dbcr0, dbsr, and msr DE bit in 
order to single step, but I am seeing random fatal mmu faults.   Before we go 
down the route of implementing more pieces, I am interested to know if you see 
the same behavior, or if you had any ideas around how to further debug it.

Using just your patch series + the QEMU HEAD + the SPE enabled rootfs + qemu 
NFS mounting the rootfs, here is the "litmus test" to see if you experience the 
fatal mmu faults to user space.

ulimit -c unlimited

while [ 1 ] ; do
   echo 3 > /proc/sys/vm/drop_caches
   (echo quit ; sleep 2) | gdb /bin/ls || break
done


I find that this runs between 1-15 times and crashes with a core file.  Looking 
at the core file it is usually in a malloc or free operation in the user space, 
and always in the page fault handler in the kernel.  This really amounts to 
running a medium sized app through the startup, which does a whole bunch of 
malloc and free because it maps in the elf debug info for /bin/ls , and gdb is 
not really getting used for anything to ptrace.

Jason.

Reply via email to