diff --git a/headers/private/kernel/arch/ppc/arch_cpu.h b/headers/private/kernel/arch/ppc/arch_cpu.h index 5b5104bb2e..f3f979ae2c 100644 --- a/headers/private/kernel/arch/ppc/arch_cpu.h +++ b/headers/private/kernel/arch/ppc/arch_cpu.h @@ -22,10 +22,16 @@ extern "C" { #endif extern uint32 get_sdr1(void); -extern uint32 set_sdr1(uint32 value); +extern void set_sdr1(uint32 value); +extern uint32 get_sr(void *virtualAddress); +extern void set_sr(void *virtualAddress, uint32 value); +extern uint32 get_msr(void); +extern uint32 set_msr(uint32 value); #ifdef __cplusplus } #endif +#define eieio() asm volatile("eieio") + #endif /* _KERNEL_ARCH_PPC_CPU_H */ diff --git a/headers/private/kernel/arch/ppc/arch_mmu.h b/headers/private/kernel/arch/ppc/arch_mmu.h index 8f9751a9cf..c343c3ef76 100644 --- a/headers/private/kernel/arch/ppc/arch_mmu.h +++ b/headers/private/kernel/arch/ppc/arch_mmu.h @@ -79,6 +79,7 @@ struct page_table_entry { static uint32 PrimaryHash(uint32 virtualSegmentID, uint32 virtualAddress); static uint32 SecondaryHash(uint32 virtualSegmentID, uint32 virtualAddress); + static uint32 SecondaryHash(uint32 primaryHash); }; struct page_table_entry_group {