Hex Artifact Content

Artifact 7482cdc7dcd95c56ab6fe84f476cc8fe1a700887:


0000: 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20  # Copyright (C) 
0010: 32 30 31 31 20 41 6c 65 73 73 61 6e 64 72 6f 20  2011 Alessandro 
0020: 47 68 65 64 69 6e 69 20 3c 61 6c 65 73 73 61 6e  Ghedini <alessan
0030: 64 72 6f 40 67 68 65 64 69 6e 69 2e 6d 65 3e 0a  dro@ghedini.me>.
0040: 23 20 55 70 64 61 74 65 64 20 32 30 31 32 20 62  # Updated 2012 b
0050: 79 20 4d 69 6b 65 20 50 65 72 72 79 20 74 6f 20  y Mike Perry to 
0060: 65 78 74 72 61 63 74 20 73 79 73 63 61 6c 6c 20  extract syscall 
0070: 74 61 62 6c 65 20 61 64 64 72 65 73 73 65 73 0a  table addresses.
0080: 23 20 55 70 64 61 74 65 64 20 32 30 31 34 20 62  # Updated 2014 b
0090: 79 20 46 72 61 6e 63 69 73 20 42 72 6f 73 6e 61  y Francis Brosna
00a0: 6e 20 42 6c c3 a1 7a 71 75 65 7a 20 74 6f 20 63  n Bl..zquez to c
00b0: 68 65 63 6b 20 66 6f 72 20 69 61 33 32 20 73 75  heck for ia32 su
00c0: 70 70 6f 72 74 0a 6f 62 6a 2d 6d 20 2b 3d 20 6e  pport.obj-m += n
00d0: 6f 6b 65 79 63 74 6c 2e 6f 0a 0a 69 66 64 65 66  okeyctl.o..ifdef
00e0: 20 4d 0a 69 6e 63 6c 75 64 65 20 24 28 4d 29 2f   M.include $(M)/
00f0: 4d 61 6b 65 66 69 6c 65 2e 69 6e 63 0a 69 66 6e  Makefile.inc.ifn
0100: 64 65 66 20 53 59 53 54 45 4d 5f 4d 41 50 5f 46  def SYSTEM_MAP_F
0110: 49 4c 45 0a 53 59 53 54 45 4d 5f 4d 41 50 5f 46  ILE.SYSTEM_MAP_F
0120: 49 4c 45 20 3a 3d 20 24 28 4b 45 52 4e 45 4c 5f  ILE := $(KERNEL_
0130: 44 49 52 29 2f 53 79 73 74 65 6d 2e 6d 61 70 0a  DIR)/System.map.
0140: 65 6e 64 69 66 0a 0a 53 43 54 20 20 20 3a 3d 20  endif..SCT   := 
0150: 24 28 73 68 65 6c 6c 20 67 72 65 70 20 22 20 73  $(shell grep " s
0160: 79 73 5f 63 61 6c 6c 5f 74 61 62 6c 65 22 20 27  ys_call_table" '
0170: 24 28 53 59 53 54 45 4d 5f 4d 41 50 5f 46 49 4c  $(SYSTEM_MAP_FIL
0180: 45 29 27 20 7c 20 61 77 6b 20 27 7b 20 70 72 69  E)' | awk '{ pri
0190: 6e 74 20 24 24 31 3b 20 7d 27 29 0a 53 43 54 33  nt $$1; }').SCT3
01a0: 32 20 3a 3d 20 24 28 73 68 65 6c 6c 20 67 72 65  2 := $(shell gre
01b0: 70 20 22 69 61 33 32 5f 73 79 73 5f 63 61 6c 6c  p "ia32_sys_call
01c0: 5f 74 61 62 6c 65 22 20 27 24 28 53 59 53 54 45  _table" '$(SYSTE
01d0: 4d 5f 4d 41 50 5f 46 49 4c 45 29 27 20 7c 20 61  M_MAP_FILE)' | a
01e0: 77 6b 20 27 7b 20 70 72 69 6e 74 20 24 24 31 3b  wk '{ print $$1;
01f0: 20 7d 27 29 0a 0a 45 58 54 52 41 5f 43 46 4c 41   }')..EXTRA_CFLA
0200: 47 53 20 2b 3d 20 2d 44 73 79 73 5f 63 61 6c 6c  GS += -Dsys_call
0210: 5f 74 61 62 6c 65 5f 61 64 64 72 3d 22 28 28 76  _table_addr="((v
0220: 6f 69 64 2a 2a 29 30 78 24 28 53 43 54 29 29 22  oid**)0x$(SCT))"
0230: 0a 69 66 64 65 66 20 53 43 54 33 32 0a 45 58 54  .ifdef SCT32.EXT
0240: 52 41 5f 43 46 4c 41 47 53 20 2b 3d 20 2d 44 69  RA_CFLAGS += -Di
0250: 61 33 32 5f 73 79 73 5f 63 61 6c 6c 5f 74 61 62  a32_sys_call_tab
0260: 6c 65 5f 61 64 64 72 3d 22 28 28 76 6f 69 64 2a  le_addr="((void*
0270: 2a 29 30 78 24 28 53 43 54 33 32 29 29 22 20 2d  *)0x$(SCT32))" -
0280: 44 5f 5f 65 6e 61 62 6c 65 5f 33 32 62 69 74 73  D__enable_32bits
0290: 5f 73 75 70 70 6f 72 74 0a 65 6e 64 69 66 0a 65  _support.endif.e
02a0: 6c 73 65 0a 2d 69 6e 63 6c 75 64 65 20 4d 61 6b  lse.-include Mak
02b0: 65 66 69 6c 65 2e 69 6e 63 0a 65 6e 64 69 66 0a  efile.inc.endif.
02c0: 0a 61 6c 6c 3a 0a 09 40 65 63 68 6f 20 22 42 75  .all:..@echo "Bu
02d0: 69 6c 64 69 6e 67 20 77 69 74 68 20 22 20 24 28  ilding with " $(
02e0: 45 58 54 52 41 5f 43 46 4c 41 47 53 29 0a 09 6d  EXTRA_CFLAGS)..m
02f0: 61 6b 65 20 2d 43 20 27 24 28 4b 45 52 4e 45 4c  ake -C '$(KERNEL
0300: 5f 44 49 52 29 27 20 27 4d 3d 24 28 50 57 44 29  _DIR)' 'M=$(PWD)
0310: 27 0a 0a 69 6e 73 74 61 6c 6c 3a 20 61 6c 6c 0a  '..install: all.
0320: 09 2d 6d 6b 64 69 72 20 2d 70 20 27 24 28 44 45  .-mkdir -p '$(DE
0330: 53 54 44 49 52 29 2f 6c 69 62 2f 6d 6f 64 75 6c  STDIR)/lib/modul
0340: 65 73 2f 24 28 4b 45 52 4e 45 4c 5f 56 45 52 29  es/$(KERNEL_VER)
0350: 2f 6d 69 73 63 27 0a 09 63 70 20 6e 6f 6b 65 79  /misc'..cp nokey
0360: 63 74 6c 2e 6b 6f 20 27 24 28 44 45 53 54 44 49  ctl.ko '$(DESTDI
0370: 52 29 2f 6c 69 62 2f 6d 6f 64 75 6c 65 73 2f 24  R)/lib/modules/$
0380: 28 4b 45 52 4e 45 4c 5f 56 45 52 29 2f 6d 69 73  (KERNEL_VER)/mis
0390: 63 2f 27 0a 0a 63 6c 65 61 6e 3a 0a 09 2d 6d 61  c/'..clean:..-ma
03a0: 6b 65 20 2d 43 20 27 24 28 4b 45 52 4e 45 4c 5f  ke -C '$(KERNEL_
03b0: 44 49 52 29 27 20 27 4d 3d 24 28 50 57 44 29 27  DIR)' 'M=$(PWD)'
03c0: 20 63 6c 65 61 6e 0a 09 72 6d 20 2d 66 20 4d 6f   clean..rm -f Mo
03d0: 64 75 6c 65 2e 73 79 6d 76 65 72 73 20 62 75 69  dule.symvers bui
03e0: 6c 74 2d 69 6e 2e 6f 20 6d 6f 64 75 6c 65 73 2e  lt-in.o modules.
03f0: 6f 72 64 65 72 20 6e 6f 6b 65 79 63 74 6c 2e 6b  order nokeyctl.k
0400: 6f 20 6e 6f 6b 65 79 63 74 6c 2e 6d 6f 64 2e 63  o nokeyctl.mod.c
0410: 20 6e 6f 6b 65 79 63 74 6c 2e 6d 6f 64 2e 6f 20   nokeyctl.mod.o 
0420: 6e 6f 6b 65 79 63 74 6c 2e 6f 20 2e 62 75 69 6c  nokeyctl.o .buil
0430: 74 2d 69 6e 2e 6f 2e 63 6d 64 20 2e 6e 6f 6b 65  t-in.o.cmd .noke
0440: 79 63 74 6c 2e 6b 6f 2e 63 6d 64 20 2e 6e 6f 6b  yctl.ko.cmd .nok
0450: 65 79 63 74 6c 2e 6d 6f 64 2e 6f 2e 63 6d 64 20  eyctl.mod.o.cmd 
0460: 2e 6e 6f 6b 65 79 63 74 6c 2e 6f 2e 63 6d 64 0a  .nokeyctl.o.cmd.
0470: 09 72 6d 20 2d 72 66 20 2e 74 6d 70 5f 76 65 72  .rm -rf .tmp_ver
0480: 73 69 6f 6e 73 0a 0a 64 69 73 74 63 6c 65 61 6e  sions..distclean
0490: 3a 20 63 6c 65 61 6e 0a 09 72 6d 20 2d 66 20 4d  : clean..rm -f M
04a0: 61 6b 65 66 69 6c 65 2e 69 6e 63 0a              akefile.inc.