Chinna
Chinna

Reputation: 4002

Is there any way to access physical address 0x8000 0000 directly in MIPS?

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?

Upvotes: 1

Views: 1098

Answers (2)

Rocky Zhang
Rocky Zhang

Reputation: 91

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

Upvotes: 1

wazy
wazy

Reputation: 1065

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.

Upvotes: 1

Related Questions