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

From: Ville Syrjälä
Date: Wed Feb 21 2018 - 08:29:06 EST


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.

>
> 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

--
Ville Syrjälä
Intel OTC