changeset 19dc2b26eefa in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=19dc2b26eefa
description:
scons, kvm: Check for the presence of POSIX timers
The kvm-based CPU module requires support for POSIX timers. This
changeset adds a check for POSIX timers and ensures that gem5 is
linked with librt if necessary. KVM support is disabled if POSIX
timers are not supported by the host. This fixes a compilation issue
for some glibc versions where clock_nanosleep and timer_create are in
different libraries.
diffstat:
SConstruct | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diffs (25 lines):
diff -r 0392ef94d766 -r 19dc2b26eefa SConstruct
--- a/SConstruct Tue Oct 01 15:19:56 2013 +0200
+++ b/SConstruct Tue Oct 01 15:56:47 2013 +0200
@@ -913,6 +913,10 @@
conf.CheckLibWithHeader('rt', 'time.h', 'C',
'clock_nanosleep(0,0,NULL,NULL);')
+have_posix_timers = \
+ conf.CheckLibWithHeader([None, 'rt'], [ 'time.h', 'signal.h' ], 'C',
+ 'timer_create(CLOCK_MONOTONIC, NULL, NULL);')
+
if conf.CheckLib('tcmalloc'):
main.Append(CCFLAGS=main['TCMALLOC_CCFLAGS'])
elif conf.CheckLib('tcmalloc_minimal'):
@@ -1224,6 +1228,10 @@
if not have_kvm:
print "Warning: Can not enable KVM, host seems to lack KVM support"
env['USE_KVM'] = False
+ elif not have_posix_timers:
+ print "Warning: Can not enable KVM, host seems to lack support " \
+ "for POSIX timers"
+ env['USE_KVM'] = False
elif not is_isa_kvm_compatible(env['TARGET_ISA']):
print "Info: KVM support disabled due to unsupported host and " \
"target ISA combination"
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev