[Bug 162373] VESA framebuffer memory mapping fails with EINVAL for certain modes

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 20 May 2023 21:37:32 UTC

Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> changed:

           What    |Removed                     |Added
                 CC|                            |J.deBoynePollard-newsgroups
                   |                            |@NTLWorld.COM

--- Comment #3 from Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> ---
This affects more than just 1 person.

The suggested fix isn't quite right.  The simplest fix is to just take the "-
PAGE_SIZE" out.  The page maps are set up to cover the whole buffer, in fact to
cover the largest buffer size in any VESA mode, and va_window_size is the right
field to use.

There's a similar check, with a similar query, in the VGA driver.  That's never
been questioned probably because the VGA memory windows are usually a whole
multiple of the page size.

Applications programs have been working around this for years by rounding
va_window_size down to the next lower whole multiple of the page size.  But
this is at the expense of their being unable to memory map a number of pixel
rows at the bottom of the screen.

You are receiving this mail because:
You are the assignee for the bug.