From: Pat Campbell <plc@novell.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"Daniel P. Berrange" <berrange@redhat.com>
Subject: Re: [RFC] Dynamic modes support for PV xenfb (included)
Date: Wed, 30 Jan 2008 06:41:18 -0700 [thread overview]
Message-ID: <47A07E7E.6040601@novell.com> (raw)
In-Reply-To: <87hcgv643k.fsf@pike.pond.sub.org>
Markus Armbruster wrote:
> The current PVFB code shares the framebuffer as follows. The
> framebuffer is described by a two level directory. The first level is
> the page directory pd[] in the shared page. pd[] contains the mfns of
> the second level directory pages. Those form an array containing the
> mfns of the framebuffer.
>
> Your patch replaces both levels of the page directory by grants, but
> not the framebuffer itself. What exactly does that buy us?
>
Patch does not replace the pd array. That is still being used to
maintain backwards compatibility. The required framebuffer memory is
allocated in xenfb_probe() and is never reallocated or changed. Only
the mapping to the framebuffer is changed.
Maybe some pseudo code this will make it clearer.
Frontend (FE)
Determine framebuffer size
Allocate framebuffer
Fill in array of mfns
Set shared page info to default mem length, width and height
Fill in grant refs using array of mfns
Back end Connected?
Send map extended event (uses grant ref)
Map extended done event?
Free grant refs
Backend (BE)
Calculate number of mfns based on mem length from shared page
Map in and point at framebuffer
Map extended event?
Map in using grant ref
Change framebuffer pointer to the new location
(still the same FE memory but now we can reach father
into it)
Send Map extended done
At this point the Backend is still treating the framebuffer as
800x600x32 but does has access to the extended framebuffer memory but
does not use it. When a resize event occurs the screen geometry changes
but not the framebuffers mappings.
So to answer what it buys us. It buys us access to a larger framebuffer
for higher resolutions support.
next prev parent reply other threads:[~2008-01-30 13:41 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-28 0:48 [RFC] Dynamic modes support for PV xenfb (included) Pat Campbell
2008-01-28 8:07 ` Keir Fraser
2008-01-30 9:43 ` Markus Armbruster
2008-01-30 13:41 ` Pat Campbell [this message]
2008-01-30 17:45 ` Markus Armbruster
2008-01-30 20:27 ` Pat Campbell
2008-01-31 8:22 ` Gerd Hoffmann
2008-01-31 8:50 ` Markus Armbruster
2008-01-31 9:06 ` Markus Armbruster
2008-01-30 20:43 ` Daniel P. Berrange
2008-02-28 10:36 ` Keir Fraser
2008-02-28 11:36 ` Markus Armbruster
-- strict thread matches above, loose matches on Subject: below --
2008-03-09 21:19 Pat Campbell
2008-03-09 21:29 ` Samuel Thibault
2008-03-10 12:36 ` Samuel Thibault
2008-03-10 16:16 ` Samuel Thibault
2008-03-10 16:36 ` Samuel Thibault
2008-03-12 17:04 ` Markus Armbruster
2008-03-13 13:05 ` Pat Campbell
2008-03-13 19:53 ` Pat Campbell
2008-03-14 16:39 ` Markus Armbruster
2008-02-04 18:49 [RFC]Dynamic " Pat Campbell
2008-02-05 9:52 ` Markus Armbruster
2008-02-05 23:38 ` Pat Campbell
2008-02-06 15:49 ` Markus Armbruster
2007-12-31 12:27 [RFC] Dynamic " Pat Campbell
2008-01-02 10:51 ` Gerd Hoffmann
[not found] <476133BC0200001800606E1D@sinclair.provo.novell.com>
[not found] ` <476999300200001800607A16@sinclair.provo.novell.com>
2007-12-20 5:20 ` Pat Campbell
2007-12-23 21:58 ` Mark Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47A07E7E.6040601@novell.com \
--to=plc@novell.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.