sigcontext.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright 2010 Tilera Corporation. All Rights Reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation, version 2.
  7. *
  8. * This program is distributed in the hope that it will be useful, but
  9. * WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  11. * NON INFRINGEMENT. See the GNU General Public License for
  12. * more details.
  13. */
  14. #ifndef _ASM_TILE_SIGCONTEXT_H
  15. #define _ASM_TILE_SIGCONTEXT_H
  16. /* Don't pollute the namespace since <signal.h> includes this file. */
  17. #define __need_int_reg_t
  18. #include <arch/abi.h>
  19. /*
  20. * struct sigcontext has the same shape as struct pt_regs,
  21. * but is simplified since we know the fault is from userspace.
  22. */
  23. struct sigcontext {
  24. __uint_reg_t gregs[53]; /* General-purpose registers. */
  25. __uint_reg_t tp; /* Aliases gregs[TREG_TP]. */
  26. __uint_reg_t sp; /* Aliases gregs[TREG_SP]. */
  27. __uint_reg_t lr; /* Aliases gregs[TREG_LR]. */
  28. __uint_reg_t pc; /* Program counter. */
  29. __uint_reg_t ics; /* In Interrupt Critical Section? */
  30. __uint_reg_t faultnum; /* Fault number. */
  31. __uint_reg_t pad[5];
  32. };
  33. #endif /* _ASM_TILE_SIGCONTEXT_H */