[2.5] VMWare doesn't like sysenter
Quoted 28 lines · Zwane Mwaikambo
Quoted 13 lines · Randy.Dunlap
On Thu, 15 May 2003 04:02:31 -0400 (EDT) Zwane Mwaikambo <[email protected]> wrote:
| I get a monitor error in VMWare4 with a sysenter syscall enabled kernel, | this patch simply disables sysenter based syscalls but doesn't clear the | SEP bit in the capabilities.| +static int __init do_nosysenter(char *s) | +{ | + nosysenter = 1; | + return 1; | +} | +__setup("nosysenter", do_nosysenter);Quoted 2 lines
Needs entry in
Documentation/kernel-parameters.txtalso if/when accepted.Thanks for the heads up.
Index:
linux-2.5.69-mm5/Documentation/kernel-parameters.txt
===================================================================
RCS file: /build/cvsroot/linux-2.5.69/Documentation/kernel-parameters.txt,v retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 kernel-parameters.txt
Documentation/kernel-parameters.txt 15 May 2003 15:14:23 -0000 running once the system is up. · line 1069
Quoted 7 lines
Documentation/kernel-parameters.txt 15 May 2003 15:14:23 -0000 renamed from Documentation/kernel-parameters.txt 6 May 2003 12:21:18 -0000 1.1.1.1 +4
-0@@ -1063,6 +1063,10 @@ running once the system is up. sym53c8xx= [HW,SCSI] See Documentation/scsi/ncr53c8xx.txt. + + nosysenter [IA-32] + Disable SYSENTER for syscalls, does not clear the SEP + capabilities bit.
RedHat's 9 backport of vsyscalls uses 'nosysinfo' name for option which does simillar task (it just stops kernel from reporting relevant AT_SYSINFO completely).
BTW, what's reason for this backport? They just always put int 0x80 into this page, so even on real CPU kernel booted with nosysinfo is faster than one which uses this vsyscall entry point.
VMware's panic should be fixed in next update, but I'm afraid that penalty from exectuing code in upper couple of MBs of address space will not disappear. Moving SYSINFO page from FFFFE000 to FF7FF000 (PKMAP_BASE - PAGE_SIZE == VMALLOC_END + PAGE_SIZE) would fix both problems.
Petr Vandrovec [email protected]