FreeCalypso > hg > freecalypso-sw
changeset 364:4a78dc764229
OSL: os_drv.c started
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Thu, 29 May 2014 00:01:26 +0000 |
parents | 28a2965df6aa |
children | 46bdf41cb019 |
files | gsm-fw/gpf/osl/Makefile gsm-fw/gpf/osl/os_drv.c |
diffstat | 2 files changed, 31 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/gsm-fw/gpf/osl/Makefile Wed May 28 22:51:59 2014 +0000 +++ b/gsm-fw/gpf/osl/Makefile Thu May 29 00:01:26 2014 +0000 @@ -4,7 +4,7 @@ XOPTS= -DRUN_FLASH -mthumb IOBJS= os_com_ir.o os_pro_ir.o -XOBJS= os_com_fl.o os_isr.o os_pro_fl.o +XOBJS= os_com_fl.o os_drv.o os_isr.o os_pro_fl.o all: ${IOBJS} ${XOBJS}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/gpf/osl/os_drv.c Thu May 29 00:01:26 2014 +0000 @@ -0,0 +1,30 @@ +/* + * This C module is a reconstruction based on the disassembly of + * os_drv.obj in frame_na7_db_fl.lib from the Leonardo package. + */ + +/* set of included headers from COFF symtab: */ +#include "gpfconf.h" /* FreeCalypso addition */ +#include "../../nucleus/nucleus.h" +#include "typedefs.h" +#include "gdi.h" +#include "os.h" + +typedef unsigned char u_char; + +extern OS_HANDLE os_ext_pool_handle; + +static u_char *HISR_Stack; +static T_DRV_SIGNAL *SignalID; +static void (*DrvCallback)(T_DRV_SIGNAL *); +static NU_HISR CallBack_HISR; + +GLOBAL LONG +os_ExecuteCallback(OS_HANDLE Caller, void (*Callback)(T_DRV_SIGNAL *), + T_DRV_SIGNAL *Signal) +{ + DrvCallback = Callback; + SignalID = Signal; + NU_Activate_HISR(&CallBack_HISR); + return(OS_OK); +}