Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-10 Thread Masao Uebayashi
On Mon, Nov 08, 2010 at 08:53:12AM -0800, Matt Thomas wrote: On Nov 8, 2010, at 8:07 AM, Masao Uebayashi wrote: On Mon, Nov 08, 2010 at 10:48:45AM -0500, Thor Lancelot Simon wrote: On Mon, Nov 08, 2010 at 11:32:34PM +0900, Masao Uebayashi wrote: I don't like it's MD, period attitude.

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Masao Uebayashi
On Fri, Nov 05, 2010 at 04:54:33PM +, Eduardo Horvath wrote: On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:55:01PM +, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Masao Uebayashi
On Fri, Nov 05, 2010 at 05:36:53PM +, Eduardo Horvath wrote: On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote: Indeed. Also consider that pmap's are designed to have to have fast V-P translations, using that instead of UVM

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Masao Uebayashi
On Fri, Nov 05, 2010 at 10:04:46AM -0700, Matt Thomas wrote: On Nov 5, 2010, at 4:59 AM, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote: On Nov 1, 2010, at 8:55 AM, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Izumi Tsutsui
No, once again this is MD. For instance sparc64 uses compare and swap instructions to manipulate page tables for lockless synchronization. I don't like it's MD, period attitude. That solves nothing. What do you want to solve, as yamt asked you first? He said pmap_extract() could be

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Eduardo Horvath
On Mon, 8 Nov 2010, Masao Uebayashi wrote: On Fri, Nov 05, 2010 at 05:36:53PM +, Eduardo Horvath wrote: On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote: Indeed. Also consider that pmap's are designed to have to have

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Thor Lancelot Simon
On Mon, Nov 08, 2010 at 11:32:34PM +0900, Masao Uebayashi wrote: I don't like it's MD, period attitude. That solves nothing. We've had pmaps which have tried to pretend they were pmaps for some other architecture (that is, that some parts of the pmap weren't best left MD). For example, we

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Masao Uebayashi
On Mon, Nov 08, 2010 at 03:22:42PM +, Eduardo Horvath wrote: On Mon, 8 Nov 2010, Masao Uebayashi wrote: On Fri, Nov 05, 2010 at 05:36:53PM +, Eduardo Horvath wrote: On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote:

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-08 Thread Masao Uebayashi
On Mon, Nov 08, 2010 at 10:48:45AM -0500, Thor Lancelot Simon wrote: On Mon, Nov 08, 2010 at 11:32:34PM +0900, Masao Uebayashi wrote: I don't like it's MD, period attitude. That solves nothing. We've had pmaps which have tried to pretend they were pmaps for some other architecture (that

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-05 Thread Masao Uebayashi
On Mon, Nov 01, 2010 at 03:55:01PM +, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations to UVM, including available KVA. At this point UVM

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-05 Thread Masao Uebayashi
On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote: On Nov 1, 2010, at 8:55 AM, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-05 Thread Eduardo Horvath
On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:55:01PM +, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations to

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-05 Thread Eduardo Horvath
On Fri, 5 Nov 2010, Masao Uebayashi wrote: On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote: Indeed. Also consider that pmap's are designed to have to have fast V-P translations, using that instead of UVM makes a lot of sense. How does locking works? My understanding is

pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-01 Thread Masao Uebayashi
I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations to UVM, including available KVA. At this point UVM knows all the available resources of virtual/physical addresses. UVM is responsible to manage all of these. Calling

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-01 Thread der Mouse
The only right way to retrieve P-V translation is to lookup from vm_map (== the fault handler). What about setting up DMA on machines whose DMA uses physical addresses? Or does the DMA code get an exception to this rule? I also suspect debugging may well be a non-ignorable use case, though I

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-01 Thread Eduardo Horvath
On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations to UVM, including available KVA. At this point UVM knows all the available resources of virtual/physical addresses. UVM is

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))

2010-11-01 Thread Matt Thomas
On Nov 1, 2010, at 8:55 AM, Eduardo Horvath wrote: On Mon, 1 Nov 2010, Masao Uebayashi wrote: I think pmap_extract(9) is a bad API. After MD bootstrap code detects all physical memories, it gives all the informations to UVM, including available KVA. At this point UVM knows all the