1*0b733c9cSJérôme Duval /* 2*0b733c9cSJérôme Duval * Copyright 2005-2009, Axel Dörfler, axeld@pinc-software.de. 3*0b733c9cSJérôme Duval * Distributed under the terms of the MIT License. 4*0b733c9cSJérôme Duval */ 5*0b733c9cSJérôme Duval #ifndef VIRTIO_INFO_H 6*0b733c9cSJérôme Duval #define VIRTIO_INFO_H 7*0b733c9cSJérôme Duval 8*0b733c9cSJérôme Duval 9*0b733c9cSJérôme Duval #include <Drivers.h> 10*0b733c9cSJérôme Duval #include <Accelerant.h> 11*0b733c9cSJérôme Duval 12*0b733c9cSJérôme Duval #include <edid.h> 13*0b733c9cSJérôme Duval 14*0b733c9cSJérôme Duval 15*0b733c9cSJérôme Duval struct virtio_gpu_shared_info { 16*0b733c9cSJérôme Duval area_id mode_list_area; // area containing display mode list 17*0b733c9cSJérôme Duval uint32 mode_count; 18*0b733c9cSJérôme Duval display_mode current_mode; 19*0b733c9cSJérôme Duval uint32 bytes_per_row; 20*0b733c9cSJérôme Duval 21*0b733c9cSJérôme Duval area_id frame_buffer_area; // area of frame buffer 22*0b733c9cSJérôme Duval uint8* frame_buffer; 23*0b733c9cSJérôme Duval // pointer to frame buffer (visible by all apps!) 24*0b733c9cSJérôme Duval 25*0b733c9cSJérôme Duval edid1_raw edid_raw; 26*0b733c9cSJérôme Duval bool has_edid; 27*0b733c9cSJérôme Duval uint32 dpms_capabilities; 28*0b733c9cSJérôme Duval 29*0b733c9cSJérôme Duval char name[32]; 30*0b733c9cSJérôme Duval uint32 vram_size; 31*0b733c9cSJérôme Duval }; 32*0b733c9cSJérôme Duval 33*0b733c9cSJérôme Duval //----------------- ioctl() interface ---------------- 34*0b733c9cSJérôme Duval 35*0b733c9cSJérôme Duval // list ioctls 36*0b733c9cSJérôme Duval enum { 37*0b733c9cSJérôme Duval VIRTIO_GPU_GET_PRIVATE_DATA = B_DEVICE_OP_CODES_END + 1, 38*0b733c9cSJérôme Duval VIRTIO_GPU_GET_DEVICE_NAME, 39*0b733c9cSJérôme Duval VIRTIO_GPU_SET_DISPLAY_MODE, 40*0b733c9cSJérôme Duval }; 41*0b733c9cSJérôme Duval 42*0b733c9cSJérôme Duval 43*0b733c9cSJérôme Duval #endif /* VIRTIO_INFO_H */ 44