Пример #1
0
static
DebugHelper_t *DebugHelper_init( s32 mode, u16 port)
{
	s32	sock;
	DebugHelper_t *helper;

	sock = helper_setup_socket( port);
	if ( sock < 0 ) {
		return NULL;
	}
	helper = (DebugHelper_t*)malloc( sizeof( DebugHelper_t));
	if (helper==NULL){
		return helper;
	}

	memset(helper, 0, sizeof( DebugHelper_t));

	LWP_SemInit( &helper->requestReadySema, 0, 5);
	LWP_SemInit( &helper->answerReadySema, 0, 5);

	helper->code = HELPER_CODE_NONE;

	helper->listensock = sock;
	helper->clientsock = -1;

	helper->thread_handle = (lwp_t)NULL;

	DEBUG_PRINT((NULL,0, "helper object created, listensock=%d.\n", helper->listensock));
	return helper;
}
Пример #2
0
EXPORT void CALL RomOpen()
{
#ifdef THREADED_AUDIO
	// Create our semaphores and start/resume the audio thread; reset the buffer index
	LWP_SemInit(&buffer_full, 0, NUM_BUFFERS);
	LWP_SemInit(&buffer_empty, NUM_BUFFERS, NUM_BUFFERS);
	LWP_SemInit(&audio_free, 0, 1);
	LWP_SemInit(&first_audio, 0, 1);
	thread_running = 0;
	LWP_CreateThread(&audio_thread, (void*)play_buffer, NULL, audio_stack, AUDIO_STACK_SIZE, AUDIO_PRIORITY);
	AUDIO_RegisterDMACallback(done_playing);
	thread_buffer = which_buffer = 0;
	audio_paused = 1;
#endif
}
Пример #3
0
void
mem_init(void)
{
  struct mem *mem;

  memset(ram, 0, MEM_SIZE);
  mem = (struct mem *)ram;
  mem->next = MEM_SIZE;
  mem->prev = 0;
  mem->used = 0;
  ram_end = (struct mem *)&ram[MEM_SIZE];
  ram_end->used = 1;
  ram_end->next = MEM_SIZE;
  ram_end->prev = MEM_SIZE;

  LWP_SemInit(&mem_sem,1,1);

  lfree = (struct mem *)ram;

#if MEM_STATS
  lwip_stats.mem.avail = MEM_SIZE;
#endif /* MEM_STATS */
}