Hi all, 

First of all, thank you Giacomo for the support, I finally got KVM + arm + 
multiple cores working! Kernel 4.14 worked, btw.

Just a list of things I had to do, in case someone else ends up in the same 
situation I did. 

For the MSR (immediate) undefined instruction, the solution goes as Giacomo 
pointed out: re-build the arm kernel and unselect the UAO from it. After 
cloning the gem5 arm kernel repo and `make gem5_defconfig` one can make 
menuconfig -> kernel features -> ARM v8.2 architectural features -> unselect 
the UAO option. build the kernel and use it.

After I still got the following problem when restoring from a kvm taken 
checkpoint:

[    5.681321] INFO: rcu_preempt self-detected stall on CPU
[    5.681326]  0-...: (1 ticks this GP) idle=646/140000000000001/0 
softirq=330/330 fqs=0 
[    5.681330]   (t=549009 jiffies g=-144 c=-145 q=14)
[    5.681336] rcu_preempt kthread starved for 549009 jiffies! 
g18446744073709551472 c18446744073709551471 f0x0 RCU_GP_WAIT_FQS(3) 
->state=0x402 ->cpu=0
[    5.681342] rcu_preempt     I    0     8      2 0x00000020
...

But this problem vanished when I used the simulated gic (my host cpu is ARMv8, 
and does not have gic2 supported by gem5). For that, one can combine the 
`--cpu-type kvm` flag with the `--kvm-userspace-gic` (fs_bigLITTLE.py, gem5 
version 21.1.0.0) when creating checkpoints.

Regards, 
Pedro.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to