Rev 1216 | Rev 1373 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1216 | Rev 1372 | ||
|---|---|---|---|
| Line 104... | Line 104... | ||
| 104 | jump_to_kernel: |
104 | jump_to_kernel: |
| 105 | 105 | ||
| 106 | # r3 = bootinfo (pa) |
106 | # r3 = bootinfo (pa) |
| 107 | # r4 = bootinfo_size |
107 | # r4 = bootinfo_size |
| 108 | # r5 = trans (pa) |
108 | # r5 = trans (pa) |
| 109 | # r6 = kernel size |
109 | # r6 = bytes to copy |
| 110 | # r7 = framebuffer (pa) |
- | |
| 111 | # r8 = real_mode (pa) |
110 | # r7 = real_mode (pa) |
| 112 | 111 | ||
| 113 | # disable interrupts |
112 | # disable interrupts |
| 114 | 113 | ||
| 115 | mfmsr r31 |
114 | mfmsr r31 |
| 116 | rlwinm r31, r31, 0, 17, 15 |
115 | rlwinm r31, r31, 0, 17, 15 |
| 117 | mtmsr r31 |
116 | mtmsr r31 |
| 118 | 117 | ||
| 119 | # set real_mode meeting point address |
118 | # set real_mode meeting point address |
| 120 | 119 | ||
| 121 | mtspr srr0, r8 |
120 | mtspr srr0, r7 |
| 122 | 121 | ||
| 123 | # jumps to real_mode |
122 | # jumps to real_mode |
| 124 | 123 | ||
| 125 | mfmsr r31 |
124 | mfmsr r31 |
| 126 | lis r30, ~0@h |
125 | lis r30, ~0@h |
| Line 139... | Line 138... | ||
| 139 | real_mode: |
138 | real_mode: |
| 140 | 139 | ||
| 141 | # copy kernel to proper location |
140 | # copy kernel to proper location |
| 142 | # |
141 | # |
| 143 | # r5 = trans (pa) |
142 | # r5 = trans (pa) |
| 144 | # r6 = kernel size |
143 | # r6 = bytes to copy |
| 145 | # r7 = framebuffer (pa) |
- | |
| 146 | 144 | ||
| 147 | li r31, PAGE_SIZE >> 2 |
145 | li r31, PAGE_SIZE >> 2 |
| 148 | li r30, 0 |
146 | li r30, 0 |
| 149 | 147 | ||
| 150 | page_copy: |
148 | page_copy: |
| Line 231... | Line 229... | ||
| 231 | mtspr ibat0l, r30 |
229 | mtspr ibat0l, r30 |
| 232 | 230 | ||
| 233 | mtspr dbat0u, r31 |
231 | mtspr dbat0u, r31 |
| 234 | mtspr dbat0l, r30 |
232 | mtspr dbat0l, r30 |
| 235 | 233 | ||
| 236 | # FIXME: temporal framebuffer mapping |
- | |
| 237 | - | ||
| 238 | lis r31, 0xf000 |
- | |
| 239 | ori r31, r31, 0x0ffe |
- | |
| 240 | - | ||
| 241 | mr r30, r7 |
- | |
| 242 | ori r30, r30, 0x0002 |
- | |
| 243 | - | ||
| 244 | mtspr dbat1u, r31 |
- | |
| 245 | mtspr dbat1l, r30 |
- | |
| 246 | - | ||
| 247 | tlbia |
234 | tlbia |
| 248 | 235 | ||
| 249 | # start the kernel |
236 | # start the kernel |
| 250 | # |
237 | # |
| 251 | # r3 = bootinfo (pa) |
238 | # r3 = bootinfo (pa) |