File tree Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change 97
97
* version takes two arguments: a src and destination register.
98
98
* However, the source and destination registers can not be
99
99
* the same register.
100
+ *
101
+ * We use add,l to avoid clobbering the C/B bits in the PSW.
100
102
*/
101
103
102
104
.macro tophys grvirt , grphys
103
- ldil L %(__PAGE_OFFSET ), \grphys
104
- sub \grvirt , \grphys , \grphys
105
+ ldil L %(- __PAGE_OFFSET ), \grphys
106
+ addl \grvirt , \grphys , \grphys
105
107
.endm
106
-
108
+
107
109
.macro tovirt grphys , grvirt
108
110
ldil L %(__PAGE_OFFSET ), \grvirt
109
- add \grphys , \grvirt , \grvirt
111
+ addl \grphys , \grvirt , \grvirt
110
112
.endm
111
113
112
114
.macro tophys_r1 gr
113
- ldil L %(__PAGE_OFFSET ), %r1
114
- sub \gr , %r1 , \gr
115
+ ldil L %(- __PAGE_OFFSET ), %r1
116
+ addl \gr , %r1 , \gr
115
117
.endm
116
-
118
+
117
119
.macro tovirt_r1 gr
118
120
ldil L %(__PAGE_OFFSET ), %r1
119
- add \gr , %r1 , \gr
121
+ addl \gr , %r1 , \gr
120
122
.endm
121
123
122
124
.macro delay value
You can’t perform that action at this time.
0 commit comments