The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/man/vm_machine_attribute.man

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 .\" 
    2 .\" Mach Operating System
    3 .\" Copyright (c) 1991,1990 Carnegie Mellon University
    4 .\" All Rights Reserved.
    5 .\" 
    6 .\" Permission to use, copy, modify and distribute this software and its
    7 .\" documentation is hereby granted, provided that both the copyright
    8 .\" notice and this permission notice appear in all copies of the
    9 .\" software, derivative works or modified versions, and any portions
   10 .\" thereof, and that both notices appear in supporting documentation.
   11 .\" 
   12 .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   13 .\" CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   14 .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   15 .\" 
   16 .\" Carnegie Mellon requests users of this software to return to
   17 .\" 
   18 .\"  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   19 .\"  School of Computer Science
   20 .\"  Carnegie Mellon University
   21 .\"  Pittsburgh PA 15213-3890
   22 .\" 
   23 .\" any improvements or extensions that they make and grant Carnegie Mellon
   24 .\" the rights to redistribute these changes.
   25 .\" 
   26 .\" 
   27 .\" HISTORY
   28 .\" $Log:       vm_machine_attribute.man,v $
   29 .\" Revision 2.5  93/03/18  15:16:47  mrt
   30 .\"     corrected types
   31 .\"     [93/03/12  16:55:24  lli]
   32 .\" 
   33 .\" Revision 2.4  91/05/14  17:15:44  mrt
   34 .\"     Correcting copyright
   35 .\" 
   36 .\" Revision 2.3  91/02/14  14:16:18  mrt
   37 .\"     Changed to new Mach copyright
   38 .\"     [91/02/12  18:17:15  mrt]
   39 .\" 
   40 .\" Revision 2.2  90/08/07  18:47:37  rpd
   41 .\"     Created.
   42 .\" 
   43 .TH vm_machine_attribute 2 3/15/90
   44 .CM 4
   45 .SH NAME
   46 .nf
   47 vm_machine_attribute  \-  handle machine-specific VM attributes
   48 .SH SYNOPSIS
   49 .nf
   50 .ft B
   51 #include <mach.h>
   52 
   53 .nf
   54 .ft B
   55 kern_return_t vm_machine_attribute (task, address, size, attribute, value)
   56         mach_port_t                              task;
   57         vm_address_t                     address;
   58         vm_size_t                        size;
   59         vm_machine_attribute_t           attribute;
   60         vm_machine_attribute_val_t      *value;
   61 
   62 
   63 .fi
   64 .ft P
   65 .SH ARGUMENTS
   66 .TP 15
   67 .B
   68 task
   69 The task whose memory is to be affected
   70 .TP 15
   71 .B
   72 address
   73 Starting address of the memory segment.
   74 .TP 15
   75 .B
   76 size
   77 Size of the memory segment
   78 .TP 15
   79 .B
   80 attribute
   81 Attribute type
   82 .TP 15
   83 .B
   84 value
   85 Pointer to the attribute's value
   86 
   87 .SH DESCRIPTION
   88 
   89 .B vm_machine_attribute
   90 specifies machine-specific attributes for a VM mapping, such as cachability,
   91 migrability, replicability.  This is used on machines that allow the user
   92 control over the cache (this is the case for MIPS architectures)
   93 or placement of memory pages as in NUMA architectures (Non-Uniform Memory
   94 Access time) such as the IBM ACE multiprocessor.
   95 
   96 Machine-specific attributes can be consider additions to the
   97 machine-independent ones such as protection and inheritance,
   98 but they are not guaranteed to be supported by any given machine.
   99 Moreover, implementations of Mach on new architectures might find the need
  100 for new attribute types and or values besides the ones defined in the
  101 initial implementation.
  102 
  103 The types currently defined are
  104 
  105 .B MATTR_CACHE
  106 Controls caching of memory pages
  107 
  108 .B MATTR_MIGRATE
  109 Controls migrability of memory pages
  110 
  111 .B MATTR_REPLICATE
  112 Controls replication of memory pages
  113 
  114 Corresponding values, and meaning of a specific call to
  115 .B vm_machine_attribute
  116 
  117 .B MATTR_VAL_ON
  118 Enables the attribute.  Being enabled is the default
  119 value for any applicable attribute.
  120 
  121 .B MATTR_VAL_OFF
  122 Disables the attribute, making memory non-cached,
  123 or non-migratable, or non-replicatable.
  124 
  125 .B MATTR_VAL_GET
  126 Returns the current value of the attribute for the
  127 memory segment.  If the attribute does not apply
  128 uniformly to the given range the value returned
  129 applies to the initial portion of the segment only.
  130 
  131 .B MATTR_VAL_CACHE_FLUSH
  132 Flush the memory pages from the Cache.
  133 The 
  134 .B size
  135 value in this case might be meaningful
  136 even if not a multiple of the page size, depending
  137 on the implementation.
  138 
  139 .B MATTR_VAL_ICACHE_FLUSH
  140 Same as above, applied to the Instruction Cache alone.
  141 
  142 .B MATTR_VAL_DCACHE_FLUSH
  143 Same as above, applied to the Data Cache alone.
  144 
  145 
  146 
  147 .SH DIAGNOSTICS
  148 .TP 25
  149 KERN_SUCCESS
  150 The call succeeded.
  151 .TP 25
  152 KERN_INVALID_ARGUMENT
  153 .B task
  154 is not a task, or 
  155 .B address
  156 and 
  157 .B size
  158 do
  159 not define a valid address range in 
  160 .B task
  161 , or 
  162 .B attribute
  163 is not a valid
  164 attribute type, or it is not implemented, or 
  165 .B value
  166 is not a permissible
  167 value for 
  168 .B attribute
  169 .
  170 
  171 .SH BUGS
  172 
  173 The initial implementation (for MIPS) does not provide for inheritance of
  174 machine attributes.  This might change if/when the IBM ACE code will be
  175 merged in the mainline.
  176 
  177 

Cache object: 53aa0e58760c1af8e8232438335f2a04


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.