Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/include/context.h

    r7397c73 rdc0b964  
    2727 */
    2828
    29 /** @addtogroup amd64   
     29/** @addtogroup amd64
    3030 * @{
    3131 */
     
    3838#ifdef KERNEL
    3939
    40 #include <arch/types.h>
     40#include <typedefs.h>
    4141
    4242/* According to ABI the stack MUST be aligned on
     
    4444 * panic sooner or later
    4545 */
    46 #define SP_DELTA     16
     46#define SP_DELTA  16
     47
     48#define context_set(c, _pc, stack, size) \
     49        do { \
     50                (c)->pc = (uintptr_t) (_pc); \
     51                (c)->sp = ((uintptr_t) (stack)) + (size) - SP_DELTA; \
     52                (c)->rbp = 0; \
     53        } while (0)
    4754
    4855#endif /* KERNEL */
     
    5259 */
    5360typedef struct {
    54     uintptr_t sp;
    55     uintptr_t pc;
    56    
    57     uint64_t rbx;
    58     uint64_t rbp;
    59 
    60     uint64_t r12;
    61     uint64_t r13;
    62     uint64_t r14;
    63     uint64_t r15;
    64 
    65     ipl_t ipl;
     61        uintptr_t sp;
     62        uintptr_t pc;
     63       
     64        uint64_t rbx;
     65        uint64_t rbp;
     66       
     67        uint64_t r12;
     68        uint64_t r13;
     69        uint64_t r14;
     70        uint64_t r15;
     71       
     72        ipl_t ipl;
    6673} __attribute__ ((packed)) context_t;
    6774
Note: See TracChangeset for help on using the changeset viewer.