11 uint8_t vmware_busnum, vmware_slot, vmware_func;
13 #define VMWARE_VENDORID 0x15AD
14 #define VMWARE_DEVICEID 0x0405
17 #define SVGA_REG_ID 0x00
18 #define SVGA_REG_ENABLE 0x01
19 #define SVGA_REG_WIDTH 0x02
20 #define SVGA_REG_HEIGHT 0x03
21 #define SVGA_REG_MAX_WIDTH 0x04
22 #define SVGA_REG_MAX_HEIGHT 0x05
23 #define SVGA_REG_DEPTH 0x06
24 #define SVGA_REG_BPP 0x07
25 #define SVGA_REG_PSEUDOCOLOR 0x08
26 #define SVGA_REG_RED_MASK 0x09
27 #define SVGA_REG_GREEN_MASK 0x0A
28 #define SVGA_REG_BLUE_MASK 0x0B
29 #define SVGA_REG_BYTES_PER_LINE 0x0C
30 #define SVGA_REG_FB_START 0x0D
31 #define SVGA_REG_FB_OFFSET 0x0E
32 #define SVGA_REG_VRAM_SIZE 0x0F
33 #define SVGA_REG_FB_SIZE 0x10
34 #define SVGA_REG_CAPABILITIES 0x11
35 #define SVGA_REG_FIFO_START 0x12
36 #define SVGA_REG_FIFO_SIZE 0x13
38 void drv_video_vmware(){
39 qemu_log(
"vmware: init");
41 pci_find_device(VMWARE_VENDORID, VMWARE_DEVICEID, &vmware_busnum, &vmware_slot, &vmware_func);
42 const uint16_t devnum =
pci_get_device(vmware_busnum, vmware_slot, vmware_func);
44 qemu_log(
"VMWARE ID: %d (%x)", devnum, devnum);
46 if(devnum == PCI_VENDOR_NO_DEVICE) {
47 qemu_log(
"VMWARE VideoID not connected!");
50 qemu_log(
"Detected VMWARE VideoID");
void pci_find_device(uint16_t vendor, uint16_t device, uint8_t *bus_ret, uint8_t *slot_ret, uint8_t *func_ret)
[PCI] Поиск устройства по ID-поставшика и устройства
uint16_t pci_get_device(uint8_t bus, uint8_t slot, uint8_t function)
[PCI] Получение ID-Устройства