93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
 | 
						|
/* Resource information code */
 | 
						|
 | 
						|
#ifdef HAVE_XORG_CONFIG_H
 | 
						|
#include <xorg-config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#include <X11/X.h>
 | 
						|
#include "xf86.h"
 | 
						|
#include "xf86Priv.h"
 | 
						|
#include "xf86Privstr.h"
 | 
						|
#include "xf86Pci.h"
 | 
						|
#include "xf86Resources.h"
 | 
						|
#define NEED_OS_RAC_PROTOS
 | 
						|
#include "xf86_OSlib.h"
 | 
						|
 | 
						|
/* Avoid Imakefile changes */
 | 
						|
#include "bus/Pci.h"
 | 
						|
 | 
						|
#ifdef INCLUDE_XF86_NO_DOMAIN
 | 
						|
 | 
						|
#if defined(__alpha__) || defined(__sparc64__) || defined(__amd64__)
 | 
						|
 | 
						|
resPtr
 | 
						|
xf86AccResFromOS(resPtr ret)
 | 
						|
{
 | 
						|
    resRange range;
 | 
						|
 | 
						|
    /*
 | 
						|
     * Fallback is to claim the following areas:
 | 
						|
     *
 | 
						|
     * 0x000c0000 - 0x000effff  location of VGA and other extensions ROMS
 | 
						|
     */
 | 
						|
 | 
						|
    RANGE(range, 0x000c0000, 0x000effff, ResExcMemBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
 | 
						|
    /*
 | 
						|
     * Fallback would be to claim well known ports in the 0x0 - 0x3ff range
 | 
						|
     * along with their sparse I/O aliases, but that's too imprecise.  Instead
 | 
						|
     * claim a bare minimum here.
 | 
						|
     */
 | 
						|
    RANGE(range, 0x00000000, 0x000000ff, ResExcIoBlock); /* For mainboard */
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
 | 
						|
    /*
 | 
						|
     * At minimum, the top and bottom resources must be claimed, so that
 | 
						|
     * resources that are (or appear to be) unallocated can be relocated.
 | 
						|
     */
 | 
						|
    RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
    RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
/*  RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1); */
 | 
						|
    RANGE(range, 0xffffffff, 0xffffffff, ResExcIoBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
 | 
						|
    /* XXX add others */
 | 
						|
    return ret;
 | 
						|
}
 | 
						|
 | 
						|
#elif defined(__powerpc__)
 | 
						|
 | 
						|
resPtr
 | 
						|
xf86AccResFromOS(resPtr ret)
 | 
						|
{
 | 
						|
    resRange range;
 | 
						|
 | 
						|
    /*
 | 
						|
     * At minimum, the top and bottom resources must be claimed, so that
 | 
						|
     * resources that are (or appear to be) unallocated can be relocated.
 | 
						|
     */
 | 
						|
    RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
    RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
    RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
    RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);
 | 
						|
    ret = xf86AddResToList(ret, &range, -1);
 | 
						|
 | 
						|
    return ret;
 | 
						|
}
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
#error : Put your platform dependent code here!!
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* INCLUDE_XF86_NO_DOMAIN */
 |