|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [PATCH] Fix weird dom0 behavior due to incorrent kr emu
Then, this is another easy-fix but hard-won issue which spent me most of
the day to track down.
The phenomenon is very weird. Dom0 can run pretty well itself, but once
creating another domain, I saw dom0 falling into nested fault or panic
being unable to handle kernel paging request. The worst is, dom0 even
used user stack like 0x60000ffff... in kernel space. That made me
confused why dom0 doesn't switch stack though I confirmed vIIP actually
from user space.
Finally the cause is intuitive as the attached patch. All writes to
KR0-7 by guest are pushed to same place (vkr0) in shared page including
important current pointer. Because domain owns physical KRs, those
writes will also be updated into physical KRs. If there's no domain
switch, dom0 always read from physical KRs which contain right values.
Only after switching back to dom0, last KR patch will try to reload
physical KRs from shared page and however that memory area contains
incorrect values. So later execution flow went crazy by checking
incorrect current pointer.
Signed-off-by Kevin Tian <Kevin.tian@xxxxxxxxx>
Thanks,
Kevin
fix_set_kr
Description: fix_set_kr
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-ia64-devel] [PATCH] Fix weird dom0 behavior due to incorrent kr emulation,
Tian, Kevin <=
|
|
|
|
|