annotate scripts/make-rv-swe-hdr.sh @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents ee04ca45053d
children e17bdedfbf2b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 echo '#ifndef __RV_SWE_H__'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 echo '#define __RV_SWE_H__'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 echo
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 if [ "$ATP_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 echo '#define RVM_ATP_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 echo '#define RVM_AUDIO_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 echo '#define RVM_ETM_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 echo '#define RVM_DAR_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 echo '#define RVM_SPI_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 echo '#define RVM_LLS_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 echo '#define RVM_KPD_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if [ "$FCHG_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 echo '#define RVM_FCHG_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 if [ "$LCC_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 echo '#define RVM_LCC_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 if [ "$PWR_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 echo '#define RVM_PWR_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 if [ "$R2D_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 echo '#define RVM_R2D_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 if [ "$MKS_STATE" = 1 ]
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 then
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 echo '#define RVM_MKS_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 fi
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 echo '#define RVM_RTC_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 echo '#define RVM_FFS_SWE'
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46
235
ee04ca45053d config system: add FCBM
Mychaela Falconia <falcon@freecalypso.org>
parents: 11
diff changeset
47 if [ "$FCBM_STATE" = 1 ]
ee04ca45053d config system: add FCBM
Mychaela Falconia <falcon@freecalypso.org>
parents: 11
diff changeset
48 then
ee04ca45053d config system: add FCBM
Mychaela Falconia <falcon@freecalypso.org>
parents: 11
diff changeset
49 echo '#define RVM_FCBM_SWE'
ee04ca45053d config system: add FCBM
Mychaela Falconia <falcon@freecalypso.org>
parents: 11
diff changeset
50 fi
ee04ca45053d config system: add FCBM
Mychaela Falconia <falcon@freecalypso.org>
parents: 11
diff changeset
51
11
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 echo
12ed2291fb67 scripts/make-rv-swe-hdr.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 echo '#endif /* __RV_SWE_H__ */'