link-intel-driver.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/python
  2. import sys, os, re
  3. try:
  4. # get the locations of directories
  5. print "\n" + \
  6. "*****************************************************************\n" + \
  7. "Make sure you have downloaded and installed the Intel sgx driver \n" + \
  8. "from https://github.com/01org/linux-sgx-driver.\n" + \
  9. "*****************************************************************\n" + \
  10. "\n"
  11. while True:
  12. isgx_path = raw_input('Enter the Intel SGX driver derctory: ')
  13. if os.path.exists(isgx_path + '/sgx.h'):
  14. break
  15. if os.path.exists(isgx_path + '/isgx.h'):
  16. break
  17. print '{0} is not a directory for the Intel SGX driver'.format(isgx_path)
  18. # get the driver version
  19. while True:
  20. isgx_version = raw_input('Enter the driver version (default: 1.8): ')
  21. if not isgx_version:
  22. isgx_version_major = 1
  23. isgx_version_minor = 8
  24. break
  25. m = re.match('([1-9])\.([0-9]+)', isgx_version)
  26. if m:
  27. isgx_version_major = m.group(1)
  28. isgx_version_minor = m.group(2)
  29. break
  30. print '{0} is not a valid version (x.xx)'.format(isgx_version)
  31. # create a symbolic link called 'linux-sgx-driver'
  32. isgx_link = 'linux-sgx-driver'
  33. isgx_path = os.path.abspath(isgx_path)
  34. print isgx_link + ' -> ' + isgx_path
  35. if os.path.exists(isgx_link):
  36. os.unlink(isgx_link)
  37. os.symlink(isgx_path, isgx_link)
  38. # create isgx_version.h
  39. with open('isgx_version.h', 'w') as versionfile:
  40. print 'create isgx_version.h'
  41. print >> versionfile, '#include <linux/version.h>'
  42. print >> versionfile
  43. print >> versionfile, '#define SDK_DRIVER_VERSION KERNEL_VERSION(' + \
  44. str(isgx_version_major) + ',' + \
  45. str(isgx_version_minor) + ',0)'
  46. print >> versionfile, '#define SDK_DRIVER_VERSION_STRING "' + \
  47. str(isgx_version_major) + '.' + \
  48. str(isgx_version_minor) + '"'
  49. except:
  50. print 'uh-oh: {0}'.format(sys.exc_info()[0])
  51. exit(-1)