|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Problem with modify CR0 of xen kernel
The only bit a pv kernel may modify in CR0 is CR0.TS. If you looked at
the Xen output, you also would have seen a corresponding warning.
Jan
>>> errik <waitingfor2009marry@xxxxxxxxx> 13.12.09 09:44 >>>
Hi All,
This is a function of a kernel module, but when I calls this function, a
segment fault error happens, I don't know why because the code works well on
other types of kernel such as PAE and default.
unsigned long clear_and_return_cr0(void)
{
unsigned long cr0 = 0;
unsigned long ret;
#ifdef X86_64
__asm__ __volatile("movq %%cr0, %%rax" : "=a"(cr0));
ret = cr0;
cr0 &= 0xfffffffffffeffff;
__asm__ __volatile__("movq %%rax, %%cr0" : : "a"(cr0));
#else
__asm__ __volatile("mov %%cr0, %%eax" : "=a"(cr0));
ret = cr0;
cr0 &= 0xfffeffff;
__asm__ __volatile__("mov %%eax, %%cr0" : : "a"(cr0));
#endif
return ret;
}
May anyone give me some suggestions?
Thanks a lot!
Eric
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|