mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 12:07:45 +00:00
Kernel/Graphics: Implement basic support for VMWare SVGA adapter
This commit is contained in:
parent
530aa51816
commit
340773ddb7
11 changed files with 640 additions and 1 deletions
61
Kernel/Graphics/VMWare/Definitions.h
Normal file
61
Kernel/Graphics/VMWare/Definitions.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/Types.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
static constexpr size_t vmware_svga_version_2_id = (0x900000UL << 8 | (2));
|
||||
|
||||
enum class VMWareDisplayRegistersOffset {
|
||||
ID = 0,
|
||||
ENABLE = 1,
|
||||
WIDTH = 2,
|
||||
HEIGHT = 3,
|
||||
MAX_WIDTH = 4,
|
||||
MAX_HEIGHT = 5,
|
||||
DEPTH = 6,
|
||||
BITS_PER_PIXEL = 7, /* Current bpp in the guest */
|
||||
PSEUDOCOLOR = 8,
|
||||
RED_MASK = 9,
|
||||
GREEN_MASK = 10,
|
||||
BLUE_MASK = 11,
|
||||
BYTES_PER_LINE = 12,
|
||||
FB_OFFSET = 14,
|
||||
VRAM_SIZE = 15,
|
||||
FB_SIZE = 16,
|
||||
|
||||
CAPABILITIES = 17,
|
||||
MEM_SIZE = 19,
|
||||
CONFIG_DONE = 20, /* Set when memory area configured */
|
||||
SYNC = 21, /* See "FIFO Synchronization Registers" */
|
||||
BUSY = 22, /* See "FIFO Synchronization Registers" */
|
||||
SCRATCH_SIZE = 29, /* Number of scratch registers */
|
||||
MEM_REGS = 30, /* Number of FIFO registers */
|
||||
PITCHLOCK = 32, /* Fixed pitch for all modes */
|
||||
IRQMASK = 33, /* Interrupt mask */
|
||||
|
||||
GMR_ID = 41,
|
||||
GMR_DESCRIPTOR = 42,
|
||||
GMR_MAX_IDS = 43,
|
||||
GMR_MAX_DESCRIPTOR_LENGTH = 44,
|
||||
|
||||
TRACES = 45, /* Enable trace-based updates even when FIFO is on */
|
||||
GMRS_MAX_PAGES = 46, /* Maximum number of 4KB pages for all GMRs */
|
||||
MEMORY_SIZE = 47, /* Total dedicated device memory excluding FIFO */
|
||||
};
|
||||
|
||||
struct [[gnu::packed]] VMWareDisplayFIFORegisters {
|
||||
u32 start;
|
||||
u32 size;
|
||||
u32 next_command;
|
||||
u32 stop;
|
||||
u32 commands[];
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue