Subversion Repositories HelenOS

Rev

Rev 1949 | Rev 2089 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright (c) 2005 Martin Decky
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  *
  9.  * - Redistributions of source code must retain the above copyright
  10.  *   notice, this list of conditions and the following disclaimer.
  11.  * - Redistributions in binary form must reproduce the above copyright
  12.  *   notice, this list of conditions and the following disclaimer in the
  13.  *   documentation and/or other materials provided with the distribution.
  14.  * - The name of the author may not be used to endorse or promote products
  15.  *   derived from this software without specific prior written permission.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  */
  28.  
  29. #ifndef KERN_mips32_CONTEXT_OFFSET_H_
  30. #define KERN_mips32_CONTEXT_OFFSET_H_
  31.  
  32. #define OFFSET_SP      0x0
  33. #define OFFSET_PC      0x4
  34. #define OFFSET_S0      0x8
  35. #define OFFSET_S1      0xc
  36. #define OFFSET_S2      0x10
  37. #define OFFSET_S3      0x14
  38. #define OFFSET_S4      0x18
  39. #define OFFSET_S5      0x1c
  40. #define OFFSET_S6      0x20
  41. #define OFFSET_S7      0x24
  42. #define OFFSET_S8      0x28
  43. #define OFFSET_GP      0x2c
  44.  
  45. /* struct istate */
  46. #define EOFFSET_AT     0x0
  47. #define EOFFSET_V0     0x4
  48. #define EOFFSET_V1     0x8
  49. #define EOFFSET_A0     0xc
  50. #define EOFFSET_A1     0x10
  51. #define EOFFSET_A2     0x14
  52. #define EOFFSET_A3     0x18
  53. #define EOFFSET_T0     0x1c
  54. #define EOFFSET_T1     0x20
  55. #define EOFFSET_T2     0x24
  56. #define EOFFSET_T3     0x28
  57. #define EOFFSET_T4     0x2c
  58. #define EOFFSET_T5     0x30
  59. #define EOFFSET_T6     0x34
  60. #define EOFFSET_T7     0x38
  61. #define EOFFSET_S0     0x3c
  62. #define EOFFSET_S1     0x40
  63. #define EOFFSET_S2     0x44
  64. #define EOFFSET_S3     0x48
  65. #define EOFFSET_S4     0x4c
  66. #define EOFFSET_S5     0x50
  67. #define EOFFSET_S6     0x54
  68. #define EOFFSET_S7     0x58
  69. #define EOFFSET_T8     0x5c
  70. #define EOFFSET_T9     0x60
  71. #define EOFFSET_GP     0x64
  72. #define EOFFSET_SP     0x68
  73. #define EOFFSET_S8     0x6c
  74. #define EOFFSET_RA     0x70
  75. #define EOFFSET_LO     0x74
  76. #define EOFFSET_HI     0x78
  77. #define EOFFSET_STATUS 0x7c
  78. #define EOFFSET_EPC    0x80
  79. #define EOFFSET_K1     0x84
  80. #define REGISTER_SPACE 136
  81.  
  82. #endif
  83.