Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Aug 2002 13:52:35 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        "Balaji, Pavan" <pavan.balaji@intel.com>
Cc:        "'freebsd-hackers@freebsd.org'" <freebsd-hackers@freebsd.org>
Subject:   RE: Copying from Virtual Address Space to Physical Address
Message-ID:  <Pine.BSF.4.21.0208301349330.4649-100000@InterJet.elischer.org>
In-Reply-To: <3D386AED1B47D411A94300508B11F18704AD69D3@fmsmsx116.fm.intel.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Fri, 30 Aug 2002, Balaji, Pavan wrote:

> 
> I'm a little bit confused about this vmapbuf() thing. This is what I think,
> correct me if I'm wrong.
> 
> I have this User Virtual address, userbuf --> associated to physadd
> 
> Now, I do vmapbuf(physadd), and I get a Kernel Virtual Address associated to
> this "physadd". Now, I write to this Kernel Virtual Address and it reflects
> in userbuf? OhmyGod!!! Is that what it's supposed to do? Hope it doesn't
> oops my machine..

no that is correct. this function is for making user space buffers map
into kernel space.. 

you just want the second half of this..

Now I have a question for you....
how do you know what pages you want to map into kernel virtual space?


> 
> Also, if this is right, how do I get the kernel virtual address it's
> associated to? The function returns a void.


The buf steucture is updated to hold KV addresses for the region.
'bp' is a pointer to a complicated struct that defines the buffer, not
to the address of the buffer itself.


> 
> Thanx.
> 
> Pavan Balaji,
> Intel Corporation
> Email: pavan.balaji@intel.com
> 
>     "Only the Paranoid Survive"  --  Andy Grove
> 
> 
> > -----Original Message-----
> > From: Julian Elischer [mailto:julian@elischer.org]
> > Sent: Friday, August 30, 2002 3:20 PM
> > To: Balaji, Pavan
> > Cc: 'freebsd-hackers@freebsd.org'
> > Subject: Re: Copying from Virtual Address Space to Physical Address
> > 
> > 
> > 
> > 
> > On Fri, 30 Aug 2002, Julian Elischer wrote:
> > 
> > > Physio() does this.. first it finds the physical addresses 
> > of the user
> > > pages targetted, then it maps those pages into kernel 
> > space, and then it
> > > initiates IO to them. (this actually needs to change but 
> > for now it's
> > > true.
> > 
> > 
> > to correct myself..
> > physio() calls vmapbuf(bp) in order to do it..
> > 
> > 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0208301349330.4649-100000>