diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/m68k/ifpsp060/TEST.DOC |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'arch/m68k/ifpsp060/TEST.DOC')
-rw-r--r-- | arch/m68k/ifpsp060/TEST.DOC | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/arch/m68k/ifpsp060/TEST.DOC b/arch/m68k/ifpsp060/TEST.DOC new file mode 100644 index 000000000000..5e5900cb2dc4 --- /dev/null +++ b/arch/m68k/ifpsp060/TEST.DOC | |||
@@ -0,0 +1,208 @@ | |||
1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
2 | MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP | ||
3 | M68000 Hi-Performance Microprocessor Division | ||
4 | M68060 Software Package | ||
5 | Production Release P1.00 -- October 10, 1994 | ||
6 | |||
7 | M68060 Software Package Copyright © 1993, 1994 Motorola Inc. All rights reserved. | ||
8 | |||
9 | THE SOFTWARE is provided on an "AS IS" basis and without warranty. | ||
10 | To the maximum extent permitted by applicable law, | ||
11 | MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, | ||
12 | INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE | ||
13 | and any warranty against infringement with regard to the SOFTWARE | ||
14 | (INCLUDING ANY MODIFIED VERSIONS THEREOF) and any accompanying written materials. | ||
15 | |||
16 | To the maximum extent permitted by applicable law, | ||
17 | IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER | ||
18 | (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, | ||
19 | BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) | ||
20 | ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE. | ||
21 | Motorola assumes no responsibility for the maintenance and support of the SOFTWARE. | ||
22 | |||
23 | You are hereby granted a copyright license to use, modify, and distribute the SOFTWARE | ||
24 | so long as this entire notice is retained without alteration in any modified and/or | ||
25 | redistributed versions, and that such modified versions are clearly identified as such. | ||
26 | No licenses are granted by implication, estoppel or otherwise under any patents | ||
27 | or trademarks of Motorola, Inc. | ||
28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
29 | 68060 SOFTWARE PACKAGE (Kernel version) SIMPLE TESTS | ||
30 | ----------------------------------------------------- | ||
31 | |||
32 | The files itest.sa and ftest.sa contain simple tests to check | ||
33 | the state of the 68060ISP and 68060FPSP once they have been installed. | ||
34 | |||
35 | Release file format: | ||
36 | -------------------- | ||
37 | The release files itest.sa and ftest.sa are essentially | ||
38 | hexadecimal images of the actual tests. This format is the | ||
39 | ONLY format that will be supported. The hex images were created | ||
40 | by assembling the source code and then converting the resulting | ||
41 | binary output images into ASCII text files. The hexadecimal | ||
42 | numbers are listed using the Motorola Assembly syntax assembler | ||
43 | directive "dc.l" (define constant longword). The files can be | ||
44 | converted to other assembly syntaxes by using any word processor | ||
45 | with a global search and replace function. | ||
46 | |||
47 | To assist in assembling and linking these modules with other modules, | ||
48 | the installer should add symbolic labels to the top of the files. | ||
49 | This will allow the calling routines to access the entry points | ||
50 | of these packages. | ||
51 | |||
52 | The source code itest.s and ftest.s have been included but only | ||
53 | for documentation purposes. | ||
54 | |||
55 | Release file structure: | ||
56 | ----------------------- | ||
57 | |||
58 | (top of module) | ||
59 | ----------------- | ||
60 | | | - 128 byte-sized section | ||
61 | (1) | Call-Out | - 4 bytes per entry (user fills these in) | ||
62 | | | | ||
63 | ----------------- | ||
64 | | | - 8 bytes per entry | ||
65 | (2) | Entry Point | - user does "bsr" or "jsr" to this address | ||
66 | | | | ||
67 | ----------------- | ||
68 | | | - code section | ||
69 | (3) ~ ~ | ||
70 | | | | ||
71 | ----------------- | ||
72 | (bottom of module) | ||
73 | |||
74 | The first section of this module is the "Call-out" section. This section | ||
75 | is NOT INCLUDED in {i,f}test.sa (an example "Call-out" section is provided at | ||
76 | the end of this file). The purpose of this section is to allow the test | ||
77 | routines to reference external printing functions that must be provided | ||
78 | by the host operating system. This section MUST be exactly 128 bytes in | ||
79 | size. There are 32 fields, each 4 bytes in size. Each field corresponds | ||
80 | to a function required by the test packages (these functions and their | ||
81 | location are listed in "68060{ISP,FPSP}-TEST call-outs" below). Each field | ||
82 | entry should contain the address of the corresponding function RELATIVE to | ||
83 | the starting address of the "call-out" section. The "Call-out" section must | ||
84 | sit adjacent to the {i,f}test.sa image in memory. Since itest.sa and ftest.sa | ||
85 | are individual tests, they each require their own "Call-out" sections. | ||
86 | |||
87 | The second section, the "Entry-point" section, is used by external routines | ||
88 | to access the test routines. Since the {i,f}test.sa hex files contain | ||
89 | no symbol names, this section contains function entry points that are fixed | ||
90 | with respect to the top of the package. The currently defined entry-points | ||
91 | are listed in section "68060{ISP,FPSP}-TEST entry points" below. A calling | ||
92 | routine would simply execute a "bsr" or "jsr" that jumped to the selected | ||
93 | function entry-point. | ||
94 | |||
95 | For example, to run the 060ISP test, write a program that includes the | ||
96 | itest.sa data and execute something similar to: | ||
97 | |||
98 | bsr _060ISP_TEST+128+0 | ||
99 | |||
100 | (_060ISP_TEST is the starting address of the "Call-out" section; the "Call-out" | ||
101 | section is 128 bytes long; and the 68060ISP test entry point is located | ||
102 | 0 bytes from the top of the "Entry-point" section.) | ||
103 | |||
104 | The third section is the code section. After entering through an "Entry-point", | ||
105 | the entry code jumps to the appropriate test code within the code section. | ||
106 | |||
107 | 68060ISP-TEST Call-outs: | ||
108 | ------------------------ | ||
109 | 0x0: _print_string() | ||
110 | 0x4: _print_number() | ||
111 | |||
112 | 68060FPSP-TEST Call-outs: | ||
113 | ------------------------- | ||
114 | 0x0: _print_string() | ||
115 | 0x4: _print_number() | ||
116 | |||
117 | The test packages call _print_string() and _print_number() | ||
118 | as subroutines and expect the main program to print a string | ||
119 | or a number to a file or to the screen. | ||
120 | In "C"-like fashion, the test program calls: | ||
121 | |||
122 | print_string("Test passed"); | ||
123 | |||
124 | or | ||
125 | |||
126 | print_number(20); | ||
127 | |||
128 | For _print_string(), the test programs pass a longword address | ||
129 | of the string on the stack. For _print_number(), the test programs pass | ||
130 | a longword number to be printed. | ||
131 | |||
132 | For debugging purposes, after the main program performs a "print" | ||
133 | for a test package, it should flush the output so that it's not | ||
134 | buffered. In this way, if the test program crashes, at least the previous | ||
135 | statements printed will be seen. | ||
136 | |||
137 | 68060ISP-TEST Entry-points: | ||
138 | --------------------------- | ||
139 | 0x0: integer test | ||
140 | |||
141 | 68060FPSP-TEST Entry-points: | ||
142 | ---------------------------- | ||
143 | 0x00: main fp test | ||
144 | 0x08: FP unimplemented test | ||
145 | 0x10: FP enabled snan/operr/ovfl/unfl/dz/inex | ||
146 | |||
147 | The floating-point unit test has 3 entry points which will require | ||
148 | 3 different calls to the package if each of the three following tests | ||
149 | is desired: | ||
150 | |||
151 | main fp test: tests (1) unimp effective address exception | ||
152 | (2) unsupported data type exceptions | ||
153 | (3) non-maskable overflow/underflow exceptions | ||
154 | |||
155 | FP unimplemented: tests FP unimplemented exception. this one is | ||
156 | separate from the previous tests for systems that don't | ||
157 | want FP unimplemented instructions. | ||
158 | |||
159 | FP enabled: tests enabled snan/operr/ovfl/unfl/dz/inex. | ||
160 | basically, it enables each of these exceptions and forces | ||
161 | each using an implemented FP instruction. this process | ||
162 | exercises _fpsp_{snan,operr,ovfl,unfl,dz,inex}() and | ||
163 | _real_{snan,operr,ovfl,unfl,dz,inex}(). the test expects | ||
164 | _real_XXXX() to do nothing except clear the exception | ||
165 | and "rte". if a system's _real_XXXX() handler creates an | ||
166 | alternate result, the test will print "failed" but this | ||
167 | is acceptable. | ||
168 | |||
169 | Miscellaneous: | ||
170 | -------------- | ||
171 | Again, itest.sa and ftest.sa are simple tests and do not thoroughly | ||
172 | test all 68060SP connections. For example, they do not test connections | ||
173 | to _real_access(), _real_trace(), _real_trap(), etc. because these | ||
174 | will be system-implemented several different ways and the test packages | ||
175 | must remain system independent. | ||
176 | |||
177 | Example test package set-up: | ||
178 | ---------------------------- | ||
179 | _print_str: | ||
180 | . # provided by system | ||
181 | rts | ||
182 | |||
183 | _print_num: | ||
184 | . # provided by system | ||
185 | rts | ||
186 | |||
187 | . | ||
188 | . | ||
189 | bsr _060FPSP_TEST+128+0 | ||
190 | . | ||
191 | . | ||
192 | rts | ||
193 | |||
194 | # beginning of "Call-out" section; provided by integrator. | ||
195 | # MUST be 128 bytes long. | ||
196 | _060FPSP_TEST: | ||
197 | long _print_str - _060FPSP_TEST | ||
198 | long _print_num - _060FPSP_TEST | ||
199 | space 120 | ||
200 | |||
201 | # ftest.sa starts here; start of "Entry-point" section. | ||
202 | long 0x60ff0000, 0x00002346 | ||
203 | long 0x60ff0000, 0x00018766 | ||
204 | long 0x60ff0000, 0x00023338 | ||
205 | long 0x24377299, 0xab2643ea | ||
206 | . | ||
207 | . | ||
208 | . | ||