Module Name:    src
Committed By:   mlelstv
Date:           Tue Nov 13 11:01:54 UTC 2018

Modified Files:
        src/sys/arch/i386/include: multiboot.h

Log Message:
Framebuffer definitions for multiboot protocol.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/i386/include/multiboot.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/include/multiboot.h
diff -u src/sys/arch/i386/include/multiboot.h:1.9 src/sys/arch/i386/include/multiboot.h:1.10
--- src/sys/arch/i386/include/multiboot.h:1.9	Fri Apr 13 01:49:47 2018
+++ src/sys/arch/i386/include/multiboot.h	Tue Nov 13 11:01:54 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: multiboot.h,v 1.9 2018/04/13 01:49:47 khorben Exp $	*/
+/*	$NetBSD: multiboot.h,v 1.10 2018/11/13 11:01:54 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
@@ -86,6 +86,7 @@ extern struct multiboot_header *Multiboo
 #define MULTIBOOT_INFO_HAS_LOADER_NAME	0x00000200
 #define MULTIBOOT_INFO_HAS_APM_TABLE	0x00000400
 #define MULTIBOOT_INFO_HAS_VBE		0x00000800
+#define MULTIBOOT_INFO_HAS_FRAMEBUFFER	0x00001000
 
 #if !defined(_LOCORE)
 struct multiboot_info {
@@ -138,6 +139,32 @@ struct multiboot_info {
 	uint16_t	unused_mi_vbe_interface_seg;
 	uint16_t	unused_mi_vbe_interface_off;
 	uint16_t	unused_mi_vbe_interface_len;
+
+	/* Valid if mi_flags sets MULTIBOOT_INFO_HAS_FRAMEBUFFER. */
+	uint64_t	framebuffer_addr;
+	uint32_t	framebuffer_pitch;
+	uint32_t	framebuffer_width;
+	uint32_t	framebuffer_height;
+	uint8_t		framebuffer_bpp;
+#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 	0
+#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB     	1
+#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT     2
+	uint8_t framebuffer_type;
+	union {
+		struct {
+			uint32_t framebuffer_palette_addr;
+			uint16_t framebuffer_palette_num_colors;
+		};
+		struct {
+			uint8_t framebuffer_red_field_position;
+			uint8_t framebuffer_red_mask_size;
+			uint8_t framebuffer_green_field_position;
+			uint8_t framebuffer_green_mask_size;
+			uint8_t framebuffer_blue_field_position;
+			uint8_t framebuffer_blue_mask_size;
+		};
+	};
+
 };
 
 /* --------------------------------------------------------------------- */

Reply via email to