Example #1
0
static DWORD Psp_IRQ_SystemTimer(PVOID StartContext)
{
	while(1) {
		_asm cli

		m_TickCount++; /* increase tick count */
		PspSetupTaskSWEnv(); /* task-switching */
        WRITE_PORT_UCHAR((PUCHAR)0x20, 0x20); /* send EOI */

		_asm iretd
	}

	return 0;
}
Example #2
0
//타이머 인터럽트 핸들러 함수
static DWORD Psp_IRQ_SystemTimer(PVOID StartContext)
{
	while(1) {
		_asm cli

		m_TickCount++;
		PspSetupTaskSWEnv();
		WRITE_PORT_UCHAR((PUCHAR)0x20, 0x20);

		_asm iretd
	}

	return 0;
}
Example #3
0
static DWORD PspSoftTaskSW(PVOID StartContext)
{
	int cnt=0, pos=0;
	char *addr=(char *)TS_WATCHDOG_CLOCK_POS, status[] = {'-', '\\', '|', '/', '-', '\\', '|', '/'};

	while(1) {
		_asm cli

		/* draw alalog watch-dog clock */
		if(cnt++ >= TIMEOUT_PER_SECOND) {
			if(++pos > 7) pos = 0;
			cnt = 0;
			if(m_bShowTSWatchdogClock)
				*addr = status[pos];
		}

		PspSetupTaskSWEnv();

		_asm iretd
	}

	return 0;
}