diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2011-11-11 18:55:49 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-11-17 16:35:36 -0500 |
commit | d181764ccf6207e02abb95fb3052639b947f4833 (patch) | |
tree | cd37381b20d437d5d352a07b20fd4a01d332759b /arch/x86/syscalls/Makefile | |
parent | d5e553d6e0a4bdea43adae7373e3fa144b9a1aaa (diff) |
x86: Machine-readable syscall tables and scripts to process them
Create a simple set of syscall tables and scripts to turn them into
both header files (unistd_*.h) and macros for generating the system
call tables.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/syscalls/Makefile')
-rw-r--r-- | arch/x86/syscalls/Makefile | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/x86/syscalls/Makefile b/arch/x86/syscalls/Makefile new file mode 100644 index 000000000000..564b2476fede --- /dev/null +++ b/arch/x86/syscalls/Makefile | |||
@@ -0,0 +1,43 @@ | |||
1 | out := $(obj)/../include/generated/asm | ||
2 | |||
3 | # Create output directory if not already present | ||
4 | _dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)') | ||
5 | |||
6 | syscall32 := $(srctree)/$(src)/syscall_32.tbl | ||
7 | syscall64 := $(srctree)/$(src)/syscall_64.tbl | ||
8 | |||
9 | syshdr := $(srctree)/$(src)/syscallhdr.sh | ||
10 | systbl := $(srctree)/$(src)/syscalltbl.sh | ||
11 | |||
12 | quiet_cmd_syshdr = SYSHDR $@ | ||
13 | cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' $< $@ \ | ||
14 | $(syshdr_abi_$(basetarget)) $(syshdr_pfx_$(basetarget)) | ||
15 | quiet_cmd_systbl = SYSTBL $@ | ||
16 | cmd_systbl = $(CONFIG_SHELL) '$(systbl)' $< $@ | ||
17 | |||
18 | syshdr_abi_unistd_32 := i386 | ||
19 | $(out)/unistd_32.h: $(syscall32) $(syshdr) | ||
20 | $(call if_changed,syshdr) | ||
21 | |||
22 | syshdr_abi_unistd_32_ia32 := i386 | ||
23 | syshdr_pfx_unistd_32_ia32 := ia32_ | ||
24 | $(out)/unistd_32_ia32.h: $(syscall32) $(syshdr) | ||
25 | $(call if_changed,syshdr) | ||
26 | |||
27 | syshdr_abi_unistd_64 := 64 | ||
28 | $(out)/unistd_64.h: $(syscall64) $(syshdr) | ||
29 | $(call if_changed,syshdr) | ||
30 | |||
31 | $(out)/syscalls_32.h: $(syscall32) $(systbl) | ||
32 | $(call if_changed,systbl) | ||
33 | $(out)/syscalls_64.h: $(syscall64) $(systbl) | ||
34 | $(call if_changed,systbl) | ||
35 | |||
36 | syshdr-y += unistd_32.h unistd_64.h | ||
37 | syshdr-y += syscalls_32.h | ||
38 | syshdr-$(CONFIG_X86_64) += unistd_32_ia32.h | ||
39 | syshdr-$(CONFIG_X86_64) += syscalls_64.h | ||
40 | |||
41 | targets += $(syshdr-y) | ||
42 | |||
43 | all: $(addprefix $(out)/,$(targets)) | ||