File tree 3 files changed +23
-31
lines changed
kani-compiler/src/codegen_cprover_gotoc/codegen
3 files changed +23
-31
lines changed Original file line number Diff line number Diff line change @@ -405,16 +405,3 @@ fn extract_integer_argument(attr: &Attribute) -> Option<u128> {
405
405
None
406
406
}
407
407
}
408
-
409
- // /// Extracts the integer value argument from the attribute provided
410
- // /// For example, `unwind(8)` return `Some(8)`
411
- // fn extract_integer_arguments(attr: &Attribute) -> Result<Vec<u128>, String> {
412
- // // Vector of meta items , that contain the arguments given the attribute
413
- // let attr_args = attr.meta_item_list().unwrap;
414
- // Ok(attr_args.iter().map(|a| {
415
- // match a.literal()?.kind {
416
- // LitKind::Int(y, ..) => Some(y),
417
- // _ => None,
418
- // }
419
- // }).collect())
420
- // }
Original file line number Diff line number Diff line change @@ -96,10 +96,14 @@ impl KaniSession {
96
96
}
97
97
98
98
if !harness_metadata. mmio_regions . is_empty ( ) {
99
- for ( start, len) in & harness_metadata. mmio_regions {
100
- args. push ( "--mmio-regions" . into ( ) ) ;
101
- args. push ( format ! ( "{}:{}" , start, len) . into ( ) ) ;
102
- }
99
+ args. push ( "--mmio-regions" . into ( ) ) ;
100
+ let mmio_string = harness_metadata
101
+ . mmio_regions
102
+ . iter ( )
103
+ . map ( |( s, l) | format ! ( "{}:{}" , s, l) )
104
+ . collect :: < Vec < String > > ( )
105
+ . join ( "," ) ;
106
+ args. push ( mmio_string. into ( ) ) ;
103
107
}
104
108
105
109
args. push ( "--slice-formula" . into ( ) ) ;
Original file line number Diff line number Diff line change 1
1
// Copyright Kani Contributors
2
2
// SPDX-License-Identifier: Apache-2.0 OR MIT
3
3
4
- # [ cfg ( kani ) ]
5
- const BUFFER : * mut u32 = 0xb8000 as * mut u32 ;
4
+ const BUFFER : * mut u32 = 0x8000 as * mut u32 ;
5
+ const BUFFER2 : * mut u32 = 0x1000 as * mut u32 ;
6
6
7
+ #[ cfg( kani) ]
7
8
#[ kani:: proof]
8
- #[ kani:: mmio_region( 0xb8000 , 4 ) ]
9
+ #[ kani:: mmio_region( 0x8000 , 4 ) ]
9
10
fn test_write ( ) {
10
11
let val = 12 ;
11
12
unsafe {
12
13
core:: ptr:: write_volatile ( BUFFER , val) ;
13
14
}
14
15
}
15
16
16
- // #[cfg(kani)]
17
- // #[kani::proof]
18
- // #[kani::mmio_region(0xb8000 , 4)]
19
- // #[kani::mmio_region(0xbF000 , 4)]
20
- // fn test_write2() {
21
- // let val = 12;
22
- // unsafe {
23
- // core::ptr::write_volatile(BUFFER, val);
24
- // core::ptr::write_volatile(BUFFER2, val);
17
+ #[ cfg( kani) ]
18
+ #[ kani:: proof]
19
+ #[ kani:: mmio_region( 0x8000 , 4 ) ]
20
+ #[ kani:: mmio_region( 0x1000 , 4 ) ]
21
+ fn test_write2 ( ) {
22
+ let val = 12 ;
23
+ unsafe {
24
+ core:: ptr:: write_volatile ( BUFFER , val) ;
25
+ core:: ptr:: write_volatile ( BUFFER2 , val) ;
25
26
26
- // }
27
- // }
27
+ }
28
+ }
You can’t perform that action at this time.
0 commit comments