Skip to content

Commit

Permalink
linux-user, x86_64: add syscall table generation support
Browse files Browse the repository at this point in the history
Copy syscall_64.tbl and syscallhdr.sh from linux/arch/x86/kernel/syscalls v5.5
Update syscallhdr.sh to generate QEMU syscall_nr.h

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20200310103403.3284090-16-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
  • Loading branch information
vivier committed Mar 20, 2020
1 parent 2898811 commit 8d62f35
Show file tree
Hide file tree
Showing 6 changed files with 438 additions and 357 deletions.
3 changes: 2 additions & 1 deletion configure
Expand Up @@ -1890,7 +1890,7 @@ rm -f */config-devices.mak.d
# Remove syscall_nr.h to be sure they will be regenerated in the build
# directory, not in the source directory
for arch in alpha hppa m68k xtensa sh4 microblaze arm ppc s390x sparc sparc64 \
i386 ; do
i386 x86_64 ; do
# remove the file if it has been generated in the source directory
rm -f "${source_path}/linux-user/${arch}/syscall_nr.h"
# remove the dependency files
Expand Down Expand Up @@ -7792,6 +7792,7 @@ case "$target_name" in
;;
x86_64)
TARGET_BASE_ARCH=i386
TARGET_SYSTBL_ABI=common,64
mttcg="yes"
gdb_xml_files="i386-64bit.xml"
;;
Expand Down
1 change: 1 addition & 0 deletions linux-user/Makefile.objs
Expand Up @@ -19,4 +19,5 @@ obj-$(TARGET_S390X) += s390x/
obj-$(TARGET_SH4) += sh4/
obj-$(TARGET_SPARC) += sparc/
obj-$(TARGET_SPARC64) += $(TARGET_ABI_DIR)/
obj-$(TARGET_X86_64) += x86_64/
obj-$(TARGET_XTENSA) += xtensa/
5 changes: 5 additions & 0 deletions linux-user/x86_64/Makefile.objs
@@ -0,0 +1,5 @@
generated-files-y += linux-user/x86_64/syscall_nr.h

syshdr := $(SRC_PATH)/linux-user/x86_64/syscallhdr.sh
%/syscall_nr.h: $(SRC_PATH)/linux-user/x86_64/syscall_64.tbl $(syshdr)
$(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")

0 comments on commit 8d62f35

Please sign in to comment.