RE: FPage

Jan Stoess <[email protected]> Wed, 19 Jan 2011 13:00:26 +0000
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
> I have read about fpage format, about IPC operations etc., but I don't
> understand, is mapped/granted fpages stored somewhere?

The kernel stores the map/grant transactions in a database called mapping d=
atabase. It needs to do so since otherwise unmap couldn't be performed recu=
rsively.

> For example I requested to map 8 KiB at 0x0000_0000 and then trying to
> unmap 4 KiB starting from 0x0000_0fff. Is it possible or not? Is it possi=
ble, e.g.
> to unmap a part from previously mapped fpage, or I should unmap only full
> fpage mapped previously, with the same address and size it was mapped?

No, you can also unmap parts. The hardware page size is the limit.

> P.S. Sorry for my English, it's not my native language.
I totally understand; it's not my native language, too :)

Best,
-Jan
--
Dr.-Ing. Jan Stoess
KIT/UKa System Architecture Group
Phone: +49 (721) 6084 4056
Fax: +49 (721) 6084 7664
http://os.ibds.kit.edu/stoess=20

> -----Original Message-----
> From: Wolf Ramovsky [mailto:[email protected]]
> Sent: Wednesday, January 19, 2011 13:29
> To: Jan Stoess
> Subject: Re: FPage
>=20
> Thank you for fast reply, Jan.
>=20
> Sorry, I have made some mistakes in my prev. message. Application request
> memory map from Sigma0, not from kernel, I know. But, I guess, it's not
> important here.
>=20
> I have read about fpage format, about IPC operations etc., but I don't
> understand, is mapped/granted fpages stored somewhere?
>=20
> For example I requested to map 8 KiB at 0x0000_0000 and then trying to
> unmap 4 KiB starting from 0x0000_0fff. Is it possible or not? Is it possi=
ble, e.g.
> to unmap a part from previously mapped fpage, or I should unmap only full
> fpage mapped previously, with the same address and size it was mapped?
>=20
>=20
> P.S. Sorry for my English, it's not my native language.
>=20
> 2011/1/19 Jan Stoess <[email protected]>:
> > Hello Wolf,
> >
> > An fpage is an abstraction for a virtual page. It is the basic unit for=
 map/grant
> operations: By specifying an fpage applications can pass to kernel which =
portion
> of _their_ address space they'd like to get mapped to a recipient address=
 space.
> Likewise, recipients can tell the kernel, where in _their_ address space =
they'd
> like to receive the mapping by specifying an fpage. The actual fpage may =
(but
> need not) be backed by some physical page frame.
> >
> > -Jan
> >
> > --
> > Dr.-Ing. Jan Stoess
> > KIT/UKa System Architecture Group
> > Phone: +49 (721) 6084 4056
> > Fax: +49 (721) 6084 7664
> > http://os.ibds.kit.edu/stoess
> >
> >
> >> -----Original Message-----
> >> From: [email protected] [mailto:[email protected]
> >> karlsruhe.de] On Behalf Of Wolf Ramovsky
> >> Sent: Wednesday, January 19, 2011 11:53
> >> To: [email protected]
> >> Subject: FPage
> >>
> >> Hello All.
> >>
> >> I want to know, what fpage is. Is it real object, that stored
> >> somewhere, or it "exists" only during mapping/granting operation,
> >> when kernel changes pagetable and then "forget" about fpage?
> >
> >