FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/nucleus/tct.S @ 570:962f0d3a4e7e
gsm-fw/nucleus/tct.S: preparations for hooking in GSM small sleep
just like how TI did it
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 10 Aug 2014 19:24:56 +0000 |
parents | afceeeb2cba1 |
children |
comparison
equal
deleted
inserted
replaced
569:9df89f93d311 | 570:962f0d3a4e7e |
---|---|
80 ****************************** | 80 ****************************** |
81 * Define constants used in low-level initialization. | 81 * Define constants used in low-level initialization. |
82 */ | 82 */ |
83 | 83 |
84 #include "asm_defs.h" | 84 #include "asm_defs.h" |
85 #include "../include/config.h" | |
85 | 86 |
86 .code 32 | 87 .code 32 |
87 | 88 |
88 /* TCT_System_Limit is a global variable defined in this module */ | 89 /* TCT_System_Limit is a global variable defined in this module */ |
89 | 90 |
954 | 955 |
955 | 956 |
956 @ Wait until a thread (task or HISR) is available to execute. | 957 @ Wait until a thread (task or HISR) is available to execute. |
957 @ do | 958 @ do |
958 @ { | 959 @ { |
960 .globl TCT_Schedule_Loop | |
959 TCT_Schedule_Loop: | 961 TCT_Schedule_Loop: |
960 | 962 |
961 @ } while ((!TCD_Execute_HISR) && (!TCD_Execute_Task)); | 963 @ } while ((!TCD_Execute_HISR) && (!TCD_Execute_Task)); |
962 | 964 |
963 LDR r0,[r2, #0] @ Pickup highest priority HISR ptr | 965 LDR r0,[r2, #0] @ Pickup highest priority HISR ptr |
964 CMP r0,#0 @ Is there a HISR active? | 966 CMP r0,#0 @ Is there a HISR active? |
965 BNE TCT_Schedule_Thread @ Found an HISR | 967 BNE TCT_Schedule_Thread @ Found an HISR |
966 LDR r0,[r3, #0] @ Pickup highest priority Task ptr | 968 LDR r0,[r3, #0] @ Pickup highest priority Task ptr |
967 CMP r0,#0 @ Is there a task active? | 969 CMP r0,#0 @ Is there a task active? |
968 BEQ TCT_Schedule_Loop @ If not, continue the search | 970 #if CONFIG_INCLUDE_L1 |
971 BEQ _GSM_Small_Sleep | |
972 #else | |
973 BEQ TCT_Schedule_Loop @ If not, continue the search | |
974 #endif | |
969 | 975 |
970 @ Yes, either a task or an HISR is ready to execute. Lockout | 976 @ Yes, either a task or an HISR is ready to execute. Lockout |
971 @ interrupts while the thread is transferred to. | 977 @ interrupts while the thread is transferred to. |
972 | 978 |
973 TCT_Schedule_Thread: | 979 TCT_Schedule_Thread: |