Subversion Repositories HelenOS-historic

Rev

Rev 534 | Rev 650 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 534 Rev 564
Line 28... Line 28...
28
 
28
 
29
#ifndef __sparc64_CONTEXT_H__
29
#ifndef __sparc64_CONTEXT_H__
30
#define __sparc64_CONTEXT_H__
30
#define __sparc64_CONTEXT_H__
31
 
31
 
32
#ifndef __sparc64_STACK_H__
32
#ifndef __sparc64_STACK_H__
33
#include <arch/stack.h>
33
# include <arch/stack.h>
34
#endif
34
#endif
35
 
35
 
36
#ifndef __sparc64_TYPES_H__
36
#ifndef __sparc64_TYPES_H__
37
# include <arch/types.h>
37
# include <arch/types.h>
38
#endif
38
#endif
Line 47... Line 47...
47
#undef context_set
47
#undef context_set
48
#endif
48
#endif
49
 
49
 
50
#define context_set(c, _pc, stack, size)                                \
50
#define context_set(c, _pc, stack, size)                                \
51
        (c)->pc = ((__address) _pc) - 8;                                \
51
        (c)->pc = ((__address) _pc) - 8;                                \
52
        (c)->sp = ((__address) stack) + ALIGN((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);   \
52
        (c)->sp = ((__address) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);    \
53
    (c)->fp = -STACK_BIAS
53
    (c)->fp = -STACK_BIAS
54
   
54
   
55
 
55
 
56
/*
56
/*
57
 * Only save registers that must be preserved across
57
 * Only save registers that must be preserved across