arg_t u_argn3; /* Fourth C argument */
void * u_isp; /* Value of initial sp (argv) */
usize_t u_top; /* Top of memory for this task */
+ uaddr_t u_break; /* Top of data space */
int (*u_sigvec[NSIGS])(int); /* Array of signal vectors */
/**** If you change this top section, also update offsets in "kernel.def" ****/
uint16_t u_gid;
uint16_t u_euid;
uint16_t u_egid;
- uaddr_t u_break; /* Top of data space */
char u_name[8]; /* Name invoked with */
clock_t u_utime; /* Elapsed ticks in user mode */
clock_t u_stime; /* Ticks in system mode */
U_DATA__U_ARGN3 .equ (U_DATA+24) ; uint16_t
U_DATA__U_ISP .equ (U_DATA+26) ; void * (initial stack pointer when _exec()ing)
U_DATA__U_TOP .equ (U_DATA+28) ; uint16_t
-U_DATA__U_SIGVEC .equ (U_DATA+30) ; table of function pointers (void *)
+U_DATA__U_BREAK .equ (U_DATA+30) ; uint16_t
+U_DATA__U_SIGVEC .equ (U_DATA+32) ; table of function pointers (void *)
; Keep these in sync with struct p_tab!!
P_TAB__P_STATUS_OFFSET .equ 0
U_DATA__U_ARGN3 .set (U_DATA+24) ; uint16_t
U_DATA__U_ISP .set (U_DATA+26) ; void * (initial stack pointer when _exec()ing)
U_DATA__U_TOP .set (U_DATA+28) ; uint16_t
-U_DATA__U_SIGVEC .set (U_DATA+30) ; table of function pointers (void *)
+U_DATA__U_BREAK .set (U_DATA+30) ; uint16_t
+U_DATA__U_SIGVEC .set (U_DATA+32) ; table of function pointers (void *)
; Keep these in sync with struct p_tab!!
P_TAB__P_STATUS_OFFSET .set 0
U_DATA__U_ARGN3 equ (U_DATA+24) ; uint16_t
U_DATA__U_ISP equ (U_DATA+26) ; void * (initial stack pointer when _exec()ing)
U_DATA__U_TOP equ (U_DATA+28) ; uint16_t
-U_DATA__U_SIGVEC equ (U_DATA+30) ; table of function pointers (void *)
+U_DATA__U_BREAK equ (U_DATA+30) ; uint16_t
+U_DATA__U_SIGVEC equ (U_DATA+32) ; table of function pointers (void *)
; Keep these in sync with struct p_tab!!
P_TAB__P_STATUS_OFFSET equ 0