Mercurial > mplayer.hg
view libdha/mtrr.c @ 18650:587abd8f3dab
Except for missing cd-dvd.xml and codecs.xml, German xml docs
should be complete, synced and corrected
:) Here we go:
bugreports.xml:
* r18600: xml docs: CVS --> Subversion
* r18552: URL fix
bugs.xml, audio.xml, usage.xml, faq.xml, tvinput.xml, documentation.xml:
* fix "in sync with" tag
skin.xml:
* review
* r18600: xml docs: CVS --> Subversion
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
install.xml:
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
* r17707: New website structure, the /homepage subdirectory is gone.
* r17462: s/LIVE.COM/LIVE555/ + URL update
video.xml:
* tiny wording fix
mail-lists.xml:
* r18606: Fix mailing list name.
* r18600: xml docs: CVS --> Subversion
author | kraymer |
---|---|
date | Thu, 08 Jun 2006 16:20:01 +0000 |
parents | 243f6f5d0bb9 |
children |
line wrap: on
line source
/* mtrr.c - Stuff for optimizing memory access Copyrights: 2002 - Linux version by Nick Kurshev Licence: GPL */ #include "config.h" #include <stdio.h> #include <string.h> #include <errno.h> #include "libdha.h" #include "AsmMacros.h" #if defined (__i386__) && defined (__NetBSD__) #include <sys/param.h> #if __NetBSD_Version__ > 105240000 #include <stdint.h> #include <stdlib.h> #include <machine/mtrr.h> #include <machine/sysarch.h> #endif #endif int mtrr_set_type(unsigned base,unsigned size,int type) { #ifdef linux FILE * mtrr_fd; char * stype; switch(type) { case MTRR_TYPE_UNCACHABLE: stype = "uncachable"; break; case MTRR_TYPE_WRCOMB: stype = "write-combining"; break; case MTRR_TYPE_WRTHROUGH: stype = "write-through"; break; case MTRR_TYPE_WRPROT: stype = "write-protect"; break; case MTRR_TYPE_WRBACK: stype = "write-back"; break; default: return EINVAL; } mtrr_fd = fopen("/proc/mtrr","wt"); if(mtrr_fd) { char sout[256]; unsigned wr_len; sprintf(sout,"base=0x%08X size=0x%08X type=%s\n",base,size,stype); wr_len = fprintf(mtrr_fd,sout); /*printf("MTRR: %s\n",sout);*/ fclose(mtrr_fd); return wr_len == strlen(sout) ? 0 : EPERM; } return ENOSYS; #elif defined (__i386__ ) && defined (__NetBSD__) && __NetBSD_Version__ > 105240000 struct mtrr *mtrrp; int n; mtrrp = malloc(sizeof (struct mtrr)); mtrrp->base = base; mtrrp->len = size; mtrrp->type = type; mtrrp->flags = MTRR_VALID | MTRR_PRIVATE; n = 1; if (i386_set_mtrr(mtrrp, &n) < 0) { free(mtrrp); return errno; } free(mtrrp); return 0; #else /* NetBSD prior to 1.5Y doesn't have MTRR support */ return ENOSYS; #endif }