Hi Liu,

I could trace the illegal instruction during qemu startup down to this function 
in cpu-all.h cpu_get_real_ticks(void) which is using the time base registers - 
the crash is during vm_start - cpu_enable_ticks which calls cpu_get_real_ticks. 

I believe e500 is using SPR's for this purpose and not dedicated time base 
registers - am I missing a patch to this file? 

This is what I have in  cpu_get_real_ticks  - ( _ARCH_PPC is defined and not 
ARCH_PPC64)

__asm__ __volatile__ (
        "mftbu   %1\n\t"
        "mftb    %L0\n\t"
        "mftbu   %0\n\t"
        "cmpw    %0,%1\n\t"
        "bne     $-16"
        : "=r" (retval), "=r" (junk));


I did try to short circuit this by borrowing this from the code below to see if 
I can avoid the crash which I could do so -

static int64_t ticks = 0;
    return ticks++

qemu does boot up and goes to the qemu prompt when I telnet to the boardip/port 
but I don't seem to get any login prompt for the VM - bear with me..but I am 
fiddling with this - sending this out anyway for suggestions..

On my 8548 CDS board
/bin # ./qemu-system-ppcemb -enable-kvm -m 64 -nographic -M mpc8544ds -kernel 
/tmp/uImage.8544 -initrd /tmp/rootfs.ext2.gz.small -L /usr/local/share/qemu 
-append "root=/dev/ram rw console=ttyS0,115200" -serial tcp::4444,server

<< goes to qemu prompt when I telnet to board ip / port >>

(qemu)
(qemu) info version
0.9.1
(qemu) info network
VLAN 0 devices:
  user.0: 
  virtio.0: model=virtio,macaddr=52:54:00:12:34:56
(qemu) info kvm
kvm support: enabled
(qemu) info status
VM status: running

 
On the telnet session:
$ telnet 10.11.224.180 4444
Trying 10.11.224.180...
Connected to 10.11.224.180 (10.11.224.180).
Escape character is '^]'.

<< nothing here >>


i'd appreciate your reply..

Thanks, Rahul
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to