aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/accounting/getdelays.c6
-rw-r--r--Documentation/aoe/mkdevs.sh2
-rw-r--r--Documentation/aoe/udev-install.sh5
-rw-r--r--Documentation/aoe/udev.txt16
-rw-r--r--Documentation/feature-removal-schedule.txt19
-rw-r--r--Documentation/filesystems/isofs.txt1
-rw-r--r--Documentation/filesystems/vfs.txt50
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--Documentation/mn10300/ABI.txt149
-rw-r--r--Documentation/mn10300/compartmentalisation.txt60
10 files changed, 275 insertions, 36 deletions
diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c
index d6cb1a86fd61..40121b5cca14 100644
--- a/Documentation/accounting/getdelays.c
+++ b/Documentation/accounting/getdelays.c
@@ -168,7 +168,7 @@ int get_family_id(int sd)
168 char buf[256]; 168 char buf[256];
169 } ans; 169 } ans;
170 170
171 int id, rc; 171 int id = 0, rc;
172 struct nlattr *na; 172 struct nlattr *na;
173 int rep_len; 173 int rep_len;
174 174
@@ -209,7 +209,7 @@ void print_delayacct(struct taskstats *t)
209void task_context_switch_counts(struct taskstats *t) 209void task_context_switch_counts(struct taskstats *t)
210{ 210{
211 printf("\n\nTask %15s%15s\n" 211 printf("\n\nTask %15s%15s\n"
212 " %15lu%15lu\n", 212 " %15llu%15llu\n",
213 "voluntary", "nonvoluntary", 213 "voluntary", "nonvoluntary",
214 t->nvcsw, t->nivcsw); 214 t->nvcsw, t->nivcsw);
215} 215}
@@ -399,7 +399,7 @@ int main(int argc, char *argv[])
399 goto done; 399 goto done;
400 } 400 }
401 401
402 PRINTF("nlmsghdr size=%d, nlmsg_len=%d, rep_len=%d\n", 402 PRINTF("nlmsghdr size=%zu, nlmsg_len=%d, rep_len=%d\n",
403 sizeof(struct nlmsghdr), msg.n.nlmsg_len, rep_len); 403 sizeof(struct nlmsghdr), msg.n.nlmsg_len, rep_len);
404 404
405 405
diff --git a/Documentation/aoe/mkdevs.sh b/Documentation/aoe/mkdevs.sh
index 97374aacacb2..44c0ab702432 100644
--- a/Documentation/aoe/mkdevs.sh
+++ b/Documentation/aoe/mkdevs.sh
@@ -29,6 +29,8 @@ rm -f $dir/interfaces
29mknod -m 0200 $dir/interfaces c $MAJOR 4 29mknod -m 0200 $dir/interfaces c $MAJOR 4
30rm -f $dir/revalidate 30rm -f $dir/revalidate
31mknod -m 0200 $dir/revalidate c $MAJOR 5 31mknod -m 0200 $dir/revalidate c $MAJOR 5
32rm -f $dir/flush
33mknod -m 0200 $dir/flush c $MAJOR 6
32 34
33export n_partitions 35export n_partitions
34mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'` 36mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'`
diff --git a/Documentation/aoe/udev-install.sh b/Documentation/aoe/udev-install.sh
index 6449911c6a71..15e86f58c036 100644
--- a/Documentation/aoe/udev-install.sh
+++ b/Documentation/aoe/udev-install.sh
@@ -23,7 +23,10 @@ fi
23# /etc/udev/rules.d 23# /etc/udev/rules.d
24# 24#
25rules_d="`sed -n '/^udev_rules=/{ s!udev_rules=!!; s!\"!!g; p; }' $conf`" 25rules_d="`sed -n '/^udev_rules=/{ s!udev_rules=!!; s!\"!!g; p; }' $conf`"
26if test -z "$rules_d" || test ! -d "$rules_d"; then 26if test -z "$rules_d" ; then
27 rules_d=/etc/udev/rules.d
28fi
29if test ! -d "$rules_d"; then
27 echo "$me Error: cannot find udev rules directory" 1>&2 30 echo "$me Error: cannot find udev rules directory" 1>&2
28 exit 1 31 exit 1
29fi 32fi
diff --git a/Documentation/aoe/udev.txt b/Documentation/aoe/udev.txt
index a7ed1dc4f331..8686e789542e 100644
--- a/Documentation/aoe/udev.txt
+++ b/Documentation/aoe/udev.txt
@@ -1,6 +1,7 @@
1# These rules tell udev what device nodes to create for aoe support. 1# These rules tell udev what device nodes to create for aoe support.
2# They may be installed along the following lines (adjusted to what 2# They may be installed along the following lines. Check the section
3# you see on your system). 3# 8 udev manpage to see whether your udev supports SUBSYSTEM, and
4# whether it uses one or two equal signs for SUBSYSTEM and KERNEL.
4# 5#
5# ecashin@makki ~$ su 6# ecashin@makki ~$ su
6# Password: 7# Password:
@@ -15,10 +16,11 @@
15# 16#
16 17
17# aoe char devices 18# aoe char devices
18SUBSYSTEM="aoe", KERNEL="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" 19SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220"
19SUBSYSTEM="aoe", KERNEL="err", NAME="etherd/%k", GROUP="disk", MODE="0440" 20SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440"
20SUBSYSTEM="aoe", KERNEL="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" 21SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220"
21SUBSYSTEM="aoe", KERNEL="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220" 22SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220"
23SUBSYSTEM=="aoe", KERNEL=="flush", NAME="etherd/%k", GROUP="disk", MODE="0220"
22 24
23# aoe block devices 25# aoe block devices
24KERNEL="etherd*", NAME="%k", GROUP="disk" 26KERNEL=="etherd*", NAME="%k", GROUP="disk"
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 17b1659bd3f8..ce9503c892b5 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -99,17 +99,6 @@ Who: Eric Biederman <ebiederm@xmission.com>
99 99
100--------------------------- 100---------------------------
101 101
102What: a.out interpreter support for ELF executables
103When: 2.6.25
104Files: fs/binfmt_elf.c
105Why: Using a.out interpreters for ELF executables was a feature for
106 transition from a.out to ELF. But now it is unlikely to be still
107 needed anymore and removing it would simplify the hairy ELF
108 loader code.
109Who: Andi Kleen <ak@suse.de>
110
111---------------------------
112
113What: remove EXPORT_SYMBOL(kernel_thread) 102What: remove EXPORT_SYMBOL(kernel_thread)
114When: August 2006 103When: August 2006
115Files: arch/*/kernel/*_ksyms.c 104Files: arch/*/kernel/*_ksyms.c
@@ -192,14 +181,6 @@ Who: Len Brown <len.brown@intel.com>
192 181
193--------------------------- 182---------------------------
194 183
195What: 'time' kernel boot parameter
196When: January 2008
197Why: replaced by 'printk.time=<value>' so that printk timestamps can be
198 enabled or disabled as needed
199Who: Randy Dunlap <randy.dunlap@oracle.com>
200
201---------------------------
202
203What: libata spindown skipping and warning 184What: libata spindown skipping and warning
204When: Dec 2008 185When: Dec 2008
205Why: Some halt(8) implementations synchronize caches for and spin 186Why: Some halt(8) implementations synchronize caches for and spin
diff --git a/Documentation/filesystems/isofs.txt b/Documentation/filesystems/isofs.txt
index 758e50401c16..6973b980ca2a 100644
--- a/Documentation/filesystems/isofs.txt
+++ b/Documentation/filesystems/isofs.txt
@@ -24,6 +24,7 @@ Mount options unique to the isofs filesystem.
24 map=normal Map non-Rock Ridge filenames to lower case 24 map=normal Map non-Rock Ridge filenames to lower case
25 map=acorn As map=normal but also apply Acorn extensions if present 25 map=acorn As map=normal but also apply Acorn extensions if present
26 mode=xxx Sets the permissions on files to xxx 26 mode=xxx Sets the permissions on files to xxx
27 dmode=xxx Sets the permissions on directories to xxx
27 nojoliet Ignore Joliet extensions if they are present. 28 nojoliet Ignore Joliet extensions if they are present.
28 norock Ignore Rock Ridge extensions if they are present. 29 norock Ignore Rock Ridge extensions if they are present.
29 hide Completely strip hidden files from the file system. 30 hide Completely strip hidden files from the file system.
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index bd55038b56f5..81e5be6e6e35 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -151,7 +151,7 @@ The get_sb() method has the following arguments:
151 const char *dev_name: the device name we are mounting. 151 const char *dev_name: the device name we are mounting.
152 152
153 void *data: arbitrary mount options, usually comes as an ASCII 153 void *data: arbitrary mount options, usually comes as an ASCII
154 string 154 string (see "Mount Options" section)
155 155
156 struct vfsmount *mnt: a vfs-internal representation of a mount point 156 struct vfsmount *mnt: a vfs-internal representation of a mount point
157 157
@@ -182,7 +182,7 @@ A fill_super() method implementation has the following arguments:
182 must initialize this properly. 182 must initialize this properly.
183 183
184 void *data: arbitrary mount options, usually comes as an ASCII 184 void *data: arbitrary mount options, usually comes as an ASCII
185 string 185 string (see "Mount Options" section)
186 186
187 int silent: whether or not to be silent on error 187 int silent: whether or not to be silent on error
188 188
@@ -291,7 +291,8 @@ or bottom half).
291 291
292 umount_begin: called when the VFS is unmounting a filesystem. 292 umount_begin: called when the VFS is unmounting a filesystem.
293 293
294 show_options: called by the VFS to show mount options for /proc/<pid>/mounts. 294 show_options: called by the VFS to show mount options for
295 /proc/<pid>/mounts. (see "Mount Options" section)
295 296
296 quota_read: called by the VFS to read from filesystem quota file. 297 quota_read: called by the VFS to read from filesystem quota file.
297 298
@@ -969,6 +970,49 @@ manipulate dentries:
969For further information on dentry locking, please refer to the document 970For further information on dentry locking, please refer to the document
970Documentation/filesystems/dentry-locking.txt. 971Documentation/filesystems/dentry-locking.txt.
971 972
973Mount Options
974=============
975
976Parsing options
977---------------
978
979On mount and remount the filesystem is passed a string containing a
980comma separated list of mount options. The options can have either of
981these forms:
982
983 option
984 option=value
985
986The <linux/parser.h> header defines an API that helps parse these
987options. There are plenty of examples on how to use it in existing
988filesystems.
989
990Showing options
991---------------
992
993If a filesystem accepts mount options, it must define show_options()
994to show all the currently active options. The rules are:
995
996 - options MUST be shown which are not default or their values differ
997 from the default
998
999 - options MAY be shown which are enabled by default or have their
1000 default value
1001
1002Options used only internally between a mount helper and the kernel
1003(such as file descriptors), or which only have an effect during the
1004mounting (such as ones controlling the creation of a journal) are exempt
1005from the above rules.
1006
1007The underlying reason for the above rules is to make sure, that a
1008mount can be accurately replicated (e.g. umounting and mounting again)
1009based on the information found in /proc/mounts.
1010
1011A simple method of saving options at mount/remount time and showing
1012them is provided with the save_mount_options() and
1013generic_show_options() helper functions. Please note, that using
1014these may have drawbacks. For more info see header comments for these
1015functions in fs/namespace.c.
972 1016
973Resources 1017Resources
974========= 1018=========
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 0dcbd266b442..a4fc7fc21439 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1973,9 +1973,6 @@ and is between 256 and 4096 characters. It is defined in the file
1973 <deci-seconds>: poll all this frequency 1973 <deci-seconds>: poll all this frequency
1974 0: no polling (default) 1974 0: no polling (default)
1975 1975
1976 time Show timing data prefixed to each printk message line
1977 [deprecated, see 'printk.time']
1978
1979 tipar.timeout= [HW,PPT] 1976 tipar.timeout= [HW,PPT]
1980 Set communications timeout in tenths of a second 1977 Set communications timeout in tenths of a second
1981 (default 15). 1978 (default 15).
diff --git a/Documentation/mn10300/ABI.txt b/Documentation/mn10300/ABI.txt
new file mode 100644
index 000000000000..1fef1f06dfd2
--- /dev/null
+++ b/Documentation/mn10300/ABI.txt
@@ -0,0 +1,149 @@
1 =========================
2 MN10300 FUNCTION CALL ABI
3 =========================
4
5=======
6GENERAL
7=======
8
9The MN10300/AM33 kernel runs in little-endian mode; big-endian mode is not
10supported.
11
12The stack grows downwards, and should always be 32-bit aligned. There are
13separate stack pointer registers for userspace and the kernel.
14
15
16================
17ARGUMENT PASSING
18================
19
20The first two arguments (assuming up to 32-bits per argument) to a function are
21passed in the D0 and D1 registers respectively; all other arguments are passed
22on the stack.
23
24If 64-bit arguments are being passed, then they are never split between
25registers and the stack. If the first argument is a 64-bit value, it will be
26passed in D0:D1. If the first argument is not a 64-bit value, but the second
27is, the second will be passed entirely on the stack and D1 will be unused.
28
29Arguments smaller than 32-bits are not coelesced within a register or a stack
30word. For example, two byte-sized arguments will always be passed in separate
31registers or word-sized stack slots.
32
33
34=================
35CALLING FUNCTIONS
36=================
37
38The caller must allocate twelve bytes on the stack for the callee's use before
39it inserts a CALL instruction. The CALL instruction will write into the TOS
40word, but won't actually modify the stack pointer; similarly, the RET
41instruction reads from the TOS word of the stack, but doesn't move the stack
42pointer beyond it.
43
44
45 Stack:
46 | |
47 | |
48 |---------------| SP+20
49 | 4th Arg |
50 |---------------| SP+16
51 | 3rd Arg |
52 |---------------| SP+12
53 | D1 Save Slot |
54 |---------------| SP+8
55 | D0 Save Slot |
56 |---------------| SP+4
57 | Return Addr |
58 |---------------| SP
59 | |
60 | |
61
62
63The caller must leave space on the stack (hence an allocation of twelve bytes)
64in which the callee may store the first two arguments.
65
66
67============
68RETURN VALUE
69============
70
71The return value is passed in D0 for an integer (or D0:D1 for a 64-bit value),
72or A0 for a pointer.
73
74If the return value is a value larger than 64-bits, or is a structure or an
75array, then a hidden first argument will be passed to the callee by the caller:
76this will point to a piece of memory large enough to hold the result of the
77function. In this case, the callee will return the value in that piece of
78memory, and no value will be returned in D0 or A0.
79
80
81===================
82REGISTER CLOBBERING
83===================
84
85The values in certain registers may be clobbered by the callee, and other
86values must be saved:
87
88 Clobber: D0-D1, A0-A1, E0-E3
89 Save: D2-D3, A2-A3, E4-E7, SP
90
91All other non-supervisor-only registers are clobberable (such as MDR, MCRL,
92MCRH).
93
94
95=================
96SPECIAL REGISTERS
97=================
98
99Certain ordinary registers may carry special usage for the compiler:
100
101 A3: Frame pointer
102 E2: TLS pointer
103
104
105==========
106KERNEL ABI
107==========
108
109The kernel may use a slightly different ABI internally.
110
111 (*) E2
112
113 If CONFIG_MN10300_CURRENT_IN_E2 is defined, then the current task pointer
114 will be kept in the E2 register, and that register will be marked
115 unavailable for the compiler to use as a scratch register.
116
117 Normally the kernel uses something like:
118
119 MOV SP,An
120 AND 0xFFFFE000,An
121 MOV (An),Rm // Rm holds current
122 MOV (yyy,Rm) // Access current->yyy
123
124 To find the address of current; but since this option permits current to
125 be carried globally in an register, it can use:
126
127 MOV (yyy,E2) // Access current->yyy
128
129 instead.
130
131
132===============
133SYSTEM CALL ABI
134===============
135
136System calls are called with the following convention:
137
138 REGISTER ENTRY EXIT
139 =============== ======================= =======================
140 D0 Syscall number Return value
141 A0 1st syscall argument Saved
142 D1 2nd syscall argument Saved
143 A3 3rd syscall argument Saved
144 A2 4th syscall argument Saved
145 D3 5th syscall argument Saved
146 D2 6th syscall argument Saved
147
148All other registers are saved. The layout is a consequence of the way the MOVM
149instruction stores registers onto the stack.
diff --git a/Documentation/mn10300/compartmentalisation.txt b/Documentation/mn10300/compartmentalisation.txt
new file mode 100644
index 000000000000..8958b51dac4b
--- /dev/null
+++ b/Documentation/mn10300/compartmentalisation.txt
@@ -0,0 +1,60 @@
1 =========================================
2 PART-SPECIFIC SOURCE COMPARTMENTALISATION
3 =========================================
4
5The sources for various parts are compartmentalised at two different levels:
6
7 (1) Processor level
8
9 The "processor level" is a CPU core plus the other on-silicon
10 peripherals.
11
12 Processor-specific header files are divided among directories in a similar
13 way to the CPU level:
14
15 (*) include/asm-mn10300/proc-mn103e010/
16
17 Support for the AM33v2 CPU core.
18
19 The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option
20 from the "Processor support" choice menu in the arch/mn10300/Kconfig file.
21
22
23 (2) Unit level
24
25 The "unit level" is a processor plus all the external peripherals
26 controlled by that processor.
27
28 Unit-specific header files are divided among directories in a similar way
29 to the CPU level; not only that, but specific sources may also be
30 segregated into separate directories under the arch directory:
31
32 (*) include/asm-mn10300/unit-asb2303/
33 (*) arch/mn10300/unit-asb2303/
34
35 Support for the ASB2303 board with an ASB2308 daughter board.
36
37 (*) include/asm-mn10300/unit-asb2305/
38 (*) arch/mn10300/unit-asb2305/
39
40 Support for the ASB2305 board.
41
42 The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option
43 from the "Unit type" choice menu in the arch/mn10300/Kconfig file.
44
45
46============
47COMPILE TIME
48============
49
50When the kernel is compiled, symbolic links will be made in the asm header file
51directory for this arch:
52
53 include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/
54 include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/
55
56So that the header files contained in those directories can be accessed without
57lots of #ifdef-age.
58
59The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the
60compilation process; all other unit-specific directories will be ignored.