Browse Source

fix set_ and xucr0 init

pd
openpowerwtf 4 months ago
parent
commit
d262ec40a4
  1. 2
      dev/src/test3/bios.c
  2. 32
      dev/src/test3/bios.h
  3. BIN
      dev/src/test3/bios.o
  4. BIN
      dev/src/test3/rom
  5. BIN
      dev/src/test3/rom.bin
  6. 6236
      dev/src/test3/rom.d
  7. 288
      dev/src/test3/rom.init
  8. 1532
      dev/src/test3/rom.s

2
dev/src/test3/bios.c

@ -84,7 +84,7 @@ int main(int tid) { @@ -84,7 +84,7 @@ int main(int tid) {
set_tbh(0);
set_tbl(0);
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_tcr(0); // disable all timers


32
dev/src/test3/bios.h

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

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

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

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

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

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

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

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

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

BIN
dev/src/test3/bios.o

Binary file not shown.

BIN
dev/src/test3/rom

Binary file not shown.

BIN
dev/src/test3/rom.bin

Binary file not shown.

6236
dev/src/test3/rom.d

File diff suppressed because it is too large Load Diff

288
dev/src/test3/rom.init

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

1532
dev/src/test3/rom.s

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