2006-08-19 17:15:18 +02:00
|
|
|
/* Target-dependent code for GNU/Linux AMD64.
|
|
|
|
|
2016-01-01 05:33:14 +01:00
|
|
|
Copyright (C) 2006-2016 Free Software Foundation, Inc.
|
2006-08-19 17:15:18 +02:00
|
|
|
|
|
|
|
This file is part of GDB.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
2007-08-23 20:08:50 +02:00
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
2006-08-19 17:15:18 +02:00
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
2007-08-23 20:08:50 +02:00
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
2006-08-19 17:15:18 +02:00
|
|
|
|
|
|
|
#ifndef AMD64_LINUX_TDEP_H
|
|
|
|
#define AMD64_LINUX_TDEP_H
|
|
|
|
|
|
|
|
/* Like for i386 GNU/Linux, there is an extra "register"
|
|
|
|
used to control syscall restarting. */
|
|
|
|
|
|
|
|
/* Register number for the "orig_rax" register. If this register
|
|
|
|
contains a value >= 0 it is interpreted as the system call number
|
|
|
|
that the kernel is supposed to restart. */
|
Add AVX512 registers support to GDB and GDBserver.
This patch adds support for the Intel(R) Advanced Vector
Extensions 512 (Intel(R) AVX-512) registers. Native and remote
debugging are covered by this patch.
Intel(R) AVX-512 is an extension to AVX to support 512-bit wide
SIMD registers in 64-bit mode (XMM0-XMM31, YMM0-YMM31, ZMM0-ZMM31).
The number of available registers in 32-bit mode is still 8
(XMM0-7, YMM0-7, ZMM0-7). The lower 256-bits of the ZMM registers
are aliased to the respective 256-bit YMM registers. The lower
128-bits are aliased to the respective 128-bit XMM registers.
There are also 8 new, dedicated mask registers (K0-K7) in both 32-bit
mode and 64-bit mode.
For more information please see
Intel(R) Developer Zone: Intel(R) AVX
http://software.intel.com/en-us/intel-isa-extensions#pid-16007-1495
Intel(R) Architecture Instruction Set Extensions Programming Reference:
http://software.intel.com/en-us/file/319433-017pdf
2014-04-24 Michael Sturm <michael.sturm@mintel.com>
Walfred Tedeschi <walfred.tedeschi@intel.com>
* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
AVX512 registers.
(amd64_linux_read_description): Add code to handle AVX512 xstate
mask and return respective tdesc.
* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
and features/i386/x32-avx512-linux.c.
(amd64_linux_gregset_reg_offset): Add AVX512 registers.
(amd64_linux_core_read_description): Add code to handle AVX512
xstate mask and return respective tdesc.
(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
calculation.
(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
(tdesc_amd64_avx512_linux): New prototype.
(tdesc_x32_avx512_linux): Likewise.
* amd64-tdep.c: Include features/i386/amd64-avx512.c and
features/i386/x32-avx512.c.
(amd64_ymm_avx512_names): New register names for pseudo
registers YMM16-31.
(amd64_ymmh_avx512_names): New register names for raw registers
YMMH16-31.
(amd64_k_names): New register names for K registers.
(amd64_zmmh_names): New register names for ZMM raw registers.
(amd64_zmm_names): New registers names for ZMM pseudo registers.
(amd64_xmm_avx512_names): New register names for XMM16-31
registers.
(amd64_pseudo_register_name): Add code to return AVX512 pseudo
registers.
(amd64_init_abi): Add code to intitialize AVX512 tdep variables
if feature is present.
(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
(AMD64_NUM_REGS): Adjust to new number of registers.
* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
registers supplied via XSTATE by AVX512 registers.
(i386_linux_read_description): Add case for AVX512.
* i386-linux-tdep.c: Include i386-avx512-linux.c.
(i386_linux_gregset_reg_offset): Add AVX512 registers.
(i386_linux_core_read_description): Add case for AVX512.
(i386_linux_init_abi): Install supported register note section
for AVX512.
(_initialize_i386_linux_tdep): Add call to tdesc init function for
AVX512.
* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
registers to be number of zmm7h + 1.
(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
* i386-tdep.c: Include features/i386/i386-avx512.c.
(i386_zmm_names): Add ZMM pseudo register names array.
(i386_zmmh_names): Add ZMM raw register names array.
(i386_k_names): Add K raw register names array.
(num_lower_zmm_regs): Add constant for the number of lower ZMM
registers. AVX512 has 16 more ZMM registers than there are YMM
registers.
(i386_zmmh_regnum_p): Add function to look up register number of
ZMM raw registers.
(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
(i386_k_regnum_p): Likewise for K raw registers.
(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
registers added by AVX512.
(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
registers added by AVX512.
(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
added by AVX512.
(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
(i386_pseudo_register_name): Add ZMM pseudo registers.
(i386_zmm_type): Construct and return vector registers type for ZMM
registers.
(i386_pseudo_register_type): Return appropriate type for YMM16-31,
ZMM0-31 pseudo registers and K registers.
(i386_pseudo_register_read_into_value): Add code to read K, ZMM
and YMM16-31 registers from register cache.
(i386_pseudo_register_write): Add code to write K, ZMM and
YMM16-31 registers.
(i386_register_reggroup_p): Add code to include/exclude AVX512
registers in/from respective register groups.
(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
registers if feature is present in xcr0.
(i386_gdbarch_init): Add code to initialize AVX512 feature
variables in tdep structure, wire in pseudo registers and call
initialize_tdesc_i386_avx512.
* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
variables.
(i386_regnum): Add AVX512 registers.
(I386_SSE_NUM_REGS): New define for number of SSE registers.
(I386_AVX_NUM_REGS): Likewise for AVX registers.
(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
512 bits wide.
(i386_xmm_avx512_regnum_p): New prototype for register look up.
(i386_ymm_avx512_regnum_p): Likewise.
(i386_k_regnum_p): Likewise.
(i386_zmm_regnum_p): Likewise.
(i386_zmmh_regnum_p): Likewise.
* i387-tdep.c : Update year in copyright notice.
(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
XSAVE buffer.
(XSAVE_YMM_AVX512_ADDR): New macro.
(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
XSAVE buffer.
(XSAVE_XMM_AVX512_ADDR): New macro.
(xsave_avx512_k_offset): New table for K register offsets in
XSAVE buffer.
(XSAVE_AVX512_K_ADDR): New macro.
(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
in XSAVE buffer.
(XSAVE_AVX512_ZMM_H_ADDR): New macro.
(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
buffer.
(i387_collect_xsave): Add code to collect AVX512 registers from
XSAVE buffer.
* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
of XMM16-31 registers.
(I387_NUM_K_REGS): New define for number of K registers.
(I387_K0_REGNUM): New define for K0 register number.
(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
registers.
(I387_YMM16H_REGNUM): New define for YMM16H register number.
(I387_XMM16_REGNUM): New define for XMM16 register number.
(I387_YMM0_REGNUM): New define for YMM0 register number.
(I387_KEND_REGNUM): New define for last K register number.
(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
number.
(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
number.
* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
size.
* features/Makefile: Add AVX512 related files.
* features/i386/32bit-avx512.xml: New file.
* features/i386/64bit-avx512.xml: Likewise.
* features/i386/amd64-avx512-linux.c: Likewise.
* features/i386/amd64-avx512-linux.xml: Likewise.
* features/i386/amd64-avx512.c: Likewise.
* features/i386/amd64-avx512.xml: Likewise.
* features/i386/i386-avx512-linux.c: Likewise.
* features/i386/i386-avx512-linux.xml: Likewise.
* features/i386/i386-avx512.c: Likewise.
* features/i386/i386-avx512.xml: Likewise.
* features/i386/x32-avx512-linux.c: Likewise.
* features/i386/x32-avx512-linux.xml: Likewise.
* features/i386/x32-avx512.c: Likewise.
* features/i386/x32-avx512.xml: Likewise.
* regformats/i386/amd64-avx512-linux.dat: New file.
* regformats/i386/amd64-avx512.dat: Likewise.
* regformats/i386/i386-avx512-linux.dat: Likewise.
* regformats/i386/i386-avx512.dat: Likewise.
* regformats/i386/x32-avx512-linux.dat: Likewise.
* regformats/i386/x32-avx512.dat: Likewise.
* NEWS: Add note about new support for AVX512.
testsuite/
* Makefile.in (EXECUTABLES): Added i386-avx512.
* gdb.arch/i386-avx512.c: New file.
* gdb.arch/i386-avx512.exp: Likewise.
gdbserver/
* Makefile.in: Added rules to handle new files
i386-avx512.c i386-avx512-linux.c amd64-avx512.c
amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
* configure.srv (srv_i386_regobj): Add i386-avx512.o.
(srv_i386_linux_regobj): Add i386-avx512-linux.o.
(srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
(srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
x32-avx512-linux.o.
(srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
(srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
i386/x32-avx512.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
i386/x32-avx512-linux.xml.
* i387-fp.c (num_avx512_k_registers): New constant for number
of K registers.
(num_avx512_zmmh_low_registers): New constant for number of
lower ZMM registers (0-15).
(num_avx512_zmmh_high_registers): New constant for number of
higher ZMM registers (16-31).
(num_avx512_ymmh_registers): New contant for number of higher
YMM registers (ymm16-31 added by avx521 on x86_64).
(num_avx512_xmm_registers): New constant for number of higher
XMM registers (xmm16-31 added by AVX512 on x86_64).
(struct i387_xsave): Add space for AVX512 registers.
(i387_cache_to_xsave): Change raw buffer size to 64 characters.
Add code to handle AVX512 registers.
(i387_xsave_to_cache): Add code to handle AVX512 registers.
* linux-x86-low.c (init_registers_amd64_avx512_linux): New
prototypei from generated file.
(tdesc_amd64_avx512_linux): Likewise.
(init_registers_x32_avx512_linux): Likewise.
(tdesc_x32_avx512_linux): Likewise.
(init_registers_i386_avx512_linux): Likewise.
(tdesc_i386_avx512_linux): Likewise.
(x86_64_regmap): Add AVX512 registers.
(x86_linux_read_description): Add code to handle AVX512 XSTATE
mask.
(initialize_low_arch): Add code to initialize AVX512 registers.
doc/
* gdb.texinfo (i386 Features): Add description of AVX512
registers.
Change-Id: Ifc4c08c76b85dbec18d02efdbe6182e851584438
Signed-off-by: Michael Sturm <michael.sturm@intel.com>
2013-12-16 16:43:05 +01:00
|
|
|
#define AMD64_LINUX_ORIG_RAX_REGNUM (AMD64_ZMM31H_REGNUM + 1)
|
2006-08-19 17:15:18 +02:00
|
|
|
|
|
|
|
/* Total number of registers for GNU/Linux. */
|
|
|
|
#define AMD64_LINUX_NUM_REGS (AMD64_LINUX_ORIG_RAX_REGNUM + 1)
|
|
|
|
|
2010-03-01 16:33:32 +01:00
|
|
|
/* Linux target description. */
|
|
|
|
extern struct target_desc *tdesc_amd64_linux;
|
2010-04-07 20:46:50 +02:00
|
|
|
extern struct target_desc *tdesc_amd64_avx_linux;
|
2013-11-20 13:02:37 +01:00
|
|
|
extern struct target_desc *tdesc_amd64_mpx_linux;
|
Add target descriptions for AVX + MPX
The current MPX target descriptions assume that MPX is always combined
with AVX, however that's not correct. We can have machines with MPX
and without AVX; or machines with AVX and without MPX.
This patch adds new target descriptions for machines that support
both MPX and AVX, as duplicates of the existing MPX descriptions.
The following commit will remove AVX from the MPX-only descriptions.
2016-04-16 Walfred Tedeschi <walfred.tedeschi@intel.com>
gdb/ChangeLog:
* amd64-linux-tdep.c (features/i386/amd64-avx-mpx-linux.c):
New include.
(amd64_linux_core_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
(_initialize_amd64_linux_tdep): Call initialize_tdesc_amd64_avx_mpx_linux.
* amd64-linux-tdep.h (tdesc_amd64_avx_mpx_linux): New definition.
* amd64-tdep.c (features/i386/amd64-avx-mpx.c): New include.
(amd64_target_description): Add case for X86_XSTATE_AVX_MPX_MASK.
(_initialize_amd64_tdep): Call initialize_tdesc_amd64_avx_mpx.
* common/x86-xstate.h (X86_XSTATE_MPX_MASK): Remove AVX bits.
(X86_XSTATE_AVX_MPX_MASK): New case.
* features/Makefile (i386/i386-avx-mpx, i386/i386-avx-mpx-linux)
(i386/amd64-avx-mpx, i386/amd64-avx-mpx-linux): New rules.
(i386/i386-avx-mpx-expedite, i386/i386-avx-mpx-linux-expedite)
(i386/amd64-avx-mpx-expedite, i386/amd64-avx-mpx-linux-expedite):
New expedites.
* i386-linux-tdep.c (features/i386/i386-avx-mpx-linux.c): New
include.
(i386_linux_core_read_description): Add case
X86_XSTATE_AVX_MPX_MASK.
(_initialize_i386_linux_tdep): Call
initialize_tdesc_i386_avx_mpx_linux.
* i386-linux-tdep.h (tdesc_i386_avx_mpx_linux): New include.
* i386-tdep.c (features/i386/i386-avx-mpx.c): New include.
(i386_target_description): Add case for X86_XSTATE_AVX_MPX_MASK.
* x86-linux-nat.c (x86_linux_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
* features/i386/amd64-avx-mpx-linux.xml: New file.
* features/i386/i386-avx-mpx-linux.xml: New file.
* features/i386/i386-avx-mpx.xml: New file.
* features/i386/amd64-avx-mpx.xml: New file.
* features/i386/amd64-avx-mpx-linux.c: Generated.
* features/i386/amd64-avx-mpx.c: Generated.
* features/i386/i386-avx-mpx-linux.c: Generated.
* features/i386/i386-avx-mpx.c: Generated.
* regformats/i386/amd64-avx-mpx-linux.dat: Generated.
* regformats/i386/amd64-avx-mpx.dat: Generated.
* regformats/i386/i386-avx-mpx-linux.dat: Generated.
* regformats/i386/i386-avx-mpx.dat: Generated.
gdb/gdbserver/ChangeLog:
* Makefile.in (clean): Add removal for i386-avx-mpx.c,
i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c.
(i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c)
(amd64-avx-mpx-linux.c): New rules.
(amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule.
* configure.srv (srv_i386_regobj): Add i386-avx-mpx.o.
(srv_i386_linux_regobj): Add i386-avx-mpx-linux.o.
(srv_amd64_regobj): Add amd64-avx-mpx.o.
(srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o.
(srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml.
(ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o.
(ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o.
* linux-x86-low.c (x86_linux_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
(x86_get_ipa_tdesc_idx): Add cases for avx_mpx.
(initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and
init_registers_i386_avx_mpx_linux.
* linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
(initialize_low_tracepoint): Call
init_registers_i386_avx_mpx_linux.
* linux-amd64-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
(initialize_low_tracepoint): Call
init_registers_amd64_avx_mpx_linux.
* linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value.
(init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux)
(init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New
declarations.
2016-04-19 15:44:32 +02:00
|
|
|
extern struct target_desc *tdesc_amd64_avx_mpx_linux;
|
Add AVX512 registers support to GDB and GDBserver.
This patch adds support for the Intel(R) Advanced Vector
Extensions 512 (Intel(R) AVX-512) registers. Native and remote
debugging are covered by this patch.
Intel(R) AVX-512 is an extension to AVX to support 512-bit wide
SIMD registers in 64-bit mode (XMM0-XMM31, YMM0-YMM31, ZMM0-ZMM31).
The number of available registers in 32-bit mode is still 8
(XMM0-7, YMM0-7, ZMM0-7). The lower 256-bits of the ZMM registers
are aliased to the respective 256-bit YMM registers. The lower
128-bits are aliased to the respective 128-bit XMM registers.
There are also 8 new, dedicated mask registers (K0-K7) in both 32-bit
mode and 64-bit mode.
For more information please see
Intel(R) Developer Zone: Intel(R) AVX
http://software.intel.com/en-us/intel-isa-extensions#pid-16007-1495
Intel(R) Architecture Instruction Set Extensions Programming Reference:
http://software.intel.com/en-us/file/319433-017pdf
2014-04-24 Michael Sturm <michael.sturm@mintel.com>
Walfred Tedeschi <walfred.tedeschi@intel.com>
* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
AVX512 registers.
(amd64_linux_read_description): Add code to handle AVX512 xstate
mask and return respective tdesc.
* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
and features/i386/x32-avx512-linux.c.
(amd64_linux_gregset_reg_offset): Add AVX512 registers.
(amd64_linux_core_read_description): Add code to handle AVX512
xstate mask and return respective tdesc.
(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
calculation.
(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
(tdesc_amd64_avx512_linux): New prototype.
(tdesc_x32_avx512_linux): Likewise.
* amd64-tdep.c: Include features/i386/amd64-avx512.c and
features/i386/x32-avx512.c.
(amd64_ymm_avx512_names): New register names for pseudo
registers YMM16-31.
(amd64_ymmh_avx512_names): New register names for raw registers
YMMH16-31.
(amd64_k_names): New register names for K registers.
(amd64_zmmh_names): New register names for ZMM raw registers.
(amd64_zmm_names): New registers names for ZMM pseudo registers.
(amd64_xmm_avx512_names): New register names for XMM16-31
registers.
(amd64_pseudo_register_name): Add code to return AVX512 pseudo
registers.
(amd64_init_abi): Add code to intitialize AVX512 tdep variables
if feature is present.
(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
(AMD64_NUM_REGS): Adjust to new number of registers.
* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
registers supplied via XSTATE by AVX512 registers.
(i386_linux_read_description): Add case for AVX512.
* i386-linux-tdep.c: Include i386-avx512-linux.c.
(i386_linux_gregset_reg_offset): Add AVX512 registers.
(i386_linux_core_read_description): Add case for AVX512.
(i386_linux_init_abi): Install supported register note section
for AVX512.
(_initialize_i386_linux_tdep): Add call to tdesc init function for
AVX512.
* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
registers to be number of zmm7h + 1.
(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
* i386-tdep.c: Include features/i386/i386-avx512.c.
(i386_zmm_names): Add ZMM pseudo register names array.
(i386_zmmh_names): Add ZMM raw register names array.
(i386_k_names): Add K raw register names array.
(num_lower_zmm_regs): Add constant for the number of lower ZMM
registers. AVX512 has 16 more ZMM registers than there are YMM
registers.
(i386_zmmh_regnum_p): Add function to look up register number of
ZMM raw registers.
(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
(i386_k_regnum_p): Likewise for K raw registers.
(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
registers added by AVX512.
(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
registers added by AVX512.
(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
added by AVX512.
(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
(i386_pseudo_register_name): Add ZMM pseudo registers.
(i386_zmm_type): Construct and return vector registers type for ZMM
registers.
(i386_pseudo_register_type): Return appropriate type for YMM16-31,
ZMM0-31 pseudo registers and K registers.
(i386_pseudo_register_read_into_value): Add code to read K, ZMM
and YMM16-31 registers from register cache.
(i386_pseudo_register_write): Add code to write K, ZMM and
YMM16-31 registers.
(i386_register_reggroup_p): Add code to include/exclude AVX512
registers in/from respective register groups.
(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
registers if feature is present in xcr0.
(i386_gdbarch_init): Add code to initialize AVX512 feature
variables in tdep structure, wire in pseudo registers and call
initialize_tdesc_i386_avx512.
* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
variables.
(i386_regnum): Add AVX512 registers.
(I386_SSE_NUM_REGS): New define for number of SSE registers.
(I386_AVX_NUM_REGS): Likewise for AVX registers.
(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
512 bits wide.
(i386_xmm_avx512_regnum_p): New prototype for register look up.
(i386_ymm_avx512_regnum_p): Likewise.
(i386_k_regnum_p): Likewise.
(i386_zmm_regnum_p): Likewise.
(i386_zmmh_regnum_p): Likewise.
* i387-tdep.c : Update year in copyright notice.
(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
XSAVE buffer.
(XSAVE_YMM_AVX512_ADDR): New macro.
(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
XSAVE buffer.
(XSAVE_XMM_AVX512_ADDR): New macro.
(xsave_avx512_k_offset): New table for K register offsets in
XSAVE buffer.
(XSAVE_AVX512_K_ADDR): New macro.
(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
in XSAVE buffer.
(XSAVE_AVX512_ZMM_H_ADDR): New macro.
(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
buffer.
(i387_collect_xsave): Add code to collect AVX512 registers from
XSAVE buffer.
* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
of XMM16-31 registers.
(I387_NUM_K_REGS): New define for number of K registers.
(I387_K0_REGNUM): New define for K0 register number.
(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
registers.
(I387_YMM16H_REGNUM): New define for YMM16H register number.
(I387_XMM16_REGNUM): New define for XMM16 register number.
(I387_YMM0_REGNUM): New define for YMM0 register number.
(I387_KEND_REGNUM): New define for last K register number.
(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
number.
(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
number.
* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
size.
* features/Makefile: Add AVX512 related files.
* features/i386/32bit-avx512.xml: New file.
* features/i386/64bit-avx512.xml: Likewise.
* features/i386/amd64-avx512-linux.c: Likewise.
* features/i386/amd64-avx512-linux.xml: Likewise.
* features/i386/amd64-avx512.c: Likewise.
* features/i386/amd64-avx512.xml: Likewise.
* features/i386/i386-avx512-linux.c: Likewise.
* features/i386/i386-avx512-linux.xml: Likewise.
* features/i386/i386-avx512.c: Likewise.
* features/i386/i386-avx512.xml: Likewise.
* features/i386/x32-avx512-linux.c: Likewise.
* features/i386/x32-avx512-linux.xml: Likewise.
* features/i386/x32-avx512.c: Likewise.
* features/i386/x32-avx512.xml: Likewise.
* regformats/i386/amd64-avx512-linux.dat: New file.
* regformats/i386/amd64-avx512.dat: Likewise.
* regformats/i386/i386-avx512-linux.dat: Likewise.
* regformats/i386/i386-avx512.dat: Likewise.
* regformats/i386/x32-avx512-linux.dat: Likewise.
* regformats/i386/x32-avx512.dat: Likewise.
* NEWS: Add note about new support for AVX512.
testsuite/
* Makefile.in (EXECUTABLES): Added i386-avx512.
* gdb.arch/i386-avx512.c: New file.
* gdb.arch/i386-avx512.exp: Likewise.
gdbserver/
* Makefile.in: Added rules to handle new files
i386-avx512.c i386-avx512-linux.c amd64-avx512.c
amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
* configure.srv (srv_i386_regobj): Add i386-avx512.o.
(srv_i386_linux_regobj): Add i386-avx512-linux.o.
(srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
(srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
x32-avx512-linux.o.
(srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
(srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
i386/x32-avx512.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
i386/x32-avx512-linux.xml.
* i387-fp.c (num_avx512_k_registers): New constant for number
of K registers.
(num_avx512_zmmh_low_registers): New constant for number of
lower ZMM registers (0-15).
(num_avx512_zmmh_high_registers): New constant for number of
higher ZMM registers (16-31).
(num_avx512_ymmh_registers): New contant for number of higher
YMM registers (ymm16-31 added by avx521 on x86_64).
(num_avx512_xmm_registers): New constant for number of higher
XMM registers (xmm16-31 added by AVX512 on x86_64).
(struct i387_xsave): Add space for AVX512 registers.
(i387_cache_to_xsave): Change raw buffer size to 64 characters.
Add code to handle AVX512 registers.
(i387_xsave_to_cache): Add code to handle AVX512 registers.
* linux-x86-low.c (init_registers_amd64_avx512_linux): New
prototypei from generated file.
(tdesc_amd64_avx512_linux): Likewise.
(init_registers_x32_avx512_linux): Likewise.
(tdesc_x32_avx512_linux): Likewise.
(init_registers_i386_avx512_linux): Likewise.
(tdesc_i386_avx512_linux): Likewise.
(x86_64_regmap): Add AVX512 registers.
(x86_linux_read_description): Add code to handle AVX512 XSTATE
mask.
(initialize_low_arch): Add code to initialize AVX512 registers.
doc/
* gdb.texinfo (i386 Features): Add description of AVX512
registers.
Change-Id: Ifc4c08c76b85dbec18d02efdbe6182e851584438
Signed-off-by: Michael Sturm <michael.sturm@intel.com>
2013-12-16 16:43:05 +01:00
|
|
|
extern struct target_desc *tdesc_amd64_avx512_linux;
|
|
|
|
|
2012-05-12 00:02:29 +02:00
|
|
|
extern struct target_desc *tdesc_x32_linux;
|
|
|
|
extern struct target_desc *tdesc_x32_avx_linux;
|
Add AVX512 registers support to GDB and GDBserver.
This patch adds support for the Intel(R) Advanced Vector
Extensions 512 (Intel(R) AVX-512) registers. Native and remote
debugging are covered by this patch.
Intel(R) AVX-512 is an extension to AVX to support 512-bit wide
SIMD registers in 64-bit mode (XMM0-XMM31, YMM0-YMM31, ZMM0-ZMM31).
The number of available registers in 32-bit mode is still 8
(XMM0-7, YMM0-7, ZMM0-7). The lower 256-bits of the ZMM registers
are aliased to the respective 256-bit YMM registers. The lower
128-bits are aliased to the respective 128-bit XMM registers.
There are also 8 new, dedicated mask registers (K0-K7) in both 32-bit
mode and 64-bit mode.
For more information please see
Intel(R) Developer Zone: Intel(R) AVX
http://software.intel.com/en-us/intel-isa-extensions#pid-16007-1495
Intel(R) Architecture Instruction Set Extensions Programming Reference:
http://software.intel.com/en-us/file/319433-017pdf
2014-04-24 Michael Sturm <michael.sturm@mintel.com>
Walfred Tedeschi <walfred.tedeschi@intel.com>
* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
AVX512 registers.
(amd64_linux_read_description): Add code to handle AVX512 xstate
mask and return respective tdesc.
* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
and features/i386/x32-avx512-linux.c.
(amd64_linux_gregset_reg_offset): Add AVX512 registers.
(amd64_linux_core_read_description): Add code to handle AVX512
xstate mask and return respective tdesc.
(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
calculation.
(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
(tdesc_amd64_avx512_linux): New prototype.
(tdesc_x32_avx512_linux): Likewise.
* amd64-tdep.c: Include features/i386/amd64-avx512.c and
features/i386/x32-avx512.c.
(amd64_ymm_avx512_names): New register names for pseudo
registers YMM16-31.
(amd64_ymmh_avx512_names): New register names for raw registers
YMMH16-31.
(amd64_k_names): New register names for K registers.
(amd64_zmmh_names): New register names for ZMM raw registers.
(amd64_zmm_names): New registers names for ZMM pseudo registers.
(amd64_xmm_avx512_names): New register names for XMM16-31
registers.
(amd64_pseudo_register_name): Add code to return AVX512 pseudo
registers.
(amd64_init_abi): Add code to intitialize AVX512 tdep variables
if feature is present.
(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
(AMD64_NUM_REGS): Adjust to new number of registers.
* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
registers supplied via XSTATE by AVX512 registers.
(i386_linux_read_description): Add case for AVX512.
* i386-linux-tdep.c: Include i386-avx512-linux.c.
(i386_linux_gregset_reg_offset): Add AVX512 registers.
(i386_linux_core_read_description): Add case for AVX512.
(i386_linux_init_abi): Install supported register note section
for AVX512.
(_initialize_i386_linux_tdep): Add call to tdesc init function for
AVX512.
* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
registers to be number of zmm7h + 1.
(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
* i386-tdep.c: Include features/i386/i386-avx512.c.
(i386_zmm_names): Add ZMM pseudo register names array.
(i386_zmmh_names): Add ZMM raw register names array.
(i386_k_names): Add K raw register names array.
(num_lower_zmm_regs): Add constant for the number of lower ZMM
registers. AVX512 has 16 more ZMM registers than there are YMM
registers.
(i386_zmmh_regnum_p): Add function to look up register number of
ZMM raw registers.
(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
(i386_k_regnum_p): Likewise for K raw registers.
(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
registers added by AVX512.
(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
registers added by AVX512.
(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
added by AVX512.
(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
(i386_pseudo_register_name): Add ZMM pseudo registers.
(i386_zmm_type): Construct and return vector registers type for ZMM
registers.
(i386_pseudo_register_type): Return appropriate type for YMM16-31,
ZMM0-31 pseudo registers and K registers.
(i386_pseudo_register_read_into_value): Add code to read K, ZMM
and YMM16-31 registers from register cache.
(i386_pseudo_register_write): Add code to write K, ZMM and
YMM16-31 registers.
(i386_register_reggroup_p): Add code to include/exclude AVX512
registers in/from respective register groups.
(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
registers if feature is present in xcr0.
(i386_gdbarch_init): Add code to initialize AVX512 feature
variables in tdep structure, wire in pseudo registers and call
initialize_tdesc_i386_avx512.
* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
variables.
(i386_regnum): Add AVX512 registers.
(I386_SSE_NUM_REGS): New define for number of SSE registers.
(I386_AVX_NUM_REGS): Likewise for AVX registers.
(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
512 bits wide.
(i386_xmm_avx512_regnum_p): New prototype for register look up.
(i386_ymm_avx512_regnum_p): Likewise.
(i386_k_regnum_p): Likewise.
(i386_zmm_regnum_p): Likewise.
(i386_zmmh_regnum_p): Likewise.
* i387-tdep.c : Update year in copyright notice.
(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
XSAVE buffer.
(XSAVE_YMM_AVX512_ADDR): New macro.
(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
XSAVE buffer.
(XSAVE_XMM_AVX512_ADDR): New macro.
(xsave_avx512_k_offset): New table for K register offsets in
XSAVE buffer.
(XSAVE_AVX512_K_ADDR): New macro.
(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
in XSAVE buffer.
(XSAVE_AVX512_ZMM_H_ADDR): New macro.
(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
buffer.
(i387_collect_xsave): Add code to collect AVX512 registers from
XSAVE buffer.
* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
of XMM16-31 registers.
(I387_NUM_K_REGS): New define for number of K registers.
(I387_K0_REGNUM): New define for K0 register number.
(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
registers.
(I387_YMM16H_REGNUM): New define for YMM16H register number.
(I387_XMM16_REGNUM): New define for XMM16 register number.
(I387_YMM0_REGNUM): New define for YMM0 register number.
(I387_KEND_REGNUM): New define for last K register number.
(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
number.
(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
number.
* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
size.
* features/Makefile: Add AVX512 related files.
* features/i386/32bit-avx512.xml: New file.
* features/i386/64bit-avx512.xml: Likewise.
* features/i386/amd64-avx512-linux.c: Likewise.
* features/i386/amd64-avx512-linux.xml: Likewise.
* features/i386/amd64-avx512.c: Likewise.
* features/i386/amd64-avx512.xml: Likewise.
* features/i386/i386-avx512-linux.c: Likewise.
* features/i386/i386-avx512-linux.xml: Likewise.
* features/i386/i386-avx512.c: Likewise.
* features/i386/i386-avx512.xml: Likewise.
* features/i386/x32-avx512-linux.c: Likewise.
* features/i386/x32-avx512-linux.xml: Likewise.
* features/i386/x32-avx512.c: Likewise.
* features/i386/x32-avx512.xml: Likewise.
* regformats/i386/amd64-avx512-linux.dat: New file.
* regformats/i386/amd64-avx512.dat: Likewise.
* regformats/i386/i386-avx512-linux.dat: Likewise.
* regformats/i386/i386-avx512.dat: Likewise.
* regformats/i386/x32-avx512-linux.dat: Likewise.
* regformats/i386/x32-avx512.dat: Likewise.
* NEWS: Add note about new support for AVX512.
testsuite/
* Makefile.in (EXECUTABLES): Added i386-avx512.
* gdb.arch/i386-avx512.c: New file.
* gdb.arch/i386-avx512.exp: Likewise.
gdbserver/
* Makefile.in: Added rules to handle new files
i386-avx512.c i386-avx512-linux.c amd64-avx512.c
amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
* configure.srv (srv_i386_regobj): Add i386-avx512.o.
(srv_i386_linux_regobj): Add i386-avx512-linux.o.
(srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
(srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
x32-avx512-linux.o.
(srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
(srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
i386/x32-avx512.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
i386/x32-avx512-linux.xml.
* i387-fp.c (num_avx512_k_registers): New constant for number
of K registers.
(num_avx512_zmmh_low_registers): New constant for number of
lower ZMM registers (0-15).
(num_avx512_zmmh_high_registers): New constant for number of
higher ZMM registers (16-31).
(num_avx512_ymmh_registers): New contant for number of higher
YMM registers (ymm16-31 added by avx521 on x86_64).
(num_avx512_xmm_registers): New constant for number of higher
XMM registers (xmm16-31 added by AVX512 on x86_64).
(struct i387_xsave): Add space for AVX512 registers.
(i387_cache_to_xsave): Change raw buffer size to 64 characters.
Add code to handle AVX512 registers.
(i387_xsave_to_cache): Add code to handle AVX512 registers.
* linux-x86-low.c (init_registers_amd64_avx512_linux): New
prototypei from generated file.
(tdesc_amd64_avx512_linux): Likewise.
(init_registers_x32_avx512_linux): Likewise.
(tdesc_x32_avx512_linux): Likewise.
(init_registers_i386_avx512_linux): Likewise.
(tdesc_i386_avx512_linux): Likewise.
(x86_64_regmap): Add AVX512 registers.
(x86_linux_read_description): Add code to handle AVX512 XSTATE
mask.
(initialize_low_arch): Add code to initialize AVX512 registers.
doc/
* gdb.texinfo (i386 Features): Add description of AVX512
registers.
Change-Id: Ifc4c08c76b85dbec18d02efdbe6182e851584438
Signed-off-by: Michael Sturm <michael.sturm@intel.com>
2013-12-16 16:43:05 +01:00
|
|
|
extern struct target_desc *tdesc_x32_avx512_linux;
|
2010-03-01 16:33:32 +01:00
|
|
|
|
2009-09-09 00:50:59 +02:00
|
|
|
/* Enum that defines the syscall identifiers for amd64 linux.
|
|
|
|
Used for process record/replay, these will be translated into
|
|
|
|
a gdb-canonical set of syscall ids in linux-record.c. */
|
|
|
|
|
|
|
|
enum amd64_syscall {
|
|
|
|
amd64_sys_read = 0,
|
|
|
|
amd64_sys_write = 1,
|
|
|
|
amd64_sys_open = 2,
|
|
|
|
amd64_sys_close = 3,
|
|
|
|
amd64_sys_newstat = 4,
|
|
|
|
amd64_sys_newfstat = 5,
|
|
|
|
amd64_sys_newlstat = 6,
|
|
|
|
amd64_sys_poll = 7,
|
|
|
|
amd64_sys_lseek = 8,
|
|
|
|
amd64_sys_mmap = 9,
|
|
|
|
amd64_sys_mprotect = 10,
|
|
|
|
amd64_sys_munmap = 11,
|
|
|
|
amd64_sys_brk = 12,
|
|
|
|
amd64_sys_rt_sigaction = 13,
|
|
|
|
amd64_sys_rt_sigprocmask = 14,
|
|
|
|
amd64_sys_rt_sigreturn = 15,
|
|
|
|
amd64_sys_ioctl = 16,
|
|
|
|
amd64_sys_pread64 = 17,
|
|
|
|
amd64_sys_pwrite64 = 18,
|
|
|
|
amd64_sys_readv = 19,
|
|
|
|
amd64_sys_writev = 20,
|
|
|
|
amd64_sys_access = 21,
|
|
|
|
amd64_sys_pipe = 22,
|
|
|
|
amd64_sys_select = 23,
|
|
|
|
amd64_sys_sched_yield = 24,
|
|
|
|
amd64_sys_mremap = 25,
|
|
|
|
amd64_sys_msync = 26,
|
|
|
|
amd64_sys_mincore = 27,
|
|
|
|
amd64_sys_madvise = 28,
|
|
|
|
amd64_sys_shmget = 29,
|
|
|
|
amd64_sys_shmat = 30,
|
|
|
|
amd64_sys_shmctl = 31,
|
|
|
|
amd64_sys_dup = 32,
|
|
|
|
amd64_sys_dup2 = 33,
|
|
|
|
amd64_sys_pause = 34,
|
|
|
|
amd64_sys_nanosleep = 35,
|
|
|
|
amd64_sys_getitimer = 36,
|
|
|
|
amd64_sys_alarm = 37,
|
|
|
|
amd64_sys_setitimer = 38,
|
|
|
|
amd64_sys_getpid = 39,
|
|
|
|
amd64_sys_sendfile64 = 40,
|
|
|
|
amd64_sys_socket = 41,
|
|
|
|
amd64_sys_connect = 42,
|
|
|
|
amd64_sys_accept = 43,
|
|
|
|
amd64_sys_sendto = 44,
|
|
|
|
amd64_sys_recvfrom = 45,
|
|
|
|
amd64_sys_sendmsg = 46,
|
|
|
|
amd64_sys_recvmsg = 47,
|
|
|
|
amd64_sys_shutdown = 48,
|
|
|
|
amd64_sys_bind = 49,
|
|
|
|
amd64_sys_listen = 50,
|
|
|
|
amd64_sys_getsockname = 51,
|
|
|
|
amd64_sys_getpeername = 52,
|
|
|
|
amd64_sys_socketpair = 53,
|
|
|
|
amd64_sys_setsockopt = 54,
|
|
|
|
amd64_sys_getsockopt = 55,
|
|
|
|
amd64_sys_clone = 56,
|
|
|
|
amd64_sys_fork = 57,
|
|
|
|
amd64_sys_vfork = 58,
|
|
|
|
amd64_sys_execve = 59,
|
|
|
|
amd64_sys_exit = 60,
|
|
|
|
amd64_sys_wait4 = 61,
|
|
|
|
amd64_sys_kill = 62,
|
|
|
|
amd64_sys_uname = 63,
|
|
|
|
amd64_sys_semget = 64,
|
|
|
|
amd64_sys_semop = 65,
|
|
|
|
amd64_sys_semctl = 66,
|
|
|
|
amd64_sys_shmdt = 67,
|
|
|
|
amd64_sys_msgget = 68,
|
|
|
|
amd64_sys_msgsnd = 69,
|
|
|
|
amd64_sys_msgrcv = 70,
|
|
|
|
amd64_sys_msgctl = 71,
|
|
|
|
amd64_sys_fcntl = 72,
|
|
|
|
amd64_sys_flock = 73,
|
|
|
|
amd64_sys_fsync = 74,
|
|
|
|
amd64_sys_fdatasync = 75,
|
|
|
|
amd64_sys_truncate = 76,
|
|
|
|
amd64_sys_ftruncate = 77,
|
|
|
|
amd64_sys_getdents = 78,
|
|
|
|
amd64_sys_getcwd = 79,
|
|
|
|
amd64_sys_chdir = 80,
|
|
|
|
amd64_sys_fchdir = 81,
|
|
|
|
amd64_sys_rename = 82,
|
|
|
|
amd64_sys_mkdir = 83,
|
|
|
|
amd64_sys_rmdir = 84,
|
|
|
|
amd64_sys_creat = 85,
|
|
|
|
amd64_sys_link = 86,
|
|
|
|
amd64_sys_unlink = 87,
|
|
|
|
amd64_sys_symlink = 88,
|
|
|
|
amd64_sys_readlink = 89,
|
|
|
|
amd64_sys_chmod = 90,
|
|
|
|
amd64_sys_fchmod = 91,
|
|
|
|
amd64_sys_chown = 92,
|
|
|
|
amd64_sys_fchown = 93,
|
|
|
|
amd64_sys_lchown = 94,
|
|
|
|
amd64_sys_umask = 95,
|
|
|
|
amd64_sys_gettimeofday = 96,
|
|
|
|
amd64_sys_getrlimit = 97,
|
|
|
|
amd64_sys_getrusage = 98,
|
|
|
|
amd64_sys_sysinfo = 99,
|
|
|
|
amd64_sys_times = 100,
|
|
|
|
amd64_sys_ptrace = 101,
|
|
|
|
amd64_sys_getuid = 102,
|
|
|
|
amd64_sys_syslog = 103,
|
|
|
|
amd64_sys_getgid = 104,
|
|
|
|
amd64_sys_setuid = 105,
|
|
|
|
amd64_sys_setgid = 106,
|
|
|
|
amd64_sys_geteuid = 107,
|
|
|
|
amd64_sys_getegid = 108,
|
|
|
|
amd64_sys_setpgid = 109,
|
|
|
|
amd64_sys_getppid = 110,
|
|
|
|
amd64_sys_getpgrp = 111,
|
|
|
|
amd64_sys_setsid = 112,
|
|
|
|
amd64_sys_setreuid = 113,
|
|
|
|
amd64_sys_setregid = 114,
|
|
|
|
amd64_sys_getgroups = 115,
|
|
|
|
amd64_sys_setgroups = 116,
|
|
|
|
amd64_sys_setresuid = 117,
|
|
|
|
amd64_sys_getresuid = 118,
|
|
|
|
amd64_sys_setresgid = 119,
|
|
|
|
amd64_sys_getresgid = 120,
|
|
|
|
amd64_sys_getpgid = 121,
|
|
|
|
amd64_sys_setfsuid = 122,
|
|
|
|
amd64_sys_setfsgid = 123,
|
|
|
|
amd64_sys_getsid = 124,
|
|
|
|
amd64_sys_capget = 125,
|
|
|
|
amd64_sys_capset = 126,
|
|
|
|
amd64_sys_rt_sigpending = 127,
|
|
|
|
amd64_sys_rt_sigtimedwait = 128,
|
|
|
|
amd64_sys_rt_sigqueueinfo = 129,
|
|
|
|
amd64_sys_rt_sigsuspend = 130,
|
|
|
|
amd64_sys_sigaltstack = 131,
|
|
|
|
amd64_sys_utime = 132,
|
|
|
|
amd64_sys_mknod = 133,
|
|
|
|
amd64_sys_personality = 135,
|
|
|
|
amd64_sys_ustat = 136,
|
|
|
|
amd64_sys_statfs = 137,
|
|
|
|
amd64_sys_fstatfs = 138,
|
|
|
|
amd64_sys_sysfs = 139,
|
|
|
|
amd64_sys_getpriority = 140,
|
|
|
|
amd64_sys_setpriority = 141,
|
|
|
|
amd64_sys_sched_setparam = 142,
|
|
|
|
amd64_sys_sched_getparam = 143,
|
|
|
|
amd64_sys_sched_setscheduler = 144,
|
|
|
|
amd64_sys_sched_getscheduler = 145,
|
|
|
|
amd64_sys_sched_get_priority_max = 146,
|
|
|
|
amd64_sys_sched_get_priority_min = 147,
|
|
|
|
amd64_sys_sched_rr_get_interval = 148,
|
|
|
|
amd64_sys_mlock = 149,
|
|
|
|
amd64_sys_munlock = 150,
|
|
|
|
amd64_sys_mlockall = 151,
|
|
|
|
amd64_sys_munlockall = 152,
|
|
|
|
amd64_sys_vhangup = 153,
|
|
|
|
amd64_sys_modify_ldt = 154,
|
|
|
|
amd64_sys_pivot_root = 155,
|
|
|
|
amd64_sys_sysctl = 156,
|
|
|
|
amd64_sys_prctl = 157,
|
|
|
|
amd64_sys_arch_prctl = 158,
|
|
|
|
amd64_sys_adjtimex = 159,
|
|
|
|
amd64_sys_setrlimit = 160,
|
|
|
|
amd64_sys_chroot = 161,
|
|
|
|
amd64_sys_sync = 162,
|
|
|
|
amd64_sys_acct = 163,
|
|
|
|
amd64_sys_settimeofday = 164,
|
|
|
|
amd64_sys_mount = 165,
|
|
|
|
amd64_sys_umount = 166,
|
|
|
|
amd64_sys_swapon = 167,
|
|
|
|
amd64_sys_swapoff = 168,
|
|
|
|
amd64_sys_reboot = 169,
|
|
|
|
amd64_sys_sethostname = 170,
|
|
|
|
amd64_sys_setdomainname = 171,
|
|
|
|
amd64_sys_iopl = 172,
|
|
|
|
amd64_sys_ioperm = 173,
|
|
|
|
amd64_sys_init_module = 175,
|
|
|
|
amd64_sys_delete_module = 176,
|
|
|
|
amd64_sys_quotactl = 179,
|
|
|
|
amd64_sys_nfsservctl = 180,
|
|
|
|
amd64_sys_gettid = 186,
|
|
|
|
amd64_sys_readahead = 187,
|
|
|
|
amd64_sys_setxattr = 188,
|
|
|
|
amd64_sys_lsetxattr = 189,
|
|
|
|
amd64_sys_fsetxattr = 190,
|
|
|
|
amd64_sys_getxattr = 191,
|
|
|
|
amd64_sys_lgetxattr = 192,
|
|
|
|
amd64_sys_fgetxattr = 193,
|
|
|
|
amd64_sys_listxattr = 194,
|
|
|
|
amd64_sys_llistxattr = 195,
|
|
|
|
amd64_sys_flistxattr = 196,
|
|
|
|
amd64_sys_removexattr = 197,
|
|
|
|
amd64_sys_lremovexattr = 198,
|
|
|
|
amd64_sys_fremovexattr = 199,
|
|
|
|
amd64_sys_tkill = 200,
|
|
|
|
amd64_sys_time = 201,
|
|
|
|
amd64_sys_futex = 202,
|
|
|
|
amd64_sys_sched_setaffinity = 203,
|
|
|
|
amd64_sys_sched_getaffinity = 204,
|
|
|
|
amd64_sys_io_setup = 206,
|
|
|
|
amd64_sys_io_destroy = 207,
|
|
|
|
amd64_sys_io_getevents = 208,
|
|
|
|
amd64_sys_io_submit = 209,
|
|
|
|
amd64_sys_io_cancel = 210,
|
|
|
|
amd64_sys_lookup_dcookie = 212,
|
|
|
|
amd64_sys_epoll_create = 213,
|
|
|
|
amd64_sys_remap_file_pages = 216,
|
|
|
|
amd64_sys_getdents64 = 217,
|
|
|
|
amd64_sys_set_tid_address = 218,
|
|
|
|
amd64_sys_restart_syscall = 219,
|
|
|
|
amd64_sys_semtimedop = 220,
|
|
|
|
amd64_sys_fadvise64 = 221,
|
|
|
|
amd64_sys_timer_create = 222,
|
|
|
|
amd64_sys_timer_settime = 223,
|
|
|
|
amd64_sys_timer_gettime = 224,
|
|
|
|
amd64_sys_timer_getoverrun = 225,
|
|
|
|
amd64_sys_timer_delete = 226,
|
|
|
|
amd64_sys_clock_settime = 227,
|
|
|
|
amd64_sys_clock_gettime = 228,
|
|
|
|
amd64_sys_clock_getres = 229,
|
|
|
|
amd64_sys_clock_nanosleep = 230,
|
|
|
|
amd64_sys_exit_group = 231,
|
|
|
|
amd64_sys_epoll_wait = 232,
|
|
|
|
amd64_sys_epoll_ctl = 233,
|
|
|
|
amd64_sys_tgkill = 234,
|
|
|
|
amd64_sys_utimes = 235,
|
|
|
|
amd64_sys_mbind = 237,
|
|
|
|
amd64_sys_set_mempolicy = 238,
|
|
|
|
amd64_sys_get_mempolicy = 239,
|
|
|
|
amd64_sys_mq_open = 240,
|
|
|
|
amd64_sys_mq_unlink = 241,
|
|
|
|
amd64_sys_mq_timedsend = 242,
|
|
|
|
amd64_sys_mq_timedreceive = 243,
|
|
|
|
amd64_sys_mq_notify = 244,
|
|
|
|
amd64_sys_mq_getsetattr = 245,
|
|
|
|
amd64_sys_kexec_load = 246,
|
|
|
|
amd64_sys_waitid = 247,
|
|
|
|
amd64_sys_add_key = 248,
|
|
|
|
amd64_sys_request_key = 249,
|
|
|
|
amd64_sys_keyctl = 250,
|
|
|
|
amd64_sys_ioprio_set = 251,
|
|
|
|
amd64_sys_ioprio_get = 252,
|
|
|
|
amd64_sys_inotify_init = 253,
|
|
|
|
amd64_sys_inotify_add_watch = 254,
|
|
|
|
amd64_sys_inotify_rm_watch = 255,
|
|
|
|
amd64_sys_migrate_pages = 256,
|
|
|
|
amd64_sys_openat = 257,
|
|
|
|
amd64_sys_mkdirat = 258,
|
|
|
|
amd64_sys_mknodat = 259,
|
|
|
|
amd64_sys_fchownat = 260,
|
|
|
|
amd64_sys_futimesat = 261,
|
|
|
|
amd64_sys_newfstatat = 262,
|
|
|
|
amd64_sys_unlinkat = 263,
|
|
|
|
amd64_sys_renameat = 264,
|
|
|
|
amd64_sys_linkat = 265,
|
|
|
|
amd64_sys_symlinkat = 266,
|
|
|
|
amd64_sys_readlinkat = 267,
|
|
|
|
amd64_sys_fchmodat = 268,
|
|
|
|
amd64_sys_faccessat = 269,
|
|
|
|
amd64_sys_pselect6 = 270,
|
|
|
|
amd64_sys_ppoll = 271,
|
|
|
|
amd64_sys_unshare = 272,
|
|
|
|
amd64_sys_set_robust_list = 273,
|
|
|
|
amd64_sys_get_robust_list = 274,
|
|
|
|
amd64_sys_splice = 275,
|
|
|
|
amd64_sys_tee = 276,
|
|
|
|
amd64_sys_sync_file_range = 277,
|
|
|
|
amd64_sys_vmsplice = 278,
|
|
|
|
amd64_sys_move_pages = 279,
|
|
|
|
};
|
|
|
|
|
2013-12-19 23:17:48 +01:00
|
|
|
/* Enum that defines the syscall identifiers for x32 linux.
|
|
|
|
Used for process record/replay, these will be translated into
|
|
|
|
a gdb-canonical set of syscall ids in linux-record.c. */
|
|
|
|
|
|
|
|
enum amd64_x32_syscall {
|
|
|
|
amd64_x32_syscall_bit = 0x40000000,
|
|
|
|
amd64_x32_sys_read = (amd64_x32_syscall_bit + 0),
|
|
|
|
amd64_x32_sys_write = (amd64_x32_syscall_bit + 1),
|
|
|
|
amd64_x32_sys_open = (amd64_x32_syscall_bit + 2),
|
|
|
|
amd64_x32_sys_close = (amd64_x32_syscall_bit + 3),
|
|
|
|
amd64_x32_sys_newstat = (amd64_x32_syscall_bit + 4),
|
|
|
|
amd64_x32_sys_newfstat = (amd64_x32_syscall_bit + 5),
|
|
|
|
amd64_x32_sys_newlstat = (amd64_x32_syscall_bit + 6),
|
|
|
|
amd64_x32_sys_poll = (amd64_x32_syscall_bit + 7),
|
|
|
|
amd64_x32_sys_lseek = (amd64_x32_syscall_bit + 8),
|
|
|
|
amd64_x32_sys_mmap = (amd64_x32_syscall_bit + 9),
|
|
|
|
amd64_x32_sys_mprotect = (amd64_x32_syscall_bit + 10),
|
|
|
|
amd64_x32_sys_munmap = (amd64_x32_syscall_bit + 11),
|
|
|
|
amd64_x32_sys_brk = (amd64_x32_syscall_bit + 12),
|
|
|
|
amd64_x32_sys_rt_sigprocmask = (amd64_x32_syscall_bit + 14),
|
|
|
|
amd64_x32_sys_pread64 = (amd64_x32_syscall_bit + 17),
|
|
|
|
amd64_x32_sys_pwrite64 = (amd64_x32_syscall_bit + 18),
|
|
|
|
amd64_x32_sys_access = (amd64_x32_syscall_bit + 21),
|
|
|
|
amd64_x32_sys_pipe = (amd64_x32_syscall_bit + 22),
|
|
|
|
amd64_x32_sys_select = (amd64_x32_syscall_bit + 23),
|
|
|
|
amd64_x32_sys_sched_yield = (amd64_x32_syscall_bit + 24),
|
|
|
|
amd64_x32_sys_mremap = (amd64_x32_syscall_bit + 25),
|
|
|
|
amd64_x32_sys_msync = (amd64_x32_syscall_bit + 26),
|
|
|
|
amd64_x32_sys_mincore = (amd64_x32_syscall_bit + 27),
|
|
|
|
amd64_x32_sys_madvise = (amd64_x32_syscall_bit + 28),
|
|
|
|
amd64_x32_sys_shmget = (amd64_x32_syscall_bit + 29),
|
|
|
|
amd64_x32_sys_shmat = (amd64_x32_syscall_bit + 30),
|
|
|
|
amd64_x32_sys_shmctl = (amd64_x32_syscall_bit + 31),
|
|
|
|
amd64_x32_sys_dup = (amd64_x32_syscall_bit + 32),
|
|
|
|
amd64_x32_sys_dup2 = (amd64_x32_syscall_bit + 33),
|
|
|
|
amd64_x32_sys_pause = (amd64_x32_syscall_bit + 34),
|
|
|
|
amd64_x32_sys_nanosleep = (amd64_x32_syscall_bit + 35),
|
|
|
|
amd64_x32_sys_getitimer = (amd64_x32_syscall_bit + 36),
|
|
|
|
amd64_x32_sys_alarm = (amd64_x32_syscall_bit + 37),
|
|
|
|
amd64_x32_sys_setitimer = (amd64_x32_syscall_bit + 38),
|
|
|
|
amd64_x32_sys_getpid = (amd64_x32_syscall_bit + 39),
|
|
|
|
amd64_x32_sys_sendfile64 = (amd64_x32_syscall_bit + 40),
|
|
|
|
amd64_x32_sys_socket = (amd64_x32_syscall_bit + 41),
|
|
|
|
amd64_x32_sys_connect = (amd64_x32_syscall_bit + 42),
|
|
|
|
amd64_x32_sys_accept = (amd64_x32_syscall_bit + 43),
|
|
|
|
amd64_x32_sys_sendto = (amd64_x32_syscall_bit + 44),
|
|
|
|
amd64_x32_sys_shutdown = (amd64_x32_syscall_bit + 48),
|
|
|
|
amd64_x32_sys_bind = (amd64_x32_syscall_bit + 49),
|
|
|
|
amd64_x32_sys_listen = (amd64_x32_syscall_bit + 50),
|
|
|
|
amd64_x32_sys_getsockname = (amd64_x32_syscall_bit + 51),
|
|
|
|
amd64_x32_sys_getpeername = (amd64_x32_syscall_bit + 52),
|
|
|
|
amd64_x32_sys_socketpair = (amd64_x32_syscall_bit + 53),
|
|
|
|
amd64_x32_sys_clone = (amd64_x32_syscall_bit + 56),
|
|
|
|
amd64_x32_sys_fork = (amd64_x32_syscall_bit + 57),
|
|
|
|
amd64_x32_sys_vfork = (amd64_x32_syscall_bit + 58),
|
|
|
|
amd64_x32_sys_exit = (amd64_x32_syscall_bit + 60),
|
|
|
|
amd64_x32_sys_wait4 = (amd64_x32_syscall_bit + 61),
|
|
|
|
amd64_x32_sys_kill = (amd64_x32_syscall_bit + 62),
|
|
|
|
amd64_x32_sys_uname = (amd64_x32_syscall_bit + 63),
|
|
|
|
amd64_x32_sys_semget = (amd64_x32_syscall_bit + 64),
|
|
|
|
amd64_x32_sys_semop = (amd64_x32_syscall_bit + 65),
|
|
|
|
amd64_x32_sys_semctl = (amd64_x32_syscall_bit + 66),
|
|
|
|
amd64_x32_sys_shmdt = (amd64_x32_syscall_bit + 67),
|
|
|
|
amd64_x32_sys_msgget = (amd64_x32_syscall_bit + 68),
|
|
|
|
amd64_x32_sys_msgsnd = (amd64_x32_syscall_bit + 69),
|
|
|
|
amd64_x32_sys_msgrcv = (amd64_x32_syscall_bit + 70),
|
|
|
|
amd64_x32_sys_msgctl = (amd64_x32_syscall_bit + 71),
|
|
|
|
amd64_x32_sys_fcntl = (amd64_x32_syscall_bit + 72),
|
|
|
|
amd64_x32_sys_flock = (amd64_x32_syscall_bit + 73),
|
|
|
|
amd64_x32_sys_fsync = (amd64_x32_syscall_bit + 74),
|
|
|
|
amd64_x32_sys_fdatasync = (amd64_x32_syscall_bit + 75),
|
|
|
|
amd64_x32_sys_truncate = (amd64_x32_syscall_bit + 76),
|
|
|
|
amd64_x32_sys_ftruncate = (amd64_x32_syscall_bit + 77),
|
|
|
|
amd64_x32_sys_getdents = (amd64_x32_syscall_bit + 78),
|
|
|
|
amd64_x32_sys_getcwd = (amd64_x32_syscall_bit + 79),
|
|
|
|
amd64_x32_sys_chdir = (amd64_x32_syscall_bit + 80),
|
|
|
|
amd64_x32_sys_fchdir = (amd64_x32_syscall_bit + 81),
|
|
|
|
amd64_x32_sys_rename = (amd64_x32_syscall_bit + 82),
|
|
|
|
amd64_x32_sys_mkdir = (amd64_x32_syscall_bit + 83),
|
|
|
|
amd64_x32_sys_rmdir = (amd64_x32_syscall_bit + 84),
|
|
|
|
amd64_x32_sys_creat = (amd64_x32_syscall_bit + 85),
|
|
|
|
amd64_x32_sys_link = (amd64_x32_syscall_bit + 86),
|
|
|
|
amd64_x32_sys_unlink = (amd64_x32_syscall_bit + 87),
|
|
|
|
amd64_x32_sys_symlink = (amd64_x32_syscall_bit + 88),
|
|
|
|
amd64_x32_sys_readlink = (amd64_x32_syscall_bit + 89),
|
|
|
|
amd64_x32_sys_chmod = (amd64_x32_syscall_bit + 90),
|
|
|
|
amd64_x32_sys_fchmod = (amd64_x32_syscall_bit + 91),
|
|
|
|
amd64_x32_sys_chown = (amd64_x32_syscall_bit + 92),
|
|
|
|
amd64_x32_sys_fchown = (amd64_x32_syscall_bit + 93),
|
|
|
|
amd64_x32_sys_lchown = (amd64_x32_syscall_bit + 94),
|
|
|
|
amd64_x32_sys_umask = (amd64_x32_syscall_bit + 95),
|
|
|
|
amd64_x32_sys_gettimeofday = (amd64_x32_syscall_bit + 96),
|
|
|
|
amd64_x32_sys_getrlimit = (amd64_x32_syscall_bit + 97),
|
|
|
|
amd64_x32_sys_getrusage = (amd64_x32_syscall_bit + 98),
|
|
|
|
amd64_x32_sys_sysinfo = (amd64_x32_syscall_bit + 99),
|
|
|
|
amd64_x32_sys_times = (amd64_x32_syscall_bit + 100),
|
|
|
|
amd64_x32_sys_getuid = (amd64_x32_syscall_bit + 102),
|
|
|
|
amd64_x32_sys_syslog = (amd64_x32_syscall_bit + 103),
|
|
|
|
amd64_x32_sys_getgid = (amd64_x32_syscall_bit + 104),
|
|
|
|
amd64_x32_sys_setuid = (amd64_x32_syscall_bit + 105),
|
|
|
|
amd64_x32_sys_setgid = (amd64_x32_syscall_bit + 106),
|
|
|
|
amd64_x32_sys_geteuid = (amd64_x32_syscall_bit + 107),
|
|
|
|
amd64_x32_sys_getegid = (amd64_x32_syscall_bit + 108),
|
|
|
|
amd64_x32_sys_setpgid = (amd64_x32_syscall_bit + 109),
|
|
|
|
amd64_x32_sys_getppid = (amd64_x32_syscall_bit + 110),
|
|
|
|
amd64_x32_sys_getpgrp = (amd64_x32_syscall_bit + 111),
|
|
|
|
amd64_x32_sys_setsid = (amd64_x32_syscall_bit + 112),
|
|
|
|
amd64_x32_sys_setreuid = (amd64_x32_syscall_bit + 113),
|
|
|
|
amd64_x32_sys_setregid = (amd64_x32_syscall_bit + 114),
|
|
|
|
amd64_x32_sys_getgroups = (amd64_x32_syscall_bit + 115),
|
|
|
|
amd64_x32_sys_setgroups = (amd64_x32_syscall_bit + 116),
|
|
|
|
amd64_x32_sys_setresuid = (amd64_x32_syscall_bit + 117),
|
|
|
|
amd64_x32_sys_getresuid = (amd64_x32_syscall_bit + 118),
|
|
|
|
amd64_x32_sys_setresgid = (amd64_x32_syscall_bit + 119),
|
|
|
|
amd64_x32_sys_getresgid = (amd64_x32_syscall_bit + 120),
|
|
|
|
amd64_x32_sys_getpgid = (amd64_x32_syscall_bit + 121),
|
|
|
|
amd64_x32_sys_setfsuid = (amd64_x32_syscall_bit + 122),
|
|
|
|
amd64_x32_sys_setfsgid = (amd64_x32_syscall_bit + 123),
|
|
|
|
amd64_x32_sys_getsid = (amd64_x32_syscall_bit + 124),
|
|
|
|
amd64_x32_sys_capget = (amd64_x32_syscall_bit + 125),
|
|
|
|
amd64_x32_sys_capset = (amd64_x32_syscall_bit + 126),
|
|
|
|
amd64_x32_sys_rt_sigsuspend = (amd64_x32_syscall_bit + 130),
|
|
|
|
amd64_x32_sys_utime = (amd64_x32_syscall_bit + 132),
|
|
|
|
amd64_x32_sys_mknod = (amd64_x32_syscall_bit + 133),
|
|
|
|
amd64_x32_sys_personality = (amd64_x32_syscall_bit + 135),
|
|
|
|
amd64_x32_sys_ustat = (amd64_x32_syscall_bit + 136),
|
|
|
|
amd64_x32_sys_statfs = (amd64_x32_syscall_bit + 137),
|
|
|
|
amd64_x32_sys_fstatfs = (amd64_x32_syscall_bit + 138),
|
|
|
|
amd64_x32_sys_sysfs = (amd64_x32_syscall_bit + 139),
|
|
|
|
amd64_x32_sys_getpriority = (amd64_x32_syscall_bit + 140),
|
|
|
|
amd64_x32_sys_setpriority = (amd64_x32_syscall_bit + 141),
|
|
|
|
amd64_x32_sys_sched_setparam = (amd64_x32_syscall_bit + 142),
|
|
|
|
amd64_x32_sys_sched_getparam = (amd64_x32_syscall_bit + 143),
|
|
|
|
amd64_x32_sys_sched_setscheduler = (amd64_x32_syscall_bit + 144),
|
|
|
|
amd64_x32_sys_sched_getscheduler = (amd64_x32_syscall_bit + 145),
|
|
|
|
amd64_x32_sys_sched_get_priority_max = (amd64_x32_syscall_bit + 146),
|
|
|
|
amd64_x32_sys_sched_get_priority_min = (amd64_x32_syscall_bit + 147),
|
|
|
|
amd64_x32_sys_sched_rr_get_interval = (amd64_x32_syscall_bit + 148),
|
|
|
|
amd64_x32_sys_mlock = (amd64_x32_syscall_bit + 149),
|
|
|
|
amd64_x32_sys_munlock = (amd64_x32_syscall_bit + 150),
|
|
|
|
amd64_x32_sys_mlockall = (amd64_x32_syscall_bit + 151),
|
|
|
|
amd64_x32_sys_munlockall = (amd64_x32_syscall_bit + 152),
|
|
|
|
amd64_x32_sys_vhangup = (amd64_x32_syscall_bit + 153),
|
|
|
|
amd64_x32_sys_modify_ldt = (amd64_x32_syscall_bit + 154),
|
|
|
|
amd64_x32_sys_pivot_root = (amd64_x32_syscall_bit + 155),
|
|
|
|
amd64_x32_sys_sysctl = (amd64_x32_syscall_bit + 156),
|
|
|
|
amd64_x32_sys_prctl = (amd64_x32_syscall_bit + 157),
|
|
|
|
amd64_x32_sys_arch_prctl = (amd64_x32_syscall_bit + 158),
|
|
|
|
amd64_x32_sys_adjtimex = (amd64_x32_syscall_bit + 159),
|
|
|
|
amd64_x32_sys_setrlimit = (amd64_x32_syscall_bit + 160),
|
|
|
|
amd64_x32_sys_chroot = (amd64_x32_syscall_bit + 161),
|
|
|
|
amd64_x32_sys_sync = (amd64_x32_syscall_bit + 162),
|
|
|
|
amd64_x32_sys_acct = (amd64_x32_syscall_bit + 163),
|
|
|
|
amd64_x32_sys_settimeofday = (amd64_x32_syscall_bit + 164),
|
|
|
|
amd64_x32_sys_mount = (amd64_x32_syscall_bit + 165),
|
|
|
|
amd64_x32_sys_umount = (amd64_x32_syscall_bit + 166),
|
|
|
|
amd64_x32_sys_swapon = (amd64_x32_syscall_bit + 167),
|
|
|
|
amd64_x32_sys_swapoff = (amd64_x32_syscall_bit + 168),
|
|
|
|
amd64_x32_sys_reboot = (amd64_x32_syscall_bit + 169),
|
|
|
|
amd64_x32_sys_sethostname = (amd64_x32_syscall_bit + 170),
|
|
|
|
amd64_x32_sys_setdomainname = (amd64_x32_syscall_bit + 171),
|
|
|
|
amd64_x32_sys_iopl = (amd64_x32_syscall_bit + 172),
|
|
|
|
amd64_x32_sys_ioperm = (amd64_x32_syscall_bit + 173),
|
|
|
|
amd64_x32_sys_init_module = (amd64_x32_syscall_bit + 175),
|
|
|
|
amd64_x32_sys_delete_module = (amd64_x32_syscall_bit + 176),
|
|
|
|
amd64_x32_sys_quotactl = (amd64_x32_syscall_bit + 179),
|
|
|
|
amd64_x32_sys_gettid = (amd64_x32_syscall_bit + 186),
|
|
|
|
amd64_x32_sys_readahead = (amd64_x32_syscall_bit + 187),
|
|
|
|
amd64_x32_sys_setxattr = (amd64_x32_syscall_bit + 188),
|
|
|
|
amd64_x32_sys_lsetxattr = (amd64_x32_syscall_bit + 189),
|
|
|
|
amd64_x32_sys_fsetxattr = (amd64_x32_syscall_bit + 190),
|
|
|
|
amd64_x32_sys_getxattr = (amd64_x32_syscall_bit + 191),
|
|
|
|
amd64_x32_sys_lgetxattr = (amd64_x32_syscall_bit + 192),
|
|
|
|
amd64_x32_sys_fgetxattr = (amd64_x32_syscall_bit + 193),
|
|
|
|
amd64_x32_sys_listxattr = (amd64_x32_syscall_bit + 194),
|
|
|
|
amd64_x32_sys_llistxattr = (amd64_x32_syscall_bit + 195),
|
|
|
|
amd64_x32_sys_flistxattr = (amd64_x32_syscall_bit + 196),
|
|
|
|
amd64_x32_sys_removexattr = (amd64_x32_syscall_bit + 197),
|
|
|
|
amd64_x32_sys_lremovexattr = (amd64_x32_syscall_bit + 198),
|
|
|
|
amd64_x32_sys_fremovexattr = (amd64_x32_syscall_bit + 199),
|
|
|
|
amd64_x32_sys_tkill = (amd64_x32_syscall_bit + 200),
|
|
|
|
amd64_x32_sys_time = (amd64_x32_syscall_bit + 201),
|
|
|
|
amd64_x32_sys_futex = (amd64_x32_syscall_bit + 202),
|
|
|
|
amd64_x32_sys_sched_setaffinity = (amd64_x32_syscall_bit + 203),
|
|
|
|
amd64_x32_sys_sched_getaffinity = (amd64_x32_syscall_bit + 204),
|
|
|
|
amd64_x32_sys_io_setup = (amd64_x32_syscall_bit + 206),
|
|
|
|
amd64_x32_sys_io_destroy = (amd64_x32_syscall_bit + 207),
|
|
|
|
amd64_x32_sys_io_getevents = (amd64_x32_syscall_bit + 208),
|
|
|
|
amd64_x32_sys_io_submit = (amd64_x32_syscall_bit + 209),
|
|
|
|
amd64_x32_sys_io_cancel = (amd64_x32_syscall_bit + 210),
|
|
|
|
amd64_x32_sys_lookup_dcookie = (amd64_x32_syscall_bit + 212),
|
|
|
|
amd64_x32_sys_epoll_create = (amd64_x32_syscall_bit + 213),
|
|
|
|
amd64_x32_sys_remap_file_pages = (amd64_x32_syscall_bit + 216),
|
|
|
|
amd64_x32_sys_getdents64 = (amd64_x32_syscall_bit + 217),
|
|
|
|
amd64_x32_sys_set_tid_address = (amd64_x32_syscall_bit + 218),
|
|
|
|
amd64_x32_sys_restart_syscall = (amd64_x32_syscall_bit + 219),
|
|
|
|
amd64_x32_sys_semtimedop = (amd64_x32_syscall_bit + 220),
|
|
|
|
amd64_x32_sys_fadvise64 = (amd64_x32_syscall_bit + 221),
|
|
|
|
amd64_x32_sys_timer_settime = (amd64_x32_syscall_bit + 223),
|
|
|
|
amd64_x32_sys_timer_gettime = (amd64_x32_syscall_bit + 224),
|
|
|
|
amd64_x32_sys_timer_getoverrun = (amd64_x32_syscall_bit + 225),
|
|
|
|
amd64_x32_sys_timer_delete = (amd64_x32_syscall_bit + 226),
|
|
|
|
amd64_x32_sys_clock_settime = (amd64_x32_syscall_bit + 227),
|
|
|
|
amd64_x32_sys_clock_gettime = (amd64_x32_syscall_bit + 228),
|
|
|
|
amd64_x32_sys_clock_getres = (amd64_x32_syscall_bit + 229),
|
|
|
|
amd64_x32_sys_clock_nanosleep = (amd64_x32_syscall_bit + 230),
|
|
|
|
amd64_x32_sys_exit_group = (amd64_x32_syscall_bit + 231),
|
|
|
|
amd64_x32_sys_epoll_wait = (amd64_x32_syscall_bit + 232),
|
|
|
|
amd64_x32_sys_epoll_ctl = (amd64_x32_syscall_bit + 233),
|
|
|
|
amd64_x32_sys_tgkill = (amd64_x32_syscall_bit + 234),
|
|
|
|
amd64_x32_sys_utimes = (amd64_x32_syscall_bit + 235),
|
|
|
|
amd64_x32_sys_mbind = (amd64_x32_syscall_bit + 237),
|
|
|
|
amd64_x32_sys_set_mempolicy = (amd64_x32_syscall_bit + 238),
|
|
|
|
amd64_x32_sys_get_mempolicy = (amd64_x32_syscall_bit + 239),
|
|
|
|
amd64_x32_sys_mq_open = (amd64_x32_syscall_bit + 240),
|
|
|
|
amd64_x32_sys_mq_unlink = (amd64_x32_syscall_bit + 241),
|
|
|
|
amd64_x32_sys_mq_timedsend = (amd64_x32_syscall_bit + 242),
|
|
|
|
amd64_x32_sys_mq_timedreceive = (amd64_x32_syscall_bit + 243),
|
|
|
|
amd64_x32_sys_mq_getsetattr = (amd64_x32_syscall_bit + 245),
|
|
|
|
amd64_x32_sys_add_key = (amd64_x32_syscall_bit + 248),
|
|
|
|
amd64_x32_sys_request_key = (amd64_x32_syscall_bit + 249),
|
|
|
|
amd64_x32_sys_keyctl = (amd64_x32_syscall_bit + 250),
|
|
|
|
amd64_x32_sys_ioprio_set = (amd64_x32_syscall_bit + 251),
|
|
|
|
amd64_x32_sys_ioprio_get = (amd64_x32_syscall_bit + 252),
|
|
|
|
amd64_x32_sys_inotify_init = (amd64_x32_syscall_bit + 253),
|
|
|
|
amd64_x32_sys_inotify_add_watch = (amd64_x32_syscall_bit + 254),
|
|
|
|
amd64_x32_sys_inotify_rm_watch = (amd64_x32_syscall_bit + 255),
|
|
|
|
amd64_x32_sys_migrate_pages = (amd64_x32_syscall_bit + 256),
|
|
|
|
amd64_x32_sys_openat = (amd64_x32_syscall_bit + 257),
|
|
|
|
amd64_x32_sys_mkdirat = (amd64_x32_syscall_bit + 258),
|
|
|
|
amd64_x32_sys_mknodat = (amd64_x32_syscall_bit + 259),
|
|
|
|
amd64_x32_sys_fchownat = (amd64_x32_syscall_bit + 260),
|
|
|
|
amd64_x32_sys_futimesat = (amd64_x32_syscall_bit + 261),
|
|
|
|
amd64_x32_sys_newfstatat = (amd64_x32_syscall_bit + 262),
|
|
|
|
amd64_x32_sys_unlinkat = (amd64_x32_syscall_bit + 263),
|
|
|
|
amd64_x32_sys_renameat = (amd64_x32_syscall_bit + 264),
|
|
|
|
amd64_x32_sys_linkat = (amd64_x32_syscall_bit + 265),
|
|
|
|
amd64_x32_sys_symlinkat = (amd64_x32_syscall_bit + 266),
|
|
|
|
amd64_x32_sys_readlinkat = (amd64_x32_syscall_bit + 267),
|
|
|
|
amd64_x32_sys_fchmodat = (amd64_x32_syscall_bit + 268),
|
|
|
|
amd64_x32_sys_faccessat = (amd64_x32_syscall_bit + 269),
|
|
|
|
amd64_x32_sys_pselect6 = (amd64_x32_syscall_bit + 270),
|
|
|
|
amd64_x32_sys_ppoll = (amd64_x32_syscall_bit + 271),
|
|
|
|
amd64_x32_sys_unshare = (amd64_x32_syscall_bit + 272),
|
|
|
|
amd64_x32_sys_splice = (amd64_x32_syscall_bit + 275),
|
|
|
|
amd64_x32_sys_tee = (amd64_x32_syscall_bit + 276),
|
|
|
|
amd64_x32_sys_sync_file_range = (amd64_x32_syscall_bit + 277),
|
|
|
|
amd64_x32_sys_rt_sigaction = (amd64_x32_syscall_bit + 512),
|
|
|
|
amd64_x32_sys_rt_sigreturn = (amd64_x32_syscall_bit + 513),
|
|
|
|
amd64_x32_sys_ioctl = (amd64_x32_syscall_bit + 514),
|
|
|
|
amd64_x32_sys_readv = (amd64_x32_syscall_bit + 515),
|
|
|
|
amd64_x32_sys_writev = (amd64_x32_syscall_bit + 516),
|
|
|
|
amd64_x32_sys_recvfrom = (amd64_x32_syscall_bit + 517),
|
|
|
|
amd64_x32_sys_sendmsg = (amd64_x32_syscall_bit + 518),
|
|
|
|
amd64_x32_sys_recvmsg = (amd64_x32_syscall_bit + 519),
|
|
|
|
amd64_x32_sys_execve = (amd64_x32_syscall_bit + 520),
|
|
|
|
amd64_x32_sys_ptrace = (amd64_x32_syscall_bit + 521),
|
|
|
|
amd64_x32_sys_rt_sigpending = (amd64_x32_syscall_bit + 522),
|
|
|
|
amd64_x32_sys_rt_sigtimedwait = (amd64_x32_syscall_bit + 523),
|
|
|
|
amd64_x32_sys_rt_sigqueueinfo = (amd64_x32_syscall_bit + 524),
|
|
|
|
amd64_x32_sys_sigaltstack = (amd64_x32_syscall_bit + 525),
|
|
|
|
amd64_x32_sys_timer_create = (amd64_x32_syscall_bit + 526),
|
|
|
|
amd64_x32_sys_mq_notify = (amd64_x32_syscall_bit + 527),
|
|
|
|
amd64_x32_sys_kexec_load = (amd64_x32_syscall_bit + 528),
|
|
|
|
amd64_x32_sys_waitid = (amd64_x32_syscall_bit + 529),
|
|
|
|
amd64_x32_sys_set_robust_list = (amd64_x32_syscall_bit + 530),
|
|
|
|
amd64_x32_sys_get_robust_list = (amd64_x32_syscall_bit + 531),
|
|
|
|
amd64_x32_sys_vmsplice = (amd64_x32_syscall_bit + 532),
|
|
|
|
amd64_x32_sys_move_pages = (amd64_x32_syscall_bit + 533),
|
|
|
|
amd64_x32_sys_preadv = (amd64_x32_syscall_bit + 534),
|
|
|
|
amd64_x32_sys_pwritev = (amd64_x32_syscall_bit + 535),
|
|
|
|
amd64_x32_sys_rt_tgsigqueueinfo = (amd64_x32_syscall_bit + 536),
|
|
|
|
amd64_x32_sys_recvmmsg = (amd64_x32_syscall_bit + 537),
|
|
|
|
amd64_x32_sys_sendmmsg = (amd64_x32_syscall_bit + 538),
|
|
|
|
amd64_x32_sys_process_vm_readv = (amd64_x32_syscall_bit + 539),
|
|
|
|
amd64_x32_sys_process_vm_writev = (amd64_x32_syscall_bit + 540),
|
|
|
|
amd64_x32_sys_setsockopt = (amd64_x32_syscall_bit + 541),
|
|
|
|
amd64_x32_sys_getsockopt = (amd64_x32_syscall_bit + 542),
|
|
|
|
};
|
|
|
|
|
2006-08-19 17:15:18 +02:00
|
|
|
#endif /* amd64-linux-tdep.h */
|