Changeset 49627 in vbox
- Timestamp:
- Nov 22, 2013 3:11:53 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
include/VBox/VBoxGuest.h (modified) (1 diff)
-
src/VBox/Additions/linux/drm/vbox_drv.c (modified) (3 diffs)
-
src/VBox/Additions/linux/drm/vbox_drv.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxGuest.h
r46197 r49627 509 509 #endif /* RT_OS_OS2 */ 510 510 511 #ifdef RT_OS_LINUX 512 513 /* Private IOCtls between user space and the kernel video driver. DRM private 514 * IOCtls always have the type 'd' and a number between 0x40 and 0x99 (0x9F?) */ 515 516 # define VBOX_DRM_IOCTL(a) (0x40 + DRM_VBOX_ ## a) 517 518 /** Stop using HGSMI in the kernel driver until it is re-enabled, so that a 519 * user-space driver can use it. It must be re-enabled before the kernel 520 * driver can be used again in a sensible way. */ 521 # define DRM_VBOX_DISABLE_HGSMI 0 522 # define DRM_IOCTL_VBOX_DISABLE_HGSMI VBOX_DRM_IOCTL(DISABLE_HGSMI) 523 # define VBOXVIDEO_IOCTL_DISABLE_HGSMI _IO('d', DRM_IOCTL_VBOX_DISABLE_HGSMI) 524 /** Enable HGSMI in the kernel driver after it was previously disabled. */ 525 # define DRM_VBOX_ENABLE_HGSMI 1 526 # define DRM_IOCTL_VBOX_ENABLE_HGSMI VBOX_DRM_IOCTL(ENABLE_HGSMI) 527 # define VBOXVIDEO_IOCTL_ENABLE_HGSMI _IO('d', DRM_IOCTL_VBOX_ENABLE_HGSMI) 528 529 #endif /* RT_OS_LINUX */ 530 511 531 /** @} */ 512 532 #endif /* !defined(IN_RC) && !defined(IN_RING0_AGNOSTIC) && !defined(IPRT_NO_CRT) */ -
trunk/src/VBox/Additions/linux/drm/vbox_drv.c
r49518 r49627 48 48 #include "vbox_drv.h" 49 49 50 #include <VBox/VBoxGuest.h> 51 50 52 #include <linux/module.h> 51 53 #include <linux/console.h> … … 91 93 }; 92 94 95 96 static struct drm_ioctl_desc vbox_ioctls[] = 97 { 98 DRM_IOCTL_DEF_DRV(VBOX_DISABLE_HGSMI, VBoxDisableHGSMI, 99 DRM_UNLOCKED|DRM_ROOT_ONLY), 100 DRM_IOCTL_DEF_DRV(VBOX_ENABLE_HGSMI, VBoxEnableHGSMI, 101 DRM_UNLOCKED|DRM_ROOT_ONLY) 102 }; 103 104 93 105 static const struct file_operations vbox_fops = 94 106 { … … 114 126 .unload = vbox_driver_unload, 115 127 128 .ioctls = vbox_ioctls, 129 .num_ioctls = RT_ELEMENTS(vbox_ioctls), 116 130 .fops = &vbox_fops, 117 131 .name = DRIVER_NAME, -
trunk/src/VBox/Additions/linux/drm/vbox_drv.h
r49518 r49627 90 90 unsigned cCrtcs; 91 91 bool vga2_clone; 92 /** Amount of available VRAM, including space used for buffers. */ 93 uint32_t full_vram_size; 94 /** Amount of available VRAM, not including space used for buffers. */ 92 95 uint32_t vram_size; 96 /** Is HGSMI currently disabled? */ 97 bool fDisableHGSMI; 93 98 94 99 struct vbox_fbdev *fbdev; … … 161 166 extern int vbox_mode_init(struct drm_device *dev); 162 167 extern void vbox_mode_fini(struct drm_device *dev); 168 extern void VBoxRefreshModes(struct drm_device *pDev); 163 169 164 170 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) … … 222 228 uint32_t flags, struct vbox_bo **pvboxbo); 223 229 230 /** IOCtl handler to stop this driver using HGSMI so that user space can. */ 231 extern int VBoxDisableHGSMI(struct drm_device *dev, void *data, 232 struct drm_file *file_priv); 233 /** IOCtl handler to start this driver using HGSMI again. */ 234 extern int VBoxEnableHGSMI(struct drm_device *dev, void *data, 235 struct drm_file *file_priv); 236 224 237 int vbox_gem_create(struct drm_device *dev, 225 238 u32 size, bool iskernel,
Note:
See TracChangeset
for help on using the changeset viewer.

