FreeCalypso > hg > fc-magnetite
view src/gpf2/osl/os_evt.c @ 548:9f191ca0051f
implemented ability to enable -D_FF_RV_EXIST_ in TIF library
It is not clear if this quirk is intentional or not, but TI's production
version of tif_na7_db_{fl,ir}.lib was built without -D_FF_RV_EXIST_,
and as a result, the code that is present in the source for the
TRACEMASK_IN_FFS feature was not compiled in, making the feature unavailable.
The present change makes it possible to re-enable this code (when TIF
libraries are being rebuilt from source rather than used as blobs)
by setting TRACEMASK_IN_FFS=1 on the configure line.
The new code is NOT enabled by default: it is not a change which we can
justify inflicting on our production firmwares.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 18 Nov 2018 08:09:17 +0000 |
| parents | 91e8dac34ada |
| children |
line wrap: on
line source
/* * This C module is a reconstruction based on the disassembly of * os_evt.obj in frame_na7_db_fl.lib from the Leonardo package. */ /* set of included headers from COFF symtab: */ #include <stdio.h> #include <string.h> #include "gpfconf.h" /* FreeCalypso addition */ #include "../../nucleus/nucleus.h" #include "typedefs.h" #include "os.h" #include "gdi.h" #include "os_types.h" #include "os_glob.h" extern T_OS_EVTGRP_TABLE_ENTRY EvtGrpTable[]; GLOBAL LONG os_SetEvents(OS_HANDLE evt_grp_handle, unsigned event_flags) { if (!EvtGrpTable[evt_grp_handle].Name[0]) return(OS_ERROR); if (NU_Set_Events(&EvtGrpTable[evt_grp_handle].EvtGrp, event_flags, NU_OR) == NU_SUCCESS) return(OS_OK); else return(OS_ERROR); } GLOBAL LONG os_RetrieveEvents(OS_HANDLE evt_grp_handle, unsigned event_flags, char option, unsigned *retrieved_events, unsigned suspend) { if (!EvtGrpTable[evt_grp_handle].Name[0]) return(OS_ERROR); if (NU_Retrieve_Events(&EvtGrpTable[evt_grp_handle].EvtGrp, event_flags, option, retrieved_events, suspend) == NU_SUCCESS) return(OS_OK); else return(OS_ERROR); } GLOBAL LONG os_GetEventGroupHandle(char *evt_grp_name, OS_HANDLE *evt_grp_handle) { int idx; for (idx = 0; idx <= MaxEventGroups; idx++) { if (!EvtGrpTable[idx].Name[0]) break; if (!strncmp(EvtGrpTable[idx].Name, evt_grp_name, RESOURCE_NAMELEN)) break; } if (idx > MaxEventGroups || !EvtGrpTable[idx].Name[0]) { *evt_grp_handle = -1; return(OS_ERROR); } *evt_grp_handle = idx; return(OS_OK); } GLOBAL LONG os_EventGroupInformation(OS_HANDLE evt_grp_handle, char *Name, unsigned *mask_evt, unsigned *tasks_waiting, OS_HANDLE *first_task) { if (!EvtGrpTable[evt_grp_handle].Name[0]) return(OS_ERROR); if (NU_Event_Group_Information(&EvtGrpTable[evt_grp_handle].EvtGrp, Name, mask_evt, tasks_waiting, first_task) == NU_SUCCESS) return(OS_OK); else return(OS_ERROR); }
