[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Problem with modify CR0 of xen kernel
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 |