1.1 --- a/stage2/cpu.c Wed May 04 22:04:37 2016 +0200
1.2 +++ b/stage2/cpu.c Wed May 04 22:07:41 2016 +0200
1.3 @@ -85,17 +85,6 @@
1.4 }
1.5 }
1.6
1.7 -void map_page_index(u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid, u32 index)
1.8 -{
1.9 - u32 start = (virtual & 0xffffe000) | asid; /* VPN2 | ASID*/
1.10 - u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.11 - u32 upper = (((physical + pagesize) & 0xfffff000) >> 6) | flags;
1.12 - u32 pagemask = ((pagesize - 1) & 0xfffff000) << 1;
1.13 -
1.14 - map_page_set_index(index);
1.15 - map_page_index_op(lower, upper, start, pagemask);
1.16 -}
1.17 -
1.18 void init_page_table(u32 page_table, u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid)
1.19 {
1.20 u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.21 @@ -153,3 +142,14 @@
1.22
1.23 map_page_op(lower, upper, start, pagemask);
1.24 }
1.25 +
1.26 +void map_page_index(u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid, u32 index)
1.27 +{
1.28 + u32 start = (virtual & 0xffffe000) | asid; /* VPN2 | ASID*/
1.29 + u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.30 + u32 upper = (((physical + pagesize) & 0xfffff000) >> 6) | flags;
1.31 + u32 pagemask = ((pagesize - 1) & 0xfffff000) << 1;
1.32 +
1.33 + map_page_set_index(index);
1.34 + map_page_index_op(lower, upper, start, pagemask);
1.35 +}
2.1 --- a/stage2/cpu.h Wed May 04 22:04:37 2016 +0200
2.2 +++ b/stage2/cpu.h Wed May 04 22:07:41 2016 +0200
2.3 @@ -6,8 +6,8 @@
2.4 void flush_cache_all();
2.5 void init_registers(u32 *, u32, void (*)(), u32[], u8);
2.6 void init_tlb();
2.7 +void init_page_table(u32, u32, u32, u32, u8, u8);
2.8 void map_page(u32, u32, u32, u8, u8);
2.9 -void init_page_table(u32, u32, u32, u32, u8, u8);
2.10 void map_page_index(u32, u32, u32, u8, u8, u32);
2.11
2.12 #endif /* __CPU_H__ */