Skip to content

Commit 82a4186

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

5 files changed

Lines changed: 538 additions & 0 deletions

File tree

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