 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |