mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-16 22:28:18 +00:00
base: introduce caching attributes (fix #1184)
On ARM it's relevant to not only distinguish between ordinary cached memory and write-combined one, but also having non-cached memory too. To insert the appropriated page table entries e.g.: in the base-hw kernel, we need to preserve the information about the kind of memory from allocation until the pager resolves a page fault. Therefore, this commit introduces a new Cache_attribute type, and replaces the write_combined boolean with the new type where necessary.
This commit is contained in:
committed by
Norman Feske
parent
9580954d81
commit
786fe805da
@ -34,7 +34,7 @@ namespace Genode {
|
||||
Ram_session_client_guard(Ram_session_capability session, size_t amount)
|
||||
: Ram_session_client(session), _amount(amount), _consumed(0) { }
|
||||
|
||||
Ram_dataspace_capability alloc(size_t size, bool cached)
|
||||
Ram_dataspace_capability alloc(size_t size, Cache_attribute cached)
|
||||
{
|
||||
Lock::Guard _consumed_lock_guard(_consumed_lock);
|
||||
|
||||
|
@ -271,7 +271,7 @@ class Block::Root :
|
||||
}
|
||||
|
||||
Ram_dataspace_capability ds_cap;
|
||||
ds_cap = Genode::env()->ram_session()->alloc(tx_buf_size, true);
|
||||
ds_cap = Genode::env()->ram_session()->alloc(tx_buf_size);
|
||||
return new (md_alloc())
|
||||
Session_component(ds_cap,
|
||||
Partition_table::table().partition(num),
|
||||
|
Reference in New Issue
Block a user