linux-mips
[Top] [All Lists]

Re: CP0 EntryLo

To: Gilad Rom <gilad@romat.com>
Subject: Re: CP0 EntryLo
From: Pete Popov <ppopov@embeddedalley.com>
Date: Tue, 30 Nov 2004 10:01:26 -0800
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>, linux-mips@linux-mips.org
In-reply-to: <Pine.LNX.4.58L.0411301635590.31151@blysk.ds.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20041130162659.BA5FAEB2A9@mail.romat.com> <Pine.LNX.4.58L.0411301635590.31151@blysk.ds.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913
Maciej W. Rozycki wrote:
On Tue, 30 Nov 2004, Gilad Rom wrote:


So, what I need to do, if I understand correctly, is to create a fixed
mapping
From a virtual address to a physical address on the tlb, and use this
Virtual address to change the values of EntryLo to 0xD in order to Access the device on the address range I mapped Chip-select 1 to?

(Excuse my poor phrasing, I've been googling all day...)

Any idea on how I might accomplish that from a driver?
I've found a function called add_wired_entry(...), is this
What I should be using?


 ioremap()

Exactly. You program the CS with a physical address. Make sure that address does not overlap with anything else. Then you call ioremap from your driver and you get back a virtual address. You use that virtual address to access the peripheral.

At this stage I would say that probably reading something like the Linux Kernel book or Linux Device Drivers both by Oreilly will really help you.

Pete


<Prev in Thread] Current Thread [Next in Thread>