Ticket #4115: synccleanup.patch
File synccleanup.patch, 2.6 KB (added by , 15 years ago) |
---|
-
src/system/kernel/arch/ppc/arch_elf.cpp
197 197 "addend 0x%lx\n", __FUNCTION__, i, ELF32_R_TYPE(rel[i].r_info), 198 198 rel[i].r_offset, ELF32_R_SYM(rel[i].r_info), 199 199 rel[i].r_addend); 200 return vlErr; 200 // TODO: This makes us return to the bootloader (valid behaviour) 201 // but while troubleshooting ppc kernel relocation problems 202 // it makes life hard. -- kallisti5@unixzen.com 203 //return vlErr; 201 204 } 202 205 break; 203 206 } -
src/system/kernel/arch/ppc/arch_cpu_asm.S
31 31 * r3 r4 32 32 */ 33 33 FUNCTION(set_sr): 34 isync 34 35 mtsrin %r4, %r3 36 isync 35 37 blr 36 38 37 39 /* uint32 get_msr(void); … … 45 47 */ 46 48 FUNCTION(set_msr): 47 49 mtmsr %r3 50 isync 48 51 blr 49 52 50 53 /* uint32 get_pvr(void); -
src/system/kernel/arch/ppc/arch_asm.S
26 26 // sets bit 15, EE 27 27 28 28 mtmsr %r3 // put it back into the msr 29 isync 29 30 blr 30 31 31 32 … … 40 41 // clears bit 15, EE 41 42 42 43 mtmsr %r4 // put it back into the msr 44 isync 43 45 blr 44 46 45 47 … … 53 55 // clear or set bit 15, EE to the same state as in r3, oldState 54 56 55 57 mtmsr %r4 58 isync 56 59 blr 57 60 58 61 /* bool arch_int_are_interrupts_enabled(void) */ … … 175 178 176 179 // void sethid0(unsigned int val); 177 180 FUNCTION(sethid0): 181 isync 178 182 mtspr 1008, %r3 183 isync 179 184 blr 180 185 181 186 // unsigned int getl2cr(); … … 185 190 186 191 // void setl2cr(unsigned int val); 187 192 FUNCTION(setl2cr): 193 isync 188 194 mtspr 1017, %r3 195 isync 189 196 blr 190 197 191 198 -
src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp
991 991 // set up new page table and turn on translation again 992 992 993 993 for (int32 i = 0; i < 16; i++) { 994 isync();995 996 994 ppc_set_segment_register((void *)(i * 0x10000000), sSegments[i]); 997 995 // one segment describes 256 MB of memory 998 999 ppc_sync();1000 996 } 1001 997 1002 998 ppc_set_page_table(physicalTable, tableSize);