From 65409d2312e702a48d3cf5b32479d25266bda3c3 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Wed, 1 Jan 2020 18:22:19 -0800 Subject: 5858 Move script to create a Soso boot image into a sub-directory. I'm trying to streamline newcomer attention to just a couple of use cases. --- tools/iso/kernel.soso/vbe.h | 63 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tools/iso/kernel.soso/vbe.h (limited to 'tools/iso/kernel.soso/vbe.h') diff --git a/tools/iso/kernel.soso/vbe.h b/tools/iso/kernel.soso/vbe.h new file mode 100644 index 00000000..abaf0940 --- /dev/null +++ b/tools/iso/kernel.soso/vbe.h @@ -0,0 +1,63 @@ +#ifndef VBE_H +#define VBE_H + +typedef struct { + /* Mandatory information for all VBE revisions */ + uint16 ModeAttributes; /**< @brief mode attributes */ + uint8 WinAAttributes; /**< @brief window A attributes */ + uint8 WinBAttributes; /**< @brief window B attributes */ + uint16 WinGranularity; /**< @brief window granularity */ + uint16 WinSize; /**< @brief window size */ + uint16 WinASegment; /**< @brief window A start segment */ + uint16 WinBSegment; /**< @brief window B start segment */ + void* WinFuncPtr; /**< @brief real mode/far pointer to window function */ + uint16 BytesPerScanLine; /**< @brief bytes per scan line */ + + /* Mandatory information for VBE 1.2 and above */ + + uint16 XResolution; /**< @brief horizontal resolution in pixels/characters */ + uint16 YResolution; /**< @brief vertical resolution in pixels/characters */ + uint8 XCharSize; /**< @brief character cell width in pixels */ + uint8 YCharSize; /**< @brief character cell height in pixels */ + uint8 NumberOfPlanes; /**< @brief number of memory planes */ + uint8 BitsPerPixel; /**< @brief bits per pixel */ + uint8 NumberOfBanks; /**< @brief number of banks */ + uint8 MemoryModel; /**< @brief memory model type */ + uint8 BankSize; /**< @brief bank size in KB */ + uint8 NumberOfImagePages; /**< @brief number of images */ + uint8 Reserved1; /**< @brief reserved for page function */ + + /* Direct Color fields (required for direct/6 and YUV/7 memory models) */ + + uint8 RedMaskSize; /* size of direct color red mask in bits */ + uint8 RedFieldPosition; /* bit position of lsb of red mask */ + uint8 GreenMaskSize; /* size of direct color green mask in bits */ + uint8 GreenFieldPosition; /* bit position of lsb of green mask */ + uint8 BlueMaskSize; /* size of direct color blue mask in bits */ + uint8 BlueFieldPosition; /* bit position of lsb of blue mask */ + uint8 RsvdMaskSize; /* size of direct color reserved mask in bits */ + uint8 RsvdFieldPosition; /* bit position of lsb of reserved mask */ + uint8 DirectColorModeInfo; /* direct color mode attributes */ + + /* Mandatory information for VBE 2.0 and above */ + void* PhysBasePtr; /**< @brief physical address for flat memory frame buffer */ + uint8 Reserved2[4]; /**< @brief Reserved - always set to 0 */ + uint8 Reserved3[2]; /**< @brief Reserved - always set to 0 */ + + /* Mandatory information for VBE 3.0 and above */ + uint16 LinBytesPerScanLine; /* bytes per scan line for linear modes */ + uint8 BnkNumberOfImagePages; /* number of images for banked modes */ + uint8 LinNumberOfImagePages; /* number of images for linear modes */ + uint8 LinRedMaskSize; /* size of direct color red mask (linear modes) */ + uint8 LinRedFieldPosition; /* bit position of lsb of red mask (linear modes) */ + uint8 LinGreenMaskSize; /* size of direct color green mask (linear modes) */ + uint8 LinGreenFieldPosition; /* bit position of lsb of green mask (linear modes) */ + uint8 LinBlueMaskSize; /* size of direct color blue mask (linear modes) */ + uint8 LinBlueFieldPosition; /* bit position of lsb of blue mask (linear modes ) */ + uint8 LinRsvdMaskSize; /* size of direct color reserved mask (linear modes) */ + uint8 LinRsvdFieldPosition; /* bit position of lsb of reserved mask (linear modes) */ + uint32 MaxPixelClock; /* maximum pixel clock (in Hz) for graphics mode */ + uint8 Reserved4[190]; /* remainder of ModeInfoBlock */ +} __attribute__((packed)) vbe_mode_info_t; + +#endif // VBE_H -- cgit 1.4.1-2-gfad0