Re: RFC: Deprecating io_block_mapping
flat view
From: Kumar Gala <hidden>
Date: 2005-05-25 02:30:32
On May 24, 2005, at 9:21 PM, Benjamin Herrenschmidt wrote:
On Tue, 2005-05-24 at 21:17 -0500, Kumar Gala wrote:quoted
On May 24, 2005, at 8:30 PM, Benjamin Herrenschmidt wrote:quoted
As the subject says ... it's the source of endless headaches, isusedquoted
quoted
in a way that often prevents moving TASK_SIZE freely, etc etc etc... What are the good and unavoidable uses of it currently that cannotbequoted
quoted
replaced by some sort of ioremap ?Do you propose to fixup ioremap to allocate large page resources (BATsquoted
and CAMs) going forward?Do we really ever need them for anything but RAM mapping ?
The only case I could thing of are embedded frame buffers across some bus like PCI. An example would be a image buffer that a printing application may use.
quoted
quoted
(Note that if the answer to the above is: page tables exist toolate, Iquoted
quoted
already have a reply: our initialisations happen too early, let'smovequoted
quoted
things around so that ioremap is useable... pretty much everything needed to setup kernel page tables & have working ioremap can bedonequoted
quoted
without any HW device access so ...)Do you have any proposed solution for early console access? I'm guessing that most of the need for early access is for some sort of console (serial) for early debug output.How do we implement io_block_mapping() on CPUs without a hash table ? We need page tables for these so we can have ioremap working. On CPUs with a hash, we could just shove entries in the hash... though we may need a mecanism to bolt them or convert those mappings to page tables once those are available.
I know what I've done in the past is either steal a BAT (83xx) or CAM (85xx) entry and then free it up when a proper ioremap can be done later.
quoted
Also does this mean we would drop ppc_md.setup_io_mappings() complete?Does it really make sense ? I always disliked it.
No, as far as a can tell doing a quick glance if we drop io_block_mapping than we can drop setup_io_mappings(). - kumar