vesa & framebuffer: Clone the framebuffer instead of having it be user-accessible.

This begins paving the way for removal of user access to kernel
address space.

After the previous commits, BDirectWindow and BWindowScreen
still function properly.

Part of #19990.

Change-Id: I8477e43cd517ba67383755a4cb60b00bc117f5d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10559
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
Augustin Cavalier
2026-03-24 14:01:11 +00:00
committed by waddlesplash
parent 95ace7f374
commit 9be0e148a2
15 changed files with 105 additions and 46 deletions
+1 -5
View File
@@ -37,11 +37,6 @@ struct vesa_shared_info {
display_mode current_mode;
uint32 bytes_per_row;
area_id frame_buffer_area; // area of frame buffer
uint8* frame_buffer;
// pointer to frame buffer (visible by all apps!)
uint8* physical_frame_buffer;
uint32 vesa_mode_offset;
uint32 vesa_mode_count;
@@ -62,6 +57,7 @@ struct vesa_shared_info {
// list ioctls
enum {
VESA_GET_PRIVATE_DATA = B_DEVICE_OP_CODES_END + 1,
VESA_CLONE_FRAME_BUFFER,
VESA_GET_DEVICE_NAME,
VESA_SET_DISPLAY_MODE,
VESA_GET_DPMS_MODE,