diff --git a/src/add-ons/kernel/drivers/graphics/vesa/Jamfile b/src/add-ons/kernel/drivers/graphics/vesa/Jamfile index 656159be4f..358aa3e6f6 100644 --- a/src/add-ons/kernel/drivers/graphics/vesa/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/vesa/Jamfile @@ -1,7 +1,8 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics vesa ; -UsePrivateHeaders kernel graphics [ FDirName graphics common ] ; -UsePrivateHeaders kernel graphics [ FDirName graphics vesa ] ; +UsePrivateHeaders [ FDirName graphics common ] ; +UsePrivateHeaders [ FDirName graphics vesa ] ; +UsePrivateKernelHeaders ; KernelAddon vesa : device.cpp diff --git a/src/add-ons/kernel/drivers/graphics/vesa/vesa.cpp b/src/add-ons/kernel/drivers/graphics/vesa/vesa.cpp index 88b4d05d8d..f5fcf87b0e 100644 --- a/src/add-ons/kernel/drivers/graphics/vesa/vesa.cpp +++ b/src/add-ons/kernel/drivers/graphics/vesa/vesa.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "driver.h" #include "utility.h" @@ -174,7 +175,7 @@ vesa_set_display_mode(vesa_info &info, unsigned int mode) // Prepare vm86 mode environment struct vm86_state vmState; - status_t status = vm86_prepare(&vmState, 0x2000); + status_t status = vm86_prepare(&vmState, 0x20000); if (status != B_OK) { dprintf(DEVICE_NAME": vesa_set_display_mode(): vm86_prepare failed\n"); return status; @@ -210,6 +211,9 @@ vesa_set_display_mode(vesa_info &info, unsigned int mode) } delete_area(info.shared_info->frame_buffer_area); + // Turn on write combining for the area + vm_set_area_memory_type(newFBArea, modeInfo.physical_base, B_MTR_WC); + // Update shared frame buffer information info.shared_info->frame_buffer_area = newFBArea; info.shared_info->frame_buffer = (uint8 *)frameBuffer;