[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Infinte loop in RtlPrefetchMemoryNonTemporal under Windows
I have been trying to track down a problem that occurs when my GPLPV drivers give Windows a packet with the NdisPacketTcpChecksumSucceeded flag set. The problem is that the machine locks hard. After some tedious work with the debugger, I have found that Windows makes a call to a routine called RtlPrefetchMemoryNonTemporal, which looks like this: 8088e579 mov eax,dword ptr [nt!KePrefetchNTAGranularity 8088e57e 0f184100 prefetchnta [ecx] 8088e582 add ecx,eax 8088e584 sub edx,eax 8088e586 ja nt!RtlPrefetchMemoryNonTemporal+0x6 (8088e57e) 8088e588 ret Unfortunately it appears that the value at nt!KePrefetchNTAGranularity is 0, hence the infinite loop. Is there anything in Xen that could cause Windows to put a zero in there? The other (more likely?) alternative is that I'm doing something wrong in my driver that is causing that value to be stepped on. It seems really strange that I could so neatly step on that value without breaking the machine in countless other ways though... The problem only appeared when I upgraded from 3.2.1 to 3.3.0 too. Any suggestions? It's driving me crazy! Thanks James _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |