diff options
author | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-23 14:02:19 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-23 14:02:19 -0500 |
commit | 99a85b901eb54f62ff0c3fd6eb56e60b7b9f15c8 (patch) | |
tree | 0c6637b7d2172e079c30e966847326767cbaf45c /Documentation/DocBook | |
parent | 135f9be9194cf7778eb73594aa55791b229cf27c (diff) | |
parent | c517d838eb7d07bbe9507871fab3931deccff539 (diff) |
Merge tag 'v4.0-rc1' into patchwork
Linux 34.0-rc1
* tag 'v4.0-rc1': (8947 commits)
Linux 4.0-rc1
autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation
procfs: fix race between symlink removals and traversals
debugfs: leave freeing a symlink body until inode eviction
Documentation/filesystems/Locking: ->get_sb() is long gone
trylock_super(): replacement for grab_super_passive()
fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry)
SELinux: Use d_is_positive() rather than testing dentry->d_inode
Smack: Use d_is_positive() rather than testing dentry->d_inode
TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR()
Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode
Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb
VFS: Split DCACHE_FILE_TYPE into regular and special types
VFS: Add a fallthrough flag for marking virtual dentries
VFS: Add a whiteout dentry type
VFS: Introduce inode-getting helpers for layered/unioned fs environments
kernel: make READ_ONCE() valid on const arguments
blk-throttle: check stats_cpu before reading it from sysfs
...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/80211.tmpl | 5 | ||||
-rw-r--r-- | Documentation/DocBook/Makefile | 2 | ||||
-rw-r--r-- | Documentation/DocBook/crypto-API.tmpl | 2 | ||||
-rw-r--r-- | Documentation/DocBook/device-drivers.tmpl | 17 | ||||
-rw-r--r-- | Documentation/DocBook/drm.tmpl | 126 | ||||
-rw-r--r-- | Documentation/DocBook/kgdb.tmpl | 87 | ||||
-rw-r--r-- | Documentation/DocBook/uio-howto.tmpl | 14 |
7 files changed, 177 insertions, 76 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl index d9b9416c989f..aac9357d4866 100644 --- a/Documentation/DocBook/80211.tmpl +++ b/Documentation/DocBook/80211.tmpl | |||
@@ -113,7 +113,6 @@ | |||
113 | !Finclude/net/cfg80211.h cfg80211_beacon_data | 113 | !Finclude/net/cfg80211.h cfg80211_beacon_data |
114 | !Finclude/net/cfg80211.h cfg80211_ap_settings | 114 | !Finclude/net/cfg80211.h cfg80211_ap_settings |
115 | !Finclude/net/cfg80211.h station_parameters | 115 | !Finclude/net/cfg80211.h station_parameters |
116 | !Finclude/net/cfg80211.h station_info_flags | ||
117 | !Finclude/net/cfg80211.h rate_info_flags | 116 | !Finclude/net/cfg80211.h rate_info_flags |
118 | !Finclude/net/cfg80211.h rate_info | 117 | !Finclude/net/cfg80211.h rate_info |
119 | !Finclude/net/cfg80211.h station_info | 118 | !Finclude/net/cfg80211.h station_info |
@@ -435,7 +434,6 @@ | |||
435 | <section id="ps-client"> | 434 | <section id="ps-client"> |
436 | <title>support for powersaving clients</title> | 435 | <title>support for powersaving clients</title> |
437 | !Pinclude/net/mac80211.h AP support for powersaving clients | 436 | !Pinclude/net/mac80211.h AP support for powersaving clients |
438 | </section> | ||
439 | !Finclude/net/mac80211.h ieee80211_get_buffered_bc | 437 | !Finclude/net/mac80211.h ieee80211_get_buffered_bc |
440 | !Finclude/net/mac80211.h ieee80211_beacon_get | 438 | !Finclude/net/mac80211.h ieee80211_beacon_get |
441 | !Finclude/net/mac80211.h ieee80211_sta_eosp | 439 | !Finclude/net/mac80211.h ieee80211_sta_eosp |
@@ -444,6 +442,7 @@ | |||
444 | !Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni | 442 | !Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni |
445 | !Finclude/net/mac80211.h ieee80211_sta_set_buffered | 443 | !Finclude/net/mac80211.h ieee80211_sta_set_buffered |
446 | !Finclude/net/mac80211.h ieee80211_sta_block_awake | 444 | !Finclude/net/mac80211.h ieee80211_sta_block_awake |
445 | </section> | ||
447 | </chapter> | 446 | </chapter> |
448 | 447 | ||
449 | <chapter id="multi-iface"> | 448 | <chapter id="multi-iface"> |
@@ -488,8 +487,8 @@ | |||
488 | <title>RX A-MPDU aggregation</title> | 487 | <title>RX A-MPDU aggregation</title> |
489 | !Pnet/mac80211/agg-rx.c RX A-MPDU aggregation | 488 | !Pnet/mac80211/agg-rx.c RX A-MPDU aggregation |
490 | !Cnet/mac80211/agg-rx.c | 489 | !Cnet/mac80211/agg-rx.c |
491 | </sect1> | ||
492 | !Finclude/net/mac80211.h ieee80211_ampdu_mlme_action | 490 | !Finclude/net/mac80211.h ieee80211_ampdu_mlme_action |
491 | </sect1> | ||
493 | </chapter> | 492 | </chapter> |
494 | 493 | ||
495 | <chapter id="smps"> | 494 | <chapter id="smps"> |
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 9c7d92d03f62..b6a6a2e0dd3b 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile | |||
@@ -56,7 +56,7 @@ htmldocs: $(HTML) | |||
56 | 56 | ||
57 | MAN := $(patsubst %.xml, %.9, $(BOOKS)) | 57 | MAN := $(patsubst %.xml, %.9, $(BOOKS)) |
58 | mandocs: $(MAN) | 58 | mandocs: $(MAN) |
59 | $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9) | 59 | find $(obj)/man -name '*.9' | xargs gzip -f |
60 | 60 | ||
61 | installmandocs: mandocs | 61 | installmandocs: mandocs |
62 | mkdir -p /usr/local/man/man9/ | 62 | mkdir -p /usr/local/man/man9/ |
diff --git a/Documentation/DocBook/crypto-API.tmpl b/Documentation/DocBook/crypto-API.tmpl index c763d30f4893..04a8c24ead47 100644 --- a/Documentation/DocBook/crypto-API.tmpl +++ b/Documentation/DocBook/crypto-API.tmpl | |||
@@ -111,7 +111,7 @@ | |||
111 | <para> | 111 | <para> |
112 | This specification is intended for consumers of the kernel crypto | 112 | This specification is intended for consumers of the kernel crypto |
113 | API as well as for developers implementing ciphers. This API | 113 | API as well as for developers implementing ciphers. This API |
114 | specification, however, does not discusses all API calls available | 114 | specification, however, does not discuss all API calls available |
115 | to data transformation implementations (i.e. implementations of | 115 | to data transformation implementations (i.e. implementations of |
116 | ciphers and other transformations (such as CRC or even compression | 116 | ciphers and other transformations (such as CRC or even compression |
117 | algorithms) that can register with the kernel crypto API). | 117 | algorithms) that can register with the kernel crypto API). |
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index f2130586ef5d..faf09d4a0ea8 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl | |||
@@ -190,23 +190,6 @@ X!Edrivers/pnp/system.c | |||
190 | !Idrivers/message/fusion/mptfc.c | 190 | !Idrivers/message/fusion/mptfc.c |
191 | !Idrivers/message/fusion/mptlan.c | 191 | !Idrivers/message/fusion/mptlan.c |
192 | </sect1> | 192 | </sect1> |
193 | <sect1><title>I2O message devices</title> | ||
194 | !Iinclude/linux/i2o.h | ||
195 | !Idrivers/message/i2o/core.h | ||
196 | !Edrivers/message/i2o/iop.c | ||
197 | !Idrivers/message/i2o/iop.c | ||
198 | !Idrivers/message/i2o/config-osm.c | ||
199 | !Edrivers/message/i2o/exec-osm.c | ||
200 | !Idrivers/message/i2o/exec-osm.c | ||
201 | !Idrivers/message/i2o/bus-osm.c | ||
202 | !Edrivers/message/i2o/device.c | ||
203 | !Idrivers/message/i2o/device.c | ||
204 | !Idrivers/message/i2o/driver.c | ||
205 | !Idrivers/message/i2o/pci.c | ||
206 | !Idrivers/message/i2o/i2o_block.c | ||
207 | !Idrivers/message/i2o/i2o_scsi.c | ||
208 | !Idrivers/message/i2o/i2o_proc.c | ||
209 | </sect1> | ||
210 | </chapter> | 193 | </chapter> |
211 | 194 | ||
212 | <chapter id="snddev"> | 195 | <chapter id="snddev"> |
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl index 4b592ffbafee..03f1985a4bd1 100644 --- a/Documentation/DocBook/drm.tmpl +++ b/Documentation/DocBook/drm.tmpl | |||
@@ -239,6 +239,14 @@ | |||
239 | Driver supports dedicated render nodes. | 239 | Driver supports dedicated render nodes. |
240 | </para></listitem> | 240 | </para></listitem> |
241 | </varlistentry> | 241 | </varlistentry> |
242 | <varlistentry> | ||
243 | <term>DRIVER_ATOMIC</term> | ||
244 | <listitem><para> | ||
245 | Driver supports atomic properties. In this case the driver | ||
246 | must implement appropriate obj->atomic_get_property() vfuncs | ||
247 | for any modeset objects with driver specific properties. | ||
248 | </para></listitem> | ||
249 | </varlistentry> | ||
242 | </variablelist> | 250 | </variablelist> |
243 | </sect3> | 251 | </sect3> |
244 | <sect3> | 252 | <sect3> |
@@ -1377,7 +1385,7 @@ int max_width, max_height;</synopsis> | |||
1377 | <itemizedlist> | 1385 | <itemizedlist> |
1378 | <listitem> | 1386 | <listitem> |
1379 | DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary | 1387 | DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary |
1380 | planes are the planes operated upon by by CRTC modesetting and flipping | 1388 | planes are the planes operated upon by CRTC modesetting and flipping |
1381 | operations described in <xref linkend="drm-kms-crtcops"/>. | 1389 | operations described in <xref linkend="drm-kms-crtcops"/>. |
1382 | </listitem> | 1390 | </listitem> |
1383 | <listitem> | 1391 | <listitem> |
@@ -2362,6 +2370,7 @@ void intel_crt_init(struct drm_device *dev) | |||
2362 | </sect2> | 2370 | </sect2> |
2363 | <sect2> | 2371 | <sect2> |
2364 | <title>Modeset Helper Functions Reference</title> | 2372 | <title>Modeset Helper Functions Reference</title> |
2373 | !Iinclude/drm/drm_crtc_helper.h | ||
2365 | !Edrivers/gpu/drm/drm_crtc_helper.c | 2374 | !Edrivers/gpu/drm/drm_crtc_helper.c |
2366 | !Pdrivers/gpu/drm/drm_crtc_helper.c overview | 2375 | !Pdrivers/gpu/drm/drm_crtc_helper.c overview |
2367 | </sect2> | 2376 | </sect2> |
@@ -2564,8 +2573,8 @@ void intel_crt_init(struct drm_device *dev) | |||
2564 | <td valign="top" >Description/Restrictions</td> | 2573 | <td valign="top" >Description/Restrictions</td> |
2565 | </tr> | 2574 | </tr> |
2566 | <tr> | 2575 | <tr> |
2567 | <td rowspan="25" valign="top" >DRM</td> | 2576 | <td rowspan="36" valign="top" >DRM</td> |
2568 | <td rowspan="4" valign="top" >Generic</td> | 2577 | <td rowspan="5" valign="top" >Connector</td> |
2569 | <td valign="top" >“EDID”</td> | 2578 | <td valign="top" >“EDID”</td> |
2570 | <td valign="top" >BLOB | IMMUTABLE</td> | 2579 | <td valign="top" >BLOB | IMMUTABLE</td> |
2571 | <td valign="top" >0</td> | 2580 | <td valign="top" >0</td> |
@@ -2594,7 +2603,14 @@ void intel_crt_init(struct drm_device *dev) | |||
2594 | <td valign="top" >Contains tiling information for a connector.</td> | 2603 | <td valign="top" >Contains tiling information for a connector.</td> |
2595 | </tr> | 2604 | </tr> |
2596 | <tr> | 2605 | <tr> |
2597 | <td rowspan="1" valign="top" >Plane</td> | 2606 | <td valign="top" >“CRTC_ID”</td> |
2607 | <td valign="top" >OBJECT</td> | ||
2608 | <td valign="top" >DRM_MODE_OBJECT_CRTC</td> | ||
2609 | <td valign="top" >Connector</td> | ||
2610 | <td valign="top" >CRTC that connector is attached to (atomic)</td> | ||
2611 | </tr> | ||
2612 | <tr> | ||
2613 | <td rowspan="11" valign="top" >Plane</td> | ||
2598 | <td valign="top" >“type”</td> | 2614 | <td valign="top" >“type”</td> |
2599 | <td valign="top" >ENUM | IMMUTABLE</td> | 2615 | <td valign="top" >ENUM | IMMUTABLE</td> |
2600 | <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td> | 2616 | <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td> |
@@ -2602,6 +2618,76 @@ void intel_crt_init(struct drm_device *dev) | |||
2602 | <td valign="top" >Plane type</td> | 2618 | <td valign="top" >Plane type</td> |
2603 | </tr> | 2619 | </tr> |
2604 | <tr> | 2620 | <tr> |
2621 | <td valign="top" >“SRC_X”</td> | ||
2622 | <td valign="top" >RANGE</td> | ||
2623 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2624 | <td valign="top" >Plane</td> | ||
2625 | <td valign="top" >Scanout source x coordinate in 16.16 fixed point (atomic)</td> | ||
2626 | </tr> | ||
2627 | <tr> | ||
2628 | <td valign="top" >“SRC_Y”</td> | ||
2629 | <td valign="top" >RANGE</td> | ||
2630 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2631 | <td valign="top" >Plane</td> | ||
2632 | <td valign="top" >Scanout source y coordinate in 16.16 fixed point (atomic)</td> | ||
2633 | </tr> | ||
2634 | <tr> | ||
2635 | <td valign="top" >“SRC_W”</td> | ||
2636 | <td valign="top" >RANGE</td> | ||
2637 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2638 | <td valign="top" >Plane</td> | ||
2639 | <td valign="top" >Scanout source width in 16.16 fixed point (atomic)</td> | ||
2640 | </tr> | ||
2641 | <tr> | ||
2642 | <td valign="top" >“SRC_H”</td> | ||
2643 | <td valign="top" >RANGE</td> | ||
2644 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2645 | <td valign="top" >Plane</td> | ||
2646 | <td valign="top" >Scanout source height in 16.16 fixed point (atomic)</td> | ||
2647 | </tr> | ||
2648 | <tr> | ||
2649 | <td valign="top" >“CRTC_X”</td> | ||
2650 | <td valign="top" >SIGNED_RANGE</td> | ||
2651 | <td valign="top" >Min=INT_MIN, Max=INT_MAX</td> | ||
2652 | <td valign="top" >Plane</td> | ||
2653 | <td valign="top" >Scanout CRTC (destination) x coordinate (atomic)</td> | ||
2654 | </tr> | ||
2655 | <tr> | ||
2656 | <td valign="top" >“CRTC_Y”</td> | ||
2657 | <td valign="top" >SIGNED_RANGE</td> | ||
2658 | <td valign="top" >Min=INT_MIN, Max=INT_MAX</td> | ||
2659 | <td valign="top" >Plane</td> | ||
2660 | <td valign="top" >Scanout CRTC (destination) y coordinate (atomic)</td> | ||
2661 | </tr> | ||
2662 | <tr> | ||
2663 | <td valign="top" >“CRTC_W”</td> | ||
2664 | <td valign="top" >RANGE</td> | ||
2665 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2666 | <td valign="top" >Plane</td> | ||
2667 | <td valign="top" >Scanout CRTC (destination) width (atomic)</td> | ||
2668 | </tr> | ||
2669 | <tr> | ||
2670 | <td valign="top" >“CRTC_H”</td> | ||
2671 | <td valign="top" >RANGE</td> | ||
2672 | <td valign="top" >Min=0, Max=UINT_MAX</td> | ||
2673 | <td valign="top" >Plane</td> | ||
2674 | <td valign="top" >Scanout CRTC (destination) height (atomic)</td> | ||
2675 | </tr> | ||
2676 | <tr> | ||
2677 | <td valign="top" >“FB_ID”</td> | ||
2678 | <td valign="top" >OBJECT</td> | ||
2679 | <td valign="top" >DRM_MODE_OBJECT_FB</td> | ||
2680 | <td valign="top" >Plane</td> | ||
2681 | <td valign="top" >Scanout framebuffer (atomic)</td> | ||
2682 | </tr> | ||
2683 | <tr> | ||
2684 | <td valign="top" >“CRTC_ID”</td> | ||
2685 | <td valign="top" >OBJECT</td> | ||
2686 | <td valign="top" >DRM_MODE_OBJECT_CRTC</td> | ||
2687 | <td valign="top" >Plane</td> | ||
2688 | <td valign="top" >CRTC that plane is attached to (atomic)</td> | ||
2689 | </tr> | ||
2690 | <tr> | ||
2605 | <td rowspan="2" valign="top" >DVI-I</td> | 2691 | <td rowspan="2" valign="top" >DVI-I</td> |
2606 | <td valign="top" >“subconnector”</td> | 2692 | <td valign="top" >“subconnector”</td> |
2607 | <td valign="top" >ENUM</td> | 2693 | <td valign="top" >ENUM</td> |
@@ -3883,6 +3969,7 @@ int num_ioctls;</synopsis> | |||
3883 | <title>Runtime Power Management</title> | 3969 | <title>Runtime Power Management</title> |
3884 | !Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm | 3970 | !Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm |
3885 | !Idrivers/gpu/drm/i915/intel_runtime_pm.c | 3971 | !Idrivers/gpu/drm/i915/intel_runtime_pm.c |
3972 | !Idrivers/gpu/drm/i915/intel_uncore.c | ||
3886 | </sect2> | 3973 | </sect2> |
3887 | <sect2> | 3974 | <sect2> |
3888 | <title>Interrupt Handling</title> | 3975 | <title>Interrupt Handling</title> |
@@ -3932,6 +4019,11 @@ int num_ioctls;</synopsis> | |||
3932 | </para> | 4019 | </para> |
3933 | </sect2> | 4020 | </sect2> |
3934 | <sect2> | 4021 | <sect2> |
4022 | <title>Atomic Plane Helpers</title> | ||
4023 | !Pdrivers/gpu/drm/i915/intel_atomic_plane.c atomic plane helpers | ||
4024 | !Idrivers/gpu/drm/i915/intel_atomic_plane.c | ||
4025 | </sect2> | ||
4026 | <sect2> | ||
3935 | <title>Output Probing</title> | 4027 | <title>Output Probing</title> |
3936 | <para> | 4028 | <para> |
3937 | This section covers output probing and related infrastructure like the | 4029 | This section covers output probing and related infrastructure like the |
@@ -3951,6 +4043,11 @@ int num_ioctls;</synopsis> | |||
3951 | !Idrivers/gpu/drm/i915/intel_psr.c | 4043 | !Idrivers/gpu/drm/i915/intel_psr.c |
3952 | </sect2> | 4044 | </sect2> |
3953 | <sect2> | 4045 | <sect2> |
4046 | <title>Frame Buffer Compression (FBC)</title> | ||
4047 | !Pdrivers/gpu/drm/i915/intel_fbc.c Frame Buffer Compression (FBC) | ||
4048 | !Idrivers/gpu/drm/i915/intel_fbc.c | ||
4049 | </sect2> | ||
4050 | <sect2> | ||
3954 | <title>DPIO</title> | 4051 | <title>DPIO</title> |
3955 | !Pdrivers/gpu/drm/i915/i915_reg.h DPIO | 4052 | !Pdrivers/gpu/drm/i915/i915_reg.h DPIO |
3956 | <table id="dpiox2"> | 4053 | <table id="dpiox2"> |
@@ -4054,10 +4151,31 @@ int num_ioctls;</synopsis> | |||
4054 | !Idrivers/gpu/drm/i915/i915_cmd_parser.c | 4151 | !Idrivers/gpu/drm/i915/i915_cmd_parser.c |
4055 | </sect2> | 4152 | </sect2> |
4056 | <sect2> | 4153 | <sect2> |
4154 | <title>Batchbuffer Pools</title> | ||
4155 | !Pdrivers/gpu/drm/i915/i915_gem_batch_pool.c batch pool | ||
4156 | !Idrivers/gpu/drm/i915/i915_gem_batch_pool.c | ||
4157 | </sect2> | ||
4158 | <sect2> | ||
4057 | <title>Logical Rings, Logical Ring Contexts and Execlists</title> | 4159 | <title>Logical Rings, Logical Ring Contexts and Execlists</title> |
4058 | !Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists | 4160 | !Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists |
4059 | !Idrivers/gpu/drm/i915/intel_lrc.c | 4161 | !Idrivers/gpu/drm/i915/intel_lrc.c |
4060 | </sect2> | 4162 | </sect2> |
4163 | <sect2> | ||
4164 | <title>Global GTT views</title> | ||
4165 | !Pdrivers/gpu/drm/i915/i915_gem_gtt.c Global GTT views | ||
4166 | !Idrivers/gpu/drm/i915/i915_gem_gtt.c | ||
4167 | </sect2> | ||
4168 | <sect2> | ||
4169 | <title>Buffer Object Eviction</title> | ||
4170 | <para> | ||
4171 | This section documents the interface function for evicting buffer | ||
4172 | objects to make space available in the virtual gpu address spaces. | ||
4173 | Note that this is mostly orthogonal to shrinking buffer objects | ||
4174 | caches, which has the goal to make main memory (shared with the gpu | ||
4175 | through the unified memory architecture) available. | ||
4176 | </para> | ||
4177 | !Idrivers/gpu/drm/i915/i915_gem_evict.c | ||
4178 | </sect2> | ||
4061 | </sect1> | 4179 | </sect1> |
4062 | 4180 | ||
4063 | <sect1> | 4181 | <sect1> |
diff --git a/Documentation/DocBook/kgdb.tmpl b/Documentation/DocBook/kgdb.tmpl index f77358f96930..f3abca7ec53d 100644 --- a/Documentation/DocBook/kgdb.tmpl +++ b/Documentation/DocBook/kgdb.tmpl | |||
@@ -75,7 +75,7 @@ | |||
75 | a development machine and the other is the target machine. The | 75 | a development machine and the other is the target machine. The |
76 | kernel to be debugged runs on the target machine. The development | 76 | kernel to be debugged runs on the target machine. The development |
77 | machine runs an instance of gdb against the vmlinux file which | 77 | machine runs an instance of gdb against the vmlinux file which |
78 | contains the symbols (not boot image such as bzImage, zImage, | 78 | contains the symbols (not a boot image such as bzImage, zImage, |
79 | uImage...). In gdb the developer specifies the connection | 79 | uImage...). In gdb the developer specifies the connection |
80 | parameters and connects to kgdb. The type of connection a | 80 | parameters and connects to kgdb. The type of connection a |
81 | developer makes with gdb depends on the availability of kgdb I/O | 81 | developer makes with gdb depends on the availability of kgdb I/O |
@@ -95,7 +95,7 @@ | |||
95 | <title>Kernel config options for kgdb</title> | 95 | <title>Kernel config options for kgdb</title> |
96 | <para> | 96 | <para> |
97 | To enable <symbol>CONFIG_KGDB</symbol> you should look under | 97 | To enable <symbol>CONFIG_KGDB</symbol> you should look under |
98 | "Kernel debugging" and select "KGDB: kernel debugger". | 98 | "Kernel hacking" / "Kernel debugging" and select "KGDB: kernel debugger". |
99 | </para> | 99 | </para> |
100 | <para> | 100 | <para> |
101 | While it is not a hard requirement that you have symbols in your | 101 | While it is not a hard requirement that you have symbols in your |
@@ -105,7 +105,7 @@ | |||
105 | kernel with debug info" in the config menu. | 105 | kernel with debug info" in the config menu. |
106 | </para> | 106 | </para> |
107 | <para> | 107 | <para> |
108 | It is advised, but not required that you turn on the | 108 | It is advised, but not required, that you turn on the |
109 | <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the | 109 | <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the |
110 | kernel with frame pointers" in the config menu. This option | 110 | kernel with frame pointers" in the config menu. This option |
111 | inserts code to into the compiled executable which saves the frame | 111 | inserts code to into the compiled executable which saves the frame |
@@ -181,7 +181,7 @@ | |||
181 | <para>This section describes the various runtime kernel | 181 | <para>This section describes the various runtime kernel |
182 | parameters that affect the configuration of the kernel debugger. | 182 | parameters that affect the configuration of the kernel debugger. |
183 | The following chapter covers using kdb and kgdb as well as | 183 | The following chapter covers using kdb and kgdb as well as |
184 | provides some examples of the configuration parameters.</para> | 184 | providing some examples of the configuration parameters.</para> |
185 | <sect1 id="kgdboc"> | 185 | <sect1 id="kgdboc"> |
186 | <title>Kernel parameter: kgdboc</title> | 186 | <title>Kernel parameter: kgdboc</title> |
187 | <para>The kgdboc driver was originally an abbreviation meant to | 187 | <para>The kgdboc driver was originally an abbreviation meant to |
@@ -197,6 +197,7 @@ | |||
197 | may be configured as a kernel built-in or a kernel loadable module. | 197 | may be configured as a kernel built-in or a kernel loadable module. |
198 | You can only make use of <constant>kgdbwait</constant> and early | 198 | You can only make use of <constant>kgdbwait</constant> and early |
199 | debugging if you build kgdboc into the kernel as a built-in. | 199 | debugging if you build kgdboc into the kernel as a built-in. |
200 | </para> | ||
200 | <para>Optionally you can elect to activate kms (Kernel Mode | 201 | <para>Optionally you can elect to activate kms (Kernel Mode |
201 | Setting) integration. When you use kms with kgdboc and you have a | 202 | Setting) integration. When you use kms with kgdboc and you have a |
202 | video driver that has atomic mode setting hooks, it is possible to | 203 | video driver that has atomic mode setting hooks, it is possible to |
@@ -206,7 +207,6 @@ | |||
206 | crashes or doing analysis of memory with kdb while allowing the | 207 | crashes or doing analysis of memory with kdb while allowing the |
207 | full graphics console applications to run. | 208 | full graphics console applications to run. |
208 | </para> | 209 | </para> |
209 | </para> | ||
210 | <sect2 id="kgdbocArgs"> | 210 | <sect2 id="kgdbocArgs"> |
211 | <title>kgdboc arguments</title> | 211 | <title>kgdboc arguments</title> |
212 | <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para> | 212 | <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para> |
@@ -219,8 +219,8 @@ | |||
219 | <listitem><para>kbd = Keyboard</para></listitem> | 219 | <listitem><para>kbd = Keyboard</para></listitem> |
220 | </itemizedlist> | 220 | </itemizedlist> |
221 | </para> | 221 | </para> |
222 | <para>You can configure kgdboc to use the keyboard, and or a serial | 222 | <para>You can configure kgdboc to use the keyboard, and/or a serial |
223 | device depending on if you are using kdb and or kgdb, in one of the | 223 | device depending on if you are using kdb and/or kgdb, in one of the |
224 | following scenarios. The order listed above must be observed if | 224 | following scenarios. The order listed above must be observed if |
225 | you use any of the optional configurations together. Using kms + | 225 | you use any of the optional configurations together. Using kms + |
226 | only gdb is generally not a useful combination.</para> | 226 | only gdb is generally not a useful combination.</para> |
@@ -261,11 +261,8 @@ | |||
261 | </sect3> | 261 | </sect3> |
262 | <sect3 id="kgdbocArgs3"> | 262 | <sect3 id="kgdbocArgs3"> |
263 | <title>More examples</title> | 263 | <title>More examples</title> |
264 | <para>You can configure kgdboc to use the keyboard, and or a serial | 264 | <para>You can configure kgdboc to use the keyboard, and/or a serial device |
265 | device depending on if you are using kdb and or kgdb, in one of the | 265 | depending on if you are using kdb and/or kgdb, in one of the |
266 | following scenarios.</para> | ||
267 | <para>You can configure kgdboc to use the keyboard, and or a serial device | ||
268 | depending on if you are using kdb and or kgdb, in one of the | ||
269 | following scenarios. | 266 | following scenarios. |
270 | <orderedlist> | 267 | <orderedlist> |
271 | <listitem><para>kdb and kgdb over only a serial port</para> | 268 | <listitem><para>kdb and kgdb over only a serial port</para> |
@@ -287,7 +284,6 @@ | |||
287 | </listitem> | 284 | </listitem> |
288 | </orderedlist> | 285 | </orderedlist> |
289 | </para> | 286 | </para> |
290 | </sect3> | ||
291 | <para>NOTE: Kgdboc does not support interrupting the target via the | 287 | <para>NOTE: Kgdboc does not support interrupting the target via the |
292 | gdb remote protocol. You must manually send a sysrq-g unless you | 288 | gdb remote protocol. You must manually send a sysrq-g unless you |
293 | have a proxy that splits console output to a terminal program. | 289 | have a proxy that splits console output to a terminal program. |
@@ -308,6 +304,7 @@ | |||
308 | as well as on the initial connect, or to use a debugger proxy that | 304 | as well as on the initial connect, or to use a debugger proxy that |
309 | allows an unmodified gdb to do the debugging. | 305 | allows an unmodified gdb to do the debugging. |
310 | </para> | 306 | </para> |
307 | </sect3> | ||
311 | </sect2> | 308 | </sect2> |
312 | </sect1> | 309 | </sect1> |
313 | <sect1 id="kgdbwait"> | 310 | <sect1 id="kgdbwait"> |
@@ -315,7 +312,7 @@ | |||
315 | <para> | 312 | <para> |
316 | The Kernel command line option <constant>kgdbwait</constant> makes | 313 | The Kernel command line option <constant>kgdbwait</constant> makes |
317 | kgdb wait for a debugger connection during booting of a kernel. You | 314 | kgdb wait for a debugger connection during booting of a kernel. You |
318 | can only use this option you compiled a kgdb I/O driver into the | 315 | can only use this option if you compiled a kgdb I/O driver into the |
319 | kernel and you specified the I/O driver configuration as a kernel | 316 | kernel and you specified the I/O driver configuration as a kernel |
320 | command line option. The kgdbwait parameter should always follow the | 317 | command line option. The kgdbwait parameter should always follow the |
321 | configuration parameter for the kgdb I/O driver in the kernel | 318 | configuration parameter for the kgdb I/O driver in the kernel |
@@ -353,12 +350,12 @@ | |||
353 | </para> | 350 | </para> |
354 | </listitem> | 351 | </listitem> |
355 | </orderedlist> | 352 | </orderedlist> |
353 | </para> | ||
356 | <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an | 354 | <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an |
357 | active system console. An example incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant> | 355 | active system console. An example of incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant> |
358 | </para> | 356 | </para> |
359 | <para>It is possible to use this option with kgdboc on a tty that is not a system console. | 357 | <para>It is possible to use this option with kgdboc on a tty that is not a system console. |
360 | </para> | 358 | </para> |
361 | </para> | ||
362 | </sect1> | 359 | </sect1> |
363 | <sect1 id="kgdbreboot"> | 360 | <sect1 id="kgdbreboot"> |
364 | <title>Run time parameter: kgdbreboot</title> | 361 | <title>Run time parameter: kgdbreboot</title> |
@@ -386,12 +383,12 @@ | |||
386 | <title>Quick start for kdb on a serial port</title> | 383 | <title>Quick start for kdb on a serial port</title> |
387 | <para>This is a quick example of how to use kdb.</para> | 384 | <para>This is a quick example of how to use kdb.</para> |
388 | <para><orderedlist> | 385 | <para><orderedlist> |
389 | <listitem><para>Boot kernel with arguments: | 386 | <listitem><para>Configure kgdboc at boot using kernel parameters: |
390 | <itemizedlist> | 387 | <itemizedlist> |
391 | <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem> | 388 | <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem> |
392 | </itemizedlist></para> | 389 | </itemizedlist></para> |
393 | <para>OR</para> | 390 | <para>OR</para> |
394 | <para>Configure kgdboc after the kernel booted; assuming you are using a serial port console: | 391 | <para>Configure kgdboc after the kernel has booted; assuming you are using a serial port console: |
395 | <itemizedlist> | 392 | <itemizedlist> |
396 | <listitem><para><constant>echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> | 393 | <listitem><para><constant>echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> |
397 | </itemizedlist> | 394 | </itemizedlist> |
@@ -442,12 +439,12 @@ | |||
442 | <title>Quick start for kdb using a keyboard connected console</title> | 439 | <title>Quick start for kdb using a keyboard connected console</title> |
443 | <para>This is a quick example of how to use kdb with a keyboard.</para> | 440 | <para>This is a quick example of how to use kdb with a keyboard.</para> |
444 | <para><orderedlist> | 441 | <para><orderedlist> |
445 | <listitem><para>Boot kernel with arguments: | 442 | <listitem><para>Configure kgdboc at boot using kernel parameters: |
446 | <itemizedlist> | 443 | <itemizedlist> |
447 | <listitem><para><constant>kgdboc=kbd</constant></para></listitem> | 444 | <listitem><para><constant>kgdboc=kbd</constant></para></listitem> |
448 | </itemizedlist></para> | 445 | </itemizedlist></para> |
449 | <para>OR</para> | 446 | <para>OR</para> |
450 | <para>Configure kgdboc after the kernel booted: | 447 | <para>Configure kgdboc after the kernel has booted: |
451 | <itemizedlist> | 448 | <itemizedlist> |
452 | <listitem><para><constant>echo kbd > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> | 449 | <listitem><para><constant>echo kbd > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> |
453 | </itemizedlist> | 450 | </itemizedlist> |
@@ -501,12 +498,12 @@ | |||
501 | <title>Connecting with gdb to a serial port</title> | 498 | <title>Connecting with gdb to a serial port</title> |
502 | <orderedlist> | 499 | <orderedlist> |
503 | <listitem><para>Configure kgdboc</para> | 500 | <listitem><para>Configure kgdboc</para> |
504 | <para>Boot kernel with arguments: | 501 | <para>Configure kgdboc at boot using kernel parameters: |
505 | <itemizedlist> | 502 | <itemizedlist> |
506 | <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem> | 503 | <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem> |
507 | </itemizedlist></para> | 504 | </itemizedlist></para> |
508 | <para>OR</para> | 505 | <para>OR</para> |
509 | <para>Configure kgdboc after the kernel booted: | 506 | <para>Configure kgdboc after the kernel has booted: |
510 | <itemizedlist> | 507 | <itemizedlist> |
511 | <listitem><para><constant>echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> | 508 | <listitem><para><constant>echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> |
512 | </itemizedlist></para> | 509 | </itemizedlist></para> |
@@ -536,7 +533,7 @@ | |||
536 | </para> | 533 | </para> |
537 | </listitem> | 534 | </listitem> |
538 | <listitem> | 535 | <listitem> |
539 | <para>Connect from from gdb</para> | 536 | <para>Connect from gdb</para> |
540 | <para> | 537 | <para> |
541 | Example (using a directly connected port): | 538 | Example (using a directly connected port): |
542 | </para> | 539 | </para> |
@@ -584,7 +581,7 @@ | |||
584 | <para> | 581 | <para> |
585 | There are two ways to switch from kgdb to kdb: you can use gdb to | 582 | There are two ways to switch from kgdb to kdb: you can use gdb to |
586 | issue a maintenance packet, or you can blindly type the command $3#33. | 583 | issue a maintenance packet, or you can blindly type the command $3#33. |
587 | Whenever kernel debugger stops in kgdb mode it will print the | 584 | Whenever the kernel debugger stops in kgdb mode it will print the |
588 | message <constant>KGDB or $3#33 for KDB</constant>. It is important | 585 | message <constant>KGDB or $3#33 for KDB</constant>. It is important |
589 | to note that you have to type the sequence correctly in one pass. | 586 | to note that you have to type the sequence correctly in one pass. |
590 | You cannot type a backspace or delete because kgdb will interpret | 587 | You cannot type a backspace or delete because kgdb will interpret |
@@ -704,7 +701,7 @@ Task Addr Pid Parent [*] cpu State Thread Command | |||
704 | <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem> | 701 | <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem> |
705 | <listitem><para>Any special exception handling and cleanup</para></listitem> | 702 | <listitem><para>Any special exception handling and cleanup</para></listitem> |
706 | <listitem><para>NMI exception handling and cleanup</para></listitem> | 703 | <listitem><para>NMI exception handling and cleanup</para></listitem> |
707 | <listitem><para>(optional)HW breakpoints</para></listitem> | 704 | <listitem><para>(optional) HW breakpoints</para></listitem> |
708 | </itemizedlist> | 705 | </itemizedlist> |
709 | </para> | 706 | </para> |
710 | </listitem> | 707 | </listitem> |
@@ -760,7 +757,7 @@ Task Addr Pid Parent [*] cpu State Thread Command | |||
760 | a kgdb I/O driver for characters when it needs input. The I/O | 757 | a kgdb I/O driver for characters when it needs input. The I/O |
761 | driver is expected to return immediately if there is no data | 758 | driver is expected to return immediately if there is no data |
762 | available. Doing so allows for the future possibility to touch | 759 | available. Doing so allows for the future possibility to touch |
763 | watch dog hardware in such a way as to have a target system not | 760 | watchdog hardware in such a way as to have a target system not |
764 | reset when these are enabled. | 761 | reset when these are enabled. |
765 | </para> | 762 | </para> |
766 | </listitem> | 763 | </listitem> |
@@ -779,21 +776,25 @@ Task Addr Pid Parent [*] cpu State Thread Command | |||
779 | their <asm/kgdb.h> file. These are: | 776 | their <asm/kgdb.h> file. These are: |
780 | <itemizedlist> | 777 | <itemizedlist> |
781 | <listitem> | 778 | <listitem> |
782 | <para> | 779 | <para> |
783 | NUMREGBYTES: The size in bytes of all of the registers, so | 780 | NUMREGBYTES: The size in bytes of all of the registers, so |
784 | that we can ensure they will all fit into a packet. | 781 | that we can ensure they will all fit into a packet. |
785 | </para> | 782 | </para> |
786 | <para> | 783 | </listitem> |
787 | BUFMAX: The size in bytes of the buffer GDB will read into. | 784 | <listitem> |
788 | This must be larger than NUMREGBYTES. | 785 | <para> |
789 | </para> | 786 | BUFMAX: The size in bytes of the buffer GDB will read into. |
790 | <para> | 787 | This must be larger than NUMREGBYTES. |
791 | CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call | 788 | </para> |
792 | flush_cache_range or flush_icache_range. On some architectures, | 789 | </listitem> |
793 | these functions may not be safe to call on SMP since we keep other | 790 | <listitem> |
794 | CPUs in a holding pattern. | 791 | <para> |
795 | </para> | 792 | CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call |
796 | </listitem> | 793 | flush_cache_range or flush_icache_range. On some architectures, |
794 | these functions may not be safe to call on SMP since we keep other | ||
795 | CPUs in a holding pattern. | ||
796 | </para> | ||
797 | </listitem> | ||
797 | </itemizedlist> | 798 | </itemizedlist> |
798 | </para> | 799 | </para> |
799 | <para> | 800 | <para> |
@@ -812,8 +813,8 @@ Task Addr Pid Parent [*] cpu State Thread Command | |||
812 | <para> | 813 | <para> |
813 | The kgdboc driver is actually a very thin driver that relies on the | 814 | The kgdboc driver is actually a very thin driver that relies on the |
814 | underlying low level to the hardware driver having "polling hooks" | 815 | underlying low level to the hardware driver having "polling hooks" |
815 | which the to which the tty driver is attached. In the initial | 816 | to which the tty driver is attached. In the initial |
816 | implementation of kgdboc it the serial_core was changed to expose a | 817 | implementation of kgdboc the serial_core was changed to expose a |
817 | low level UART hook for doing polled mode reading and writing of a | 818 | low level UART hook for doing polled mode reading and writing of a |
818 | single character while in an atomic context. When kgdb makes an I/O | 819 | single character while in an atomic context. When kgdb makes an I/O |
819 | request to the debugger, kgdboc invokes a callback in the serial | 820 | request to the debugger, kgdboc invokes a callback in the serial |
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl index 1fdc246e4256..cd0e452dfed5 100644 --- a/Documentation/DocBook/uio-howto.tmpl +++ b/Documentation/DocBook/uio-howto.tmpl | |||
@@ -719,7 +719,7 @@ framework to set up sysfs files for this region. Simply leave it alone. | |||
719 | </para> | 719 | </para> |
720 | </sect1> | 720 | </sect1> |
721 | 721 | ||
722 | <sect1 id="using uio_dmem_genirq"> | 722 | <sect1 id="using-uio_dmem_genirq"> |
723 | <title>Using uio_dmem_genirq for platform devices</title> | 723 | <title>Using uio_dmem_genirq for platform devices</title> |
724 | <para> | 724 | <para> |
725 | In addition to statically allocated memory ranges, they may also be | 725 | In addition to statically allocated memory ranges, they may also be |
@@ -746,16 +746,16 @@ framework to set up sysfs files for this region. Simply leave it alone. | |||
746 | following elements: | 746 | following elements: |
747 | </para> | 747 | </para> |
748 | <itemizedlist> | 748 | <itemizedlist> |
749 | <listitem><varname>struct uio_info uioinfo</varname>: The same | 749 | <listitem><para><varname>struct uio_info uioinfo</varname>: The same |
750 | structure used as the <varname>uio_pdrv_genirq</varname> platform | 750 | structure used as the <varname>uio_pdrv_genirq</varname> platform |
751 | data</listitem> | 751 | data</para></listitem> |
752 | <listitem><varname>unsigned int *dynamic_region_sizes</varname>: | 752 | <listitem><para><varname>unsigned int *dynamic_region_sizes</varname>: |
753 | Pointer to list of sizes of dynamic memory regions to be mapped into | 753 | Pointer to list of sizes of dynamic memory regions to be mapped into |
754 | user space. | 754 | user space. |
755 | </listitem> | 755 | </para></listitem> |
756 | <listitem><varname>unsigned int num_dynamic_regions</varname>: | 756 | <listitem><para><varname>unsigned int num_dynamic_regions</varname>: |
757 | Number of elements in <varname>dynamic_region_sizes</varname> array. | 757 | Number of elements in <varname>dynamic_region_sizes</varname> array. |
758 | </listitem> | 758 | </para></listitem> |
759 | </itemizedlist> | 759 | </itemizedlist> |
760 | <para> | 760 | <para> |
761 | The dynamic regions defined in the platform data will be appended to | 761 | The dynamic regions defined in the platform data will be appended to |