diff options
Diffstat (limited to 'Documentation')
45 files changed, 714 insertions, 80 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-led b/Documentation/ABI/testing/sysfs-class-led index 9e4541d71cb6..edff6630c805 100644 --- a/Documentation/ABI/testing/sysfs-class-led +++ b/Documentation/ABI/testing/sysfs-class-led | |||
@@ -26,3 +26,12 @@ Description: | |||
26 | scheduler is chosen. Trigger specific parameters can appear in | 26 | scheduler is chosen. Trigger specific parameters can appear in |
27 | /sys/class/leds/<led> once a given trigger is selected. | 27 | /sys/class/leds/<led> once a given trigger is selected. |
28 | 28 | ||
29 | What: /sys/class/leds/<led>/inverted | ||
30 | Date: January 2011 | ||
31 | KernelVersion: 2.6.38 | ||
32 | Contact: Richard Purdie <rpurdie@rpsys.net> | ||
33 | Description: | ||
34 | Invert the LED on/off state. This parameter is specific to | ||
35 | gpio and backlight triggers. In case of the backlight trigger, | ||
36 | it is usefull when driving a LED which is intended to indicate | ||
37 | a device in a standby like state. | ||
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index 020ac80d4682..620eb3f6a90a 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
@@ -250,7 +250,7 @@ static void board_hwcontrol(struct mtd_info *mtd, int cmd) | |||
250 | <title>Device ready function</title> | 250 | <title>Device ready function</title> |
251 | <para> | 251 | <para> |
252 | If the hardware interface has the ready busy pin of the NAND chip connected to a | 252 | If the hardware interface has the ready busy pin of the NAND chip connected to a |
253 | GPIO or other accesible I/O pin, this function is used to read back the state of the | 253 | GPIO or other accessible I/O pin, this function is used to read back the state of the |
254 | pin. The function has no arguments and should return 0, if the device is busy (R/B pin | 254 | pin. The function has no arguments and should return 0, if the device is busy (R/B pin |
255 | is low) and 1, if the device is ready (R/B pin is high). | 255 | is low) and 1, if the device is ready (R/B pin is high). |
256 | If the hardware interface does not give access to the ready busy pin, then | 256 | If the hardware interface does not give access to the ready busy pin, then |
diff --git a/Documentation/cgroups/cgroup_event_listener.c b/Documentation/cgroups/cgroup_event_listener.c index 8c2bfc4a6358..3e082f96dc12 100644 --- a/Documentation/cgroups/cgroup_event_listener.c +++ b/Documentation/cgroups/cgroup_event_listener.c | |||
@@ -91,7 +91,7 @@ int main(int argc, char **argv) | |||
91 | 91 | ||
92 | if (ret == -1) { | 92 | if (ret == -1) { |
93 | perror("cgroup.event_control " | 93 | perror("cgroup.event_control " |
94 | "is not accessable any more"); | 94 | "is not accessible any more"); |
95 | break; | 95 | break; |
96 | } | 96 | } |
97 | 97 | ||
diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt index 190018b0c649..44b8b7af8019 100644 --- a/Documentation/cgroups/cgroups.txt +++ b/Documentation/cgroups/cgroups.txt | |||
@@ -355,13 +355,13 @@ subsystems, type: | |||
355 | 355 | ||
356 | To change the set of subsystems bound to a mounted hierarchy, just | 356 | To change the set of subsystems bound to a mounted hierarchy, just |
357 | remount with different options: | 357 | remount with different options: |
358 | # mount -o remount,cpuset,ns hier1 /dev/cgroup | 358 | # mount -o remount,cpuset,blkio hier1 /dev/cgroup |
359 | 359 | ||
360 | Now memory is removed from the hierarchy and ns is added. | 360 | Now memory is removed from the hierarchy and blkio is added. |
361 | 361 | ||
362 | Note this will add ns to the hierarchy but won't remove memory or | 362 | Note this will add blkio to the hierarchy but won't remove memory or |
363 | cpuset, because the new options are appended to the old ones: | 363 | cpuset, because the new options are appended to the old ones: |
364 | # mount -o remount,ns /dev/cgroup | 364 | # mount -o remount,blkio /dev/cgroup |
365 | 365 | ||
366 | To Specify a hierarchy's release_agent: | 366 | To Specify a hierarchy's release_agent: |
367 | # mount -t cgroup -o cpuset,release_agent="/sbin/cpuset_release_agent" \ | 367 | # mount -t cgroup -o cpuset,release_agent="/sbin/cpuset_release_agent" \ |
diff --git a/Documentation/cgroups/memcg_test.txt b/Documentation/cgroups/memcg_test.txt index b7eececfb195..fc8fa97a09ac 100644 --- a/Documentation/cgroups/memcg_test.txt +++ b/Documentation/cgroups/memcg_test.txt | |||
@@ -398,7 +398,7 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y. | |||
398 | written to move_charge_at_immigrate. | 398 | written to move_charge_at_immigrate. |
399 | 399 | ||
400 | 9.10 Memory thresholds | 400 | 9.10 Memory thresholds |
401 | Memory controler implements memory thresholds using cgroups notification | 401 | Memory controller implements memory thresholds using cgroups notification |
402 | API. You can use Documentation/cgroups/cgroup_event_listener.c to test | 402 | API. You can use Documentation/cgroups/cgroup_event_listener.c to test |
403 | it. | 403 | it. |
404 | 404 | ||
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt index 945ff3fda433..a0b58e29f911 100644 --- a/Documentation/email-clients.txt +++ b/Documentation/email-clients.txt | |||
@@ -104,6 +104,13 @@ Then from the "Message" menu item, select insert file and choose your patch. | |||
104 | As an added bonus you can customise the message creation toolbar menu | 104 | As an added bonus you can customise the message creation toolbar menu |
105 | and put the "insert file" icon there. | 105 | and put the "insert file" icon there. |
106 | 106 | ||
107 | Make the the composer window wide enough so that no lines wrap. As of | ||
108 | KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending | ||
109 | the email if the lines wrap in the composer window. Having word wrapping | ||
110 | disabled in the Options menu isn't enough. Thus, if your patch has very | ||
111 | long lines, you must make the composer window very wide before sending | ||
112 | the email. See: https://bugs.kde.org/show_bug.cgi?id=174034 | ||
113 | |||
107 | You can safely GPG sign attachments, but inlined text is preferred for | 114 | You can safely GPG sign attachments, but inlined text is preferred for |
108 | patches so do not GPG sign them. Signing patches that have been inserted | 115 | patches so do not GPG sign them. Signing patches that have been inserted |
109 | as inlined text will make them tricky to extract from their 7-bit encoding. | 116 | as inlined text will make them tricky to extract from their 7-bit encoding. |
@@ -179,26 +186,8 @@ Sylpheed (GUI) | |||
179 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 186 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
180 | Thunderbird (GUI) | 187 | Thunderbird (GUI) |
181 | 188 | ||
182 | By default, thunderbird likes to mangle text, but there are ways to | 189 | Thunderbird is an Outlook clone that likes to mangle text, but there are ways |
183 | coerce it into being nice. | 190 | to coerce it into behaving. |
184 | |||
185 | - Under account settings, composition and addressing, uncheck "Compose | ||
186 | messages in HTML format". | ||
187 | |||
188 | - Edit your Thunderbird config settings to tell it not to wrap lines: | ||
189 | user_pref("mailnews.wraplength", 0); | ||
190 | |||
191 | - Edit your Thunderbird config settings so that it won't use format=flowed: | ||
192 | user_pref("mailnews.send_plaintext_flowed", false); | ||
193 | |||
194 | - You need to get Thunderbird into preformat mode: | ||
195 | . If you compose HTML messages by default, it's not too hard. Just select | ||
196 | "Preformat" from the drop-down box just under the subject line. | ||
197 | . If you compose in text by default, you have to tell it to compose a new | ||
198 | message in HTML (just as a one-off), and then force it from there back to | ||
199 | text, else it will wrap lines. To do this, use shift-click on the Write | ||
200 | icon to compose to get HTML compose mode, then select "Preformat" from | ||
201 | the drop-down box just under the subject line. | ||
202 | 191 | ||
203 | - Allows use of an external editor: | 192 | - Allows use of an external editor: |
204 | The easiest thing to do with Thunderbird and patches is to use an | 193 | The easiest thing to do with Thunderbird and patches is to use an |
@@ -208,6 +197,27 @@ coerce it into being nice. | |||
208 | View->Toolbars->Customize... and finally just click on it when in the | 197 | View->Toolbars->Customize... and finally just click on it when in the |
209 | Compose dialog. | 198 | Compose dialog. |
210 | 199 | ||
200 | To beat some sense out of the internal editor, do this: | ||
201 | |||
202 | - Under account settings, composition and addressing, uncheck "Compose | ||
203 | messages in HTML format". | ||
204 | |||
205 | - Edit your Thunderbird config settings so that it won't use format=flowed. | ||
206 | Go to "edit->preferences->advanced->config editor" to bring up the | ||
207 | thunderbird's registry editor, and set "mailnews.send_plaintext_flowed" to | ||
208 | "false". | ||
209 | |||
210 | - Enable "preformat" mode: Shft-click on the Write icon to bring up the HTML | ||
211 | composer, select "Preformat" from the drop-down box just under the subject | ||
212 | line, then close the message without saving. (This setting also applies to | ||
213 | the text composer, but the only control for it is in the HTML composer.) | ||
214 | |||
215 | - Install the "toggle wordwrap" extension. Download the file from: | ||
216 | https://addons.mozilla.org/thunderbird/addon/2351/ | ||
217 | Then go to "tools->add ons", select "install" at the bottom of the screen, | ||
218 | and browse to where you saved the .xul file. This adds an "Enable | ||
219 | Wordwrap" entry under the Options menu of the message composer. | ||
220 | |||
211 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
212 | TkRat (GUI) | 222 | TkRat (GUI) |
213 | 223 | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 22f10818c2b3..6cbbd20534cf 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -193,6 +193,20 @@ Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's | |||
193 | 193 | ||
194 | --------------------------- | 194 | --------------------------- |
195 | 195 | ||
196 | What: CS5535/CS5536 obsolete GPIO driver | ||
197 | When: June 2011 | ||
198 | Files: drivers/staging/cs5535_gpio/* | ||
199 | Check: drivers/staging/cs5535_gpio/cs5535_gpio.c | ||
200 | Why: A newer driver replaces this; it is drivers/gpio/cs5535-gpio.c, and | ||
201 | integrates with the Linux GPIO subsystem. The old driver has been | ||
202 | moved to staging, and will be removed altogether around 2.6.40. | ||
203 | Please test the new driver, and ensure that the functionality you | ||
204 | need and any bugfixes from the old driver are available in the new | ||
205 | one. | ||
206 | Who: Andres Salomon <dilinger@queued.net> | ||
207 | |||
208 | -------------------------- | ||
209 | |||
196 | What: remove EXPORT_SYMBOL(kernel_thread) | 210 | What: remove EXPORT_SYMBOL(kernel_thread) |
197 | When: August 2006 | 211 | When: August 2006 |
198 | Files: arch/*/kernel/*_ksyms.c | 212 | Files: arch/*/kernel/*_ksyms.c |
@@ -576,3 +590,13 @@ Why: The functions have been superceded by cancel_delayed_work_sync() | |||
576 | Who: Tejun Heo <tj@kernel.org> | 590 | Who: Tejun Heo <tj@kernel.org> |
577 | 591 | ||
578 | ---------------------------- | 592 | ---------------------------- |
593 | |||
594 | What: Legacy, non-standard chassis intrusion detection interface. | ||
595 | When: June 2011 | ||
596 | Why: The adm9240, w83792d and w83793 hardware monitoring drivers have | ||
597 | legacy interfaces for chassis intrusion detection. A standard | ||
598 | interface has been added to each driver, so the legacy interface | ||
599 | can be removed. | ||
600 | Who: Jean Delvare <khali@linux-fr.org> | ||
601 | |||
602 | ---------------------------- | ||
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index ac2a261c5f7d..6ef8cf3bc9a3 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
@@ -457,6 +457,9 @@ ChangeLog | |||
457 | 457 | ||
458 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. | 458 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. |
459 | 459 | ||
460 | 2.1.30: | ||
461 | - Fix writev() (it kept writing the first segment over and over again | ||
462 | instead of moving onto subsequent segments). | ||
460 | 2.1.29: | 463 | 2.1.29: |
461 | - Fix a deadlock when mounting read-write. | 464 | - Fix a deadlock when mounting read-write. |
462 | 2.1.28: | 465 | 2.1.28: |
diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt index 792faa3c06cf..a492d92bb098 100644 --- a/Documentation/gpio.txt +++ b/Documentation/gpio.txt | |||
@@ -135,7 +135,7 @@ setting up a platform_device using the GPIO, is mark its direction: | |||
135 | int gpio_direction_input(unsigned gpio); | 135 | int gpio_direction_input(unsigned gpio); |
136 | int gpio_direction_output(unsigned gpio, int value); | 136 | int gpio_direction_output(unsigned gpio, int value); |
137 | 137 | ||
138 | The return value is zero for success, else a negative errno. It should | 138 | The return value is zero for success, else a negative errno. It must |
139 | be checked, since the get/set calls don't have error returns and since | 139 | be checked, since the get/set calls don't have error returns and since |
140 | misconfiguration is possible. You should normally issue these calls from | 140 | misconfiguration is possible. You should normally issue these calls from |
141 | a task context. However, for spinlock-safe GPIOs it's OK to use them | 141 | a task context. However, for spinlock-safe GPIOs it's OK to use them |
diff --git a/Documentation/hwmon/adm9240 b/Documentation/hwmon/adm9240 index 2c6f1fed4618..36e8ec6aa868 100644 --- a/Documentation/hwmon/adm9240 +++ b/Documentation/hwmon/adm9240 | |||
@@ -155,7 +155,7 @@ connected to a normally open switch. | |||
155 | The ADM9240 provides an internal open drain on this line, and may output | 155 | The ADM9240 provides an internal open drain on this line, and may output |
156 | a 20 ms active low pulse to reset an external Chassis Intrusion latch. | 156 | a 20 ms active low pulse to reset an external Chassis Intrusion latch. |
157 | 157 | ||
158 | Clear the CI latch by writing value 1 to the sysfs chassis_clear file. | 158 | Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file. |
159 | 159 | ||
160 | Alarm flags reported as 16-bit word | 160 | Alarm flags reported as 16-bit word |
161 | 161 | ||
diff --git a/Documentation/hwmon/ads7828 b/Documentation/hwmon/ads7828 index 75bc4beaf447..2bbebe6f771f 100644 --- a/Documentation/hwmon/ads7828 +++ b/Documentation/hwmon/ads7828 | |||
@@ -9,7 +9,7 @@ Supported chips: | |||
9 | http://focus.ti.com/lit/ds/symlink/ads7828.pdf | 9 | http://focus.ti.com/lit/ds/symlink/ads7828.pdf |
10 | 10 | ||
11 | Authors: | 11 | Authors: |
12 | Steve Hardy <steve@linuxrealtime.co.uk> | 12 | Steve Hardy <shardy@redhat.com> |
13 | 13 | ||
14 | Module Parameters | 14 | Module Parameters |
15 | ----------------- | 15 | ----------------- |
diff --git a/Documentation/hwmon/dme1737 b/Documentation/hwmon/dme1737 index fc5df7654d63..4d2935145a1c 100644 --- a/Documentation/hwmon/dme1737 +++ b/Documentation/hwmon/dme1737 | |||
@@ -42,7 +42,7 @@ Description | |||
42 | This driver implements support for the hardware monitoring capabilities of the | 42 | This driver implements support for the hardware monitoring capabilities of the |
43 | SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x, | 43 | SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x, |
44 | and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors | 44 | and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors |
45 | temp[1-3] (2 remote diodes and 1 internal), 7 voltages in[0-6] (6 external and | 45 | temp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and |
46 | 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement | 46 | 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement |
47 | up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and | 47 | up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and |
48 | automatically. | 48 | automatically. |
@@ -105,6 +105,7 @@ SCH5127: | |||
105 | in4: V1_IN 0V - 1.5V | 105 | in4: V1_IN 0V - 1.5V |
106 | in5: VTR (+3.3V standby) 0V - 4.38V | 106 | in5: VTR (+3.3V standby) 0V - 4.38V |
107 | in6: Vbat (+3.0V) 0V - 4.38V | 107 | in6: Vbat (+3.0V) 0V - 4.38V |
108 | in7: Vtrip (+1.5V) 0V - 1.99V | ||
108 | 109 | ||
109 | Each voltage input has associated min and max limits which trigger an alarm | 110 | Each voltage input has associated min and max limits which trigger an alarm |
110 | when crossed. | 111 | when crossed. |
@@ -217,10 +218,10 @@ cpu0_vid RO CPU core reference voltage in | |||
217 | vrm RW Voltage regulator module version | 218 | vrm RW Voltage regulator module version |
218 | number. | 219 | number. |
219 | 220 | ||
220 | in[0-6]_input RO Measured voltage in millivolts. | 221 | in[0-7]_input RO Measured voltage in millivolts. |
221 | in[0-6]_min RW Low limit for voltage input. | 222 | in[0-7]_min RW Low limit for voltage input. |
222 | in[0-6]_max RW High limit for voltage input. | 223 | in[0-7]_max RW High limit for voltage input. |
223 | in[0-6]_alarm RO Voltage input alarm. Returns 1 if | 224 | in[0-7]_alarm RO Voltage input alarm. Returns 1 if |
224 | voltage input is or went outside the | 225 | voltage input is or went outside the |
225 | associated min-max range, 0 otherwise. | 226 | associated min-max range, 0 otherwise. |
226 | 227 | ||
@@ -324,3 +325,4 @@ fan5 opt opt | |||
324 | pwm5 opt opt | 325 | pwm5 opt opt |
325 | fan6 opt opt | 326 | fan6 opt opt |
326 | pwm6 opt opt | 327 | pwm6 opt opt |
328 | in7 yes | ||
diff --git a/Documentation/hwmon/w83627hf b/Documentation/hwmon/w83627hf index fb145e5e722a..8432e1118173 100644 --- a/Documentation/hwmon/w83627hf +++ b/Documentation/hwmon/w83627hf | |||
@@ -91,3 +91,25 @@ isaset -y -f 0x2e 0xaa | |||
91 | 91 | ||
92 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but | 92 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but |
93 | 0x4e/0x4f is also possible. | 93 | 0x4e/0x4f is also possible. |
94 | |||
95 | Voltage pin mapping | ||
96 | ------------------- | ||
97 | |||
98 | Here is a summary of the voltage pin mapping for the W83627THF. This | ||
99 | can be useful to convert data provided by board manufacturers into | ||
100 | working libsensors configuration statements. | ||
101 | |||
102 | W83627THF | | ||
103 | Pin | Name | Register | Sysfs attribute | ||
104 | ----------------------------------------------------- | ||
105 | 100 | CPUVCORE | 20h | in0 | ||
106 | 99 | VIN0 | 21h | in1 | ||
107 | 98 | VIN1 | 22h | in2 | ||
108 | 97 | VIN2 | 24h | in4 | ||
109 | 114 | AVCC | 23h | in3 | ||
110 | 61 | 5VSB | 50h (bank 5) | in7 | ||
111 | 74 | VBAT | 51h (bank 5) | in8 | ||
112 | |||
113 | For other supported devices, you'll have to take the hard path and | ||
114 | look up the information in the datasheet yourself (and then add it | ||
115 | to this document please.) | ||
diff --git a/Documentation/hwmon/w83793 b/Documentation/hwmon/w83793 index 51171a83165b..6cc5f639b721 100644 --- a/Documentation/hwmon/w83793 +++ b/Documentation/hwmon/w83793 | |||
@@ -92,7 +92,7 @@ This driver implements support for Winbond W83793G/W83793R chips. | |||
92 | 92 | ||
93 | * Chassis | 93 | * Chassis |
94 | If the case open alarm triggers, it will stay in this state unless cleared | 94 | If the case open alarm triggers, it will stay in this state unless cleared |
95 | by any write to the sysfs file "chassis". | 95 | by writing 0 to the sysfs file "intrusion0_alarm". |
96 | 96 | ||
97 | * VID and VRM | 97 | * VID and VRM |
98 | The VRM version is detected automatically, don't modify the it unless you | 98 | The VRM version is detected automatically, don't modify the it unless you |
diff --git a/Documentation/input/ff.txt b/Documentation/input/ff.txt index ded4d5f53109..b3867bf49f8f 100644 --- a/Documentation/input/ff.txt +++ b/Documentation/input/ff.txt | |||
@@ -49,7 +49,9 @@ This information is subject to change. | |||
49 | #include <linux/input.h> | 49 | #include <linux/input.h> |
50 | #include <sys/ioctl.h> | 50 | #include <sys/ioctl.h> |
51 | 51 | ||
52 | unsigned long features[1 + FF_MAX/sizeof(unsigned long)]; | 52 | #define BITS_TO_LONGS(x) \ |
53 | (((x) + 8 * sizeof (unsigned long) - 1) / (8 * sizeof (unsigned long))) | ||
54 | unsigned long features[BITS_TO_LONGS(FF_CNT)]; | ||
53 | int ioctl(int file_descriptor, int request, unsigned long *features); | 55 | int ioctl(int file_descriptor, int request, unsigned long *features); |
54 | 56 | ||
55 | "request" must be EVIOCGBIT(EV_FF, size of features array in bytes ) | 57 | "request" must be EVIOCGBIT(EV_FF, size of features array in bytes ) |
diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt index d6a63c7b4478..ac293e955308 100644 --- a/Documentation/ioctl/ioctl-number.txt +++ b/Documentation/ioctl/ioctl-number.txt | |||
@@ -247,7 +247,7 @@ Code Seq#(hex) Include File Comments | |||
247 | 'p' 40-7F linux/nvram.h | 247 | 'p' 40-7F linux/nvram.h |
248 | 'p' 80-9F linux/ppdev.h user-space parport | 248 | 'p' 80-9F linux/ppdev.h user-space parport |
249 | <mailto:tim@cyberelk.net> | 249 | <mailto:tim@cyberelk.net> |
250 | 'p' A1-A4 linux/pps.h LinuxPPS | 250 | 'p' A1-A5 linux/pps.h LinuxPPS |
251 | <mailto:giometti@linux.it> | 251 | <mailto:giometti@linux.it> |
252 | 'q' 00-1F linux/serio.h | 252 | 'q' 00-1F linux/serio.h |
253 | 'q' 80-FF linux/telephony.h Internet PhoneJACK, Internet LineJACK | 253 | 'q' 80-FF linux/telephony.h Internet PhoneJACK, Internet LineJACK |
diff --git a/Documentation/iostats.txt b/Documentation/iostats.txt index 59a69ec67c40..f6dece5b7014 100644 --- a/Documentation/iostats.txt +++ b/Documentation/iostats.txt | |||
@@ -81,7 +81,7 @@ Field 9 -- # of I/Os currently in progress | |||
81 | The only field that should go to zero. Incremented as requests are | 81 | The only field that should go to zero. Incremented as requests are |
82 | given to appropriate struct request_queue and decremented as they finish. | 82 | given to appropriate struct request_queue and decremented as they finish. |
83 | Field 10 -- # of milliseconds spent doing I/Os | 83 | Field 10 -- # of milliseconds spent doing I/Os |
84 | This field is increases so long as field 9 is nonzero. | 84 | This field increases so long as field 9 is nonzero. |
85 | Field 11 -- weighted # of milliseconds spent doing I/Os | 85 | Field 11 -- weighted # of milliseconds spent doing I/Os |
86 | This field is incremented at each I/O start, I/O completion, I/O | 86 | This field is incremented at each I/O start, I/O completion, I/O |
87 | merge, or read of these stats by the number of I/Os in progress | 87 | merge, or read of these stats by the number of I/Os in progress |
diff --git a/Documentation/kdump/kdump.txt b/Documentation/kdump/kdump.txt index cab61d842259..7a9e0b4b2903 100644 --- a/Documentation/kdump/kdump.txt +++ b/Documentation/kdump/kdump.txt | |||
@@ -65,18 +65,21 @@ Install kexec-tools | |||
65 | 65 | ||
66 | 2) Download the kexec-tools user-space package from the following URL: | 66 | 2) Download the kexec-tools user-space package from the following URL: |
67 | 67 | ||
68 | http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/kexec-tools.tar.gz | 68 | http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools.tar.gz |
69 | 69 | ||
70 | This is a symlink to the latest version. | 70 | This is a symlink to the latest version. |
71 | 71 | ||
72 | The latest kexec-tools git tree is available at: | 72 | The latest kexec-tools git tree is available at: |
73 | 73 | ||
74 | git://git.kernel.org/pub/scm/linux/kernel/git/horms/kexec-tools.git | 74 | git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git |
75 | or | 75 | and |
76 | http://www.kernel.org/git/?p=linux/kernel/git/horms/kexec-tools.git | 76 | http://www.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git |
77 | |||
78 | There is also a gitweb interface available at | ||
79 | http://www.kernel.org/git/?p=utils/kernel/kexec/kexec-tools.git | ||
77 | 80 | ||
78 | More information about kexec-tools can be found at | 81 | More information about kexec-tools can be found at |
79 | http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html | 82 | http://www.kernel.org/pub/linux/utils/kernel/kexec/README.html |
80 | 83 | ||
81 | 3) Unpack the tarball with the tar command, as follows: | 84 | 3) Unpack the tarball with the tar command, as follows: |
82 | 85 | ||
@@ -439,6 +442,6 @@ To Do | |||
439 | Contact | 442 | Contact |
440 | ======= | 443 | ======= |
441 | 444 | ||
442 | Vivek Goyal (vgoyal@in.ibm.com) | 445 | Vivek Goyal (vgoyal@redhat.com) |
443 | Maneesh Soni (maneesh@in.ibm.com) | 446 | Maneesh Soni (maneesh@in.ibm.com) |
444 | 447 | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index ed3708f8d0db..55fe7599bc8e 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -659,11 +659,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
659 | 659 | ||
660 | dscc4.setup= [NET] | 660 | dscc4.setup= [NET] |
661 | 661 | ||
662 | dynamic_printk Enables pr_debug()/dev_dbg() calls if | ||
663 | CONFIG_DYNAMIC_PRINTK_DEBUG has been enabled. | ||
664 | These can also be switched on/off via | ||
665 | <debugfs>/dynamic_printk/modules | ||
666 | |||
667 | earlycon= [KNL] Output early console device and options. | 662 | earlycon= [KNL] Output early console device and options. |
668 | uart[8250],io,<addr>[,options] | 663 | uart[8250],io,<addr>[,options] |
669 | uart[8250],mmio,<addr>[,options] | 664 | uart[8250],mmio,<addr>[,options] |
@@ -888,6 +883,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
888 | controller | 883 | controller |
889 | i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX | 884 | i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX |
890 | controllers | 885 | controllers |
886 | i8042.notimeout [HW] Ignore timeout condition signalled by conroller | ||
891 | i8042.reset [HW] Reset the controller during init and cleanup | 887 | i8042.reset [HW] Reset the controller during init and cleanup |
892 | i8042.unlock [HW] Unlock (ignore) the keylock | 888 | i8042.unlock [HW] Unlock (ignore) the keylock |
893 | 889 | ||
@@ -1709,6 +1705,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1709 | 1705 | ||
1710 | no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver | 1706 | no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver |
1711 | 1707 | ||
1708 | no-kvmapf [X86,KVM] Disable paravirtualized asynchronous page | ||
1709 | fault handling. | ||
1710 | |||
1712 | nolapic [X86-32,APIC] Do not enable or use the local APIC. | 1711 | nolapic [X86-32,APIC] Do not enable or use the local APIC. |
1713 | 1712 | ||
1714 | nolapic_timer [X86-32,APIC] Do not use the local APIC timer. | 1713 | nolapic_timer [X86-32,APIC] Do not use the local APIC timer. |
diff --git a/Documentation/ko_KR/HOWTO b/Documentation/ko_KR/HOWTO index e3a55b6091e9..ab5189ae3428 100644 --- a/Documentation/ko_KR/HOWTO +++ b/Documentation/ko_KR/HOWTO | |||
@@ -391,8 +391,8 @@ bugme-new 메일링 리스트나(새로운 버그 리포트들만이 이곳에 | |||
391 | bugme-janitor 메일링 리스트(bugzilla에 모든 변화들이 여기서 메일로 전해진다) | 391 | bugme-janitor 메일링 리스트(bugzilla에 모든 변화들이 여기서 메일로 전해진다) |
392 | 에 등록하면 된다. | 392 | 에 등록하면 된다. |
393 | 393 | ||
394 | http://lists.osdl.org/mailman/listinfo/bugme-new | 394 | https://lists.linux-foundation.org/mailman/listinfo/bugme-new |
395 | http://lists.osdl.org/mailman/listinfo/bugme-janitors | 395 | https://lists.linux-foundation.org/mailman/listinfo/bugme-janitors |
396 | 396 | ||
397 | 397 | ||
398 | 398 | ||
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt index 741fe66d6eca..0cfb00fd86ff 100644 --- a/Documentation/kprobes.txt +++ b/Documentation/kprobes.txt | |||
@@ -598,7 +598,7 @@ a 5-byte jump instruction. So there are several limitations. | |||
598 | a) The instructions in DCR must be relocatable. | 598 | a) The instructions in DCR must be relocatable. |
599 | b) The instructions in DCR must not include a call instruction. | 599 | b) The instructions in DCR must not include a call instruction. |
600 | c) JTPR must not be targeted by any jump or call instruction. | 600 | c) JTPR must not be targeted by any jump or call instruction. |
601 | d) DCR must not straddle the border betweeen functions. | 601 | d) DCR must not straddle the border between functions. |
602 | 602 | ||
603 | Anyway, these limitations are checked by the in-kernel instruction | 603 | Anyway, these limitations are checked by the in-kernel instruction |
604 | decoder, so you don't need to worry about that. | 604 | decoder, so you don't need to worry about that. |
diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt index b336266bea5e..ad85797c1cf0 100644 --- a/Documentation/kvm/api.txt +++ b/Documentation/kvm/api.txt | |||
@@ -874,7 +874,7 @@ Possible values are: | |||
874 | - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and | 874 | - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and |
875 | is waiting for an interrupt | 875 | is waiting for an interrupt |
876 | - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector | 876 | - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector |
877 | accesible via KVM_GET_VCPU_EVENTS) | 877 | accessible via KVM_GET_VCPU_EVENTS) |
878 | 878 | ||
879 | This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel | 879 | This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel |
880 | irqchip, the multiprocessing state must be maintained by userspace. | 880 | irqchip, the multiprocessing state must be maintained by userspace. |
@@ -1085,6 +1085,184 @@ of 4 instructions that make up a hypercall. | |||
1085 | If any additional field gets added to this structure later on, a bit for that | 1085 | If any additional field gets added to this structure later on, a bit for that |
1086 | additional piece of information will be set in the flags bitmap. | 1086 | additional piece of information will be set in the flags bitmap. |
1087 | 1087 | ||
1088 | 4.47 KVM_ASSIGN_PCI_DEVICE | ||
1089 | |||
1090 | Capability: KVM_CAP_DEVICE_ASSIGNMENT | ||
1091 | Architectures: x86 ia64 | ||
1092 | Type: vm ioctl | ||
1093 | Parameters: struct kvm_assigned_pci_dev (in) | ||
1094 | Returns: 0 on success, -1 on error | ||
1095 | |||
1096 | Assigns a host PCI device to the VM. | ||
1097 | |||
1098 | struct kvm_assigned_pci_dev { | ||
1099 | __u32 assigned_dev_id; | ||
1100 | __u32 busnr; | ||
1101 | __u32 devfn; | ||
1102 | __u32 flags; | ||
1103 | __u32 segnr; | ||
1104 | union { | ||
1105 | __u32 reserved[11]; | ||
1106 | }; | ||
1107 | }; | ||
1108 | |||
1109 | The PCI device is specified by the triple segnr, busnr, and devfn. | ||
1110 | Identification in succeeding service requests is done via assigned_dev_id. The | ||
1111 | following flags are specified: | ||
1112 | |||
1113 | /* Depends on KVM_CAP_IOMMU */ | ||
1114 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | ||
1115 | |||
1116 | 4.48 KVM_DEASSIGN_PCI_DEVICE | ||
1117 | |||
1118 | Capability: KVM_CAP_DEVICE_DEASSIGNMENT | ||
1119 | Architectures: x86 ia64 | ||
1120 | Type: vm ioctl | ||
1121 | Parameters: struct kvm_assigned_pci_dev (in) | ||
1122 | Returns: 0 on success, -1 on error | ||
1123 | |||
1124 | Ends PCI device assignment, releasing all associated resources. | ||
1125 | |||
1126 | See KVM_CAP_DEVICE_ASSIGNMENT for the data structure. Only assigned_dev_id is | ||
1127 | used in kvm_assigned_pci_dev to identify the device. | ||
1128 | |||
1129 | 4.49 KVM_ASSIGN_DEV_IRQ | ||
1130 | |||
1131 | Capability: KVM_CAP_ASSIGN_DEV_IRQ | ||
1132 | Architectures: x86 ia64 | ||
1133 | Type: vm ioctl | ||
1134 | Parameters: struct kvm_assigned_irq (in) | ||
1135 | Returns: 0 on success, -1 on error | ||
1136 | |||
1137 | Assigns an IRQ to a passed-through device. | ||
1138 | |||
1139 | struct kvm_assigned_irq { | ||
1140 | __u32 assigned_dev_id; | ||
1141 | __u32 host_irq; | ||
1142 | __u32 guest_irq; | ||
1143 | __u32 flags; | ||
1144 | union { | ||
1145 | struct { | ||
1146 | __u32 addr_lo; | ||
1147 | __u32 addr_hi; | ||
1148 | __u32 data; | ||
1149 | } guest_msi; | ||
1150 | __u32 reserved[12]; | ||
1151 | }; | ||
1152 | }; | ||
1153 | |||
1154 | The following flags are defined: | ||
1155 | |||
1156 | #define KVM_DEV_IRQ_HOST_INTX (1 << 0) | ||
1157 | #define KVM_DEV_IRQ_HOST_MSI (1 << 1) | ||
1158 | #define KVM_DEV_IRQ_HOST_MSIX (1 << 2) | ||
1159 | |||
1160 | #define KVM_DEV_IRQ_GUEST_INTX (1 << 8) | ||
1161 | #define KVM_DEV_IRQ_GUEST_MSI (1 << 9) | ||
1162 | #define KVM_DEV_IRQ_GUEST_MSIX (1 << 10) | ||
1163 | |||
1164 | It is not valid to specify multiple types per host or guest IRQ. However, the | ||
1165 | IRQ type of host and guest can differ or can even be null. | ||
1166 | |||
1167 | 4.50 KVM_DEASSIGN_DEV_IRQ | ||
1168 | |||
1169 | Capability: KVM_CAP_ASSIGN_DEV_IRQ | ||
1170 | Architectures: x86 ia64 | ||
1171 | Type: vm ioctl | ||
1172 | Parameters: struct kvm_assigned_irq (in) | ||
1173 | Returns: 0 on success, -1 on error | ||
1174 | |||
1175 | Ends an IRQ assignment to a passed-through device. | ||
1176 | |||
1177 | See KVM_ASSIGN_DEV_IRQ for the data structure. The target device is specified | ||
1178 | by assigned_dev_id, flags must correspond to the IRQ type specified on | ||
1179 | KVM_ASSIGN_DEV_IRQ. Partial deassignment of host or guest IRQ is allowed. | ||
1180 | |||
1181 | 4.51 KVM_SET_GSI_ROUTING | ||
1182 | |||
1183 | Capability: KVM_CAP_IRQ_ROUTING | ||
1184 | Architectures: x86 ia64 | ||
1185 | Type: vm ioctl | ||
1186 | Parameters: struct kvm_irq_routing (in) | ||
1187 | Returns: 0 on success, -1 on error | ||
1188 | |||
1189 | Sets the GSI routing table entries, overwriting any previously set entries. | ||
1190 | |||
1191 | struct kvm_irq_routing { | ||
1192 | __u32 nr; | ||
1193 | __u32 flags; | ||
1194 | struct kvm_irq_routing_entry entries[0]; | ||
1195 | }; | ||
1196 | |||
1197 | No flags are specified so far, the corresponding field must be set to zero. | ||
1198 | |||
1199 | struct kvm_irq_routing_entry { | ||
1200 | __u32 gsi; | ||
1201 | __u32 type; | ||
1202 | __u32 flags; | ||
1203 | __u32 pad; | ||
1204 | union { | ||
1205 | struct kvm_irq_routing_irqchip irqchip; | ||
1206 | struct kvm_irq_routing_msi msi; | ||
1207 | __u32 pad[8]; | ||
1208 | } u; | ||
1209 | }; | ||
1210 | |||
1211 | /* gsi routing entry types */ | ||
1212 | #define KVM_IRQ_ROUTING_IRQCHIP 1 | ||
1213 | #define KVM_IRQ_ROUTING_MSI 2 | ||
1214 | |||
1215 | No flags are specified so far, the corresponding field must be set to zero. | ||
1216 | |||
1217 | struct kvm_irq_routing_irqchip { | ||
1218 | __u32 irqchip; | ||
1219 | __u32 pin; | ||
1220 | }; | ||
1221 | |||
1222 | struct kvm_irq_routing_msi { | ||
1223 | __u32 address_lo; | ||
1224 | __u32 address_hi; | ||
1225 | __u32 data; | ||
1226 | __u32 pad; | ||
1227 | }; | ||
1228 | |||
1229 | 4.52 KVM_ASSIGN_SET_MSIX_NR | ||
1230 | |||
1231 | Capability: KVM_CAP_DEVICE_MSIX | ||
1232 | Architectures: x86 ia64 | ||
1233 | Type: vm ioctl | ||
1234 | Parameters: struct kvm_assigned_msix_nr (in) | ||
1235 | Returns: 0 on success, -1 on error | ||
1236 | |||
1237 | Set the number of MSI-X interrupts for an assigned device. This service can | ||
1238 | only be called once in the lifetime of an assigned device. | ||
1239 | |||
1240 | struct kvm_assigned_msix_nr { | ||
1241 | __u32 assigned_dev_id; | ||
1242 | __u16 entry_nr; | ||
1243 | __u16 padding; | ||
1244 | }; | ||
1245 | |||
1246 | #define KVM_MAX_MSIX_PER_DEV 256 | ||
1247 | |||
1248 | 4.53 KVM_ASSIGN_SET_MSIX_ENTRY | ||
1249 | |||
1250 | Capability: KVM_CAP_DEVICE_MSIX | ||
1251 | Architectures: x86 ia64 | ||
1252 | Type: vm ioctl | ||
1253 | Parameters: struct kvm_assigned_msix_entry (in) | ||
1254 | Returns: 0 on success, -1 on error | ||
1255 | |||
1256 | Specifies the routing of an MSI-X assigned device interrupt to a GSI. Setting | ||
1257 | the GSI vector to zero means disabling the interrupt. | ||
1258 | |||
1259 | struct kvm_assigned_msix_entry { | ||
1260 | __u32 assigned_dev_id; | ||
1261 | __u32 gsi; | ||
1262 | __u16 entry; /* The index of entry in the MSI-X table */ | ||
1263 | __u16 padding[3]; | ||
1264 | }; | ||
1265 | |||
1088 | 5. The kvm_run structure | 1266 | 5. The kvm_run structure |
1089 | 1267 | ||
1090 | Application code obtains a pointer to the kvm_run structure by | 1268 | Application code obtains a pointer to the kvm_run structure by |
diff --git a/Documentation/kvm/cpuid.txt b/Documentation/kvm/cpuid.txt index 14a12ea92b7f..882068538c9c 100644 --- a/Documentation/kvm/cpuid.txt +++ b/Documentation/kvm/cpuid.txt | |||
@@ -36,6 +36,9 @@ KVM_FEATURE_MMU_OP || 2 || deprecated. | |||
36 | KVM_FEATURE_CLOCKSOURCE2 || 3 || kvmclock available at msrs | 36 | KVM_FEATURE_CLOCKSOURCE2 || 3 || kvmclock available at msrs |
37 | || || 0x4b564d00 and 0x4b564d01 | 37 | || || 0x4b564d00 and 0x4b564d01 |
38 | ------------------------------------------------------------------------------ | 38 | ------------------------------------------------------------------------------ |
39 | KVM_FEATURE_ASYNC_PF || 4 || async pf can be enabled by | ||
40 | || || writing to msr 0x4b564d02 | ||
41 | ------------------------------------------------------------------------------ | ||
39 | KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side | 42 | KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side |
40 | || || per-cpu warps are expected in | 43 | || || per-cpu warps are expected in |
41 | || || kvmclock. | 44 | || || kvmclock. |
diff --git a/Documentation/kvm/msr.txt b/Documentation/kvm/msr.txt index 8ddcfe84c09a..d079aed27e03 100644 --- a/Documentation/kvm/msr.txt +++ b/Documentation/kvm/msr.txt | |||
@@ -3,7 +3,6 @@ Glauber Costa <glommer@redhat.com>, Red Hat Inc, 2010 | |||
3 | ===================================================== | 3 | ===================================================== |
4 | 4 | ||
5 | KVM makes use of some custom MSRs to service some requests. | 5 | KVM makes use of some custom MSRs to service some requests. |
6 | At present, this facility is only used by kvmclock. | ||
7 | 6 | ||
8 | Custom MSRs have a range reserved for them, that goes from | 7 | Custom MSRs have a range reserved for them, that goes from |
9 | 0x4b564d00 to 0x4b564dff. There are MSRs outside this area, | 8 | 0x4b564d00 to 0x4b564dff. There are MSRs outside this area, |
@@ -151,3 +150,38 @@ MSR_KVM_SYSTEM_TIME: 0x12 | |||
151 | return PRESENT; | 150 | return PRESENT; |
152 | } else | 151 | } else |
153 | return NON_PRESENT; | 152 | return NON_PRESENT; |
153 | |||
154 | MSR_KVM_ASYNC_PF_EN: 0x4b564d02 | ||
155 | data: Bits 63-6 hold 64-byte aligned physical address of a | ||
156 | 64 byte memory area which must be in guest RAM and must be | ||
157 | zeroed. Bits 5-2 are reserved and should be zero. Bit 0 is 1 | ||
158 | when asynchronous page faults are enabled on the vcpu 0 when | ||
159 | disabled. Bit 2 is 1 if asynchronous page faults can be injected | ||
160 | when vcpu is in cpl == 0. | ||
161 | |||
162 | First 4 byte of 64 byte memory location will be written to by | ||
163 | the hypervisor at the time of asynchronous page fault (APF) | ||
164 | injection to indicate type of asynchronous page fault. Value | ||
165 | of 1 means that the page referred to by the page fault is not | ||
166 | present. Value 2 means that the page is now available. Disabling | ||
167 | interrupt inhibits APFs. Guest must not enable interrupt | ||
168 | before the reason is read, or it may be overwritten by another | ||
169 | APF. Since APF uses the same exception vector as regular page | ||
170 | fault guest must reset the reason to 0 before it does | ||
171 | something that can generate normal page fault. If during page | ||
172 | fault APF reason is 0 it means that this is regular page | ||
173 | fault. | ||
174 | |||
175 | During delivery of type 1 APF cr2 contains a token that will | ||
176 | be used to notify a guest when missing page becomes | ||
177 | available. When page becomes available type 2 APF is sent with | ||
178 | cr2 set to the token associated with the page. There is special | ||
179 | kind of token 0xffffffff which tells vcpu that it should wake | ||
180 | up all processes waiting for APFs and no individual type 2 APFs | ||
181 | will be sent. | ||
182 | |||
183 | If APF is disabled while there are outstanding APFs, they will | ||
184 | not be delivered. | ||
185 | |||
186 | Currently type 2 APF will be always delivered on the same vcpu as | ||
187 | type 1 was, but guest should not rely on that. | ||
diff --git a/Documentation/lguest/lguest.txt b/Documentation/lguest/lguest.txt index efb3a6a045a2..6ccaf8e1a00e 100644 --- a/Documentation/lguest/lguest.txt +++ b/Documentation/lguest/lguest.txt | |||
@@ -111,8 +111,11 @@ Running Lguest: | |||
111 | 111 | ||
112 | Then use --tunnet=bridge:lg0 when launching the guest. | 112 | Then use --tunnet=bridge:lg0 when launching the guest. |
113 | 113 | ||
114 | See http://linux-net.osdl.org/index.php/Bridge for general information | 114 | See: |
115 | on how to get bridging working. | 115 | |
116 | http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge | ||
117 | |||
118 | for general information on how to get bridging to work. | ||
116 | 119 | ||
117 | There is a helpful mailing list at http://ozlabs.org/mailman/listinfo/lguest | 120 | There is a helpful mailing list at http://ozlabs.org/mailman/listinfo/lguest |
118 | 121 | ||
diff --git a/Documentation/networking/bridge.txt b/Documentation/networking/bridge.txt index bec69a8a1697..a7ba5e4e2c91 100644 --- a/Documentation/networking/bridge.txt +++ b/Documentation/networking/bridge.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | In order to use the Ethernet bridging functionality, you'll need the | 1 | In order to use the Ethernet bridging functionality, you'll need the |
2 | userspace tools. These programs and documentation are available | 2 | userspace tools. These programs and documentation are available |
3 | at http://www.linux-foundation.org/en/Net:Bridge. The download page is | 3 | at http://www.linuxfoundation.org/en/Net:Bridge. The download page is |
4 | http://prdownloads.sourceforge.net/bridge. | 4 | http://prdownloads.sourceforge.net/bridge. |
5 | 5 | ||
6 | If you still have questions, don't hesitate to post to the mailing list | 6 | If you still have questions, don't hesitate to post to the mailing list |
7 | (more info http://lists.osdl.org/mailman/listinfo/bridge). | 7 | (more info https://lists.linux-foundation.org/mailman/listinfo/bridge). |
8 | 8 | ||
diff --git a/Documentation/networking/caif/spi_porting.txt b/Documentation/networking/caif/spi_porting.txt index 61d7c9247453..0cb8cb9098f4 100644 --- a/Documentation/networking/caif/spi_porting.txt +++ b/Documentation/networking/caif/spi_porting.txt | |||
@@ -32,7 +32,7 @@ the physical hardware, both with regard to SPI and to GPIOs. | |||
32 | This function is called by the CAIF SPI interface to give | 32 | This function is called by the CAIF SPI interface to give |
33 | you a chance to set up your hardware to be ready to receive | 33 | you a chance to set up your hardware to be ready to receive |
34 | a stream of data from the master. The xfer structure contains | 34 | a stream of data from the master. The xfer structure contains |
35 | both physical and logical adresses, as well as the total length | 35 | both physical and logical addresses, as well as the total length |
36 | of the transfer in both directions.The dev parameter can be used | 36 | of the transfer in both directions.The dev parameter can be used |
37 | to map to different CAIF SPI slave devices. | 37 | to map to different CAIF SPI slave devices. |
38 | 38 | ||
diff --git a/Documentation/networking/dccp.txt b/Documentation/networking/dccp.txt index 811872b45bee..d718bc2ff1cf 100644 --- a/Documentation/networking/dccp.txt +++ b/Documentation/networking/dccp.txt | |||
@@ -38,11 +38,11 @@ The Linux DCCP implementation does not currently support all the features that a | |||
38 | specified in RFCs 4340...42. | 38 | specified in RFCs 4340...42. |
39 | 39 | ||
40 | The known bugs are at: | 40 | The known bugs are at: |
41 | http://linux-net.osdl.org/index.php/TODO#DCCP | 41 | http://www.linuxfoundation.org/collaborate/workgroups/networking/todo#DCCP |
42 | 42 | ||
43 | For more up-to-date versions of the DCCP implementation, please consider using | 43 | For more up-to-date versions of the DCCP implementation, please consider using |
44 | the experimental DCCP test tree; instructions for checking this out are on: | 44 | the experimental DCCP test tree; instructions for checking this out are on: |
45 | http://linux-net.osdl.org/index.php/DCCP_Testing#Experimental_DCCP_source_tree | 45 | http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp_testing#Experimental_DCCP_source_tree |
46 | 46 | ||
47 | 47 | ||
48 | Socket options | 48 | Socket options |
diff --git a/Documentation/networking/generic_netlink.txt b/Documentation/networking/generic_netlink.txt index d4f8b8b9b53c..3e071115ca90 100644 --- a/Documentation/networking/generic_netlink.txt +++ b/Documentation/networking/generic_netlink.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | A wiki document on how to use Generic Netlink can be found here: | 1 | A wiki document on how to use Generic Netlink can be found here: |
2 | 2 | ||
3 | * http://linux-net.osdl.org/index.php/Generic_Netlink_HOWTO | 3 | * http://www.linuxfoundation.org/collaborate/workgroups/networking/generic_netlink_howto |
diff --git a/Documentation/nfc/nfc-pn544.txt b/Documentation/nfc/nfc-pn544.txt new file mode 100644 index 000000000000..2fcac9f5996e --- /dev/null +++ b/Documentation/nfc/nfc-pn544.txt | |||
@@ -0,0 +1,114 @@ | |||
1 | Kernel driver for the NXP Semiconductors PN544 Near Field | ||
2 | Communication chip | ||
3 | |||
4 | Author: Jari Vanhala | ||
5 | Contact: Matti Aaltonen (matti.j.aaltonen at nokia.com) | ||
6 | |||
7 | General | ||
8 | ------- | ||
9 | |||
10 | The PN544 is an integrated transmission module for contactless | ||
11 | communication. The driver goes under drives/nfc/ and is compiled as a | ||
12 | module named "pn544". It registers a misc device and creates a device | ||
13 | file named "/dev/pn544". | ||
14 | |||
15 | Host Interfaces: I2C, SPI and HSU, this driver supports currently only I2C. | ||
16 | |||
17 | The Interface | ||
18 | ------------- | ||
19 | |||
20 | The driver offers a sysfs interface for a hardware test and an IOCTL | ||
21 | interface for selecting between two operating modes. There are read, | ||
22 | write and poll functions for transferring messages. The two operating | ||
23 | modes are the normal (HCI) mode and the firmware update mode. | ||
24 | |||
25 | PN544 is controlled by sending messages from the userspace to the | ||
26 | chip. The main function of the driver is just to pass those messages | ||
27 | without caring about the message content. | ||
28 | |||
29 | |||
30 | Protocols | ||
31 | --------- | ||
32 | |||
33 | In the normal (HCI) mode and in the firmware update mode read and | ||
34 | write functions behave a bit differently because the message formats | ||
35 | or the protocols are different. | ||
36 | |||
37 | In the normal (HCI) mode the protocol used is derived from the ETSI | ||
38 | HCI specification. The firmware is updated using a specific protocol, | ||
39 | which is different from HCI. | ||
40 | |||
41 | HCI messages consist of an eight bit header and the message body. The | ||
42 | header contains the message length. Maximum size for an HCI message is | ||
43 | 33. In HCI mode sent messages are tested for a correct | ||
44 | checksum. Firmware update messages have the length in the second (MSB) | ||
45 | and third (LSB) bytes of the message. The maximum FW message length is | ||
46 | 1024 bytes. | ||
47 | |||
48 | For the ETSI HCI specification see | ||
49 | http://www.etsi.org/WebSite/Technologies/ProtocolSpecification.aspx | ||
50 | |||
51 | The Hardware Test | ||
52 | ----------------- | ||
53 | |||
54 | The idea of the test is that it can performed by reading from the | ||
55 | corresponding sysfs file. The test is implemented in the board file | ||
56 | and it should test that PN544 can be put into the firmware update | ||
57 | mode. If the test is not implemented the sysfs file does not get | ||
58 | created. | ||
59 | |||
60 | Example: | ||
61 | > cat /sys/module/pn544/drivers/i2c\:pn544/3-002b/nfc_test | ||
62 | 1 | ||
63 | |||
64 | Normal Operation | ||
65 | ---------------- | ||
66 | |||
67 | PN544 is powered up when the device file is opened, otherwise it's | ||
68 | turned off. Only one instance can use the device at a time. | ||
69 | |||
70 | Userspace applications control PN544 with HCI messages. The hardware | ||
71 | sends an interrupt when data is available for reading. Data is | ||
72 | physically read when the read function is called by a userspace | ||
73 | application. Poll() checks the read interrupt state. Configuration and | ||
74 | self testing are also done from the userspace using read and write. | ||
75 | |||
76 | Example platform data: | ||
77 | |||
78 | static int rx71_pn544_nfc_request_resources(struct i2c_client *client) | ||
79 | { | ||
80 | /* Get and setup the HW resources for the device */ | ||
81 | } | ||
82 | |||
83 | static void rx71_pn544_nfc_free_resources(void) | ||
84 | { | ||
85 | /* Release the HW resources */ | ||
86 | } | ||
87 | |||
88 | static void rx71_pn544_nfc_enable(int fw) | ||
89 | { | ||
90 | /* Turn the device on */ | ||
91 | } | ||
92 | |||
93 | static int rx71_pn544_nfc_test(void) | ||
94 | { | ||
95 | /* | ||
96 | * Put the device into the FW update mode | ||
97 | * and then back to the normal mode. | ||
98 | * Check the behavior and return one on success, | ||
99 | * zero on failure. | ||
100 | */ | ||
101 | } | ||
102 | |||
103 | static void rx71_pn544_nfc_disable(void) | ||
104 | { | ||
105 | /* turn the power off */ | ||
106 | } | ||
107 | |||
108 | static struct pn544_nfc_platform_data rx71_nfc_data = { | ||
109 | .request_resources = rx71_pn544_nfc_request_resources, | ||
110 | .free_resources = rx71_pn544_nfc_free_resources, | ||
111 | .enable = rx71_pn544_nfc_enable, | ||
112 | .test = rx71_pn544_nfc_test, | ||
113 | .disable = rx71_pn544_nfc_disable, | ||
114 | }; | ||
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index 3272ed59dec7..7400d7555dc3 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -1098,7 +1098,7 @@ supported currently at the toplevel. | |||
1098 | * an arbitrary array of bytes | 1098 | * an arbitrary array of bytes |
1099 | */ | 1099 | */ |
1100 | 1100 | ||
1101 | childnode@addresss { /* define a child node named "childnode" | 1101 | childnode@address { /* define a child node named "childnode" |
1102 | * whose unit name is "childnode at | 1102 | * whose unit name is "childnode at |
1103 | * address" | 1103 | * address" |
1104 | */ | 1104 | */ |
diff --git a/Documentation/pps/pps.txt b/Documentation/pps/pps.txt index 125f4ab48998..d35dcdd82ff6 100644 --- a/Documentation/pps/pps.txt +++ b/Documentation/pps/pps.txt | |||
@@ -170,3 +170,49 @@ and the run ppstest as follow: | |||
170 | 170 | ||
171 | Please, note that to compile userland programs you need the file timepps.h | 171 | Please, note that to compile userland programs you need the file timepps.h |
172 | (see Documentation/pps/). | 172 | (see Documentation/pps/). |
173 | |||
174 | |||
175 | Generators | ||
176 | ---------- | ||
177 | |||
178 | Sometimes one needs to be able not only to catch PPS signals but to produce | ||
179 | them also. For example, running a distributed simulation, which requires | ||
180 | computers' clock to be synchronized very tightly. One way to do this is to | ||
181 | invent some complicated hardware solutions but it may be neither necessary | ||
182 | nor affordable. The cheap way is to load a PPS generator on one of the | ||
183 | computers (master) and PPS clients on others (slaves), and use very simple | ||
184 | cables to deliver signals using parallel ports, for example. | ||
185 | |||
186 | Parallel port cable pinout: | ||
187 | pin name master slave | ||
188 | 1 STROBE *------ * | ||
189 | 2 D0 * | * | ||
190 | 3 D1 * | * | ||
191 | 4 D2 * | * | ||
192 | 5 D3 * | * | ||
193 | 6 D4 * | * | ||
194 | 7 D5 * | * | ||
195 | 8 D6 * | * | ||
196 | 9 D7 * | * | ||
197 | 10 ACK * ------* | ||
198 | 11 BUSY * * | ||
199 | 12 PE * * | ||
200 | 13 SEL * * | ||
201 | 14 AUTOFD * * | ||
202 | 15 ERROR * * | ||
203 | 16 INIT * * | ||
204 | 17 SELIN * * | ||
205 | 18-25 GND *-----------* | ||
206 | |||
207 | Please note that parallel port interrupt occurs only on high->low transition, | ||
208 | so it is used for PPS assert edge. PPS clear edge can be determined only | ||
209 | using polling in the interrupt handler which actually can be done way more | ||
210 | precisely because interrupt handling delays can be quite big and random. So | ||
211 | current parport PPS generator implementation (pps_gen_parport module) is | ||
212 | geared towards using the clear edge for time synchronization. | ||
213 | |||
214 | Clear edge polling is done with disabled interrupts so it's better to select | ||
215 | delay between assert and clear edge as small as possible to reduce system | ||
216 | latencies. But if it is too small slave won't be able to capture clear edge | ||
217 | transition. The default of 30us should be good enough in most situations. | ||
218 | The delay can be selected using 'delay' pps_gen_parport module parameter. | ||
diff --git a/Documentation/scheduler/00-INDEX b/Documentation/scheduler/00-INDEX index 3c00c9c3219e..d2651c47ae27 100644 --- a/Documentation/scheduler/00-INDEX +++ b/Documentation/scheduler/00-INDEX | |||
@@ -3,7 +3,7 @@ | |||
3 | sched-arch.txt | 3 | sched-arch.txt |
4 | - CPU Scheduler implementation hints for architecture specific code. | 4 | - CPU Scheduler implementation hints for architecture specific code. |
5 | sched-design-CFS.txt | 5 | sched-design-CFS.txt |
6 | - goals, design and implementation of the Complete Fair Scheduler. | 6 | - goals, design and implementation of the Completely Fair Scheduler. |
7 | sched-domains.txt | 7 | sched-domains.txt |
8 | - information on scheduling domains. | 8 | - information on scheduling domains. |
9 | sched-nice-design.txt | 9 | sched-nice-design.txt |
diff --git a/Documentation/scsi/ChangeLog.lpfc b/Documentation/scsi/ChangeLog.lpfc index 337c924cc81f..5e83769c6aa9 100644 --- a/Documentation/scsi/ChangeLog.lpfc +++ b/Documentation/scsi/ChangeLog.lpfc | |||
@@ -573,7 +573,7 @@ Changes from 20041018 to 20041123 | |||
573 | * Backround nodev_timeout processing to DPC This enables us to | 573 | * Backround nodev_timeout processing to DPC This enables us to |
574 | unblock (stop dev_loss_tmo) when appopriate. | 574 | unblock (stop dev_loss_tmo) when appopriate. |
575 | * Fix array discovery with multiple luns. The max_luns was 0 at | 575 | * Fix array discovery with multiple luns. The max_luns was 0 at |
576 | the time the host structure was intialized. lpfc_cfg_params | 576 | the time the host structure was initialized. lpfc_cfg_params |
577 | then set the max_luns to the correct value afterwards. | 577 | then set the max_luns to the correct value afterwards. |
578 | * Remove unused define LPFC_MAX_LUN and set the default value of | 578 | * Remove unused define LPFC_MAX_LUN and set the default value of |
579 | lpfc_max_lun parameter to 512. | 579 | lpfc_max_lun parameter to 512. |
diff --git a/Documentation/serial/tty.txt b/Documentation/serial/tty.txt index 7c900507279f..540db41dfd5d 100644 --- a/Documentation/serial/tty.txt +++ b/Documentation/serial/tty.txt | |||
@@ -107,7 +107,7 @@ write_wakeup() - May be called at any point between open and close. | |||
107 | 107 | ||
108 | dcd_change() - Report to the tty line the current DCD pin status | 108 | dcd_change() - Report to the tty line the current DCD pin status |
109 | changes and the relative timestamp. The timestamp | 109 | changes and the relative timestamp. The timestamp |
110 | can be NULL. | 110 | cannot be NULL. |
111 | 111 | ||
112 | 112 | ||
113 | Driver Access | 113 | Driver Access |
diff --git a/Documentation/sysctl/00-INDEX b/Documentation/sysctl/00-INDEX index 1286f455992f..8cf5d493fd03 100644 --- a/Documentation/sysctl/00-INDEX +++ b/Documentation/sysctl/00-INDEX | |||
@@ -4,8 +4,6 @@ README | |||
4 | - general information about /proc/sys/ sysctl files. | 4 | - general information about /proc/sys/ sysctl files. |
5 | abi.txt | 5 | abi.txt |
6 | - documentation for /proc/sys/abi/*. | 6 | - documentation for /proc/sys/abi/*. |
7 | ctl_unnumbered.txt | ||
8 | - explanation of why one should not add new binary sysctl numbers. | ||
9 | fs.txt | 7 | fs.txt |
10 | - documentation for /proc/sys/fs/*. | 8 | - documentation for /proc/sys/fs/*. |
11 | kernel.txt | 9 | kernel.txt |
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 574067194f38..11d5ceda5bb0 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -34,6 +34,7 @@ show up in /proc/sys/kernel: | |||
34 | - hotplug | 34 | - hotplug |
35 | - java-appletviewer [ binfmt_java, obsolete ] | 35 | - java-appletviewer [ binfmt_java, obsolete ] |
36 | - java-interpreter [ binfmt_java, obsolete ] | 36 | - java-interpreter [ binfmt_java, obsolete ] |
37 | - kptr_restrict | ||
37 | - kstack_depth_to_print [ X86 only ] | 38 | - kstack_depth_to_print [ X86 only ] |
38 | - l2cr [ PPC only ] | 39 | - l2cr [ PPC only ] |
39 | - modprobe ==> Documentation/debugging-modules.txt | 40 | - modprobe ==> Documentation/debugging-modules.txt |
@@ -261,6 +262,19 @@ This flag controls the L2 cache of G3 processor boards. If | |||
261 | 262 | ||
262 | ============================================================== | 263 | ============================================================== |
263 | 264 | ||
265 | kptr_restrict: | ||
266 | |||
267 | This toggle indicates whether restrictions are placed on | ||
268 | exposing kernel addresses via /proc and other interfaces. When | ||
269 | kptr_restrict is set to (0), there are no restrictions. When | ||
270 | kptr_restrict is set to (1), the default, kernel pointers | ||
271 | printed using the %pK format specifier will be replaced with 0's | ||
272 | unless the user has CAP_SYSLOG. When kptr_restrict is set to | ||
273 | (2), kernel pointers printed using %pK will be replaced with 0's | ||
274 | regardless of privileges. | ||
275 | |||
276 | ============================================================== | ||
277 | |||
264 | kstack_depth_to_print: (X86 only) | 278 | kstack_depth_to_print: (X86 only) |
265 | 279 | ||
266 | Controls the number of words to print when dumping the raw | 280 | Controls the number of words to print when dumping the raw |
diff --git a/Documentation/timers/timer_stats.txt b/Documentation/timers/timer_stats.txt index 9bd00fc2e823..8abd40b22b7f 100644 --- a/Documentation/timers/timer_stats.txt +++ b/Documentation/timers/timer_stats.txt | |||
@@ -19,7 +19,7 @@ Linux system over a sample period: | |||
19 | 19 | ||
20 | - the pid of the task(process) which initialized the timer | 20 | - the pid of the task(process) which initialized the timer |
21 | - the name of the process which initialized the timer | 21 | - the name of the process which initialized the timer |
22 | - the function where the timer was intialized | 22 | - the function where the timer was initialized |
23 | - the callback function which is associated to the timer | 23 | - the callback function which is associated to the timer |
24 | - the number of events (callbacks) | 24 | - the number of events (callbacks) |
25 | 25 | ||
diff --git a/Documentation/trace/events.txt b/Documentation/trace/events.txt index 09bd8e902989..b510564aac7e 100644 --- a/Documentation/trace/events.txt +++ b/Documentation/trace/events.txt | |||
@@ -125,7 +125,7 @@ is the size of the data item, in bytes. | |||
125 | For example, here's the information displayed for the 'sched_wakeup' | 125 | For example, here's the information displayed for the 'sched_wakeup' |
126 | event: | 126 | event: |
127 | 127 | ||
128 | # cat /debug/tracing/events/sched/sched_wakeup/format | 128 | # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/format |
129 | 129 | ||
130 | name: sched_wakeup | 130 | name: sched_wakeup |
131 | ID: 60 | 131 | ID: 60 |
@@ -201,19 +201,19 @@ to the 'filter' file for the given event. | |||
201 | 201 | ||
202 | For example: | 202 | For example: |
203 | 203 | ||
204 | # cd /debug/tracing/events/sched/sched_wakeup | 204 | # cd /sys/kernel/debug/tracing/events/sched/sched_wakeup |
205 | # echo "common_preempt_count > 4" > filter | 205 | # echo "common_preempt_count > 4" > filter |
206 | 206 | ||
207 | A slightly more involved example: | 207 | A slightly more involved example: |
208 | 208 | ||
209 | # cd /debug/tracing/events/sched/sched_signal_send | 209 | # cd /sys/kernel/debug/tracing/events/signal/signal_generate |
210 | # echo "((sig >= 10 && sig < 15) || sig == 17) && comm != bash" > filter | 210 | # echo "((sig >= 10 && sig < 15) || sig == 17) && comm != bash" > filter |
211 | 211 | ||
212 | If there is an error in the expression, you'll get an 'Invalid | 212 | If there is an error in the expression, you'll get an 'Invalid |
213 | argument' error when setting it, and the erroneous string along with | 213 | argument' error when setting it, and the erroneous string along with |
214 | an error message can be seen by looking at the filter e.g.: | 214 | an error message can be seen by looking at the filter e.g.: |
215 | 215 | ||
216 | # cd /debug/tracing/events/sched/sched_signal_send | 216 | # cd /sys/kernel/debug/tracing/events/signal/signal_generate |
217 | # echo "((sig >= 10 && sig < 15) || dsig == 17) && comm != bash" > filter | 217 | # echo "((sig >= 10 && sig < 15) || dsig == 17) && comm != bash" > filter |
218 | -bash: echo: write error: Invalid argument | 218 | -bash: echo: write error: Invalid argument |
219 | # cat filter | 219 | # cat filter |
diff --git a/Documentation/w1/slaves/00-INDEX b/Documentation/w1/slaves/00-INDEX index f8101d6b07b7..75613c9ac4db 100644 --- a/Documentation/w1/slaves/00-INDEX +++ b/Documentation/w1/slaves/00-INDEX | |||
@@ -2,3 +2,5 @@ | |||
2 | - This file | 2 | - This file |
3 | w1_therm | 3 | w1_therm |
4 | - The Maxim/Dallas Semiconductor ds18*20 temperature sensor. | 4 | - The Maxim/Dallas Semiconductor ds18*20 temperature sensor. |
5 | w1_ds2423 | ||
6 | - The Maxim/Dallas Semiconductor ds2423 counter device. | ||
diff --git a/Documentation/w1/slaves/w1_ds2423 b/Documentation/w1/slaves/w1_ds2423 new file mode 100644 index 000000000000..90a65d23cf59 --- /dev/null +++ b/Documentation/w1/slaves/w1_ds2423 | |||
@@ -0,0 +1,47 @@ | |||
1 | Kernel driver w1_ds2423 | ||
2 | ======================= | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim DS2423 based counter devices. | ||
6 | |||
7 | supported family codes: | ||
8 | W1_THERM_DS2423 0x1D | ||
9 | |||
10 | Author: Mika Laitio <lamikr@pilppa.org> | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | Support is provided through the sysfs w1_slave file. Each opening and | ||
16 | read sequence of w1_slave file initiates the read of counters and ram | ||
17 | available in DS2423 pages 12 - 15. | ||
18 | |||
19 | Result of each page is provided as an ASCII output where each counter | ||
20 | value and associated ram buffer is outpputed to own line. | ||
21 | |||
22 | Each lines will contain the values of 42 bytes read from the counter and | ||
23 | memory page along the crc=YES or NO for indicating whether the read operation | ||
24 | was successfull and CRC matched. | ||
25 | If the operation was successfull, there is also in the end of each line | ||
26 | a counter value expressed as an integer after c= | ||
27 | |||
28 | Meaning of 42 bytes represented is following: | ||
29 | - 1 byte from ram page | ||
30 | - 4 bytes for the counter value | ||
31 | - 4 zero bytes | ||
32 | - 2 bytes for crc16 which was calculated from the data read since the previous crc bytes | ||
33 | - 31 remaining bytes from the ram page | ||
34 | - crc=YES/NO indicating whether read was ok and crc matched | ||
35 | - c=<int> current counter value | ||
36 | |||
37 | example from the successfull read: | ||
38 | 00 02 00 00 00 00 00 00 00 6d 38 00 ff ff 00 00 fe ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2 | ||
39 | 00 02 00 00 00 00 00 00 00 e0 1f 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2 | ||
40 | 00 29 c6 5d 18 00 00 00 00 04 37 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=408798761 | ||
41 | 00 05 00 00 00 00 00 00 00 8d 39 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff crc=YES c=5 | ||
42 | |||
43 | example from the read with crc errors: | ||
44 | 00 02 00 00 00 00 00 00 00 6d 38 00 ff ff 00 00 fe ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2 | ||
45 | 00 02 00 00 22 00 00 00 00 e0 1f 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=NO | ||
46 | 00 e1 61 5d 19 00 00 00 00 df 0b 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=NO | ||
47 | 00 05 00 00 20 00 00 00 00 8d 39 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff crc=NO | ||
diff --git a/Documentation/x86/boot.txt b/Documentation/x86/boot.txt index bdeb81ccb5f6..9b7221a86df2 100644 --- a/Documentation/x86/boot.txt +++ b/Documentation/x86/boot.txt | |||
@@ -622,9 +622,9 @@ Protocol: 2.08+ | |||
622 | The payload may be compressed. The format of both the compressed and | 622 | The payload may be compressed. The format of both the compressed and |
623 | uncompressed data should be determined using the standard magic | 623 | uncompressed data should be determined using the standard magic |
624 | numbers. The currently supported compression formats are gzip | 624 | numbers. The currently supported compression formats are gzip |
625 | (magic numbers 1F 8B or 1F 9E), bzip2 (magic number 42 5A) and LZMA | 625 | (magic numbers 1F 8B or 1F 9E), bzip2 (magic number 42 5A), LZMA |
626 | (magic number 5D 00). The uncompressed payload is currently always ELF | 626 | (magic number 5D 00), and XZ (magic number FD 37). The uncompressed |
627 | (magic number 7F 45 4C 46). | 627 | payload is currently always ELF (magic number 7F 45 4C 46). |
628 | 628 | ||
629 | Field name: payload_length | 629 | Field name: payload_length |
630 | Type: read | 630 | Type: read |
diff --git a/Documentation/xz.txt b/Documentation/xz.txt new file mode 100644 index 000000000000..2cf3e2608de3 --- /dev/null +++ b/Documentation/xz.txt | |||
@@ -0,0 +1,121 @@ | |||
1 | |||
2 | XZ data compression in Linux | ||
3 | ============================ | ||
4 | |||
5 | Introduction | ||
6 | |||
7 | XZ is a general purpose data compression format with high compression | ||
8 | ratio and relatively fast decompression. The primary compression | ||
9 | algorithm (filter) is LZMA2. Additional filters can be used to improve | ||
10 | compression ratio even further. E.g. Branch/Call/Jump (BCJ) filters | ||
11 | improve compression ratio of executable data. | ||
12 | |||
13 | The XZ decompressor in Linux is called XZ Embedded. It supports | ||
14 | the LZMA2 filter and optionally also BCJ filters. CRC32 is supported | ||
15 | for integrity checking. The home page of XZ Embedded is at | ||
16 | <http://tukaani.org/xz/embedded.html>, where you can find the | ||
17 | latest version and also information about using the code outside | ||
18 | the Linux kernel. | ||
19 | |||
20 | For userspace, XZ Utils provide a zlib-like compression library | ||
21 | and a gzip-like command line tool. XZ Utils can be downloaded from | ||
22 | <http://tukaani.org/xz/>. | ||
23 | |||
24 | XZ related components in the kernel | ||
25 | |||
26 | The xz_dec module provides XZ decompressor with single-call (buffer | ||
27 | to buffer) and multi-call (stateful) APIs. The usage of the xz_dec | ||
28 | module is documented in include/linux/xz.h. | ||
29 | |||
30 | The xz_dec_test module is for testing xz_dec. xz_dec_test is not | ||
31 | useful unless you are hacking the XZ decompressor. xz_dec_test | ||
32 | allocates a char device major dynamically to which one can write | ||
33 | .xz files from userspace. The decompressed output is thrown away. | ||
34 | Keep an eye on dmesg to see diagnostics printed by xz_dec_test. | ||
35 | See the xz_dec_test source code for the details. | ||
36 | |||
37 | For decompressing the kernel image, initramfs, and initrd, there | ||
38 | is a wrapper function in lib/decompress_unxz.c. Its API is the | ||
39 | same as in other decompress_*.c files, which is defined in | ||
40 | include/linux/decompress/generic.h. | ||
41 | |||
42 | scripts/xz_wrap.sh is a wrapper for the xz command line tool found | ||
43 | from XZ Utils. The wrapper sets compression options to values suitable | ||
44 | for compressing the kernel image. | ||
45 | |||
46 | For kernel makefiles, two commands are provided for use with | ||
47 | $(call if_needed). The kernel image should be compressed with | ||
48 | $(call if_needed,xzkern) which will use a BCJ filter and a big LZMA2 | ||
49 | dictionary. It will also append a four-byte trailer containing the | ||
50 | uncompressed size of the file, which is needed by the boot code. | ||
51 | Other things should be compressed with $(call if_needed,xzmisc) | ||
52 | which will use no BCJ filter and 1 MiB LZMA2 dictionary. | ||
53 | |||
54 | Notes on compression options | ||
55 | |||
56 | Since the XZ Embedded supports only streams with no integrity check or | ||
57 | CRC32, make sure that you don't use some other integrity check type | ||
58 | when encoding files that are supposed to be decoded by the kernel. With | ||
59 | liblzma, you need to use either LZMA_CHECK_NONE or LZMA_CHECK_CRC32 | ||
60 | when encoding. With the xz command line tool, use --check=none or | ||
61 | --check=crc32. | ||
62 | |||
63 | Using CRC32 is strongly recommended unless there is some other layer | ||
64 | which will verify the integrity of the uncompressed data anyway. | ||
65 | Double checking the integrity would probably be waste of CPU cycles. | ||
66 | Note that the headers will always have a CRC32 which will be validated | ||
67 | by the decoder; you can only change the integrity check type (or | ||
68 | disable it) for the actual uncompressed data. | ||
69 | |||
70 | In userspace, LZMA2 is typically used with dictionary sizes of several | ||
71 | megabytes. The decoder needs to have the dictionary in RAM, thus big | ||
72 | dictionaries cannot be used for files that are intended to be decoded | ||
73 | by the kernel. 1 MiB is probably the maximum reasonable dictionary | ||
74 | size for in-kernel use (maybe more is OK for initramfs). The presets | ||
75 | in XZ Utils may not be optimal when creating files for the kernel, | ||
76 | so don't hesitate to use custom settings. Example: | ||
77 | |||
78 | xz --check=crc32 --lzma2=dict=512KiB inputfile | ||
79 | |||
80 | An exception to above dictionary size limitation is when the decoder | ||
81 | is used in single-call mode. Decompressing the kernel itself is an | ||
82 | example of this situation. In single-call mode, the memory usage | ||
83 | doesn't depend on the dictionary size, and it is perfectly fine to | ||
84 | use a big dictionary: for maximum compression, the dictionary should | ||
85 | be at least as big as the uncompressed data itself. | ||
86 | |||
87 | Future plans | ||
88 | |||
89 | Creating a limited XZ encoder may be considered if people think it is | ||
90 | useful. LZMA2 is slower to compress than e.g. Deflate or LZO even at | ||
91 | the fastest settings, so it isn't clear if LZMA2 encoder is wanted | ||
92 | into the kernel. | ||
93 | |||
94 | Support for limited random-access reading is planned for the | ||
95 | decompression code. I don't know if it could have any use in the | ||
96 | kernel, but I know that it would be useful in some embedded projects | ||
97 | outside the Linux kernel. | ||
98 | |||
99 | Conformance to the .xz file format specification | ||
100 | |||
101 | There are a couple of corner cases where things have been simplified | ||
102 | at expense of detecting errors as early as possible. These should not | ||
103 | matter in practice all, since they don't cause security issues. But | ||
104 | it is good to know this if testing the code e.g. with the test files | ||
105 | from XZ Utils. | ||
106 | |||
107 | Reporting bugs | ||
108 | |||
109 | Before reporting a bug, please check that it's not fixed already | ||
110 | at upstream. See <http://tukaani.org/xz/embedded.html> to get the | ||
111 | latest code. | ||
112 | |||
113 | Report bugs to <lasse.collin@tukaani.org> or visit #tukaani on | ||
114 | Freenode and talk to Larhzu. I don't actively read LKML or other | ||
115 | kernel-related mailing lists, so if there's something I should know, | ||
116 | you should email to me personally or use IRC. | ||
117 | |||
118 | Don't bother Igor Pavlov with questions about the XZ implementation | ||
119 | in the kernel or about XZ Utils. While these two implementations | ||
120 | include essential code that is directly based on Igor Pavlov's code, | ||
121 | these implementations aren't maintained nor supported by him. | ||
diff --git a/Documentation/zh_CN/HOWTO b/Documentation/zh_CN/HOWTO index 69160779e432..faf976c0c731 100644 --- a/Documentation/zh_CN/HOWTO +++ b/Documentation/zh_CN/HOWTO | |||
@@ -347,8 +347,8 @@ bugzilla.kernel.org是Linux内核开发者们用来跟踪内核Bug的网站。 | |||
347 | 最新bug的通知,可以订阅bugme-new邮件列表(只有新的bug报告会被寄到这里) | 347 | 最新bug的通知,可以订阅bugme-new邮件列表(只有新的bug报告会被寄到这里) |
348 | 或者订阅bugme-janitor邮件列表(所有bugzilla的变动都会被寄到这里)。 | 348 | 或者订阅bugme-janitor邮件列表(所有bugzilla的变动都会被寄到这里)。 |
349 | 349 | ||
350 | http://lists.osdl.org/mailman/listinfo/bugme-new | 350 | https://lists.linux-foundation.org/mailman/listinfo/bugme-new |
351 | http://lists.osdl.org/mailman/listinfo/bugme-janitors | 351 | https://lists.linux-foundation.org/mailman/listinfo/bugme-janitors |
352 | 352 | ||
353 | 353 | ||
354 | 邮件列表 | 354 | 邮件列表 |
diff --git a/Documentation/zh_CN/SubmittingDrivers b/Documentation/zh_CN/SubmittingDrivers index c27b0f6cdd39..5889f8df6312 100644 --- a/Documentation/zh_CN/SubmittingDrivers +++ b/Documentation/zh_CN/SubmittingDrivers | |||
@@ -61,7 +61,7 @@ Linux 2.4: | |||
61 | Linux 2.6: | 61 | Linux 2.6: |
62 | 除了遵循和 2.4 版内核同样的规则外,你还需要在 linux-kernel 邮件 | 62 | 除了遵循和 2.4 版内核同样的规则外,你还需要在 linux-kernel 邮件 |
63 | 列表上跟踪最新的 API 变化。向 Linux 2.6 内核提交驱动的顶级联系人 | 63 | 列表上跟踪最新的 API 变化。向 Linux 2.6 内核提交驱动的顶级联系人 |
64 | 是 Andrew Morton <akpm@osdl.org>。 | 64 | 是 Andrew Morton <akpm@linux-foundation.org>。 |
65 | 65 | ||
66 | 决定设备驱动能否被接受的条件 | 66 | 决定设备驱动能否被接受的条件 |
67 | ---------------------------- | 67 | ---------------------------- |