remove OpenBSD/amd64 specific mtrr API.

The old code never worked anyways and was removed from OpenBSD.
OpenBSD/amd64 4.4 and later support mtrr with the same API as
OpenBSD/i386.
This commit is contained in:
Matthieu Herrb 2008-08-09 23:43:50 +02:00
parent 6e33e6f355
commit be2210b69d

View File

@ -55,11 +55,6 @@
#endif
#endif
#if defined(__OpenBSD__) && defined(__amd64__)
#include <machine/mtrr.h>
#include <machine/sysarch.h>
#endif
#include "xf86_OSlib.h"
#include "xf86OSpriv.h"
@ -108,11 +103,6 @@ static pointer NetBSDsetWC(int, unsigned long, unsigned long, Bool,
MessageType);
static void NetBSDundoWC(int, pointer);
#endif
#if defined(__OpenBSD__) && defined(__amd64__)
static pointer amd64setWC(int, unsigned long, unsigned long, Bool,
MessageType);
static void amd64undoWC(int, pointer);
#endif
/*
* Check if /dev/mem can be mmap'd. If it can't print a warning when
@ -228,10 +218,6 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
#if defined(HAS_MTRR_BUILTIN) && defined(__NetBSD__)
pVidMem->setWC = NetBSDsetWC;
pVidMem->undoWC = NetBSDundoWC;
#endif
#if defined(__OpenBSD__) && defined(__amd64__)
pVidMem->setWC = amd64setWC;
pVidMem->undoWC = amd64undoWC;
#endif
pVidMem->initialised = TRUE;
}
@ -952,55 +938,3 @@ NetBSDundoWC(int screenNum, pointer list)
xfree(mtrrp);
}
#endif
#if defined(__OpenBSD__) && defined(__amd64__)
static pointer
amd64setWC(int screenNum, unsigned long base, unsigned long size, Bool enable,
MessageType from)
{
struct mtrr *mtrrp;
int n;
xf86DrvMsg(screenNum, X_WARNING,
"%s MTRR %lx - %lx\n", enable ? "set" : "remove",
base, (base + size));
mtrrp = xnfalloc(sizeof (struct mtrr));
mtrrp->base = base;
mtrrp->len = size;
mtrrp->type = MTRR_TYPE_WC;
/*
* MTRR_PRIVATE will make this MTRR get reset automatically
* if this process exits, so we have no need for an explicit
* cleanup operation when starting a new server.
*/
if (enable)
mtrrp->flags = MTRR_VALID | MTRR_PRIVATE;
else
mtrrp->flags = 0;
n = 1;
if (amd64_set_mtrr(mtrrp, &n) < 0) {
xfree(mtrrp);
return NULL;
}
return mtrrp;
}
static void
amd64undoWC(int screenNum, pointer list)
{
struct mtrr *mtrrp = (struct mtrr *)list;
int n;
if (mtrrp == NULL)
return;
n = 1;
mtrrp->flags &= ~MTRR_VALID;
amd64_set_mtrr(mtrrp, &n);
xfree(mtrrp);
}
#endif /* OpenBSD/amd64 */