1.1 --- a/stage2/cpu.c Thu Feb 25 21:29:53 2016 +0100
1.2 +++ b/stage2/cpu.c Thu Feb 25 22:28:24 2016 +0100
1.3 @@ -134,7 +134,7 @@
1.4
1.5 void map_page_index(u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid, u32 index)
1.6 {
1.7 - u32 start = virtual & 0xffffe000; /* VPN2 */
1.8 + u32 start = (virtual & 0xffffe000) | asid; /* VPN2 | ASID*/
1.9 u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.10 u32 upper = (((physical + pagesize) & 0xfffff000) >> 6) | flags;
1.11 u32 pagemask = ((pagesize - 1) & 0xfffff000) << 1;
1.12 @@ -153,7 +153,7 @@
1.13
1.14 /* Set virtual address. */
1.15
1.16 - "mtc0 %2, $10\n" /* CP0_ENTRYHI */
1.17 + "mtc0 %2, $10\n" /* CP0_ENTRYHI */
1.18 "nop\n"
1.19
1.20 "tlbwi\n"
1.21 @@ -165,7 +165,7 @@
1.22
1.23 void map_page(u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid)
1.24 {
1.25 - u32 start = virtual & 0xffffe000; /* VPN2 */
1.26 + u32 start = (virtual & 0xffffe000) | asid; /* VPN2 | ASID*/
1.27 u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.28 u32 upper = (((physical + pagesize) & 0xfffff000) >> 6) | flags;
1.29 u32 pagemask = ((pagesize - 1) & 0xfffff000) << 1;
1.30 @@ -192,7 +192,7 @@
1.31
1.32 void unmap_page(u32 virtual, u32 physical, u32 pagesize, u8 flags, u8 asid)
1.33 {
1.34 - u32 start = virtual & 0xffffe000; /* VPN2 */
1.35 + u32 start = (virtual & 0xffffe000) | asid; /* VPN2 | ASID*/
1.36 u32 lower = ((physical & 0xfffff000) >> 6) | flags;
1.37 u32 upper = (((physical + pagesize) & 0xfffff000) >> 6) | flags;
1.38 u32 pagemask = ((pagesize - 1) & 0xfffff000) << 1;