[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-07-01 Thread Pantelis Antoniou
Benjamin Herrenschmidt wrote: > On Thu, 2005-06-30 at 14:05 -0400, Dan Malek wrote: > >>On Jun 29, 2005, at 7:31 PM, Benjamin Herrenschmidt wrote: >> >> >>> - The debate between Dan and me here is about the semantics of >>>io_block_mapping(). >> >>My point of discussion is this function needs to b

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-07-01 Thread Benjamin Herrenschmidt
On Thu, 2005-06-30 at 14:05 -0400, Dan Malek wrote: > On Jun 29, 2005, at 7:31 PM, Benjamin Herrenschmidt wrote: > > > - The debate between Dan and me here is about the semantics of > > io_block_mapping(). > > My point of discussion is this function needs to be much smarter than > simply allocat

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-30 Thread Dan Malek
On Jun 29, 2005, at 7:31 PM, Benjamin Herrenschmidt wrote: > - The debate between Dan and me here is about the semantics of > io_block_mapping(). My point of discussion is this function needs to be much smarter than simply allocating a virtual address space. We need to track the calls so that

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-30 Thread Dan Malek
On Jun 29, 2005, at 1:19 PM, Marcelo Tosatti wrote: > What do you mean "everyone should use ioremap() to map them"? All software needs to invoke some kind of mapping function such as ioremap() in the case of drivers or functions that access peripherals. You should not assume someone has done th

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-30 Thread Benjamin Herrenschmidt
On Wed, 2005-06-29 at 14:19 -0300, Marcelo Tosatti wrote: > Once the physical->virtual mapping for device IO space are set > with io_block_mapping() (or with ioremap() for dynamic virtual > addresses), why would you want to ioremap() the physical address > again??? > > PS: I've had a quick try

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-29 Thread Marcelo Tosatti
On Tue, Jun 28, 2005 at 09:53:26AM -0400, Dan Malek wrote: > > On Jun 28, 2005, at 2:30 AM, Benjamin Herrenschmidt wrote: > > >You should consider 8Mb pages the way we do BATs yes, > > It's always been considered, just never fully implemented :-) > > >Note that I'll soon send the patch I told y

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-29 Thread Benjamin Herrenschmidt
On Tue, 2005-06-28 at 09:53 -0400, Dan Malek wrote: > On Jun 28, 2005, at 2:30 AM, Benjamin Herrenschmidt wrote: > > > You should consider 8Mb pages the way we do BATs yes, > > It's always been considered, just never fully implemented :-) > > > Note that I'll soon send the patch I told you about

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-28 Thread Benjamin Herrenschmidt
> > You see, this just keeps growing in features and complexity :-) > It would be nice for ioremap() to consider multiple, dynamic 8M > pages on 8xx like it does BATs on traditional PPC. It will do > this someday soon. You should consider 8Mb pages the way we do BATs yes, that is have some

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-28 Thread Dan Malek
On Jun 28, 2005, at 2:30 AM, Benjamin Herrenschmidt wrote: > You should consider 8Mb pages the way we do BATs yes, It's always been considered, just never fully implemented :-) > Note that I'll soon send the patch I told you about that makes the > virtual address picked by io_block_mapping() dy

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-27 Thread Dan Malek
On Jun 27, 2005, at 9:39 AM, Marcelo Tosatti wrote: > Bullshit, map_page()'s call for flush_HPTE() is conditioned by > "mem_init_done", > and mapin_ram() is called before mem_init_done is set. Excuse me? >> The IMMR space is a 16kB window (correct?), so I wonder if it might >> be better to the

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-27 Thread Marcelo Tosatti
On Sun, Jun 26, 2005 at 11:30:04AM -0300, Marcelo Tosatti wrote: > > Hi Dan, > > On Sat, Jun 25, 2005 at 06:24:47PM -0400, Dan Malek wrote: > > > > On Jun 25, 2005, at 10:53 AM, Marcelo Tosatti wrote: > > > > >Dan: I dont think ioremap() is an issue because it never works inside > > >the > > >

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-26 Thread Marcelo Tosatti
Hi Dan, On Sat, Jun 25, 2005 at 06:24:47PM -0400, Dan Malek wrote: > > On Jun 25, 2005, at 10:53 AM, Marcelo Tosatti wrote: > > >Dan: I dont think ioremap() is an issue because it never works inside > >the > >kernel's static virtual address space (which is the only one we're > >interested > >

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-25 Thread Dan Malek
On Jun 25, 2005, at 10:53 AM, Marcelo Tosatti wrote: > Dan: I dont think ioremap() is an issue because it never works inside > the > kernel's static virtual address space (which is the only one we're > interested > in having pinned at the moment). Take a close look at the initialization code.

[PATCH] 8xx: map_page() skip pinned region and tlbie debugging aid

2005-06-25 Thread Marcelo Tosatti
Hi, The following patch adds code to skip flushing of tlb's in the pinned TLB region (assuming that it is contiguous), thus preserving the pinned region. It also introduces CONFIG_DEBUG_PIN_TLBIE to catch for overlapping invalidates (as suggested by Dan). It could be smarter and aware of non-