From: Mark Jackson <mpfj-list@mimc.co.uk>
To: u-boot@lists.denx.de
Subject: [U-Boot] Virtual addresses, u-boot, and the MMU
Date: Fri, 04 Sep 2009 09:34:09 +0100 [thread overview]
Message-ID: <4AA0D101.4000009@mimc.co.uk> (raw)
In-Reply-To: <7A11876A-BDF1-4779-80E7-B8690983ABF2@freescale.com>
Becky Bruce wrote:
<snip>
>> This is where Detlev's comment about using the chance to define a
>> cache API comes into play.
>>
>> Yes, we probably should create a set of functions like
>>
>> enable_data_cache(address, size);
>> and
>> disable_data_cache(address, size);
>>
>> which would turn on resp. off the caching attributes on the given
>> memory range.
<snip>
>> Using a completely different address range instead is a different
>> thing, and not what I have in mind. I really dislike the idea of
>> supporting "alternate addresses" in this context - even if this is
>> what would be easiest to implement on some architectures.
>
> I agree, but, then, I'm coming from an architecture where doing this is
> bad joo-joo. Again, it looks like AVR may actually need this -
> hopefully someone who knows more about AVR will speak up here.
Although I wouldn't consider myself an AVR32 "expert", I am following
this thread closely. It seems to me that the above 2 functions could be
used to support Detlev's idea as well as Haavard's map_physmem() idea.
The functions could also return (architecture dependant) a "remapped"
address to be used, then we could support:-
(1) AVR32-type cache which is based on different address ranges
Here the xxx_data_cache() functions would flush the cache, and return
a new address that points to the relevant cached / uncached section of
memory.
(2) Platforms with "single address" ranges but finer cache control
These would flush the cache, adjust the caching for the memory range as
required, and then just return the *same* address (since no address
re-mapping is required).
The functions using xxx_data_cache() would then code up as follows:-
void foo(address, size) {
uncached_address = disable_data_cache(address, size);
/*
* ... do some code using only uncached_address ...
*/
cached_address = enable_data_cache(address, size);
}
Regards
Mark
next prev parent reply other threads:[~2009-09-04 8:34 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-28 8:42 [U-Boot] [PATCH] atngw100: Use virtual address in CONFIG_ENV_ADDR Haavard Skinnemoen
2009-08-28 9:16 ` Mark Jackson
2009-08-28 9:34 ` Haavard Skinnemoen
2009-08-28 10:16 ` Mark Jackson
2009-08-28 10:27 ` Haavard Skinnemoen
2009-08-28 10:35 ` Mark Jackson
2009-08-28 11:58 ` Wolfgang Denk
2009-08-28 11:56 ` Wolfgang Denk
2009-08-28 12:14 ` Haavard Skinnemoen
2009-08-28 13:42 ` Kumar Gala
2009-08-28 13:49 ` Haavard Skinnemoen
2009-08-28 19:58 ` Becky Bruce
2009-08-29 11:39 ` Stefan Roese
2009-08-30 15:52 ` Haavard Skinnemoen
2009-08-30 15:36 ` Haavard Skinnemoen
2009-08-30 18:11 ` Wolfgang Denk
2009-08-30 20:42 ` Haavard Skinnemoen
2009-08-31 11:57 ` Wolfgang Denk
2009-08-31 13:53 ` Haavard Skinnemoen
2009-08-31 17:46 ` Wolfgang Denk
2009-09-01 8:57 ` Haavard Skinnemoen
2009-09-01 9:16 ` Stefan Roese
2009-09-01 10:18 ` Haavard Skinnemoen
2009-09-01 9:47 ` Wolfgang Denk
2009-09-01 10:38 ` Haavard Skinnemoen
2009-09-01 11:05 ` Wolfgang Denk
2009-09-01 11:42 ` Haavard Skinnemoen
2009-09-01 13:04 ` Wolfgang Denk
2009-09-01 13:23 ` Haavard Skinnemoen
2009-09-01 13:47 ` Wolfgang Denk
2009-09-01 13:52 ` Haavard Skinnemoen
2009-09-01 14:49 ` Thiago A. Corrêa
2009-09-01 15:20 ` Haavard Skinnemoen
2009-09-01 15:56 ` Mark Jackson
2009-09-01 17:50 ` [U-Boot] Virtual addresses, u-boot, and the MMU J. William Campbell
2009-09-01 19:21 ` Wolfgang Denk
2009-09-01 22:01 ` J. William Campbell
2009-09-02 7:59 ` Wolfgang Denk
2009-09-03 16:09 ` Becky Bruce
2009-09-03 17:25 ` J. William Campbell
2009-09-03 17:32 ` Andrew Dyer
2009-09-04 8:34 ` Mark Jackson [this message]
2009-09-04 8:58 ` Haavard Skinnemoen
2009-09-04 8:44 ` Haavard Skinnemoen
2009-08-31 20:05 ` [U-Boot] [PATCH] atngw100: Use virtual address in CONFIG_ENV_ADDR Becky Bruce
2009-09-01 9:15 ` Haavard Skinnemoen
2009-08-31 19:17 ` Becky Bruce
2009-09-01 10:15 ` Haavard Skinnemoen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AA0D101.4000009@mimc.co.uk \
--to=mpfj-list@mimc.co.uk \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox