/usr/include/asm
NameSizeModeActions
a.out.h6930644editdlrm
auxvec.h2810644editdlrm
bitsperlong.h2290644editdlrm
boot.h2600644editdlrm
bootparam.h29700644editdlrm
byteorder.h1370644editdlrm
debugreg.h29040644editdlrm
e820.h22590644editdlrm
errno.h310644editdlrm
fcntl.h310644editdlrm
hyperv.h81030644editdlrm
ioctl.h310644editdlrm
ioctls.h320644editdlrm
ipcbuf.h320644editdlrm
ist.h7900644editdlrm
kvm.h62120644editdlrm
kvm_para.h23050644editdlrm
ldt.h12430644editdlrm
mce.h52410644editdlrm
mman.h1700644editdlrm
msgbuf.h320644editdlrm
msr-index.h234120644editdlrm
msr.h3110644editdlrm
mtrr.h37880644editdlrm
param.h310644editdlrm
poll.h300644editdlrm
posix_types.h920644editdlrm
posix_types_32.h13160644editdlrm
posix_types_64.h13060644editdlrm
prctl.h1900644editdlrm
processor-flags.h36560644editdlrm
ptrace-abi.h17970644editdlrm
ptrace.h11920644editdlrm
resource.h340644editdlrm
sembuf.h6990644editdlrm
setup.h820644editdlrm
shmbuf.h320644editdlrm
sigcontext.h54030644editdlrm
sigcontext32.h16840644editdlrm
siginfo.h1980644editdlrm
signal.h29580644editdlrm
socket.h320644editdlrm
sockios.h330644editdlrm
stat.h23240644editdlrm
statfs.h3530644editdlrm
swab.h11790644editdlrm
termbits.h340644editdlrm
termios.h330644editdlrm
types.h1140644editdlrm
ucontext.h3390644editdlrm
unistd.h820644editdlrm
unistd_32.h106920644editdlrm
unistd_64.h242380644editdlrm
vm86.h30550644editdlrm
vsyscall.h3750644editdlrm
Edit: /usr/include/asm/mtrr.h (3788B)
/* Generic MTRR (Memory Type Range Register) ioctls. Copyright (C) 1997-1999 Richard Gooch This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Richard Gooch may be reached by email at rgooch@atnf.csiro.au The postal address is: Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia. */ #ifndef _ASM_X86_MTRR_H #define _ASM_X86_MTRR_H #include #include #include #define MTRR_IOCTL_BASE 'M' struct mtrr_sentry { unsigned long base; /* Base address */ unsigned int size; /* Size of region */ unsigned int type; /* Type of region */ }; /* Warning: this structure has a different order from i386 on x86-64. The 32bit emulation code takes care of that. But you need to use this for 64bit, otherwise your X server will break. */ #ifdef __i386__ struct mtrr_gentry { unsigned int regnum; /* Register number */ unsigned long base; /* Base address */ unsigned int size; /* Size of region */ unsigned int type; /* Type of region */ }; #else /* __i386__ */ struct mtrr_gentry { unsigned long base; /* Base address */ unsigned int size; /* Size of region */ unsigned int regnum; /* Register number */ unsigned int type; /* Type of region */ }; #endif /* !__i386__ */ struct mtrr_var_range { __u32 base_lo; __u32 base_hi; __u32 mask_lo; __u32 mask_hi; }; /* In the Intel processor's MTRR interface, the MTRR type is always held in an 8 bit field: */ typedef __u8 mtrr_type; #define MTRR_NUM_FIXED_RANGES 88 #define MTRR_MAX_VAR_RANGES 256 struct mtrr_state_type { struct mtrr_var_range var_ranges[MTRR_MAX_VAR_RANGES]; mtrr_type fixed_ranges[MTRR_NUM_FIXED_RANGES]; unsigned char enabled; unsigned char have_fixed; mtrr_type def_type; }; #define MTRRphysBase_MSR(reg) (0x200 + 2 * (reg)) #define MTRRphysMask_MSR(reg) (0x200 + 2 * (reg) + 1) /* These are the various ioctls */ #define MTRRIOC_ADD_ENTRY _IOW(MTRR_IOCTL_BASE, 0, struct mtrr_sentry) #define MTRRIOC_SET_ENTRY _IOW(MTRR_IOCTL_BASE, 1, struct mtrr_sentry) #define MTRRIOC_DEL_ENTRY _IOW(MTRR_IOCTL_BASE, 2, struct mtrr_sentry) #define MTRRIOC_GET_ENTRY _IOWR(MTRR_IOCTL_BASE, 3, struct mtrr_gentry) #define MTRRIOC_KILL_ENTRY _IOW(MTRR_IOCTL_BASE, 4, struct mtrr_sentry) #define MTRRIOC_ADD_PAGE_ENTRY _IOW(MTRR_IOCTL_BASE, 5, struct mtrr_sentry) #define MTRRIOC_SET_PAGE_ENTRY _IOW(MTRR_IOCTL_BASE, 6, struct mtrr_sentry) #define MTRRIOC_DEL_PAGE_ENTRY _IOW(MTRR_IOCTL_BASE, 7, struct mtrr_sentry) #define MTRRIOC_GET_PAGE_ENTRY _IOWR(MTRR_IOCTL_BASE, 8, struct mtrr_gentry) #define MTRRIOC_KILL_PAGE_ENTRY _IOW(MTRR_IOCTL_BASE, 9, struct mtrr_sentry) /* These are the region types */ #define MTRR_TYPE_UNCACHABLE 0 #define MTRR_TYPE_WRCOMB 1 /*#define MTRR_TYPE_ 2*/ /*#define MTRR_TYPE_ 3*/ #define MTRR_TYPE_WRTHROUGH 4 #define MTRR_TYPE_WRPROT 5 #define MTRR_TYPE_WRBACK 6 #define MTRR_NUM_TYPES 7 #endif /* _ASM_X86_MTRR_H */