diff options
author | Marcelo Tosatti <marcelo.tosatti@cyclades.com> | 2006-01-23 10:57:06 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-02-07 05:28:37 -0500 |
commit | 3ea4807de7b2c5c903380ba2c2e7150bee942f42 (patch) | |
tree | 2e354cb0e3126ef47bf833bfe9e8eccd523091ad | |
parent | aee9f26542cc27a37d593f1790b84cd57801a7c7 (diff) |
[PATCH] powerpc/8xx: last two 8MB D-TLB entries are incorrectly set
The last two 8MB TLB entries are being incorrectly set by initial_mmu on 8xx.
The first entry is written with the same virtual/physical address, which
renders it invalid:
BDI>rms 792 0x00001e00
BDI>rms 824 1
BDI>rds 824
SPR 824 : 0xc08000c0 -1065353024
BDI>rds 825
SPR 825 : 0xc0800de0 -1065349664
BDI>rds 826
SPR 826 : 0x00000000 0
And the second entry, in addition, does not have its TLB index set
correctly.
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/ppc/kernel/head_8xx.S | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S index 3e6ca7f5843f..c1e89ad0684d 100644 --- a/arch/ppc/kernel/head_8xx.S +++ b/arch/ppc/kernel/head_8xx.S | |||
@@ -810,13 +810,16 @@ initial_mmu: | |||
810 | mtspr SPRN_MD_TWC, r9 | 810 | mtspr SPRN_MD_TWC, r9 |
811 | li r11, MI_BOOTINIT /* Create RPN for address 0 */ | 811 | li r11, MI_BOOTINIT /* Create RPN for address 0 */ |
812 | addis r11, r11, 0x0080 /* Add 8M */ | 812 | addis r11, r11, 0x0080 /* Add 8M */ |
813 | mtspr SPRN_MD_RPN, r8 | 813 | mtspr SPRN_MD_RPN, r11 |
814 | |||
815 | addi r10, r10, 0x0100 | ||
816 | mtspr SPRN_MD_CTR, r10 | ||
814 | 817 | ||
815 | addis r8, r8, 0x0080 /* Add 8M */ | 818 | addis r8, r8, 0x0080 /* Add 8M */ |
816 | mtspr SPRN_MD_EPN, r8 | 819 | mtspr SPRN_MD_EPN, r8 |
817 | mtspr SPRN_MD_TWC, r9 | 820 | mtspr SPRN_MD_TWC, r9 |
818 | addis r11, r11, 0x0080 /* Add 8M */ | 821 | addis r11, r11, 0x0080 /* Add 8M */ |
819 | mtspr SPRN_MD_RPN, r8 | 822 | mtspr SPRN_MD_RPN, r11 |
820 | #endif | 823 | #endif |
821 | 824 | ||
822 | /* Since the cache is enabled according to the information we | 825 | /* Since the cache is enabled according to the information we |