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) |