fix set_ and xucr0 init

pd
openpowerwtf 2 years ago
parent 200551679c
commit d262ec40a4

@ -84,7 +84,7 @@ int main(int tid) {
set_tbh(0); set_tbh(0);
set_tbl(0); set_tbl(0);
set_tsr(0xFE000000); // mask: clear enw,wis,wrs,dis,fis,udis set_tsr(0xFE000000); // mask: clear enw,wis,wrs,dis,fis,udis
set_xucr0(get_xucr0() & 0x00000200); // set tcs=0 set_xucr0(get_xucr0() & ~0x00000200); // set tcs=0
set_tsr(0); set_tsr(0);
set_tcr(0); // disable all timers set_tcr(0); // disable all timers



@ -27,9 +27,7 @@ inline int get_xucr0(void) __attribute__((always_inline));


inline void set_epcr(int v) { inline void set_epcr(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 307,%0\n" // epcr
"ori 4,4,%0@l\n"
"mtspr 307,4\n" // epcr
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -38,9 +36,7 @@ inline void set_epcr(int v) {


inline void set_dec(int v) { inline void set_dec(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 22,%0\n" // dec
"ori 4,4,%0@l\n"
"mtspr 22,4\n" // dec
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -49,9 +45,7 @@ inline void set_dec(int v) {


inline void set_tbh(int v) { inline void set_tbh(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 285,%0\n" // tbh
"ori 4,4,%0@l\n"
"mtspr 285,4\n" // tbh
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -60,9 +54,7 @@ inline void set_tbh(int v) {


inline void set_tbl(int v) { inline void set_tbl(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 284,%0\n" // tbl
"ori 4,4,%0@l\n"
"mtspr 284,4\n" // tbl
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -71,9 +63,7 @@ inline void set_tbl(int v) {


inline void set_tsr(int v) { inline void set_tsr(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 336,%0\n" // tsr
"ori 4,4,%0@l\n"
"mtspr 336,4\n" // tsr
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -82,9 +72,7 @@ inline void set_tsr(int v) {


inline void set_tcr(int v) { inline void set_tcr(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 340,%0\n" // tcr
"ori 4,4,%0@l\n"
"mtspr 340,4\n" // tcr
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -104,9 +92,7 @@ inline int get_xucr0(void) {


inline void set_xucr0(int v) { inline void set_xucr0(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 1014,%0\n" // xucr0
"ori 4,4,%0@l\n"
"mtspr 1014,4\n" // xucr0
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers
@ -115,9 +101,7 @@ inline void set_xucr0(int v) {


inline void set_tens(int v) { inline void set_tens(int v) {
asm volatile( asm volatile(
"lis 4,%0@h\n" "mtspr 438,%0\n" // tens
"ori 4,4,%0@l\n"
"mtspr 438,4\n" // tens
: // outputs : // outputs
: "r"(v) // inputs : "r"(v) // inputs
: "r4" // clobbers : "r4" // clobbers

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -6,7 +6,7 @@
00000000 00000000
00000000 00000000
00000000 00000000
4800104C 4800100C
00000000 00000000
00000000 00000000
00000000 00000000
@ -70,7 +70,7 @@
00000000 00000000
00000000 00000000
00000000 00000000
48001194 48001154
00000000 00000000
00000000 00000000
00000000 00000000
@ -664,107 +664,107 @@ A0101010
00000000 00000000
3C4E554C 3C4E554C
4C3E0000 4C3E0000
000021C0 00002180
000021F0 000021B0
000021F0 000021B0
000021D0 00002190
000021F0 000021B0
000021F0 000021B0
000021F0 000021B0
000021F0 000021B0
000021F0 000021B0
000021F0 000021B0
000021F0 000021B0
00002170
000021B0
00002160
000021B0
000021B0 000021B0
000021F0
000021A0 000021A0
000021F0 000028E8
000021F0 00002948
000021E0 00002948
00002928 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002920
00002988 00002948
00002988 00002948
00002960 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002948
00002988 00002424
00002988 00002938
00002988 00002948
00002464 00002948
00002978 00002948
00002988 00002948
00002988 00002938
00002988 00002948
00002988 00002948
00002978 00002948
00002988 00002948
00002988 0000276C
00002988 00002914
00002988 000026C4
000027AC 00002948
00002954 00002948
00002704 00002540
00002988 00002948
00002988 000029C0
00002580 00002948
00002988 00002948
00002A00 0000292C
00002988
00002988
0000296C
00000000 00000000
9421FFF0 9421FFF0
7C691B78 7C691B78
@ -787,15 +787,15 @@ A0101010
39292000 39292000
9121000C 9121000C
3D200000 3D200000
392910A0 39291060
91210010 91210010
81210038 81210038
2C090000 2C090000
4182000C 4182000C
3920FFFF 3920FFFF
480001CC 4800018C
3D200000 3D200000
39291070 39291030
91210008 91210008
48000028 48000028
8121000C 8121000C
@ -809,7 +809,7 @@ A0101010
91210008 91210008
81410008 81410008
3D200000 3D200000
39291078 39291038
7C0A4840 7C0A4840
4180FFCC 4180FFCC
3D200002 3D200002
@ -831,78 +831,62 @@ A0101010
4180FFD0 4180FFD0
3D200000 3D200000
38690C00 38690C00
48002B7D 48002B3D
38600077 38600077
48002BC5 48002B85
38600074 38600074
48002BBD 48002B7D
38600066 38600066
48002BB5 48002B75
3860000A 3860000A
48002BAD 48002B6D
80810038 80810038
3D200000 3D200000
386908F0 386908F0
4CC63182 4CC63182
48002DA1 48002D61
3D200300 3D200300
91210034 91210034
81210034 81210034
3C800000 7D334BA6
60840009
7C934BA6
60000000 60000000
39200000 39200000
91210030 91210030
81210030 81210030
3C800000 7D3603A6
60840009
7C9603A6
60000000 60000000
39200000 39200000
9121002C 9121002C
8121002C 8121002C
3C800000 7D3D43A6
60840009
7C9D43A6
60000000 60000000
39200000 39200000
91210028 91210028
81210028 81210028
3C800000 7D3C43A6
60840009
7C9C43A6
60000000 60000000
3D20FE00 3D20FE00
91210024 91210024
81210024 81210024
3C800000 7D3053A6
60840009
7C9053A6
60000000 60000000
7D36FAA6 7D36FAA6
91210020 91210020
81210020 81210020
552905AC 552905EA
9121001C 9121001C
8121001C 8121001C
3C800000 7D36FBA6
60840009
7C96FBA6
60000000 60000000
39200000 39200000
91210018 91210018
81210018 81210018
3C800000 7D3053A6
60840009
7C9053A6
60000000 60000000
39200000 39200000
91210014 91210014
81210014 81210014
3C800000 7D3453A6
60840009
7C9453A6
60000000 60000000
81210010 81210010
7D234B78 7D234B78
@ -925,21 +909,21 @@ A0101010
7C0A4800 7C0A4800
4182000C 4182000C
3C608000 3C608000
4BFFF979 4BFFF9B9
39200000 39200000
91210008 91210008
4800008C 4800008C
81210008 81210008
552A103A 552A103A
3D200000 3D200000
392913A0 39291360
7D2A4A14 7D2A4A14
81290000 81290000
91210010 91210010
81210008 81210008
552A103A 552A103A
3D200000 3D200000
39291440 39291400
7D2A4A14 7D2A4A14
81290000 81290000
91210014 91210014
@ -959,7 +943,7 @@ A0101010
40820010 40820010
81210008 81210008
7D234B78 7D234B78
4BFFF8F1 4BFFF931
81210008 81210008
39290001 39290001
91210008 91210008
@ -971,14 +955,14 @@ A0101010
81210008 81210008
552A103A 552A103A
3D200000 3D200000
392913A0 39291360
7D2A4A14 7D2A4A14
81290000 81290000
91210010 91210010
81210008 81210008
552A103A 552A103A
3D200000 3D200000
39291440 39291400
7D2A4A14 7D2A4A14
81290000 81290000
55290644 55290644
@ -999,21 +983,21 @@ A0101010
40820010 40820010
81210008 81210008
7D234B78 7D234B78
4BFFF851 4BFFF891
39200022 39200022
91210008 91210008
4800008C 4800008C
81210008 81210008
552A103A 552A103A
3D200000 3D200000
392913A0 39291360
7D2A4A14 7D2A4A14
81290000 81290000
91210010 91210010
81210008 81210008
552A103A 552A103A
3D200000 3D200000
39291440 39291400
7D2A4A14 7D2A4A14
81290000 81290000
91210014 91210014
@ -1033,14 +1017,14 @@ A0101010
40820010 40820010
81210008 81210008
7D234B78 7D234B78
4BFFF7C9 4BFFF809
81210008 81210008
39290001 39290001
91210008 91210008
81210008 81210008
28090023 28090023
4081FF70 4081FF70
4BFFF7A9 4BFFF7E9
48000000 48000000
9421FFF0 9421FFF0
90610008 90610008
@ -1148,9 +1132,9 @@ FFFFFFFF
3C804800 3C804800
60840006 60840006
90850000 90850000
80201134 802010F4
7C3B03A6 7C3B03A6
80201178 80201138
7C3A03A6 7C3A03A6
80230080 80230080
7C2FF120 7C2FF120
@ -1200,7 +1184,7 @@ FFFFFFFF
60000000 60000000
7C2FCBA6 7C2FCBA6
3C200000 3C200000
602113A0 60211360
90010000 90010000
90410008 90410008
9061000C 9061000C
@ -1245,11 +1229,11 @@ FFFFFFFF
7C4FCAA6 7C4FCAA6
90410090 90410090
3C600000 3C600000
606310A0 60631060
8023009C 8023009C
3C600867 3C600867
60635309 60635309
48000E4F 48000E0F
60000000 60000000
60000000 60000000
60000000 60000000

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save