Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

i386_get_mtrr(2) [netbsd man page]

I386_GET_MTRR(2)					   BSD/i386 System Calls Manual 					  I386_GET_MTRR(2)

NAME
i386_get_mtrr, i386_set_mtrr -- access Memory Type Range Registers LIBRARY
i386 Architecture Library (libi386, -li386) SYNOPSIS
#include <sys/types.h> #include <machine/sysarch.h> #include <machine/mtrr.h> int i386_get_mtrr(struct mtrr *mtrrp, int *n); int i386_set_mtrr(struct mtrr *mtrrp, int *n); DESCRIPTION
These functions provide an interface to the MTRR registers found on 686-class processors for controlling processor access to memory ranges. This is most useful for accessing devices such as video accelerators on pci(4) and agp(4) buses. For example, enabling write-combining allows bus-write transfers to be combined into a larger transfer before bursting over the bus. This can increase performance of write opera- tions 2.5 times or more. mtrrp is a pointer to one or more mtrr structures, as described below. The n argument is a pointer to an integer containing the number of structures pointed to by mtrrp. For i386_set_mtrr() the integer pointed to by n will be updated to reflect the actual number of MTRRs suc- cessfully set. For i386_get_mtrr() no more than n structures will be copied out, and the integer value pointed to by n will be updated to reflect the actual number of valid structures retrieved. A NULL argument to mtrrp will result in just the number of MTRRs available being returned in the integer pointed to by n. The argument mtrrp has the following structure: struct mtrr { uint64_t base; uint64_t len; uint8_t type; int flags; pid_t owner; }; The location of the mapping is described by its physical base address base and length len. Valid values for type are: MTRR_TYPE_UC uncached memory MTRR_TYPE_WC use write-combining MTRR_TYPE_WT use write-through caching MTRR_TYPE_WP write-protected memory MTRR_TYPE_WB use write-back caching Valid values for flags are: MTRR_PRIVATE own range, reset the MTRR when the current process exits MTRR_FIXED use fixed range MTRR MTRR_VALID entry is valid The owner member is the PID of the user process which claims the mapping. It is only valid if MTRR_PRIVATE is set in flags. To clear/reset MTRRs, use a flags field without MTRR_VALID set. RETURN VALUES
Upon successful completion zero is returned, otherwise -1 is returned on failure, and the global variable errno is set to indicate the error. The integer value pointed to by n will contain the number of successfully processed mtrr structures in both cases. ERRORS
[ENOSYS] The currently running kernel or CPU has no MTRR support. [EINVAL] The currently running kernel has no MTRR support, or one of the mtrr structures pointed to by mtrrp is invalid. [EBUSY] No unused MTRRs are available. HISTORY
The i386_get_mtrr() and i386_set_mtrr() functions appeared in NetBSD 1.6. BSD
November 10, 2001 BSD

Check Out this Related Man Page

utimes(2)							   System Calls 							 utimes(2)

NAME
utimes, futimesat - set file access and modification times SYNOPSIS
#include <sys/time.h> int utimes(const char *path, const struct timeval times[2]); int futimesat(int fildes, const char *path, const struct timeval times[2]); DESCRIPTION
The utimes() function sets the access and modification times of the file pointed to by the path argument to the value of the times argu- ment. It allows time specifications accurate to the microsecond. The futimesat() function also sets access and modification times. See fsattr(5). If path is a relative path name, however, futimesat() resolves the path relative to the fildes argument rather than the current working directory. If fildes is set to AT_FDCWD, defined in <fcntl.h>, futimesat() resolves the path relative to the current working directory. If path is a null pointer, futimesat() sets the access and modification times on the file referenced by fildes. The fildes argument is ignored even when futimesat() is provided with an absolute path. The times argument is an array of timeval structures. The first array member represents the date and time of last access, and the second member represents the date and time of last modification. The times in the timeval structure are measured in seconds and microseconds since the Epoch, although rounding toward the nearest second may occur. If the times argument is a null pointer, the access and modification times of the file are set to the current time. The effective user ID of the process must be the same as the owner of the file, or must have write access to the file or the {PRIV_FILE_OWNER} privilege to use this call in this manner. Upon completion, utimes() will mark the time of the last file status change, st_ctime, for update. RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned, errno is set to indicate the error, and the file times will not be affected. ERRORS
The utimes() and futimesat() functions will fail if: EACCES Search permission is denied by a component of the path prefix; or the times argument is a null pointer and the effective user ID of the process does not match the owner of the file and write access is denied. EFAULT The path or times argument points to an illegal address. For futimesat(), path might have the value NULL if the fildes argument refers to a valid open file descriptor. EINTR A signal was caught during the execution of the utimes() function. EINVAL The number of microseconds specified in one or both of the timeval structures pointed to by times was greater than or equal to 1,000,000 or less than 0. EIO An I/O error occurred while reading from or writing to the file system. ELOOP Too many symbolic links were encountered in resolving path. ENAMETOOLONG The length of the path argument exceeds {PATH_MAX} or a pathname component is longer than {NAME_MAX}. ENOLINK The path argument points to a remote machine and the link to that machine is no longer active. ENOENT A component of path does not name an existing file or path is an empty string. ENOTDIR A component of the path prefix is not a directory or the path argument is relative and the fildes argument is not AT_FDCWD or does not refer to a valid directory. EPERM The times argument is not a null pointer and the calling process's effective user ID has write access to the file but does not match the owner of the file and the calling process does not have the appropriate privileges. EROFS The file system containing the file is read-only. The utimes() and futimesat() functions may fail if: ENAMETOOLONG Path name resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |utimes() is Standard; fun- | | |timesat() is Evolving | +-----------------------------+-----------------------------+ SEE ALSO
stat(2), utime(2), attributes(5), fsattr(5) SunOS 5.11 19 Apr 2004 utimes(2)
Man Page