Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to setting VBE_DISPI_LFB_ENABLED for VGABios under bochs ? #16

Open
hbsyzbh opened this issue Oct 30, 2021 · 0 comments
Open

How to setting VBE_DISPI_LFB_ENABLED for VGABios under bochs ? #16

hbsyzbh opened this issue Oct 30, 2021 · 0 comments

Comments

@hbsyzbh
Copy link

hbsyzbh commented Oct 30, 2021

Hi ,
1st thing, I,m Sorry, I do not speaking English.

Is there any way to enable VGABios LFB(linear frame buffer) in/ under bochs ?
like config file changes or patches ?
Thanks !

ref:
https://wiki.osdev.org/Bochs_VBE_Extensions#Using_a_linear_frame_buffer_.28LFB.29
Using a linear frame buffer (LFB)
When using a linear framebuffer, the BGA exposes all of the video memory in a single linearly addressable section of memory. The address of the framebuffer is not fixed, and must be read from the first PCI base address register (BAR 0 of device 0x1234:0x1111). To enable the linear framebuffer, use the VBE_DISPI_LFB_ENABLED flag (0x40) when enabling the BGA in conjunction with the VBE_DISPI_ENABLED flag.

Unlike Bochs, QEMU does not necessarily pay attention to the VBE_DISPI_LFB_ENABLED flag with respect to banked memory access, allowing both the linear framebuffer and banked memory to be used at all times. Bochs will not honour requests to change the memory bank when the linear framebuffer is enabled, and it will similarly ignore any writes made to the memory bank.

Note: In older versions of Bochs and QEMU, the framebuffer was fixed at 0xE0000000, and modern versions will use that address when emulating ISA-only systems. It is highly inadvisable to make assumptions about the address of the linear framebuffer. It should always be read from the BGA's PCI BAR0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant