diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/fb/cyblafb/bugs | 1 | ||||
-rw-r--r-- | Documentation/fb/cyblafb/fb.modes | 57 | ||||
-rw-r--r-- | Documentation/fb/cyblafb/performance | 1 | ||||
-rw-r--r-- | Documentation/fb/cyblafb/todo | 5 | ||||
-rw-r--r-- | Documentation/fb/cyblafb/usage | 33 | ||||
-rw-r--r-- | Documentation/fb/cyblafb/whatsnew | 29 | ||||
-rw-r--r-- | Documentation/filesystems/spufs.txt | 521 | ||||
-rw-r--r-- | Documentation/kprobes.txt | 3 | ||||
-rw-r--r-- | Documentation/networking/bonding.txt | 2 | ||||
-rw-r--r-- | Documentation/powerpc/00-INDEX | 10 |
10 files changed, 612 insertions, 50 deletions
diff --git a/Documentation/fb/cyblafb/bugs b/Documentation/fb/cyblafb/bugs index f90cc66ea919..9443a6d72cdd 100644 --- a/Documentation/fb/cyblafb/bugs +++ b/Documentation/fb/cyblafb/bugs | |||
@@ -11,4 +11,3 @@ Untested features | |||
11 | 11 | ||
12 | All LCD stuff is untested. If it worked in tridentfb, it should work in | 12 | All LCD stuff is untested. If it worked in tridentfb, it should work in |
13 | cyblafb. Please test and report the results to Knut_Petersen@t-online.de. | 13 | cyblafb. Please test and report the results to Knut_Petersen@t-online.de. |
14 | |||
diff --git a/Documentation/fb/cyblafb/fb.modes b/Documentation/fb/cyblafb/fb.modes index cf4351fc32ff..fe0e5223ba86 100644 --- a/Documentation/fb/cyblafb/fb.modes +++ b/Documentation/fb/cyblafb/fb.modes | |||
@@ -14,142 +14,141 @@ | |||
14 | # | 14 | # |
15 | 15 | ||
16 | mode "640x480-50" | 16 | mode "640x480-50" |
17 | geometry 640 480 640 3756 8 | 17 | geometry 640 480 2048 4096 8 |
18 | timings 47619 4294967256 24 17 0 216 3 | 18 | timings 47619 4294967256 24 17 0 216 3 |
19 | endmode | 19 | endmode |
20 | 20 | ||
21 | mode "640x480-60" | 21 | mode "640x480-60" |
22 | geometry 640 480 640 3756 8 | 22 | geometry 640 480 2048 4096 8 |
23 | timings 39682 4294967256 24 17 0 216 3 | 23 | timings 39682 4294967256 24 17 0 216 3 |
24 | endmode | 24 | endmode |
25 | 25 | ||
26 | mode "640x480-70" | 26 | mode "640x480-70" |
27 | geometry 640 480 640 3756 8 | 27 | geometry 640 480 2048 4096 8 |
28 | timings 34013 4294967256 24 17 0 216 3 | 28 | timings 34013 4294967256 24 17 0 216 3 |
29 | endmode | 29 | endmode |
30 | 30 | ||
31 | mode "640x480-72" | 31 | mode "640x480-72" |
32 | geometry 640 480 640 3756 8 | 32 | geometry 640 480 2048 4096 8 |
33 | timings 33068 4294967256 24 17 0 216 3 | 33 | timings 33068 4294967256 24 17 0 216 3 |
34 | endmode | 34 | endmode |
35 | 35 | ||
36 | mode "640x480-75" | 36 | mode "640x480-75" |
37 | geometry 640 480 640 3756 8 | 37 | geometry 640 480 2048 4096 8 |
38 | timings 31746 4294967256 24 17 0 216 3 | 38 | timings 31746 4294967256 24 17 0 216 3 |
39 | endmode | 39 | endmode |
40 | 40 | ||
41 | mode "640x480-80" | 41 | mode "640x480-80" |
42 | geometry 640 480 640 3756 8 | 42 | geometry 640 480 2048 4096 8 |
43 | timings 29761 4294967256 24 17 0 216 3 | 43 | timings 29761 4294967256 24 17 0 216 3 |
44 | endmode | 44 | endmode |
45 | 45 | ||
46 | mode "640x480-85" | 46 | mode "640x480-85" |
47 | geometry 640 480 640 3756 8 | 47 | geometry 640 480 2048 4096 8 |
48 | timings 28011 4294967256 24 17 0 216 3 | 48 | timings 28011 4294967256 24 17 0 216 3 |
49 | endmode | 49 | endmode |
50 | 50 | ||
51 | mode "800x600-50" | 51 | mode "800x600-50" |
52 | geometry 800 600 800 3221 8 | 52 | geometry 800 600 2048 4096 8 |
53 | timings 30303 96 24 14 0 136 11 | 53 | timings 30303 96 24 14 0 136 11 |
54 | endmode | 54 | endmode |
55 | 55 | ||
56 | mode "800x600-60" | 56 | mode "800x600-60" |
57 | geometry 800 600 800 3221 8 | 57 | geometry 800 600 2048 4096 8 |
58 | timings 25252 96 24 14 0 136 11 | 58 | timings 25252 96 24 14 0 136 11 |
59 | endmode | 59 | endmode |
60 | 60 | ||
61 | mode "800x600-70" | 61 | mode "800x600-70" |
62 | geometry 800 600 800 3221 8 | 62 | geometry 800 600 2048 4096 8 |
63 | timings 21645 96 24 14 0 136 11 | 63 | timings 21645 96 24 14 0 136 11 |
64 | endmode | 64 | endmode |
65 | 65 | ||
66 | mode "800x600-72" | 66 | mode "800x600-72" |
67 | geometry 800 600 800 3221 8 | 67 | geometry 800 600 2048 4096 8 |
68 | timings 21043 96 24 14 0 136 11 | 68 | timings 21043 96 24 14 0 136 11 |
69 | endmode | 69 | endmode |
70 | 70 | ||
71 | mode "800x600-75" | 71 | mode "800x600-75" |
72 | geometry 800 600 800 3221 8 | 72 | geometry 800 600 2048 4096 8 |
73 | timings 20202 96 24 14 0 136 11 | 73 | timings 20202 96 24 14 0 136 11 |
74 | endmode | 74 | endmode |
75 | 75 | ||
76 | mode "800x600-80" | 76 | mode "800x600-80" |
77 | geometry 800 600 800 3221 8 | 77 | geometry 800 600 2048 4096 8 |
78 | timings 18939 96 24 14 0 136 11 | 78 | timings 18939 96 24 14 0 136 11 |
79 | endmode | 79 | endmode |
80 | 80 | ||
81 | mode "800x600-85" | 81 | mode "800x600-85" |
82 | geometry 800 600 800 3221 8 | 82 | geometry 800 600 2048 4096 8 |
83 | timings 17825 96 24 14 0 136 11 | 83 | timings 17825 96 24 14 0 136 11 |
84 | endmode | 84 | endmode |
85 | 85 | ||
86 | mode "1024x768-50" | 86 | mode "1024x768-50" |
87 | geometry 1024 768 1024 2815 8 | 87 | geometry 1024 768 2048 4096 8 |
88 | timings 19054 144 24 29 0 120 3 | 88 | timings 19054 144 24 29 0 120 3 |
89 | endmode | 89 | endmode |
90 | 90 | ||
91 | mode "1024x768-60" | 91 | mode "1024x768-60" |
92 | geometry 1024 768 1024 2815 8 | 92 | geometry 1024 768 2048 4096 8 |
93 | timings 15880 144 24 29 0 120 3 | 93 | timings 15880 144 24 29 0 120 3 |
94 | endmode | 94 | endmode |
95 | 95 | ||
96 | mode "1024x768-70" | 96 | mode "1024x768-70" |
97 | geometry 1024 768 1024 2815 8 | 97 | geometry 1024 768 2048 4096 8 |
98 | timings 13610 144 24 29 0 120 3 | 98 | timings 13610 144 24 29 0 120 3 |
99 | endmode | 99 | endmode |
100 | 100 | ||
101 | mode "1024x768-72" | 101 | mode "1024x768-72" |
102 | geometry 1024 768 1024 2815 8 | 102 | geometry 1024 768 2048 4096 8 |
103 | timings 13232 144 24 29 0 120 3 | 103 | timings 13232 144 24 29 0 120 3 |
104 | endmode | 104 | endmode |
105 | 105 | ||
106 | mode "1024x768-75" | 106 | mode "1024x768-75" |
107 | geometry 1024 768 1024 2815 8 | 107 | geometry 1024 768 2048 4096 8 |
108 | timings 12703 144 24 29 0 120 3 | 108 | timings 12703 144 24 29 0 120 3 |
109 | endmode | 109 | endmode |
110 | 110 | ||
111 | mode "1024x768-80" | 111 | mode "1024x768-80" |
112 | geometry 1024 768 1024 2815 8 | 112 | geometry 1024 768 2048 4096 8 |
113 | timings 11910 144 24 29 0 120 3 | 113 | timings 11910 144 24 29 0 120 3 |
114 | endmode | 114 | endmode |
115 | 115 | ||
116 | mode "1024x768-85" | 116 | mode "1024x768-85" |
117 | geometry 1024 768 1024 2815 8 | 117 | geometry 1024 768 2048 4096 8 |
118 | timings 11209 144 24 29 0 120 3 | 118 | timings 11209 144 24 29 0 120 3 |
119 | endmode | 119 | endmode |
120 | 120 | ||
121 | mode "1280x1024-50" | 121 | mode "1280x1024-50" |
122 | geometry 1280 1024 1280 2662 8 | 122 | geometry 1280 1024 2048 4096 8 |
123 | timings 11114 232 16 39 0 160 3 | 123 | timings 11114 232 16 39 0 160 3 |
124 | endmode | 124 | endmode |
125 | 125 | ||
126 | mode "1280x1024-60" | 126 | mode "1280x1024-60" |
127 | geometry 1280 1024 1280 2662 8 | 127 | geometry 1280 1024 2048 4096 8 |
128 | timings 9262 232 16 39 0 160 3 | 128 | timings 9262 232 16 39 0 160 3 |
129 | endmode | 129 | endmode |
130 | 130 | ||
131 | mode "1280x1024-70" | 131 | mode "1280x1024-70" |
132 | geometry 1280 1024 1280 2662 8 | 132 | geometry 1280 1024 2048 4096 8 |
133 | timings 7939 232 16 39 0 160 3 | 133 | timings 7939 232 16 39 0 160 3 |
134 | endmode | 134 | endmode |
135 | 135 | ||
136 | mode "1280x1024-72" | 136 | mode "1280x1024-72" |
137 | geometry 1280 1024 1280 2662 8 | 137 | geometry 1280 1024 2048 4096 8 |
138 | timings 7719 232 16 39 0 160 3 | 138 | timings 7719 232 16 39 0 160 3 |
139 | endmode | 139 | endmode |
140 | 140 | ||
141 | mode "1280x1024-75" | 141 | mode "1280x1024-75" |
142 | geometry 1280 1024 1280 2662 8 | 142 | geometry 1280 1024 2048 4096 8 |
143 | timings 7410 232 16 39 0 160 3 | 143 | timings 7410 232 16 39 0 160 3 |
144 | endmode | 144 | endmode |
145 | 145 | ||
146 | mode "1280x1024-80" | 146 | mode "1280x1024-80" |
147 | geometry 1280 1024 1280 2662 8 | 147 | geometry 1280 1024 2048 4096 8 |
148 | timings 6946 232 16 39 0 160 3 | 148 | timings 6946 232 16 39 0 160 3 |
149 | endmode | 149 | endmode |
150 | 150 | ||
151 | mode "1280x1024-85" | 151 | mode "1280x1024-85" |
152 | geometry 1280 1024 1280 2662 8 | 152 | geometry 1280 1024 2048 4096 8 |
153 | timings 6538 232 16 39 0 160 3 | 153 | timings 6538 232 16 39 0 160 3 |
154 | endmode | 154 | endmode |
155 | |||
diff --git a/Documentation/fb/cyblafb/performance b/Documentation/fb/cyblafb/performance index eb4e47a9cea6..8d15d5dfc6b3 100644 --- a/Documentation/fb/cyblafb/performance +++ b/Documentation/fb/cyblafb/performance | |||
@@ -77,4 +77,3 @@ patch that speeds up kernel bitblitting a lot ( > 20%). | |||
77 | | | | | | | 77 | | | | | | |
78 | | | | | | | 78 | | | | | | |
79 | +-----------+-----------------+-----------------+-----------------+ | 79 | +-----------+-----------------+-----------------+-----------------+ |
80 | |||
diff --git a/Documentation/fb/cyblafb/todo b/Documentation/fb/cyblafb/todo index 80fb2f89b6c1..c5f6d0eae545 100644 --- a/Documentation/fb/cyblafb/todo +++ b/Documentation/fb/cyblafb/todo | |||
@@ -22,11 +22,10 @@ accelerated color blitting Who needs it? The console driver does use color | |||
22 | everything else is done using color expanding | 22 | everything else is done using color expanding |
23 | blitting of 1bpp character bitmaps. | 23 | blitting of 1bpp character bitmaps. |
24 | 24 | ||
25 | xpanning Who needs it? | ||
26 | |||
27 | ioctls Who needs it? | 25 | ioctls Who needs it? |
28 | 26 | ||
29 | TV-out Will be done later | 27 | TV-out Will be done later. Use "vga= " at boot time |
28 | to set a suitable video mode. | ||
30 | 29 | ||
31 | ??? Feel free to contact me if you have any | 30 | ??? Feel free to contact me if you have any |
32 | feature requests | 31 | feature requests |
diff --git a/Documentation/fb/cyblafb/usage b/Documentation/fb/cyblafb/usage index e627c8f54211..a39bb3d402a2 100644 --- a/Documentation/fb/cyblafb/usage +++ b/Documentation/fb/cyblafb/usage | |||
@@ -40,6 +40,16 @@ Selecting Modes | |||
40 | None of the modes possible to select as startup modes are affected by | 40 | None of the modes possible to select as startup modes are affected by |
41 | the problems described at the end of the next subsection. | 41 | the problems described at the end of the next subsection. |
42 | 42 | ||
43 | For all startup modes cyblafb chooses a virtual x resolution of 2048, | ||
44 | the only exception is mode 1280x1024 in combination with 32 bpp. This | ||
45 | allows ywrap scrolling for all those modes if rotation is 0 or 2, and | ||
46 | also fast scrolling if rotation is 1 or 3. The default virtual y reso- | ||
47 | lution is 4096 for bpp == 8, 2048 for bpp==16 and 1024 for bpp == 32, | ||
48 | again with the only exception of 1280x1024 at 32 bpp. | ||
49 | |||
50 | Please do set your video memory size to 8 Mb in the Bios setup. Other | ||
51 | values will work, but performace is decreased for a lot of modes. | ||
52 | |||
43 | Mode changes using fbset | 53 | Mode changes using fbset |
44 | ======================== | 54 | ======================== |
45 | 55 | ||
@@ -54,20 +64,26 @@ Selecting Modes | |||
54 | - if a flat panel is found, cyblafb does not allow you | 64 | - if a flat panel is found, cyblafb does not allow you |
55 | to program a resolution higher than the physical | 65 | to program a resolution higher than the physical |
56 | resolution of the flat panel monitor | 66 | resolution of the flat panel monitor |
57 | - cyblafb does not allow xres to differ from xres_virtual | ||
58 | - cyblafb does not allow vclk to exceed 230 MHz. As 32 bpp | 67 | - cyblafb does not allow vclk to exceed 230 MHz. As 32 bpp |
59 | and (currently) 24 bit modes use a doubled vclk internally, | 68 | and (currently) 24 bit modes use a doubled vclk internally, |
60 | the dotclock limit as seen by fbset is 115 MHz for those | 69 | the dotclock limit as seen by fbset is 115 MHz for those |
61 | modes and 230 MHz for 8 and 16 bpp modes. | 70 | modes and 230 MHz for 8 and 16 bpp modes. |
71 | - cyblafb will allow you to select very high resolutions as | ||
72 | long as the hardware can be programmed to these modes. The | ||
73 | documented limit 1600x1200 is not enforced, but don't expect | ||
74 | perfect signal quality. | ||
62 | 75 | ||
63 | Any request that violates the rules given above will be ignored and | 76 | Any request that violates the rules given above will be either changed |
64 | fbset will return an error. | 77 | to something the hardware supports or an error value will be returned. |
65 | 78 | ||
66 | If you program a virtual y resolution higher than the hardware limit, | 79 | If you program a virtual y resolution higher than the hardware limit, |
67 | cyblafb will silently decrease that value to the highest possible | 80 | cyblafb will silently decrease that value to the highest possible |
68 | value. | 81 | value. The same is true for a virtual x resolution that is not |
82 | supported by the hardware. Cyblafb tries to adapt vyres first because | ||
83 | vxres decides if ywrap scrolling is possible or not. | ||
69 | 84 | ||
70 | Attempts to disable acceleration are ignored. | 85 | Attempts to disable acceleration are ignored, I believe that this is |
86 | safe. | ||
71 | 87 | ||
72 | Some video modes that should work do not work as expected. If you use | 88 | Some video modes that should work do not work as expected. If you use |
73 | the standard fb.modes, fbset 640x480-60 will program that mode, but | 89 | the standard fb.modes, fbset 640x480-60 will program that mode, but |
@@ -129,10 +145,6 @@ mode 640x480 or 800x600 or 1024x768 or 1280x1024 | |||
129 | verbosity 0 is the default, increase to at least 2 for every | 145 | verbosity 0 is the default, increase to at least 2 for every |
130 | bug report! | 146 | bug report! |
131 | 147 | ||
132 | vesafb allows cyblafb to be loaded after vesafb has been | ||
133 | loaded. See sections "Module unloading ...". | ||
134 | |||
135 | |||
136 | Development hints | 148 | Development hints |
137 | ================= | 149 | ================= |
138 | 150 | ||
@@ -195,7 +207,7 @@ a graphics mode. | |||
195 | After booting, load cyblafb without any mode and bpp parameter and assign | 207 | After booting, load cyblafb without any mode and bpp parameter and assign |
196 | cyblafb to individual ttys using con2fb, e.g.: | 208 | cyblafb to individual ttys using con2fb, e.g.: |
197 | 209 | ||
198 | modprobe cyblafb vesafb=1 | 210 | modprobe cyblafb |
199 | con2fb /dev/fb1 /dev/tty1 | 211 | con2fb /dev/fb1 /dev/tty1 |
200 | 212 | ||
201 | Unloading cyblafb works without problems after you assign vesafb to all | 213 | Unloading cyblafb works without problems after you assign vesafb to all |
@@ -203,4 +215,3 @@ ttys again, e.g.: | |||
203 | 215 | ||
204 | con2fb /dev/fb0 /dev/tty1 | 216 | con2fb /dev/fb0 /dev/tty1 |
205 | rmmod cyblafb | 217 | rmmod cyblafb |
206 | |||
diff --git a/Documentation/fb/cyblafb/whatsnew b/Documentation/fb/cyblafb/whatsnew new file mode 100644 index 000000000000..76c07a26e044 --- /dev/null +++ b/Documentation/fb/cyblafb/whatsnew | |||
@@ -0,0 +1,29 @@ | |||
1 | 0.62 | ||
2 | ==== | ||
3 | |||
4 | - the vesafb parameter has been removed as I decided to allow the | ||
5 | feature without any special parameter. | ||
6 | |||
7 | - Cyblafb does not use the vga style of panning any longer, now the | ||
8 | "right view" register in the graphics engine IO space is used. Without | ||
9 | that change it was impossible to use all available memory, and without | ||
10 | access to all available memory it is impossible to ywrap. | ||
11 | |||
12 | - The imageblit function now uses hardware acceleration for all font | ||
13 | widths. Hardware blitting across pixel column 2048 is broken in the | ||
14 | cyberblade/i1 graphics core, but we work around that hardware bug. | ||
15 | |||
16 | - modes with vxres != xres are supported now. | ||
17 | |||
18 | - ywrap scrolling is supported now and the default. This is a big | ||
19 | performance gain. | ||
20 | |||
21 | - default video modes use vyres > yres and vxres > xres to allow | ||
22 | almost optimal scrolling speed for normal and rotated screens | ||
23 | |||
24 | - some features mainly usefull for debugging the upper layers of the | ||
25 | framebuffer system have been added, have a look at the code | ||
26 | |||
27 | - fixed: Oops after unloading cyblafb when reading /proc/io* | ||
28 | |||
29 | - we work around some bugs of the higher framebuffer layers. | ||
diff --git a/Documentation/filesystems/spufs.txt b/Documentation/filesystems/spufs.txt new file mode 100644 index 000000000000..8edc3952eff4 --- /dev/null +++ b/Documentation/filesystems/spufs.txt | |||
@@ -0,0 +1,521 @@ | |||
1 | SPUFS(2) Linux Programmer's Manual SPUFS(2) | ||
2 | |||
3 | |||
4 | |||
5 | NAME | ||
6 | spufs - the SPU file system | ||
7 | |||
8 | |||
9 | DESCRIPTION | ||
10 | The SPU file system is used on PowerPC machines that implement the Cell | ||
11 | Broadband Engine Architecture in order to access Synergistic Processor | ||
12 | Units (SPUs). | ||
13 | |||
14 | The file system provides a name space similar to posix shared memory or | ||
15 | message queues. Users that have write permissions on the file system | ||
16 | can use spu_create(2) to establish SPU contexts in the spufs root. | ||
17 | |||
18 | Every SPU context is represented by a directory containing a predefined | ||
19 | set of files. These files can be used for manipulating the state of the | ||
20 | logical SPU. Users can change permissions on those files, but not actu- | ||
21 | ally add or remove files. | ||
22 | |||
23 | |||
24 | MOUNT OPTIONS | ||
25 | uid=<uid> | ||
26 | set the user owning the mount point, the default is 0 (root). | ||
27 | |||
28 | gid=<gid> | ||
29 | set the group owning the mount point, the default is 0 (root). | ||
30 | |||
31 | |||
32 | FILES | ||
33 | The files in spufs mostly follow the standard behavior for regular sys- | ||
34 | tem calls like read(2) or write(2), but often support only a subset of | ||
35 | the operations supported on regular file systems. This list details the | ||
36 | supported operations and the deviations from the behaviour in the | ||
37 | respective man pages. | ||
38 | |||
39 | All files that support the read(2) operation also support readv(2) and | ||
40 | all files that support the write(2) operation also support writev(2). | ||
41 | All files support the access(2) and stat(2) family of operations, but | ||
42 | only the st_mode, st_nlink, st_uid and st_gid fields of struct stat | ||
43 | contain reliable information. | ||
44 | |||
45 | All files support the chmod(2)/fchmod(2) and chown(2)/fchown(2) opera- | ||
46 | tions, but will not be able to grant permissions that contradict the | ||
47 | possible operations, e.g. read access on the wbox file. | ||
48 | |||
49 | The current set of files is: | ||
50 | |||
51 | |||
52 | /mem | ||
53 | the contents of the local storage memory of the SPU. This can be | ||
54 | accessed like a regular shared memory file and contains both code and | ||
55 | data in the address space of the SPU. The possible operations on an | ||
56 | open mem file are: | ||
57 | |||
58 | read(2), pread(2), write(2), pwrite(2), lseek(2) | ||
59 | These operate as documented, with the exception that seek(2), | ||
60 | write(2) and pwrite(2) are not supported beyond the end of the | ||
61 | file. The file size is the size of the local storage of the SPU, | ||
62 | which normally is 256 kilobytes. | ||
63 | |||
64 | mmap(2) | ||
65 | Mapping mem into the process address space gives access to the | ||
66 | SPU local storage within the process address space. Only | ||
67 | MAP_SHARED mappings are allowed. | ||
68 | |||
69 | |||
70 | /mbox | ||
71 | The first SPU to CPU communication mailbox. This file is read-only and | ||
72 | can be read in units of 32 bits. The file can only be used in non- | ||
73 | blocking mode and it even poll() will not block on it. The possible | ||
74 | operations on an open mbox file are: | ||
75 | |||
76 | read(2) | ||
77 | If a count smaller than four is requested, read returns -1 and | ||
78 | sets errno to EINVAL. If there is no data available in the mail | ||
79 | box, the return value is set to -1 and errno becomes EAGAIN. | ||
80 | When data has been read successfully, four bytes are placed in | ||
81 | the data buffer and the value four is returned. | ||
82 | |||
83 | |||
84 | /ibox | ||
85 | The second SPU to CPU communication mailbox. This file is similar to | ||
86 | the first mailbox file, but can be read in blocking I/O mode, and the | ||
87 | poll familiy of system calls can be used to wait for it. The possible | ||
88 | operations on an open ibox file are: | ||
89 | |||
90 | read(2) | ||
91 | If a count smaller than four is requested, read returns -1 and | ||
92 | sets errno to EINVAL. If there is no data available in the mail | ||
93 | box and the file descriptor has been opened with O_NONBLOCK, the | ||
94 | return value is set to -1 and errno becomes EAGAIN. | ||
95 | |||
96 | If there is no data available in the mail box and the file | ||
97 | descriptor has been opened without O_NONBLOCK, the call will | ||
98 | block until the SPU writes to its interrupt mailbox channel. | ||
99 | When data has been read successfully, four bytes are placed in | ||
100 | the data buffer and the value four is returned. | ||
101 | |||
102 | poll(2) | ||
103 | Poll on the ibox file returns (POLLIN | POLLRDNORM) whenever | ||
104 | data is available for reading. | ||
105 | |||
106 | |||
107 | /wbox | ||
108 | The CPU to SPU communation mailbox. It is write-only can can be written | ||
109 | in units of 32 bits. If the mailbox is full, write() will block and | ||
110 | poll can be used to wait for it becoming empty again. The possible | ||
111 | operations on an open wbox file are: write(2) If a count smaller than | ||
112 | four is requested, write returns -1 and sets errno to EINVAL. If there | ||
113 | is no space available in the mail box and the file descriptor has been | ||
114 | opened with O_NONBLOCK, the return value is set to -1 and errno becomes | ||
115 | EAGAIN. | ||
116 | |||
117 | If there is no space available in the mail box and the file descriptor | ||
118 | has been opened without O_NONBLOCK, the call will block until the SPU | ||
119 | reads from its PPE mailbox channel. When data has been read success- | ||
120 | fully, four bytes are placed in the data buffer and the value four is | ||
121 | returned. | ||
122 | |||
123 | poll(2) | ||
124 | Poll on the ibox file returns (POLLOUT | POLLWRNORM) whenever | ||
125 | space is available for writing. | ||
126 | |||
127 | |||
128 | /mbox_stat | ||
129 | /ibox_stat | ||
130 | /wbox_stat | ||
131 | Read-only files that contain the length of the current queue, i.e. how | ||
132 | many words can be read from mbox or ibox or how many words can be | ||
133 | written to wbox without blocking. The files can be read only in 4-byte | ||
134 | units and return a big-endian binary integer number. The possible | ||
135 | operations on an open *box_stat file are: | ||
136 | |||
137 | read(2) | ||
138 | If a count smaller than four is requested, read returns -1 and | ||
139 | sets errno to EINVAL. Otherwise, a four byte value is placed in | ||
140 | the data buffer, containing the number of elements that can be | ||
141 | read from (for mbox_stat and ibox_stat) or written to (for | ||
142 | wbox_stat) the respective mail box without blocking or resulting | ||
143 | in EAGAIN. | ||
144 | |||
145 | |||
146 | /npc | ||
147 | /decr | ||
148 | /decr_status | ||
149 | /spu_tag_mask | ||
150 | /event_mask | ||
151 | /srr0 | ||
152 | Internal registers of the SPU. The representation is an ASCII string | ||
153 | with the numeric value of the next instruction to be executed. These | ||
154 | can be used in read/write mode for debugging, but normal operation of | ||
155 | programs should not rely on them because access to any of them except | ||
156 | npc requires an SPU context save and is therefore very inefficient. | ||
157 | |||
158 | The contents of these files are: | ||
159 | |||
160 | npc Next Program Counter | ||
161 | |||
162 | decr SPU Decrementer | ||
163 | |||
164 | decr_status Decrementer Status | ||
165 | |||
166 | spu_tag_mask MFC tag mask for SPU DMA | ||
167 | |||
168 | event_mask Event mask for SPU interrupts | ||
169 | |||
170 | srr0 Interrupt Return address register | ||
171 | |||
172 | |||
173 | The possible operations on an open npc, decr, decr_status, | ||
174 | spu_tag_mask, event_mask or srr0 file are: | ||
175 | |||
176 | read(2) | ||
177 | When the count supplied to the read call is shorter than the | ||
178 | required length for the pointer value plus a newline character, | ||
179 | subsequent reads from the same file descriptor will result in | ||
180 | completing the string, regardless of changes to the register by | ||
181 | a running SPU task. When a complete string has been read, all | ||
182 | subsequent read operations will return zero bytes and a new file | ||
183 | descriptor needs to be opened to read the value again. | ||
184 | |||
185 | write(2) | ||
186 | A write operation on the file results in setting the register to | ||
187 | the value given in the string. The string is parsed from the | ||
188 | beginning to the first non-numeric character or the end of the | ||
189 | buffer. Subsequent writes to the same file descriptor overwrite | ||
190 | the previous setting. | ||
191 | |||
192 | |||
193 | /fpcr | ||
194 | This file gives access to the Floating Point Status and Control Regis- | ||
195 | ter as a four byte long file. The operations on the fpcr file are: | ||
196 | |||
197 | read(2) | ||
198 | If a count smaller than four is requested, read returns -1 and | ||
199 | sets errno to EINVAL. Otherwise, a four byte value is placed in | ||
200 | the data buffer, containing the current value of the fpcr regis- | ||
201 | ter. | ||
202 | |||
203 | write(2) | ||
204 | If a count smaller than four is requested, write returns -1 and | ||
205 | sets errno to EINVAL. Otherwise, a four byte value is copied | ||
206 | from the data buffer, updating the value of the fpcr register. | ||
207 | |||
208 | |||
209 | /signal1 | ||
210 | /signal2 | ||
211 | The two signal notification channels of an SPU. These are read-write | ||
212 | files that operate on a 32 bit word. Writing to one of these files | ||
213 | triggers an interrupt on the SPU. The value writting to the signal | ||
214 | files can be read from the SPU through a channel read or from host user | ||
215 | space through the file. After the value has been read by the SPU, it | ||
216 | is reset to zero. The possible operations on an open signal1 or sig- | ||
217 | nal2 file are: | ||
218 | |||
219 | read(2) | ||
220 | If a count smaller than four is requested, read returns -1 and | ||
221 | sets errno to EINVAL. Otherwise, a four byte value is placed in | ||
222 | the data buffer, containing the current value of the specified | ||
223 | signal notification register. | ||
224 | |||
225 | write(2) | ||
226 | If a count smaller than four is requested, write returns -1 and | ||
227 | sets errno to EINVAL. Otherwise, a four byte value is copied | ||
228 | from the data buffer, updating the value of the specified signal | ||
229 | notification register. The signal notification register will | ||
230 | either be replaced with the input data or will be updated to the | ||
231 | bitwise OR or the old value and the input data, depending on the | ||
232 | contents of the signal1_type, or signal2_type respectively, | ||
233 | file. | ||
234 | |||
235 | |||
236 | /signal1_type | ||
237 | /signal2_type | ||
238 | These two files change the behavior of the signal1 and signal2 notifi- | ||
239 | cation files. The contain a numerical ASCII string which is read as | ||
240 | either "1" or "0". In mode 0 (overwrite), the hardware replaces the | ||
241 | contents of the signal channel with the data that is written to it. in | ||
242 | mode 1 (logical OR), the hardware accumulates the bits that are subse- | ||
243 | quently written to it. The possible operations on an open signal1_type | ||
244 | or signal2_type file are: | ||
245 | |||
246 | read(2) | ||
247 | When the count supplied to the read call is shorter than the | ||
248 | required length for the digit plus a newline character, subse- | ||
249 | quent reads from the same file descriptor will result in com- | ||
250 | pleting the string. When a complete string has been read, all | ||
251 | subsequent read operations will return zero bytes and a new file | ||
252 | descriptor needs to be opened to read the value again. | ||
253 | |||
254 | write(2) | ||
255 | A write operation on the file results in setting the register to | ||
256 | the value given in the string. The string is parsed from the | ||
257 | beginning to the first non-numeric character or the end of the | ||
258 | buffer. Subsequent writes to the same file descriptor overwrite | ||
259 | the previous setting. | ||
260 | |||
261 | |||
262 | EXAMPLES | ||
263 | /etc/fstab entry | ||
264 | none /spu spufs gid=spu 0 0 | ||
265 | |||
266 | |||
267 | AUTHORS | ||
268 | Arnd Bergmann <arndb@de.ibm.com>, Mark Nutter <mnutter@us.ibm.com>, | ||
269 | Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | ||
270 | |||
271 | SEE ALSO | ||
272 | capabilities(7), close(2), spu_create(2), spu_run(2), spufs(7) | ||
273 | |||
274 | |||
275 | |||
276 | Linux 2005-09-28 SPUFS(2) | ||
277 | |||
278 | ------------------------------------------------------------------------------ | ||
279 | |||
280 | SPU_RUN(2) Linux Programmer's Manual SPU_RUN(2) | ||
281 | |||
282 | |||
283 | |||
284 | NAME | ||
285 | spu_run - execute an spu context | ||
286 | |||
287 | |||
288 | SYNOPSIS | ||
289 | #include <sys/spu.h> | ||
290 | |||
291 | int spu_run(int fd, unsigned int *npc, unsigned int *event); | ||
292 | |||
293 | DESCRIPTION | ||
294 | The spu_run system call is used on PowerPC machines that implement the | ||
295 | Cell Broadband Engine Architecture in order to access Synergistic Pro- | ||
296 | cessor Units (SPUs). It uses the fd that was returned from spu_cre- | ||
297 | ate(2) to address a specific SPU context. When the context gets sched- | ||
298 | uled to a physical SPU, it starts execution at the instruction pointer | ||
299 | passed in npc. | ||
300 | |||
301 | Execution of SPU code happens synchronously, meaning that spu_run does | ||
302 | not return while the SPU is still running. If there is a need to exe- | ||
303 | cute SPU code in parallel with other code on either the main CPU or | ||
304 | other SPUs, you need to create a new thread of execution first, e.g. | ||
305 | using the pthread_create(3) call. | ||
306 | |||
307 | When spu_run returns, the current value of the SPU instruction pointer | ||
308 | is written back to npc, so you can call spu_run again without updating | ||
309 | the pointers. | ||
310 | |||
311 | event can be a NULL pointer or point to an extended status code that | ||
312 | gets filled when spu_run returns. It can be one of the following con- | ||
313 | stants: | ||
314 | |||
315 | SPE_EVENT_DMA_ALIGNMENT | ||
316 | A DMA alignment error | ||
317 | |||
318 | SPE_EVENT_SPE_DATA_SEGMENT | ||
319 | A DMA segmentation error | ||
320 | |||
321 | SPE_EVENT_SPE_DATA_STORAGE | ||
322 | A DMA storage error | ||
323 | |||
324 | If NULL is passed as the event argument, these errors will result in a | ||
325 | signal delivered to the calling process. | ||
326 | |||
327 | RETURN VALUE | ||
328 | spu_run returns the value of the spu_status register or -1 to indicate | ||
329 | an error and set errno to one of the error codes listed below. The | ||
330 | spu_status register value contains a bit mask of status codes and | ||
331 | optionally a 14 bit code returned from the stop-and-signal instruction | ||
332 | on the SPU. The bit masks for the status codes are: | ||
333 | |||
334 | 0x02 SPU was stopped by stop-and-signal. | ||
335 | |||
336 | 0x04 SPU was stopped by halt. | ||
337 | |||
338 | 0x08 SPU is waiting for a channel. | ||
339 | |||
340 | 0x10 SPU is in single-step mode. | ||
341 | |||
342 | 0x20 SPU has tried to execute an invalid instruction. | ||
343 | |||
344 | 0x40 SPU has tried to access an invalid channel. | ||
345 | |||
346 | 0x3fff0000 | ||
347 | The bits masked with this value contain the code returned from | ||
348 | stop-and-signal. | ||
349 | |||
350 | There are always one or more of the lower eight bits set or an error | ||
351 | code is returned from spu_run. | ||
352 | |||
353 | ERRORS | ||
354 | EAGAIN or EWOULDBLOCK | ||
355 | fd is in non-blocking mode and spu_run would block. | ||
356 | |||
357 | EBADF fd is not a valid file descriptor. | ||
358 | |||
359 | EFAULT npc is not a valid pointer or status is neither NULL nor a valid | ||
360 | pointer. | ||
361 | |||
362 | EINTR A signal occured while spu_run was in progress. The npc value | ||
363 | has been updated to the new program counter value if necessary. | ||
364 | |||
365 | EINVAL fd is not a file descriptor returned from spu_create(2). | ||
366 | |||
367 | ENOMEM Insufficient memory was available to handle a page fault result- | ||
368 | ing from an MFC direct memory access. | ||
369 | |||
370 | ENOSYS the functionality is not provided by the current system, because | ||
371 | either the hardware does not provide SPUs or the spufs module is | ||
372 | not loaded. | ||
373 | |||
374 | |||
375 | NOTES | ||
376 | spu_run is meant to be used from libraries that implement a more | ||
377 | abstract interface to SPUs, not to be used from regular applications. | ||
378 | See http://www.bsc.es/projects/deepcomputing/linuxoncell/ for the rec- | ||
379 | ommended libraries. | ||
380 | |||
381 | |||
382 | CONFORMING TO | ||
383 | This call is Linux specific and only implemented by the ppc64 architec- | ||
384 | ture. Programs using this system call are not portable. | ||
385 | |||
386 | |||
387 | BUGS | ||
388 | The code does not yet fully implement all features lined out here. | ||
389 | |||
390 | |||
391 | AUTHOR | ||
392 | Arnd Bergmann <arndb@de.ibm.com> | ||
393 | |||
394 | SEE ALSO | ||
395 | capabilities(7), close(2), spu_create(2), spufs(7) | ||
396 | |||
397 | |||
398 | |||
399 | Linux 2005-09-28 SPU_RUN(2) | ||
400 | |||
401 | ------------------------------------------------------------------------------ | ||
402 | |||
403 | SPU_CREATE(2) Linux Programmer's Manual SPU_CREATE(2) | ||
404 | |||
405 | |||
406 | |||
407 | NAME | ||
408 | spu_create - create a new spu context | ||
409 | |||
410 | |||
411 | SYNOPSIS | ||
412 | #include <sys/types.h> | ||
413 | #include <sys/spu.h> | ||
414 | |||
415 | int spu_create(const char *pathname, int flags, mode_t mode); | ||
416 | |||
417 | DESCRIPTION | ||
418 | The spu_create system call is used on PowerPC machines that implement | ||
419 | the Cell Broadband Engine Architecture in order to access Synergistic | ||
420 | Processor Units (SPUs). It creates a new logical context for an SPU in | ||
421 | pathname and returns a handle to associated with it. pathname must | ||
422 | point to a non-existing directory in the mount point of the SPU file | ||
423 | system (spufs). When spu_create is successful, a directory gets cre- | ||
424 | ated on pathname and it is populated with files. | ||
425 | |||
426 | The returned file handle can only be passed to spu_run(2) or closed, | ||
427 | other operations are not defined on it. When it is closed, all associ- | ||
428 | ated directory entries in spufs are removed. When the last file handle | ||
429 | pointing either inside of the context directory or to this file | ||
430 | descriptor is closed, the logical SPU context is destroyed. | ||
431 | |||
432 | The parameter flags can be zero or any bitwise or'd combination of the | ||
433 | following constants: | ||
434 | |||
435 | SPU_RAWIO | ||
436 | Allow mapping of some of the hardware registers of the SPU into | ||
437 | user space. This flag requires the CAP_SYS_RAWIO capability, see | ||
438 | capabilities(7). | ||
439 | |||
440 | The mode parameter specifies the permissions used for creating the new | ||
441 | directory in spufs. mode is modified with the user's umask(2) value | ||
442 | and then used for both the directory and the files contained in it. The | ||
443 | file permissions mask out some more bits of mode because they typically | ||
444 | support only read or write access. See stat(2) for a full list of the | ||
445 | possible mode values. | ||
446 | |||
447 | |||
448 | RETURN VALUE | ||
449 | spu_create returns a new file descriptor. It may return -1 to indicate | ||
450 | an error condition and set errno to one of the error codes listed | ||
451 | below. | ||
452 | |||
453 | |||
454 | ERRORS | ||
455 | EACCESS | ||
456 | The current user does not have write access on the spufs mount | ||
457 | point. | ||
458 | |||
459 | EEXIST An SPU context already exists at the given path name. | ||
460 | |||
461 | EFAULT pathname is not a valid string pointer in the current address | ||
462 | space. | ||
463 | |||
464 | EINVAL pathname is not a directory in the spufs mount point. | ||
465 | |||
466 | ELOOP Too many symlinks were found while resolving pathname. | ||
467 | |||
468 | EMFILE The process has reached its maximum open file limit. | ||
469 | |||
470 | ENAMETOOLONG | ||
471 | pathname was too long. | ||
472 | |||
473 | ENFILE The system has reached the global open file limit. | ||
474 | |||
475 | ENOENT Part of pathname could not be resolved. | ||
476 | |||
477 | ENOMEM The kernel could not allocate all resources required. | ||
478 | |||
479 | ENOSPC There are not enough SPU resources available to create a new | ||
480 | context or the user specific limit for the number of SPU con- | ||
481 | texts has been reached. | ||
482 | |||
483 | ENOSYS the functionality is not provided by the current system, because | ||
484 | either the hardware does not provide SPUs or the spufs module is | ||
485 | not loaded. | ||
486 | |||
487 | ENOTDIR | ||
488 | A part of pathname is not a directory. | ||
489 | |||
490 | |||
491 | |||
492 | NOTES | ||
493 | spu_create is meant to be used from libraries that implement a more | ||
494 | abstract interface to SPUs, not to be used from regular applications. | ||
495 | See http://www.bsc.es/projects/deepcomputing/linuxoncell/ for the rec- | ||
496 | ommended libraries. | ||
497 | |||
498 | |||
499 | FILES | ||
500 | pathname must point to a location beneath the mount point of spufs. By | ||
501 | convention, it gets mounted in /spu. | ||
502 | |||
503 | |||
504 | CONFORMING TO | ||
505 | This call is Linux specific and only implemented by the ppc64 architec- | ||
506 | ture. Programs using this system call are not portable. | ||
507 | |||
508 | |||
509 | BUGS | ||
510 | The code does not yet fully implement all features lined out here. | ||
511 | |||
512 | |||
513 | AUTHOR | ||
514 | Arnd Bergmann <arndb@de.ibm.com> | ||
515 | |||
516 | SEE ALSO | ||
517 | capabilities(7), close(2), spu_run(2), spufs(7) | ||
518 | |||
519 | |||
520 | |||
521 | Linux 2005-09-28 SPU_CREATE(2) | ||
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt index 0541fe1de704..0ea5a0c6e827 100644 --- a/Documentation/kprobes.txt +++ b/Documentation/kprobes.txt | |||
@@ -411,7 +411,8 @@ int init_module(void) | |||
411 | printk("Couldn't find %s to plant kprobe\n", "do_fork"); | 411 | printk("Couldn't find %s to plant kprobe\n", "do_fork"); |
412 | return -1; | 412 | return -1; |
413 | } | 413 | } |
414 | if ((ret = register_kprobe(&kp) < 0)) { | 414 | ret = register_kprobe(&kp); |
415 | if (ret < 0) { | ||
415 | printk("register_kprobe failed, returned %d\n", ret); | 416 | printk("register_kprobe failed, returned %d\n", ret); |
416 | return -1; | 417 | return -1; |
417 | } | 418 | } |
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index b0fe41da007b..8d8b4e5ea184 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -945,7 +945,6 @@ bond0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 | |||
945 | collisions:0 txqueuelen:0 | 945 | collisions:0 txqueuelen:0 |
946 | 946 | ||
947 | eth0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 | 947 | eth0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 |
948 | inet addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0 | ||
949 | UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 | 948 | UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 |
950 | RX packets:3573025 errors:0 dropped:0 overruns:0 frame:0 | 949 | RX packets:3573025 errors:0 dropped:0 overruns:0 frame:0 |
951 | TX packets:1643167 errors:1 dropped:0 overruns:1 carrier:0 | 950 | TX packets:1643167 errors:1 dropped:0 overruns:1 carrier:0 |
@@ -953,7 +952,6 @@ eth0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 | |||
953 | Interrupt:10 Base address:0x1080 | 952 | Interrupt:10 Base address:0x1080 |
954 | 953 | ||
955 | eth1 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 | 954 | eth1 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4 |
956 | inet addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0 | ||
957 | UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 | 955 | UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 |
958 | RX packets:3651769 errors:0 dropped:0 overruns:0 frame:0 | 956 | RX packets:3651769 errors:0 dropped:0 overruns:0 frame:0 |
959 | TX packets:1643480 errors:0 dropped:0 overruns:0 carrier:0 | 957 | TX packets:1643480 errors:0 dropped:0 overruns:0 carrier:0 |
diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX index e7bea0a407b4..d6d65b9bcfe3 100644 --- a/Documentation/powerpc/00-INDEX +++ b/Documentation/powerpc/00-INDEX | |||
@@ -8,12 +8,18 @@ please mail me. | |||
8 | cpu_features.txt | 8 | cpu_features.txt |
9 | - info on how we support a variety of CPUs with minimal compile-time | 9 | - info on how we support a variety of CPUs with minimal compile-time |
10 | options. | 10 | options. |
11 | eeh-pci-error-recovery.txt | ||
12 | - info on PCI Bus EEH Error Recovery | ||
13 | hvcs.txt | ||
14 | - IBM "Hypervisor Virtual Console Server" Installation Guide | ||
15 | mpc52xx.txt | ||
16 | - Linux 2.6.x on MPC52xx family | ||
11 | ppc_htab.txt | 17 | ppc_htab.txt |
12 | - info about the Linux/PPC /proc/ppc_htab entry | 18 | - info about the Linux/PPC /proc/ppc_htab entry |
13 | smp.txt | ||
14 | - use and state info about Linux/PPC on MP machines | ||
15 | SBC8260_memory_mapping.txt | 19 | SBC8260_memory_mapping.txt |
16 | - EST SBC8260 board info | 20 | - EST SBC8260 board info |
21 | smp.txt | ||
22 | - use and state info about Linux/PPC on MP machines | ||
17 | sound.txt | 23 | sound.txt |
18 | - info on sound support under Linux/PPC | 24 | - info on sound support under Linux/PPC |
19 | zImage_layout.txt | 25 | zImage_layout.txt |