Skip to content

Commit 62ba516

Browse files
committed
strictdoc: Add configuration, custom validations, sidecar with requirements stubs
1 parent 68d9bf1 commit 62ba516

5 files changed

Lines changed: 558 additions & 0 deletions

File tree

Lines changed: 297 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,297 @@
1+
[DOCUMENT]
2+
MID: c2d4542d5f1741c88dfcb4f68ad7dcbd
3+
TITLE: Character Drivers and Misc
4+
UID: DOC-SUBSYS-CHARMISC
5+
OPTIONS:
6+
ENABLE_MID: True
7+
RELATION_FIELD: MID
8+
MARKUP: Text
9+
10+
[GRAMMAR]
11+
IMPORT_FROM_FILE: grammar.sgra
12+
13+
[[SECTION]]
14+
TITLE: High-Level Requirements
15+
16+
[TEXT]
17+
STATEMENT: >>>
18+
Nothing here yet. Let's interview a subsystem maintainer...
19+
<<<
20+
21+
[[/SECTION]]
22+
23+
[[SECTION]]
24+
TITLE: Low-Level Requirements
25+
26+
[[SECTION]]
27+
TITLE: devmem
28+
29+
[[SECTION]]
30+
TITLE: Requirements
31+
32+
[REQUIREMENT]
33+
MID: drivers/char/mem.c:read_mem
34+
SPDX-Req-Sys: Character Drivers and Misc
35+
TITLE: read_mem
36+
37+
[REQUIREMENT]
38+
MID: drivers/char/mem.c:write_mem
39+
SPDX-Req-Sys: Character Drivers and Misc
40+
TITLE: write_mem
41+
42+
[REQUIREMENT]
43+
MID: drivers/char/mem.c:mmap_mem
44+
SPDX-Req-Sys: Character Drivers and Misc
45+
TITLE: mmap_mem
46+
47+
[REQUIREMENT]
48+
MID: drivers/char/mem.c:memory_lseek
49+
SPDX-Req-Sys: Character Drivers and Misc
50+
TITLE: memory_lseek
51+
COMMENT: >>>
52+
The memory devices use the full 32/64 bits of the offset, and so we cannot
53+
check against negative addresses: they are ok. The return value is weird,
54+
though, in that case (0).
55+
<<<
56+
COMMENT: >>>
57+
Also note that seeking relative to the "end of file" isn't supported:
58+
it has no meaning, so passing orig equal to SEEK_END returns -EINVAL.
59+
<<<
60+
61+
[REQUIREMENT]
62+
MID: drivers/char/mem.c:open_port
63+
SPDX-Req-Sys: Character Drivers and Misc
64+
TITLE: open_port
65+
66+
[REQUIREMENT]
67+
MID: drivers/char/mem.c:memory_open
68+
SPDX-Req-Sys: Character Drivers and Misc
69+
TITLE: memory_open
70+
71+
[[/SECTION]]
72+
73+
[[SECTION]]
74+
TITLE: Tests
75+
76+
[TEST]
77+
MID: selftests/devmem:access
78+
TITLE: memory_open FE_1, FE_2, FE_4
79+
DESCRIPTION: Test whether /dev/mem is accessible
80+
RELATIONS:
81+
- TYPE: Parent
82+
VALUE: drivers/char/mem.c:memory_open
83+
ROLE: Test
84+
- TYPE: File
85+
ROLE: Test
86+
VALUE: tools/testing/selftests/devmem/tests.c
87+
FUNCTION: test_devmem_access
88+
- TYPE: File
89+
ROLE: Test
90+
VALUE: tools/testing/selftests/devmem/devmem.c
91+
LINE_RANGE: 27, 32
92+
93+
[TEST]
94+
MID: selftests/devmem:open_devnum
95+
TITLE: memory_open FE_3
96+
DESCRIPTION: Test open /dev/mem provides the correct min, maj
97+
RELATIONS:
98+
- TYPE: Parent
99+
VALUE: drivers/char/mem.c:memory_open
100+
ROLE: Test
101+
- TYPE: File
102+
ROLE: Test
103+
VALUE: tools/testing/selftests/devmem/tests.c
104+
FUNCTION: test_open_devnum
105+
- TYPE: File
106+
ROLE: Test
107+
VALUE: tools/testing/selftests/devmem/devmem.c
108+
LINE_RANGE: 33, 36
109+
110+
[TEST]
111+
MID: selftests/devmem:strict_devmem
112+
TITLE: test_strict_devmem
113+
DESCRIPTION: Test Strict Devmem enabled - Dependency
114+
RELATIONS:
115+
- TYPE: File
116+
ROLE: Test
117+
VALUE: tools/testing/selftests/devmem/tests.c
118+
FUNCTION: test_strict_devmem
119+
- TYPE: File
120+
ROLE: Test
121+
VALUE: tools/testing/selftests/devmem/devmem.c
122+
LINE_RANGE: 37, 42
123+
124+
[TEST]
125+
MID: selftests/devmem:read_at_addr_32bit_ge
126+
TITLE: read_mem FE_1
127+
DESCRIPTION: Test read 64bit ppos vs 32 bit addr
128+
RELATIONS:
129+
- TYPE: Parent
130+
VALUE: drivers/char/mem.c:read_mem
131+
ROLE: Test
132+
- TYPE: File
133+
ROLE: Test
134+
VALUE: tools/testing/selftests/devmem/tests.c
135+
FUNCTION: test_read_at_addr_32bit_ge
136+
- TYPE: File
137+
ROLE: Test
138+
VALUE: tools/testing/selftests/devmem/devmem.c
139+
LINE_RANGE: 43, 48
140+
141+
[TEST]
142+
MID: selftests/devmem:read_outside_linear_map
143+
TITLE: read_mem FE_2
144+
DESCRIPTION: Test read outside linear map
145+
RELATIONS:
146+
- TYPE: Parent
147+
VALUE: drivers/char/mem.c:read_mem
148+
ROLE: Test
149+
- TYPE: File
150+
ROLE: Test
151+
VALUE: tools/testing/selftests/devmem/tests.c
152+
FUNCTION: test_read_outside_linear_map
153+
- TYPE: File
154+
ROLE: Test
155+
VALUE: tools/testing/selftests/devmem/devmem.c
156+
LINE_RANGE: 49, 54
157+
158+
[TEST]
159+
MID: selftests/devmem:read_secret_area
160+
TITLE: read_mem FE_???
161+
DESCRIPTION: Test read memfd_secret area can not being accessed
162+
RELATIONS:
163+
- TYPE: Parent
164+
VALUE: drivers/char/mem.c:read_mem
165+
- TYPE: File
166+
ROLE: Test
167+
VALUE: tools/testing/selftests/devmem/tests.c
168+
FUNCTION: test_read_secret_area
169+
- TYPE: File
170+
ROLE: Test
171+
VALUE: tools/testing/selftests/devmem/devmem.c
172+
LINE_RANGE: 55, 60
173+
174+
[TEST]
175+
MID: selftests/devmem:read_allowed_area
176+
TITLE: read_mem FE_3.2
177+
DESCRIPTION: test read allowed area
178+
RELATIONS:
179+
- TYPE: Parent
180+
VALUE: drivers/char/mem.c:read_mem
181+
ROLE: Test
182+
- TYPE: File
183+
ROLE: Test
184+
VALUE: tools/testing/selftests/devmem/tests.c
185+
FUNCTION: test_read_allowed_area
186+
- TYPE: File
187+
ROLE: Test
188+
VALUE: tools/testing/selftests/devmem/devmem.c
189+
LINE_RANGE: 61, 66
190+
191+
[TEST]
192+
MID: selftests/devmem:read_allowed_area_ppos_advance
193+
TITLE: read_mem FE_4
194+
DESCRIPTION: test read allowed area increments ppos
195+
RELATIONS:
196+
- TYPE: Parent
197+
VALUE: drivers/char/mem.c:read_mem
198+
ROLE: Test
199+
- TYPE: File
200+
ROLE: Test
201+
VALUE: tools/testing/selftests/devmem/tests.c
202+
FUNCTION: test_read_allowed_area_ppos_advance
203+
- TYPE: File
204+
ROLE: Test
205+
VALUE: tools/testing/selftests/devmem/devmem.c
206+
LINE_RANGE: 67, 72
207+
208+
[TEST]
209+
MID: selftests/devmem:read_restricted_area
210+
TITLE: read_mem FE_3.3, FE_3.3.1, FE_3.2.2
211+
DESCRIPTION: test read restricted returns zeros
212+
RELATIONS:
213+
- TYPE: Parent
214+
VALUE: drivers/char/mem.c:read_mem
215+
ROLE: Test
216+
- TYPE: File
217+
ROLE: Test
218+
VALUE: tools/testing/selftests/devmem/tests.c
219+
FUNCTION: test_read_restricted_area
220+
- TYPE: File
221+
ROLE: Test
222+
VALUE: tools/testing/selftests/devmem/devmem.c
223+
LINE_RANGE: 73, 78
224+
225+
[TEST]
226+
MID: selftests/devmem:write_outside_area
227+
TITLE: write_mem - FE_2
228+
DESCRIPTION: test write outside
229+
RELATIONS:
230+
- TYPE: Parent
231+
VALUE: drivers/char/mem.c:write_mem
232+
ROLE: Test
233+
- TYPE: File
234+
ROLE: Test
235+
VALUE: tools/testing/selftests/devmem/tests.c
236+
FUNCTION: test_write_outside_area
237+
- TYPE: File
238+
ROLE: Test
239+
VALUE: tools/testing/selftests/devmem/devmem.c
240+
LINE_RANGE: 79, 84
241+
242+
[TEST]
243+
MID: selftests/devmem:seek_seek_set
244+
TITLE: memory_lseek FE_2, FE_2.2
245+
DESCRIPTION: test seek funcction SEEK_SET
246+
RELATIONS:
247+
- TYPE: Parent
248+
VALUE: drivers/char/mem.c:memory_lseek
249+
ROLE: Test
250+
- TYPE: File
251+
ROLE: Test
252+
VALUE: tools/testing/selftests/devmem/tests.c
253+
FUNCTION: test_seek_seek_set
254+
- TYPE: File
255+
ROLE: Test
256+
VALUE: tools/testing/selftests/devmem/devmem.c
257+
LINE_RANGE: 85, 90
258+
259+
[TEST]
260+
MID: selftests/devmem:seek_seek_cur
261+
TITLE: memory_lseek FE_2, FE_2.1
262+
DESCRIPTION: test seek function SEEK_CUR
263+
RELATIONS:
264+
- TYPE: Parent
265+
VALUE: drivers/char/mem.c:memory_lseek
266+
ROLE: Test
267+
- TYPE: File
268+
ROLE: Test
269+
VALUE: tools/testing/selftests/devmem/tests.c
270+
FUNCTION: test_seek_seek_cur
271+
- TYPE: File
272+
ROLE: Test
273+
VALUE: tools/testing/selftests/devmem/devmem.c
274+
LINE_RANGE: 91, 96
275+
276+
[TEST]
277+
MID: selftests/devmem:seek_seek_other
278+
TITLE: memory_lseek FE_2, FE2.3
279+
DESCRIPTION: test seek function SEEK_END other
280+
RELATIONS:
281+
- TYPE: Parent
282+
VALUE: drivers/char/mem.c:memory_lseek
283+
ROLE: Test
284+
- TYPE: File
285+
ROLE: Test
286+
VALUE: tools/testing/selftests/devmem/tests.c
287+
FUNCTION: test_seek_seek_other
288+
- TYPE: File
289+
ROLE: Test
290+
VALUE: tools/testing/selftests/devmem/devmem.c
291+
LINE_RANGE: 97, 102
292+
293+
[[/SECTION]]
294+
295+
[[/SECTION]]
296+
297+
[[/SECTION]]
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[GRAMMAR]
2+
ELEMENTS:
3+
- TAG: SECTION
4+
PROPERTIES:
5+
IS_COMPOSITE: True
6+
FIELDS:
7+
- TITLE: UID
8+
TYPE: String
9+
REQUIRED: False
10+
- TITLE: MID
11+
TYPE: String
12+
REQUIRED: False
13+
- TITLE: TITLE
14+
TYPE: String
15+
REQUIRED: True
16+
- TAG: REQUIREMENT
17+
PROPERTIES:
18+
VIEW_STYLE: Narrative
19+
FIELDS:
20+
- TITLE: MID
21+
HUMAN_TITLE: SPDX-Req-ID
22+
TYPE: String
23+
REQUIRED: False
24+
- TITLE: SPDX-Req-HKey
25+
TYPE: String
26+
REQUIRED: False
27+
- TITLE: SPDX-Req-Sys
28+
TYPE: String
29+
REQUIRED: False
30+
- TITLE: TITLE
31+
TYPE: String
32+
REQUIRED: False
33+
- TITLE: STATEMENT
34+
HUMAN_TITLE: SPDX-Req-Text
35+
TYPE: String
36+
REQUIRED: False
37+
- TITLE: COMMENT
38+
HUMAN_TITLE: SPDX-Req-Note
39+
TYPE: String
40+
REQUIRED: False
41+
RELATIONS:
42+
- TYPE: Parent
43+
- TYPE: File
44+
- TYPE: File
45+
ROLE: Test
46+
- TAG: TEST
47+
PROPERTIES:
48+
VIEW_STYLE: Narrative
49+
FIELDS:
50+
- TITLE: UID
51+
TYPE: String
52+
REQUIRED: False
53+
- TITLE: MID
54+
TYPE: String
55+
REQUIRED: False
56+
- TITLE: TITLE
57+
TYPE: String
58+
REQUIRED: False
59+
- TITLE: DESCRIPTION
60+
TYPE: String
61+
REQUIRED: False
62+
RELATIONS:
63+
- TYPE: Parent
64+
- TYPE: Parent
65+
ROLE: Test
66+
- TYPE: File
67+
- TYPE: File
68+
ROLE: Test

0 commit comments

Comments
 (0)