/* * ======== tsk0Fxn ======= */ Void tsk0Fxn(UArg arg0, UArg arg1) { UInt key; /* wait for swis to be posted from Clock function */ Semaphore_pend(sem0, BIOS_WAIT_FOREVER); System_printf("Running tsk0Fxn\n"); key = Swi_disable(); /* swis are disabled */ Swi_inc(swi0); /* swi0 trigger = 1 */ Swi_inc(swi0); /* swi0 trigger = 2 */ Swi_restore(key); /* swi0 runs */ Swi_or(swi1, 0x100); /* swi1 runs with trigger = 0x111 */ Swi_andn(swi1, 0x1); /* swi1 trigger = 0x10 */ Swi_andn(swi1, 0x2); /* swi1 runs with trigger = 0x00 */ Swi_dec(swi1); /* swi1 trigger = 2 */ Swi_dec(swi1); /* swi1 trigger = 1 */ Swi_dec(swi1); /* swi1 runs with trigger = 0 */ System_printf("Calling BIOS_exit\n"); BIOS_exit(0); }
void SWItrigger::dec() { Swi_dec(SWItriggerHandle); }