diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-02 12:14:56 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-02 12:14:56 +0000 |
commit | 20af0a9f92ee1e796185a3bfeddc2126d7a676fe (patch) | |
tree | 929a7a91874a1b72e29bdee69a5418648ce54fee /libdha/mtrr.c | |
parent | 1e88cc71f2b47bfc9bf6c458027a16abdaa66876 (diff) | |
download | mpv-20af0a9f92ee1e796185a3bfeddc2126d7a676fe.tar.bz2 mpv-20af0a9f92ee1e796185a3bfeddc2126d7a676fe.tar.xz |
MTRR configuring
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4477 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libdha/mtrr.c')
-rw-r--r-- | libdha/mtrr.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/libdha/mtrr.c b/libdha/mtrr.c new file mode 100644 index 0000000000..4373b0f808 --- /dev/null +++ b/libdha/mtrr.c @@ -0,0 +1,48 @@ +/* + mtrr.c - Stuff for optimizing memory access + Copyrights: + 2002 - Linux version by Nick Kurshev + Licence: GPL +*/ + +#include "config.h" + +#include <stdio.h> +#include <errno.h> +#include "libdha.h" +#include "AsmMacros.h" + + +#if defined( __i386__ ) +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) + { + fprintf(mtrr_fd,"base=0x%08X size=0x%08X type=%s\n",base,size,stype); + printf("base=0x%08X size=0x%08X type=%s\n",base,size,stype); + fclose(mtrr_fd); + return 0; + } + return ENOSYS; +#else +#warning Please port MTRR stuff!!! +#endif +} +#else +int mtrr_set_type(unsigned base,unsigned size,int type) +{ +} +#endif
\ No newline at end of file |