Subversion Repositories HelenOS

Rev

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

Rev 921 Rev 962
Line 30... Line 30...
30
#include <arch/stack.h>
30
#include <arch/stack.h>
31
#include <arch/register.h>
31
#include <arch/register.h>
32
#include <arch/mm/page.h>
32
#include <arch/mm/page.h>
33
#include <align.h>
33
#include <align.h>
34
 
34
 
35
#define STACK_ITEMS		18
35
#define STACK_ITEMS		19
36
#define STACK_FRAME_SIZE	ALIGN_UP((STACK_ITEMS*STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE, STACK_ALIGNMENT)
36
#define STACK_FRAME_SIZE	ALIGN_UP((STACK_ITEMS*STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE, STACK_ALIGNMENT)
37
 
37
 
38
#if (STACK_ITEMS % 2 == 0)
38
#if (STACK_ITEMS % 2 == 0)
39
#	define STACK_FRAME_BIAS	8
39
#	define STACK_FRAME_BIAS	8
40
#else
40
#else
Line 128... Line 128...
128
	/*
128
	/*
129
	 * From now on, if this is break_instruction handler, p6 is true and p5 is false.
129
	 * From now on, if this is break_instruction handler, p6 is true and p5 is false.
130
	 * Otherwise p6 is false and p5 is true.
130
	 * Otherwise p6 is false and p5 is true.
131
	 * Note that p5 is a preserved predicate register and we make use of it.
131
	 * Note that p5 is a preserved predicate register and we make use of it.
132
	 */
132
	 */
133
	
133
 
-
 
134
(p6)	st8 [r31] = r36, -8 ;;		/* save in4 */	
134
(p6)	st8 [r31] = r35, -8 ;;		/* save in3 */
135
(p6)	st8 [r31] = r35, -8 ;;		/* save in3 */
135
(p6) 	st8 [r31] = r34, -8 ;;		/* save in2 */
136
(p6) 	st8 [r31] = r34, -8 ;;		/* save in2 */
136
(p6)	st8 [r31] = r33, -8 ;;		/* save in1 */
137
(p6)	st8 [r31] = r33, -8 ;;		/* save in1 */
137
(p6)	st8 [r31] = r32, -8 ;;		/* save in0 */
138
(p6)	st8 [r31] = r32, -8 ;;		/* save in0 */
138
(p5)	add r31 = -32, r31 ;;
139
(p5)	add r31 = -40, r31 ;;
139
    
140
    
140
	st8 [r31] = r30, -8 ;;		/* save old stack pointer */ 
141
	st8 [r31] = r30, -8 ;;		/* save old stack pointer */ 
141
	
142
	
142
	st8 [r31] = r29, -8 ;;		/* save predicate registers */
143
	st8 [r31] = r29, -8 ;;		/* save predicate registers */
143
 
144