xref: /utopia/UTPA2-700.0.x/modules/msos/utopia_core/ecos/utopia_module.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 #include "MsTypes.h"
2 #include "utopia_module.h"
3 #include "utopia_dapi.h"
4 #include "MsOS.h"
5 #include "utopia_private.h"
6 #include <stdio.h>
7 
8 
_UtopiaModule_Ioctl(void ** pInstant,MS_U32 u32Cmd,MS_U32 * pu32Args)9 MS_U32 _UtopiaModule_Ioctl(void** pInstant, MS_U32 u32Cmd, MS_U32* pu32Args)
10 {
11     switch(u32Cmd)
12     {
13         case CHANGE_DEBUG_LEVEL_BY_MODULE:
14         case HOOK_MODULE_IOCTL_BY_MODULE:
15         case HOOK_MODULE_CMD_BY_MODULE:
16         case DUMP_MODULE_HW_REGISTER:
17         case DUMP_MODULE_STRUCTURE:
18         case DUMP_INSTANT_STRUCTURE:
19         case DUMP2MEMORY_MODULE_HW_REGISTER:
20         case DUMP2MEMORY_MODULE_STRUCTURE:
21         case DUMP2MEMORY_INSTANT_STRUCTURE:
22         case SHOW_RESOURCE_STATUS_BY_MODULE:
23 			;
24     }
25 	return 0;
26 }
27 
28 extern char moduleNames[][40];
29 #define UTOPIA_SEM_START 0x4427 // joe's phone number
UTOPIARegisterToUtopia(FUtopiaOpen ModuleType)30 MS_U32 UTOPIARegisterToUtopia(FUtopiaOpen ModuleType)
31 {
32 	MS_U32 u32ShmId, u32Addr, u32BufSize;
33 
34 	// return 0 for first initiaization, 1 for repeated initialization
35 	MS_U32 bInitialized = MsOS_SHM_GetId((MS_U8*)"sem_key_start", sizeof(MS_U32), &u32ShmId, &u32Addr, &u32BufSize, MSOS_SHM_QUERY);
36 
37 	void* pUtopiaModule = NULL;
38 	UtopiaModuleCreate(MODULE_UTOPIA, 0, &pUtopiaModule);
39 	UtopiaModuleRegister(pUtopiaModule);
40 
41 	if (!bInitialized)
42 	{
43 		MsOS_SHM_GetId((MS_U8*)"sem_key_start", sizeof(MS_U32), &u32ShmId, &u32Addr, &u32BufSize, MSOS_SHM_CREATE);
44 		*(MS_U32*)u32Addr = UTOPIA_SEM_START;
45 
46         //printf("shm_info_table[%d] = sem_key_start@%p\n", (int)u32ShmId, (void*)u32Addr);
47 	}
48 	return 0;
49 }
50