archparam-x86_64.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright 2003 PathScale, Inc.
  3. *
  4. * Licensed under the GPL
  5. */
  6. #ifndef __UM_ARCHPARAM_X86_64_H
  7. #define __UM_ARCHPARAM_X86_64_H
  8. #include <asm/user.h>
  9. #define ELF_PLATFORM "x86_64"
  10. #define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
  11. typedef unsigned long elf_greg_t;
  12. typedef struct { } elf_fpregset_t;
  13. #define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
  14. typedef elf_greg_t elf_gregset_t[ELF_NGREG];
  15. #define ELF_DATA ELFDATA2LSB
  16. #define ELF_ARCH EM_X86_64
  17. #define ELF_PLAT_INIT(regs, load_addr) do { \
  18. PT_REGS_RBX(regs) = 0; \
  19. PT_REGS_RCX(regs) = 0; \
  20. PT_REGS_RDX(regs) = 0; \
  21. PT_REGS_RSI(regs) = 0; \
  22. PT_REGS_RDI(regs) = 0; \
  23. PT_REGS_RBP(regs) = 0; \
  24. PT_REGS_RAX(regs) = 0; \
  25. PT_REGS_R8(regs) = 0; \
  26. PT_REGS_R9(regs) = 0; \
  27. PT_REGS_R10(regs) = 0; \
  28. PT_REGS_R11(regs) = 0; \
  29. PT_REGS_R12(regs) = 0; \
  30. PT_REGS_R13(regs) = 0; \
  31. PT_REGS_R14(regs) = 0; \
  32. PT_REGS_R15(regs) = 0; \
  33. } while (0)
  34. #ifdef TIF_IA32 /* XXX */
  35. clear_thread_flag(TIF_IA32);
  36. #endif
  37. /* No user-accessible fixmap addresses, i.e. vsyscall */
  38. #define FIXADDR_USER_START 0
  39. #define FIXADDR_USER_END 0
  40. #endif
  41. /*
  42. * Overrides for Emacs so that we follow Linus's tabbing style.
  43. * Emacs will notice this stuff at the end of the file and automatically
  44. * adjust the settings for this buffer only. This must remain at the end
  45. * of the file.
  46. * ---------------------------------------------------------------------------
  47. * Local variables:
  48. * c-file-style: "linux"
  49. * End:
  50. */