diff --git a/kernel/src/generic/asid.h b/kernel/src/generic/asid.h index 0f69f8cf..f5b98557 100644 --- a/kernel/src/generic/asid.h +++ b/kernel/src/generic/asid.h @@ -96,7 +96,7 @@ public: void free_asid(word_t asid) { list_entry[asid] = free_list; - free_list = (word_t*)&list_entry[asid]; + free_list = (word_t *) &list_entry[asid]; } void allocate_asid(T* space) diff --git a/kernel/src/generic/mapping.cc b/kernel/src/generic/mapping.cc index b7fa44db..596ecb79 100644 --- a/kernel/src/generic/mapping.cc +++ b/kernel/src/generic/mapping.cc @@ -1,6 +1,6 @@ /********************************************************************* * - * Copyright (C) 2000-2006, Karlsruhe University + * Copyright (C) 2000-2006, 2010, Karlsruhe University * * File path: generic/mapping.cc * Description: Generic mapping database implementation diff --git a/kernel/src/glue/v4-powerpc/space-swtlb.cc b/kernel/src/glue/v4-powerpc/space-swtlb.cc index 820e582c..a1aea130 100644 --- a/kernel/src/glue/v4-powerpc/space-swtlb.cc +++ b/kernel/src/glue/v4-powerpc/space-swtlb.cc @@ -335,7 +335,6 @@ void space_t::flush_tlbent( space_t *curspace, addr_t addr, word_t log2size ) if (ppc_tlbsx((word_t)addr, idx)) { TRACEF("invalidating TLB entry %d\n", idx); - ppc_tlb0_t::invalid().write(idx); swtlb.set_free(idx); } @@ -347,13 +346,13 @@ void space_t::arch_free() } #define RELOC(s0addr, physaddr, size) \ -case s0addr ... s0addr + size - 1: paddr = physaddr + reinterpret_cast(addr_offset(addr, -s0addr)); break; + case s0addr ... s0addr + size - 1: paddr = physaddr + reinterpret_cast(addr_offset(addr, -s0addr)); break; /* XXX: remove remapping */ paddr_t space_t::sigma0_translate(addr_t addr, pgent_t::pgsize_e size) { paddr_t paddr = reinterpret_cast(addr); -#ifdef CONFIG_PLAT_440_BGP +#if defined(CONFIG_PLAT_440_BGP) switch(reinterpret_cast(addr)) { RELOC(0xff000000, 0x600000000ULL, 0x4000); // DMA @@ -363,7 +362,12 @@ paddr_t space_t::sigma0_translate(addr_t addr, pgent_t::pgsize_e size) RELOC(0xff021000, 0x611000000ULL, 0x1000); // Tree Ch1 RELOC(0xff030000, 0x720000000ULL, 0x10000); // Tomal, Xemac, xgmii } -#endif +#elif defined(CONFIG_PLAT_440_EBONY) + switch(reinterpret_cast(addr)) + { + RELOC(0xf0000000, 0x140000000ULL, 0x10000000); // PERIPHERAL_BASE + } +#endif return paddr; }