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;
+ };
+ };
+
};
/* --------------------------------------------------------------------- */