FreeCalypso > hg > fc-tourmaline
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 |
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__ */' |