Loading .mailmap +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ Christoph Hellwig <hch@lst.de> Corey Minyard <minyard@acm.org> David Brownell <david-b@pacbell.net> David Woodhouse <dwmw2@shinybook.infradead.org> Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Domen Puncer <domen@coderock.org> Douglas Gilbert <dougg@torque.net> Ed L. Cashin <ecashin@coraid.com> Loading Documentation/ABI/testing/sysfs-devices-memory +50 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ Description: internal state of the kernel memory blocks. Files could be added or removed dynamically to represent hot-add/remove operations. Users: hotplug memory add/remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ Loading @@ -19,6 +18,56 @@ Description: This is useful for a user-level agent to determine identify removable sections of the memory before attempting potentially expensive hot-remove memory operation Users: hotplug memory remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ What: /sys/devices/system/memory/memoryX/phys_device Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/phys_device is read-only and is designed to show the name of physical memory device. Implementation is currently incomplete. What: /sys/devices/system/memory/memoryX/phys_index Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/phys_index is read-only and contains the section ID in hexadecimal which is equivalent to decimal X contained in the memory section directory name. What: /sys/devices/system/memory/memoryX/state Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/state is read-write. When read, it's contents show the online/offline state of the memory section. When written, root can toggle the the online/offline state of a removable memory section (see removable file description above) using the following commands. # echo online > /sys/devices/system/memory/memoryX/state # echo offline > /sys/devices/system/memory/memoryX/state For example, if /sys/devices/system/memory/memory22/removable contains a value of 1 and /sys/devices/system/memory/memory22/state contains the string "online" the following command can be executed by by root to offline that section. # echo offline > /sys/devices/system/memory/memory22/state Users: hotplug memory remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ What: /sys/devices/system/node/nodeX/memoryY Date: September 2008 Contact: Gary Hade <garyhade@us.ibm.com> Description: When CONFIG_NUMA is enabled /sys/devices/system/node/nodeX/memoryY is a symbolic link that points to the corresponding /sys/devices/system/memory/memoryY memory section directory. For example, the following symbolic link is created for memory section 9 on node0. /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 Documentation/DMA-mapping.txt +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ mapped only for the time they are actually used and unmapped after the DMA transfer. The following API will work of course even on platforms where no such hardware exists, see e.g. include/asm-i386/pci.h for how it is implemented on hardware exists, see e.g. arch/x86/include/asm/pci.h for how it is implemented on top of the virt_to_bus interface. First of all, you should make sure Loading Documentation/DocBook/uio-howto.tmpl +99 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,12 @@ GPL version 2. </abstract> <revhistory> <revision> <revnumber>0.6</revnumber> <date>2008-12-05</date> <authorinitials>hjk</authorinitials> <revremark>Added description of portio sysfs attributes.</revremark> </revision> <revision> <revnumber>0.5</revnumber> <date>2008-05-22</date> Loading Loading @@ -318,6 +324,54 @@ interested in translating it, please email me offset = N * getpagesize(); </programlisting> <para> Sometimes there is hardware with memory-like regions that can not be mapped with the technique described here, but there are still ways to access them from userspace. The most common example are x86 ioports. On x86 systems, userspace can access these ioports using <function>ioperm()</function>, <function>iopl()</function>, <function>inb()</function>, <function>outb()</function>, and similar functions. </para> <para> Since these ioport regions can not be mapped, they will not appear under <filename>/sys/class/uio/uioX/maps/</filename> like the normal memory described above. Without information about the port regions a hardware has to offer, it becomes difficult for the userspace part of the driver to find out which ports belong to which UIO device. </para> <para> To address this situation, the new directory <filename>/sys/class/uio/uioX/portio/</filename> was added. It only exists if the driver wants to pass information about one or more port regions to userspace. If that is the case, subdirectories named <filename>port0</filename>, <filename>port1</filename>, and so on, will appear underneath <filename>/sys/class/uio/uioX/portio/</filename>. </para> <para> Each <filename>portX/</filename> directory contains three read-only files that show start, size, and type of the port region: </para> <itemizedlist> <listitem> <para> <filename>start</filename>: The first port of this region. </para> </listitem> <listitem> <para> <filename>size</filename>: The number of ports in this region. </para> </listitem> <listitem> <para> <filename>porttype</filename>: A string describing the type of port. </para> </listitem> </itemizedlist> </sect1> </chapter> Loading @@ -339,12 +393,12 @@ offset = N * getpagesize(); <itemizedlist> <listitem><para> <varname>char *name</varname>: Required. The name of your driver as <varname>const char *name</varname>: Required. The name of your driver as it will appear in sysfs. I recommend using the name of your module for this. </para></listitem> <listitem><para> <varname>char *version</varname>: Required. This string appears in <varname>const char *version</varname>: Required. This string appears in <filename>/sys/class/uio/uioX/version</filename>. </para></listitem> Loading @@ -355,6 +409,13 @@ mapping you need to fill one of the <varname>uio_mem</varname> structures. See the description below for details. </para></listitem> <listitem><para> <varname>struct uio_port port[ MAX_UIO_PORTS_REGIONS ]</varname>: Required if you want to pass information about ioports to userspace. For each port region you need to fill one of the <varname>uio_port</varname> structures. See the description below for details. </para></listitem> <listitem><para> <varname>long irq</varname>: Required. If your hardware generates an interrupt, it's your modules task to determine the irq number during Loading Loading @@ -448,6 +509,42 @@ Please do not touch the <varname>kobj</varname> element of <varname>struct uio_mem</varname>! It is used by the UIO framework to set up sysfs files for this mapping. Simply leave it alone. </para> <para> Sometimes, your device can have one or more port regions which can not be mapped to userspace. But if there are other possibilities for userspace to access these ports, it makes sense to make information about the ports available in sysfs. For each region, you have to set up a <varname>struct uio_port</varname> in the <varname>port[]</varname> array. Here's a description of the fields of <varname>struct uio_port</varname>: </para> <itemizedlist> <listitem><para> <varname>char *porttype</varname>: Required. Set this to one of the predefined constants. Use <varname>UIO_PORT_X86</varname> for the ioports found in x86 architectures. </para></listitem> <listitem><para> <varname>unsigned long start</varname>: Required if the port region is used. Fill in the number of the first port of this region. </para></listitem> <listitem><para> <varname>unsigned long size</varname>: Fill in the number of ports in this region. If <varname>size</varname> is zero, the region is considered unused. Note that you <emphasis>must</emphasis> initialize <varname>size</varname> with zero for all unused regions. </para></listitem> </itemizedlist> <para> Please do not touch the <varname>portio</varname> element of <varname>struct uio_port</varname>! It is used internally by the UIO framework to set up sysfs files for this region. Simply leave it alone. </para> </sect1> <sect1 id="adding_irq_handler"> Loading Documentation/feature-removal-schedule.txt +12 −0 Original line number Diff line number Diff line Loading @@ -315,3 +315,15 @@ When: 2.6.29 (ideally) or 2.6.30 (more likely) Why: Deprecated by the new (standard) device driver binding model. Use i2c_driver->probe() and ->remove() instead. Who: Jean Delvare <khali@linux-fr.org> --------------------------- What: SELinux "compat_net" functionality When: 2.6.30 at the earliest Why: In 2.6.18 the Secmark concept was introduced to replace the "compat_net" network access control functionality of SELinux. Secmark offers both better performance and greater flexibility than the "compat_net" mechanism. Now that the major Linux distributions have moved to Secmark, it is time to deprecate the older mechanism and start the process of removing the old code. Who: Paul Moore <paul.moore@hp.com> Loading
.mailmap +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ Christoph Hellwig <hch@lst.de> Corey Minyard <minyard@acm.org> David Brownell <david-b@pacbell.net> David Woodhouse <dwmw2@shinybook.infradead.org> Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Domen Puncer <domen@coderock.org> Douglas Gilbert <dougg@torque.net> Ed L. Cashin <ecashin@coraid.com> Loading
Documentation/ABI/testing/sysfs-devices-memory +50 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ Description: internal state of the kernel memory blocks. Files could be added or removed dynamically to represent hot-add/remove operations. Users: hotplug memory add/remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ Loading @@ -19,6 +18,56 @@ Description: This is useful for a user-level agent to determine identify removable sections of the memory before attempting potentially expensive hot-remove memory operation Users: hotplug memory remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ What: /sys/devices/system/memory/memoryX/phys_device Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/phys_device is read-only and is designed to show the name of physical memory device. Implementation is currently incomplete. What: /sys/devices/system/memory/memoryX/phys_index Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/phys_index is read-only and contains the section ID in hexadecimal which is equivalent to decimal X contained in the memory section directory name. What: /sys/devices/system/memory/memoryX/state Date: September 2008 Contact: Badari Pulavarty <pbadari@us.ibm.com> Description: The file /sys/devices/system/memory/memoryX/state is read-write. When read, it's contents show the online/offline state of the memory section. When written, root can toggle the the online/offline state of a removable memory section (see removable file description above) using the following commands. # echo online > /sys/devices/system/memory/memoryX/state # echo offline > /sys/devices/system/memory/memoryX/state For example, if /sys/devices/system/memory/memory22/removable contains a value of 1 and /sys/devices/system/memory/memory22/state contains the string "online" the following command can be executed by by root to offline that section. # echo offline > /sys/devices/system/memory/memory22/state Users: hotplug memory remove tools https://w3.opensource.ibm.com/projects/powerpc-utils/ What: /sys/devices/system/node/nodeX/memoryY Date: September 2008 Contact: Gary Hade <garyhade@us.ibm.com> Description: When CONFIG_NUMA is enabled /sys/devices/system/node/nodeX/memoryY is a symbolic link that points to the corresponding /sys/devices/system/memory/memoryY memory section directory. For example, the following symbolic link is created for memory section 9 on node0. /sys/devices/system/node/node0/memory9 -> ../../memory/memory9
Documentation/DMA-mapping.txt +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ mapped only for the time they are actually used and unmapped after the DMA transfer. The following API will work of course even on platforms where no such hardware exists, see e.g. include/asm-i386/pci.h for how it is implemented on hardware exists, see e.g. arch/x86/include/asm/pci.h for how it is implemented on top of the virt_to_bus interface. First of all, you should make sure Loading
Documentation/DocBook/uio-howto.tmpl +99 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,12 @@ GPL version 2. </abstract> <revhistory> <revision> <revnumber>0.6</revnumber> <date>2008-12-05</date> <authorinitials>hjk</authorinitials> <revremark>Added description of portio sysfs attributes.</revremark> </revision> <revision> <revnumber>0.5</revnumber> <date>2008-05-22</date> Loading Loading @@ -318,6 +324,54 @@ interested in translating it, please email me offset = N * getpagesize(); </programlisting> <para> Sometimes there is hardware with memory-like regions that can not be mapped with the technique described here, but there are still ways to access them from userspace. The most common example are x86 ioports. On x86 systems, userspace can access these ioports using <function>ioperm()</function>, <function>iopl()</function>, <function>inb()</function>, <function>outb()</function>, and similar functions. </para> <para> Since these ioport regions can not be mapped, they will not appear under <filename>/sys/class/uio/uioX/maps/</filename> like the normal memory described above. Without information about the port regions a hardware has to offer, it becomes difficult for the userspace part of the driver to find out which ports belong to which UIO device. </para> <para> To address this situation, the new directory <filename>/sys/class/uio/uioX/portio/</filename> was added. It only exists if the driver wants to pass information about one or more port regions to userspace. If that is the case, subdirectories named <filename>port0</filename>, <filename>port1</filename>, and so on, will appear underneath <filename>/sys/class/uio/uioX/portio/</filename>. </para> <para> Each <filename>portX/</filename> directory contains three read-only files that show start, size, and type of the port region: </para> <itemizedlist> <listitem> <para> <filename>start</filename>: The first port of this region. </para> </listitem> <listitem> <para> <filename>size</filename>: The number of ports in this region. </para> </listitem> <listitem> <para> <filename>porttype</filename>: A string describing the type of port. </para> </listitem> </itemizedlist> </sect1> </chapter> Loading @@ -339,12 +393,12 @@ offset = N * getpagesize(); <itemizedlist> <listitem><para> <varname>char *name</varname>: Required. The name of your driver as <varname>const char *name</varname>: Required. The name of your driver as it will appear in sysfs. I recommend using the name of your module for this. </para></listitem> <listitem><para> <varname>char *version</varname>: Required. This string appears in <varname>const char *version</varname>: Required. This string appears in <filename>/sys/class/uio/uioX/version</filename>. </para></listitem> Loading @@ -355,6 +409,13 @@ mapping you need to fill one of the <varname>uio_mem</varname> structures. See the description below for details. </para></listitem> <listitem><para> <varname>struct uio_port port[ MAX_UIO_PORTS_REGIONS ]</varname>: Required if you want to pass information about ioports to userspace. For each port region you need to fill one of the <varname>uio_port</varname> structures. See the description below for details. </para></listitem> <listitem><para> <varname>long irq</varname>: Required. If your hardware generates an interrupt, it's your modules task to determine the irq number during Loading Loading @@ -448,6 +509,42 @@ Please do not touch the <varname>kobj</varname> element of <varname>struct uio_mem</varname>! It is used by the UIO framework to set up sysfs files for this mapping. Simply leave it alone. </para> <para> Sometimes, your device can have one or more port regions which can not be mapped to userspace. But if there are other possibilities for userspace to access these ports, it makes sense to make information about the ports available in sysfs. For each region, you have to set up a <varname>struct uio_port</varname> in the <varname>port[]</varname> array. Here's a description of the fields of <varname>struct uio_port</varname>: </para> <itemizedlist> <listitem><para> <varname>char *porttype</varname>: Required. Set this to one of the predefined constants. Use <varname>UIO_PORT_X86</varname> for the ioports found in x86 architectures. </para></listitem> <listitem><para> <varname>unsigned long start</varname>: Required if the port region is used. Fill in the number of the first port of this region. </para></listitem> <listitem><para> <varname>unsigned long size</varname>: Fill in the number of ports in this region. If <varname>size</varname> is zero, the region is considered unused. Note that you <emphasis>must</emphasis> initialize <varname>size</varname> with zero for all unused regions. </para></listitem> </itemizedlist> <para> Please do not touch the <varname>portio</varname> element of <varname>struct uio_port</varname>! It is used internally by the UIO framework to set up sysfs files for this region. Simply leave it alone. </para> </sect1> <sect1 id="adding_irq_handler"> Loading
Documentation/feature-removal-schedule.txt +12 −0 Original line number Diff line number Diff line Loading @@ -315,3 +315,15 @@ When: 2.6.29 (ideally) or 2.6.30 (more likely) Why: Deprecated by the new (standard) device driver binding model. Use i2c_driver->probe() and ->remove() instead. Who: Jean Delvare <khali@linux-fr.org> --------------------------- What: SELinux "compat_net" functionality When: 2.6.30 at the earliest Why: In 2.6.18 the Secmark concept was introduced to replace the "compat_net" network access control functionality of SELinux. Secmark offers both better performance and greater flexibility than the "compat_net" mechanism. Now that the major Linux distributions have moved to Secmark, it is time to deprecate the older mechanism and start the process of removing the old code. Who: Paul Moore <paul.moore@hp.com>