From 08b694b3c456368bc7af58f28001019414661b23 Mon Sep 17 00:00:00 2001 From: Tormod Volden Date: Thu, 4 Jun 2015 09:40:44 +0200 Subject: [PATCH] Access udata "break" member from asm Signed-off-by: Tormod Volden --- Kernel/include/kernel.h | 2 +- Kernel/kernel.def | 3 ++- Kernel/kernel02.def | 3 ++- Kernel/kernel09.def | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Kernel/include/kernel.h b/Kernel/include/kernel.h index 288bf3b3..4220b587 100644 --- a/Kernel/include/kernel.h +++ b/Kernel/include/kernel.h @@ -381,6 +381,7 @@ typedef struct u_data { 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" ****/ @@ -397,7 +398,6 @@ typedef struct u_data { 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 */ diff --git a/Kernel/kernel.def b/Kernel/kernel.def index b2987db4..1bf50bb4 100644 --- a/Kernel/kernel.def +++ b/Kernel/kernel.def @@ -16,7 +16,8 @@ U_DATA__U_ARGN2 .equ (U_DATA+22) ; uint16_t 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 diff --git a/Kernel/kernel02.def b/Kernel/kernel02.def index 35d31f44..32c64133 100644 --- a/Kernel/kernel02.def +++ b/Kernel/kernel02.def @@ -16,7 +16,8 @@ U_DATA__U_ARGN2 .set (U_DATA+22) ; uint16_t 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 diff --git a/Kernel/kernel09.def b/Kernel/kernel09.def index d6eeabb0..a627a847 100644 --- a/Kernel/kernel09.def +++ b/Kernel/kernel09.def @@ -16,7 +16,8 @@ U_DATA__U_ARGN2 equ (U_DATA+22) ; uint16_t 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 -- 2.34.1