Home | History | Annotate | Line # | Download | only in include
proc.h revision 1.6.58.3
      1  1.6.58.3  pgoyette /*	$NetBSD: proc.h,v 1.6.58.3 2019/01/18 08:50:17 pgoyette Exp $	*/
      2       1.6     rmind 
      3       1.1    cherry #ifndef _IA64_PROC_H_
      4       1.1    cherry #define _IA64_PROC_H_
      5       1.1    cherry 
      6       1.1    cherry #include <machine/frame.h>
      7       1.4     rmind 
      8       1.1    cherry /*
      9  1.6.58.1  pgoyette  * Process u-area is organised as follows:
     10  1.6.58.1  pgoyette  *
     11  1.6.58.1  pgoyette  *   -------------------------------------------
     12  1.6.58.1  pgoyette  *  |                      |         |    |     |
     13  1.6.58.1  pgoyette  *  |  bspstore       sp   | 16bytes | TF | PCB |
     14  1.6.58.1  pgoyette  *  |  ---->        <---   |         |    |     |
     15  1.6.58.1  pgoyette  *   -------------------------------------------
     16  1.6.58.1  pgoyette  *              -----> Higher Addresses
     17  1.6.58.1  pgoyette  */
     18  1.6.58.1  pgoyette 
     19  1.6.58.1  pgoyette /*
     20       1.2     skrll  * Machine-dependent part of the lwp structure for ia64
     21       1.1    cherry  */
     22       1.1    cherry struct mdlwp {
     23       1.1    cherry 	u_long	md_flags;
     24       1.1    cherry 	struct	trapframe *md_tf;	/* trap/syscall registers */
     25       1.3     kochi 	__volatile int md_astpending;	/* AST pending for this process */
     26  1.6.58.1  pgoyette 	void *user_stack;
     27  1.6.58.1  pgoyette 	uint64_t user_stack_size;
     28       1.1    cherry };
     29       1.1    cherry 
     30       1.1    cherry /*
     31       1.1    cherry  * md_flags usage
     32       1.1    cherry  * --------------
     33       1.1    cherry  * XXX:
     34       1.1    cherry  */
     35       1.1    cherry 
     36       1.1    cherry struct mdproc {
     37       1.1    cherry   /* XXX: Todo */
     38       1.5  kiyohara 	void	(*md_syscall)(struct lwp *, u_int64_t, struct trapframe *);
     39       1.1    cherry 					/* Syscall handling function */
     40       1.1    cherry };
     41       1.1    cherry 
     42  1.6.58.1  pgoyette #define UAREA_PCB_OFFSET	(USPACE - sizeof(struct pcb))
     43  1.6.58.1  pgoyette #define UAREA_TF_OFFSET		(UAREA_PCB_OFFSET - sizeof(struct trapframe))
     44  1.6.58.3  pgoyette #define UAREA_SP_OFFSET		(UAREA_TF_OFFSET - 16)
     45  1.6.58.1  pgoyette #define UAREA_BSPSTORE_OFFSET	(0)
     46  1.6.58.3  pgoyette #define UAREA_STACK_SIZE	(USPACE - 16 - sizeof(struct trapframe) - sizeof(struct pcb))
     47  1.6.58.1  pgoyette 
     48       1.1    cherry #endif /* _IA64_PROC_H_ */
     49