Messages in this thread | | | From | David Sanders <> | Subject | Re: [PATCH] x86: Don't use NOPL on 32-bit cpu's because not all systems support it. | Date | Tue, 16 Sep 2008 13:48:23 -0400 |
| |
On Tuesday 16 September 2008 12:32, H. Peter Anvin wrote: > Oh good grief. > > VPC is apparently so broken that these instructions work *some* of the > time, which may include the first time, but not later. That is an > impressive level of cockup. > > Given that, we should either just rip this code out, or detect VPC > (how?). The latter option can be done post-.27, of course; if so, we > should just force the bit off for now rather than doing it in the > alternatives code. The only reason for doing the latter at all would be > to mitigate the overhead of paravirt_ops and other dynamic patch sites. > > It would also be the least impact for .27, I believe.
I think you still want the nopl enabled for 64-bits.
This is how I detect virtual pc. I based it on a google search. Microsoft itself provides no info:
#include <stdio.h> #include <signal.h> #include <stdlib.h>
void except(int e) { printf("Not in Virtual PC\n"); exit(1); }
int main() { signal(SIGILL, except); asm("\n" "mov $0x01, %eax\n" /* function number */ ".byte 0x0f, 0x3f, 0x07, 0x0b\n" /* call VPC */ ); printf("Inside Virtual PC\n"); return 0; }
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |