Rev 1381 | Rev 1479 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1381 | Rev 1478 | ||
|---|---|---|---|
| Line 26... | Line 26... | ||
| 26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | # |
27 | # |
| 28 | 28 | ||
| 29 | #include "asm.h" |
29 | #include "asm.h" |
| 30 | #include "regname.h" |
30 | #include "regname.h" |
| - | 31 | #include "debug.inc" |
|
| 31 | 32 | ||
| 32 | .text |
33 | .text |
| 33 | 34 | ||
| 34 | .global halt |
35 | .global halt |
| 35 | .global memcpy |
36 | .global memcpy |
| Line 106... | Line 107... | ||
| 106 | # r3 = bootinfo (pa) |
107 | # r3 = bootinfo (pa) |
| 107 | # r4 = bootinfo_size |
108 | # r4 = bootinfo_size |
| 108 | # r5 = trans (pa) |
109 | # r5 = trans (pa) |
| 109 | # r6 = bytes to copy |
110 | # r6 = bytes to copy |
| 110 | # r7 = real_mode (pa) |
111 | # r7 = real_mode (pa) |
| - | 112 | # r8 = framebuffer (pa) |
|
| - | 113 | # r9 = scanline |
|
| 111 | 114 | ||
| 112 | # disable interrupts |
115 | # disable interrupts |
| 113 | 116 | ||
| 114 | mfmsr r31 |
117 | mfmsr r31 |
| 115 | rlwinm r31, r31, 0, 17, 15 |
118 | rlwinm r31, r31, 0, 17, 15 |
| Line 121... | Line 124... | ||
| 121 | 124 | ||
| 122 | # jumps to real_mode |
125 | # jumps to real_mode |
| 123 | 126 | ||
| 124 | mfmsr r31 |
127 | mfmsr r31 |
| 125 | lis r30, ~0@h |
128 | lis r30, ~0@h |
| 126 | ori r30, r30, ~(msr_ir | msr_dr)@l |
129 | ori r30, r30, ~(msr_ir | msr_dr | msr_ee)@l |
| 127 | and r31, r31, r30 |
130 | and r31, r31, r30 |
| 128 | mtspr srr1, r31 |
131 | mtspr srr1, r31 |
| 129 | 132 | ||
| 130 | sync |
133 | sync |
| 131 | isync |
134 | isync |
| Line 134... | Line 137... | ||
| 134 | .section REALMODE, "ax" |
137 | .section REALMODE, "ax" |
| 135 | .align PAGE_WIDTH |
138 | .align PAGE_WIDTH |
| 136 | .global real_mode |
139 | .global real_mode |
| 137 | 140 | ||
| 138 | real_mode: |
141 | real_mode: |
| - | 142 | ||
| - | 143 | DEBUG_real_mode |
|
| 139 | 144 | ||
| 140 | # copy kernel to proper location |
145 | # copy kernel to proper location |
| 141 | # |
146 | # |
| 142 | # r5 = trans (pa) |
147 | # r5 = trans (pa) |
| 143 | # r6 = bytes to copy |
148 | # r6 = bytes to copy |
| - | 149 | # r8 = framebuffer (pa) |
|
| - | 150 | # r9 = scanline |
|
| 144 | 151 | ||
| 145 | li r31, PAGE_SIZE >> 2 |
152 | li r31, PAGE_SIZE >> 2 |
| 146 | li r30, 0 |
153 | li r30, 0 |
| 147 | 154 | ||
| 148 | page_copy: |
155 | page_copy: |
| Line 249... | Line 256... | ||
| 249 | ori r31, r31, (msr_ir | msr_dr)@l |
256 | ori r31, r31, (msr_ir | msr_dr)@l |
| 250 | mtspr srr1, r31 |
257 | mtspr srr1, r31 |
| 251 | 258 | ||
| 252 | sync |
259 | sync |
| 253 | isync |
260 | isync |
| - | 261 | ||
| - | 262 | DEBUG_rfi |
|
| 254 | rfi |
263 | rfi |
| 255 | 264 | ||
| 256 | .align PAGE_WIDTH |
265 | .align PAGE_WIDTH |
| 257 | .global trans |
266 | .global trans |
| 258 | trans: |
267 | trans: |