Re: Thinkpad X1 Carbon 3rd - Reducing the compressed framebuffer size

From: Pali RohÃr
Date: Wed Feb 21 2018 - 08:34:40 EST


On Wednesday 21 February 2018 15:28:53 Ville SyrjÃlà wrote:
> On Mon, Feb 19, 2018 at 10:36:50AM +0100, Pali RohÃr wrote:
> > On Tuesday 13 February 2018 19:45:56 Ville SyrjÃlà wrote:
> > > On Tue, Feb 13, 2018 at 06:43:41PM +0100, Pali RohÃr wrote:
> > > > On Tuesday 13 February 2018 18:12:21 Ville SyrjÃlà wrote:
> > > > > On Tue, Feb 13, 2018 at 05:04:37PM +0100, Pali RohÃr wrote:
> > > > > > So it can be done only once after reboot? Or only prior to booting kernel?
> > > > >
> > > > > Never.
> > > >
> > > > Never? Now I'm lost. Why then dmesg message instruct user to try set up
> > > > it in BIOS if you say it is never possible?
> > >
> > > You can change it in the BIOS. No way to change it from the operating system.
> >
> > Hi! Can you explain it a bit more?
> >
> > What does it mean "in BIOS"? Prior switching from 16bit real mode to
> > protected or long? Or before exiting EFI boot services? Or before
> > booting kernel (when initialize memory mapping)?
>
> The BIOS is a black box, no one really knows what it's doing. The stolen
> memory is carved out pretty early I think (alongside other carved out
> chunks for SMM and whatnot). And once that's done the BIOS usually locks
> down stuff like this (the hw has magic write once lock bits for various
> registers) so there's just no way to change things afterwards.

Thank you for explanation. So real problem with changing size of stolen
memory is that BIOS "may" lock future changes.

Is there any documentation for this Intel GPU stolen memory? I hope that
I should be able at least to read status of that lock registers -- to
prove that size of stolen memory is locked and cannot be changed.

> >
> > I still do not see reason nor understand why this cannot be possible
> > either in bootloader (e.g. grub2) or prior to loading bootloader which
> > runs in protected or long mode.
> >
> > It is because BIOS uses some undocumented call/procedure which sets that
> > amount of memory and it is unknown how to do it?
> >
> > --
> > Pali RohÃr
> > pali.rohar@xxxxxxxxx
>

--
Pali RohÃr
pali.rohar@xxxxxxxxx