DevVGA-SVGA.h revision ae94ad7e769e467419ab99cab5403bdb39bc544f
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** @file
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * VMware SVGA device
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/*
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * Copyright (C) 2013 Oracle Corporation
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync *
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * available from http://www.virtualbox.org. This file is free software;
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * you can redistribute it and/or modify it under the terms of the GNU
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * General Public License (GPL) as published by the Free Software
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#ifndef __DEVVMWARE_H__
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define __DEVVMWARE_H__
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Default FIFO size. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_FIFO_SIZE 0x20000
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Default scratch region size. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_SCRATCH_SIZE 0x100
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Surface memory available to the guest. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_SURFACE_SIZE (512*1024*1024)
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Maximum GMR pages. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_MAX_GMR_PAGES 0x2000
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Maximum nr of GMR ids. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_MAX_GMR_IDS 0x100
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/** Size of the region to backup when switching into svga mode. */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_FRAMEBUFFER_BACKUP_SIZE (32*1024)
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync/* u32ActionFlags */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_ACTION_CHANGEMODE_BIT 0
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#define VMSVGA_ACTION_CHANGEMODE RT_BIT(VMSVGA_ACTION_CHANGEMODE_BIT)
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncDECLCALLBACK(int) vmsvgaR3IORegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncint vmsvgaInit(PPDMDEVINS pDevIns);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncint vmsvgaDestruct(PPDMDEVINS pDevIns);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncint vmsvgaLoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncint vmsvgaSaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsyncDECLCALLBACK(void) vmsvgaR3PowerOn(PPDMDEVINS pDevIns);
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync#endif /* __DEVVMWARE_H__ */
ae94ad7e769e467419ab99cab5403bdb39bc544fvboxsync