diff options
Diffstat (limited to 'contrib/syslinux-4.02/gpxe/src/arch/x86_64/include')
13 files changed, 246 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/byteswap.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/byteswap.h new file mode 100644 index 0000000..9ed85e8 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/byteswap.h @@ -0,0 +1,22 @@ +#ifndef _BITS_BYTESWAP_H +#define _BITS_BYTESWAP_H + +static inline __attribute__ (( always_inline, const )) uint16_t +__bswap_variable_16 ( uint16_t x ) { + __asm__ ( "xchgb %b0,%h0" : "=Q" ( x ) : "0" ( x ) ); + return x; +} + +static inline __attribute__ (( always_inline, const )) uint32_t +__bswap_variable_32 ( uint32_t x ) { + __asm__ ( "bswapl %k0" : "=r" ( x ) : "0" ( x ) ); + return x; +} + +static inline __attribute__ (( always_inline, const )) uint64_t +__bswap_variable_64 ( uint64_t x ) { + __asm__ ( "bswapq %q0" : "=r" ( x ) : "0" ( x ) ); + return x; +} + +#endif /* _BITS_BYTESWAP_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/compiler.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/compiler.h new file mode 100644 index 0000000..51a7eaa --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/compiler.h @@ -0,0 +1,14 @@ +#ifndef _BITS_COMPILER_H +#define _BITS_COMPILER_H + +#ifndef ASSEMBLY + +/** Declare a function with standard calling conventions */ +#define __asmcall __attribute__ (( regparm(0) )) + +/** Declare a function with libgcc implicit linkage */ +#define __libgcc + +#endif /* ASSEMBLY */ + +#endif /* _BITS_COMPILER_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/endian.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/endian.h new file mode 100644 index 0000000..413e702 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/endian.h @@ -0,0 +1,6 @@ +#ifndef ETHERBOOT_BITS_ENDIAN_H +#define ETHERBOOT_BITS_ENDIAN_H + +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* ETHERBOOT_BITS_ENDIAN_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/errfile.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/errfile.h new file mode 100644 index 0000000..dcda26b --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/errfile.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ERRFILE_H +#define _BITS_ERRFILE_H + +/** + * @addtogroup errfile Error file identifiers + * @{ + */ + +/** @} */ + +#endif /* _BITS_ERRFILE_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/io.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/io.h new file mode 100644 index 0000000..921fdcc --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/io.h @@ -0,0 +1,10 @@ +#ifndef _BITS_IO_H +#define _BITS_IO_H + +/** @file + * + * x86_64-specific I/O API implementations + * + */ + +#endif /* _BITS_IO_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/nap.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/nap.h new file mode 100644 index 0000000..0a0c8a2 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/nap.h @@ -0,0 +1,12 @@ +#ifndef _BITS_NAP_H +#define _BITS_NAP_H + +/** @file + * + * x86_64-specific CPU sleeping API implementations + * + */ + +#include <gpxe/efi/efix86_nap.h> + +#endif /* _BITS_MAP_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/smbios.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/smbios.h new file mode 100644 index 0000000..2f0118d --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/smbios.h @@ -0,0 +1,10 @@ +#ifndef _BITS_SMBIOS_H +#define _BITS_SMBIOS_H + +/** @file + * + * i386-specific SMBIOS API implementations + * + */ + +#endif /* _BITS_SMBIOS_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/stdint.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/stdint.h new file mode 100644 index 0000000..9eb72e9 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/stdint.h @@ -0,0 +1,21 @@ +#ifndef _BITS_STDINT_H +#define _BITS_STDINT_H + +typedef __SIZE_TYPE__ size_t; +typedef signed long ssize_t; +typedef signed long off_t; + +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +typedef unsigned long long uint64_t; + +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed int int32_t; +typedef signed long long int64_t; + +typedef unsigned long physaddr_t; +typedef unsigned long intptr_t; + +#endif /* _BITS_STDINT_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/timer.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/timer.h new file mode 100644 index 0000000..dfa6c27 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/timer.h @@ -0,0 +1,10 @@ +#ifndef _BITS_TIMER_H +#define _BITS_TIMER_H + +/** @file + * + * x86_64-specific timer API implementations + * + */ + +#endif /* _BITS_TIMER_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/uaccess.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/uaccess.h new file mode 100644 index 0000000..4558292 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/uaccess.h @@ -0,0 +1,10 @@ +#ifndef _BITS_UACCESS_H +#define _BITS_UACCESS_H + +/** @file + * + * x86_64-specific user access API implementations + * + */ + +#endif /* _BITS_UACCESS_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/umalloc.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/umalloc.h new file mode 100644 index 0000000..12bf949 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/bits/umalloc.h @@ -0,0 +1,10 @@ +#ifndef _BITS_UMALLOC_H +#define _BITS_UMALLOC_H + +/** @file + * + * x86_64-specific user memory allocation API implementations + * + */ + +#endif /* _BITS_UMALLOC_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/gdbmach.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/gdbmach.h new file mode 100644 index 0000000..fcf8e94 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/gdbmach.h @@ -0,0 +1,51 @@ +#ifndef GDBMACH_H +#define GDBMACH_H + +/** @file + * + * GDB architecture specifics + * + * This file declares functions for manipulating the machine state and + * debugging context. + * + */ + +#include <stdint.h> + +typedef unsigned long gdbreg_t; + +/* The register snapshot, this must be in sync with interrupt handler and the + * GDB protocol. */ +enum { + // STUB: don't expect this to work! + GDBMACH_EIP, + GDBMACH_EFLAGS, + GDBMACH_NREGS, + GDBMACH_SIZEOF_REGS = GDBMACH_NREGS * sizeof ( gdbreg_t ) +}; + +/* Breakpoint types */ +enum { + GDBMACH_BPMEM, + GDBMACH_BPHW, + GDBMACH_WATCH, + GDBMACH_RWATCH, + GDBMACH_AWATCH, +}; + +static inline void gdbmach_set_pc ( gdbreg_t *regs, gdbreg_t pc ) { + regs [ GDBMACH_EIP ] = pc; +} + +static inline void gdbmach_set_single_step ( gdbreg_t *regs, int step ) { + regs [ GDBMACH_EFLAGS ] &= ~( 1 << 8 ); /* Trace Flag (TF) */ + regs [ GDBMACH_EFLAGS ] |= ( step << 8 ); +} + +static inline void gdbmach_breakpoint ( void ) { + __asm__ __volatile__ ( "int $3\n" ); +} + +extern int gdbmach_set_breakpoint ( int type, unsigned long addr, size_t len, int enable ); + +#endif /* GDBMACH_H */ diff --git a/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/limits.h b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/limits.h new file mode 100644 index 0000000..8cf87b4 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/arch/x86_64/include/limits.h @@ -0,0 +1,59 @@ +#ifndef LIMITS_H +#define LIMITS_H 1 + +/* Number of bits in a `char' */ +#define CHAR_BIT 8 + +/* Minimum and maximum values a `signed char' can hold */ +#define SCHAR_MIN (-128) +#define SCHAR_MAX 127 + +/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */ +#define UCHAR_MAX 255 + +/* Minimum and maximum values a `char' can hold */ +#define CHAR_MIN SCHAR_MIN +#define CHAR_MAX SCHAR_MAX + +/* Minimum and maximum values a `signed short int' can hold */ +#define SHRT_MIN (-32768) +#define SHRT_MAX 32767 + +/* Maximum value an `unsigned short' can hold. (Minimum is 0.) */ +#define USHRT_MAX 65535 + + +/* Minimum and maximum values a `signed int' can hold */ +#define INT_MIN (-INT_MAX - 1) +#define INT_MAX 2147483647 + +/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ +#define UINT_MAX 4294967295U + + +/* Minimum and maximum values a `signed int' can hold */ +#define INT_MAX 2147483647 +#define INT_MIN (-INT_MAX - 1) + + +/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ +#define UINT_MAX 4294967295U + + +/* Minimum and maximum values a `signed long' can hold */ +#define LONG_MAX 9223372036854775807L +#define LONG_MIN (-LONG_MAX - 1L) + +/* Maximum value an `unsigned long' can hold. (Minimum is 0.) */ +#define ULONG_MAX 18446744073709551615UL + +/* Minimum and maximum values a `signed long long' can hold */ +#define LLONG_MAX 9223372036854775807LL +#define LLONG_MIN (-LONG_MAX - 1LL) + + +/* Maximum value an `unsigned long long' can hold. (Minimum is 0.) */ +#define ULLONG_MAX 18446744073709551615ULL + + +#endif /* LIMITS_H */ |