Question

I want to access memory location 0x8000 0000 directly in MIPS 32 bit architecture without using TLB and MMU.

In MIPS32, kseg0 is unmapped and cached memory and is a window for the low 512MB of physical memory. So by using this segment we can access up to 512 MB of physical memory. But I want to access 0x8000 0000 (up to 2GB) of physical memory.

Is there is any way to access memory location 0x8000 0000 (2 GB of physical memory) without using MMU and TLB in MIPS32?

Was it helpful?

Solution

It seems that you are looking to access 32-bit user space.

You can do this in MIPS by using kuseg but you will not be able to access 0x8000.0000 with it as the limit with kuseg is 0x7FFF.FFFF and because kseg0 maps to 0x8000.0000.

Note that kuseg, kseg0, kseg1, and kseg2 map 4 GB of memory (32-bit).

This link and the chart on it should provide very valuable information concerning this: http://www.johnloomis.org/microchip/pic32/memory/memory.html.

OTHER TIPS

It really depends on which MIPS you are talking about.

In MIPS32 R3, you are able to do this via the new EVA (enhanced virtual address) feature in the R3 ISA.

https://www.mips.com/application/login/login.dot?product_name=/auth/MD00952-2B-MIPS32r3-APP-01.03.pdf

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top