svga_limits.h revision 6df26cac
1/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/svga_limits.h,v 1.1 2001/04/05 19:29:44 dawes Exp $ */ 2/* ********************************************************** 3 * Copyright (C) 1998-2001 VMware, Inc. 4 * All Rights Reserved 5 * $Id: svga_limits.h,v 1.1.1.1 2008/08/02 05:18:37 mrg Exp $ 6 * **********************************************************/ 7 8/* 9 * svga_limits.h -- 10 * 11 * SVGA limits 12 */ 13 14#ifndef _SVGA_LIMITS_H_ 15#define _SVGA_LIMITS_H_ 16 17#define INCLUDE_ALLOW_USERLEVEL 18#define INCLUDE_ALLOW_MONITOR 19#include "includeCheck.h" 20 21/* 22 * Location and size of SVGA frame buffer and the FIFO. 23 */ 24#define SVGA_VRAM_SIZE (16*1024*1024) 25#define SVGA_MEM_SIZE (256*1024) 26 27/* 28 * SVGA_FB_START is the default starting address of the SVGA frame 29 * buffer in the guest's physical address space. 30 * SVGA_FB_START_BIGMEM is the starting address of the SVGA frame 31 * buffer for VMs that have a large amount of physical memory. 32 * 33 * The address of SVGA_FB_START is set to 2GB - (SVGA_FB_MAX_SIZE + SVGA_MEM_SIZE), 34 * thus the SVGA frame buffer sits at [SVGA_FB_START .. 2GB-1] in the 35 * physical address space. Our older SVGA drivers for NT treat the 36 * address of the frame buffer as a signed integer. For backwards 37 * compatibility, we keep the default location of the frame buffer 38 * at under 2GB in the address space. This restricts VMs to have "only" 39 * up to ~2031MB (i.e., up to SVGA_FB_START) of physical memory. 40 * 41 * For VMs that want more memory than the ~2031MB, we place the SVGA 42 * frame buffer at SVGA_FB_START_BIGMEM. This allows VMs to have up 43 * to 3584MB, at least as far as the SVGA frame buffer is concerned 44 * (note that there may be other issues that limit the VM memory 45 * size). PCI devices use high memory addresses, so we have to put 46 * SVGA_FB_START_BIGMEM low enough so that it doesn't overlap with any 47 * of these devices. Placing SVGA_FB_START_BIGMEM at 0xE0000000 48 * should leave plenty of room for the PCI devices. 49 * 50 * NOTE: All of that is only true for the 0710 chipset. As of the 0405 51 * chipset, the framebuffer start is determined solely based on the value 52 * the guest BIOS or OS programs into the PCI base address registers. 53 */ 54#define SVGA_FB_LEGACY_START 0x7EFC0000 55#define SVGA_FB_LEGACY_START_BIGMEM 0xE0000000 56 57#endif 58