projects
/
grml-scripts.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vmware-detect.c: logic fixes
[grml-scripts.git]
/
compile
/
vmware-detect.c
diff --git
a/compile/vmware-detect.c
b/compile/vmware-detect.c
index
4914c8e
..
8ee1a7c
100644
(file)
--- a/
compile/vmware-detect.c
+++ b/
compile/vmware-detect.c
@@
-76,25
+76,28
@@
int checkVmware(const int debug)
printIdtr(idtr, 10);
return (0xff==idtr[9]) ? 1 : 0;
}
printIdtr(idtr, 10);
return (0xff==idtr[9]) ? 1 : 0;
}
+int checkVmwareIO() { return 0; }
#else
// vmware runs only on the archs above
int checkVmware(const int) { return 0; }
#else
// vmware runs only on the archs above
int checkVmware(const int) { return 0; }
+int checkVmwareIO() { return 0; }
#endif
#endif
+// returns 0 if running inside vmware, 1 otherwise
int main(int argc, char* argv[]) {
int debug = FALSE;
if(argc == 2 && !strcmp(argv[1], "--debug"))
debug = TRUE;
int main(int argc, char* argv[]) {
int debug = FALSE;
if(argc == 2 && !strcmp(argv[1], "--debug"))
debug = TRUE;
- // returns 0 if running inside vmware, 1 otherwise
int a, b;
int a, b;
+ // known to be false positives
a = checkVmware(debug);
DWRITE("idt-check: ")
a = checkVmware(debug);
DWRITE("idt-check: ")
- if(a) {
- DWRITE("
tru
e\n");
- return
0
;
+ if(
!
a) {
+ DWRITE("
fals
e\n");
+ return
1
;
}
}
- DWRITE("
fals
e\n");
+ DWRITE("
tru
e\n");
// never returns if not running under vmware
void dummy() { DWRITE("false\n"); exit(1); }
// never returns if not running under vmware
void dummy() { DWRITE("false\n"); exit(1); }
@@
-105,6
+108,7
@@
int main(int argc, char* argv[]) {
DWRITE("true\n");
return 0;
}
DWRITE("true\n");
return 0;
}
+ // never reached
return 1;
}
// vim: foldmethod=marker
return 1;
}
// vim: foldmethod=marker