/linux-6.14.4/tools/memory-model/ |
D | linux-kernel.cat | 28 let acq-po = [Acquire] ; po ; [M] 29 let po-rel = [M] ; po ; [Release] 30 let po-unlock-lock-po = po ; [UL] ; (po|rf) ; [LKR] ; po 33 let R4rmb = R \ Noreturn (* Reads for which rmb works *) 34 let rmb = [R4rmb] ; fencerel(Rmb) ; [R4rmb] 35 let wmb = [W] ; fencerel(Wmb) ; [W] 36 let mb = ([M] ; fencerel(Mb) ; [M]) | 54 let gp = po ; [Sync-rcu | Sync-srcu] ; po? 55 let strong-fence = mb | gp 57 let nonrw-fence = strong-fence | po-rel | acq-po [all …]
|
D | lock.cat | 33 let RL = try RL with emptyset 34 let RU = try RU with emptyset 37 let LF = LF | RL 40 let ALL-LOCKS = LKR | LKW | UL | LF | RU | Srcu-lock | Srcu-unlock | Sync-srcu 44 let lk-rmw = ([LKR] ; po-loc ; [LKW]) \ (po ; po) 45 let rmw = rmw | lk-rmw 70 let R = R | LKR | LF | RU 71 let W = W | LKW 73 let Release = Release | UL 74 let Acquire = Acquire | LKR [all …]
|
D | linux-kernel.bell | 42 let Srcu = Srcu-lock | Srcu-unlock | Sync-srcu 45 let rcu-rscs = let rec 61 let carry-srcu-data = (data ; [~ Srcu-unlock] ; rf)* 62 let srcu-rscs = ([Srcu-lock] ; carry-srcu-data ; data ; [Srcu-unlock]) & loc 76 let Marked = (~M) | IW | Once | Release | Acquire | domain(rmw) | range(rmw) | 78 let Plain = M \ Marked 81 let carry-dep = (data ; [~ Srcu-unlock] ; rfi)* 82 let addr = carry-dep ; addr 83 let ctrl = carry-dep ; ctrl 84 let data = carry-dep ; data
|
/linux-6.14.4/rust/macros/ |
D | vtable.rs | 8 let mut tokens: Vec<_> = ts.into_iter().collect(); in vtable() 11 let is_trait = tokens in vtable() 24 let body = match tokens.pop() { in vtable() 29 let mut body_it = body.stream().into_iter(); in vtable() 30 let mut functions = Vec::new(); in vtable() 31 let mut consts = HashSet::new(); in vtable() 32 while let Some(token) = body_it.next() { in vtable() 35 let fn_name = match body_it.next() { in vtable() 43 let const_name = match body_it.next() { in vtable() 54 let mut const_items; in vtable() [all …]
|
D | paste.rs | 6 let mut tokens = tokens.iter(); in concat_helper() 7 let mut segments = Vec::new(); in concat_helper() 8 let mut span = None; in concat_helper() 14 let mut value = lit.to_string(); in concat_helper() 22 let mut value = ident.to_string(); in concat_helper() 29 let Some(TokenTree::Ident(ident)) = tokens.next() else { in concat_helper() 33 let (mut value, sp) = segments.pop().expect("expected identifier before modifier"); in concat_helper() 50 let tokens = group.stream().into_iter().collect::<Vec<TokenTree>>(); in concat_helper() 61 let segments = concat_helper(tokens); in concat() 62 let pasted: String = segments.into_iter().map(|x| x.0).collect(); in concat() [all …]
|
D | helpers.rs | 6 if let Some(TokenTree::Ident(ident)) = it.next() { in try_ident() 14 if let Some(TokenTree::Literal(literal)) = it.next() { in try_literal() 24 let content = &string[1..string.len() - 1]; in try_string() 42 if let TokenTree::Punct(punct) = it.next().expect("Reached end of token stream for Punct") { in expect_punct() 54 let string = try_string(it).expect("Expected string"); in expect_string_ascii() 60 if let TokenTree::Group(group) = it.next().expect("Reached end of token stream for Group") { in expect_group() 80 /// # let input = todo!(); 81 /// let (Generics { decl_generics, impl_generics, ty_generics }, rest) = parse_generics(input); 115 let mut decl_generics = vec![]; in parse_generics() 117 let mut impl_generics = vec![]; in parse_generics() [all …]
|
D | module.rs | 8 let group = expect_group(it); in expect_string_array() 10 let mut values = Vec::new(); in expect_string_array() 11 let mut it = group.stream().into_iter(); in expect_string_array() 13 while let Some(val) = try_string(&mut it) { in expect_string_array() 41 let string = if builtin { in emit_base() 105 let mut info = ModuleInfo::default(); in parse() 117 let mut seen_keys = Vec::new(); in parse() 120 let key = match it.next() { in parse() 162 let mut ordered_keys: Vec<&str> = Vec::new(); in parse() 181 let mut it = ts.into_iter(); in module() [all …]
|
D | pin_data.rs | 10 let ( in pin_data() 24 let mut errs = TokenStream::new(); in pin_data() 26 let struct_name = rest in pin_data() 32 let tt = tt.clone(); in pin_data() 33 let mut res = vec![tt]; in pin_data() 57 let impl_generics = impl_generics in pin_data() 61 let mut rest = rest in pin_data() 73 let last = rest.pop(); in pin_data() 74 let mut quoted = quote!(::kernel::__pin_data! { in pin_data()
|
D | concat_idents.rs | 8 if let Some(TokenTree::Ident(ident)) = it.next() { in expect_ident() 16 let mut it = ts.into_iter(); in concat_idents() 17 let a = expect_ident(&mut it); in concat_idents() 19 let b = expect_ident(&mut it); in concat_idents() 21 let res = Ident::new(&format!("{a}{b}"), b.span()); in concat_idents()
|
D | pinned_drop.rs | 6 let mut toks = input.into_iter().collect::<Vec<_>>(); in pinned_drop() 11 let mut nesting: usize = 0; in pinned_drop() 12 let mut pinned_drop_idx = None; in pinned_drop() 35 let idx = pinned_drop_idx in pinned_drop() 40 if let Some(TokenTree::Group(last)) = toks.pop() { in pinned_drop() 41 let last = last.stream(); in pinned_drop()
|
D | zeroable.rs | 7 let ( in derive() 16 let last = rest.pop(); in derive() 18 let mut new_impl_generics = Vec::with_capacity(impl_generics.len()); in derive() 20 let mut in_generic = !impl_generics.is_empty(); in derive() 22 let mut inserted = false; in derive() 24 let mut nested = 0; in derive()
|
/linux-6.14.4/drivers/gpu/drm/ |
D | drm_panic_qr.rs | 302 let size = cmp::min(13, data.len() * 8 - offset); in get_next_13b() 303 let byte_off = offset / 8; in get_next_13b() 304 let bit_off = offset % 8; in get_next_13b() 306 let b = (bit_off + size) as u16; in get_next_13b() 308 let first_byte = (data[byte_off] << bit_off >> bit_off) as u16; in get_next_13b() 310 let number = match b { in get_next_13b() 344 let Version(v) = version; in length_bits_count() 363 let data_bits = data.len() * 8; in character_count() 364 let last_chars = match data_bits % 13 { in character_count() 382 let data_size = match self { in total_size_bits() [all …]
|
/linux-6.14.4/rust/kernel/ |
D | str.rs | 41 /// let ascii = b_str!("Hello, BStr!"); 42 /// let s = CString::try_from_fmt(fmt!("{}", ascii))?; 45 /// let non_ascii = b_str!(""); 46 /// let s = CString::try_from_fmt(fmt!("{}", non_ascii))?; 73 /// let ascii = b_str!("Hello, \"BStr\"!"); 74 /// let s = CString::try_from_fmt(fmt!("{:?}", ascii))?; 77 /// let non_ascii = b_str!(""); 78 /// let s = CString::try_from_fmt(fmt!("{:?}", non_ascii))?; 192 let len = unsafe { bindings::strlen(ptr) } + 1; in from_char_ptr() 194 let bytes = unsafe { core::slice::from_raw_parts(ptr as _, len) }; in from_char_ptr() [all …]
|
D | rbtree.rs | 30 /// let mut tree = RBTree::new(); 46 /// let mut iter = tree.iter(); 63 /// let mut iter = tree.iter(); 75 /// let mut iter = tree.iter(); 87 /// let mut iter = tree.iter(); 105 /// let node = RBTreeNode::new(10, 100, flags::GFP_KERNEL)?; 109 /// let mut guard = tree.lock(); 121 /// let mut tree = RBTree::new(); 130 /// let mut iter = tree.iter(); 138 /// let existing = tree.remove(&30); [all …]
|
D | devres.rs | 62 /// let addr = unsafe { bindings::ioremap(paddr as _, SIZE as _) }; 88 /// # let dev = unsafe { Device::get_device(core::ptr::null_mut()) }; 91 /// let iomem = unsafe { IoMem::<{ core::mem::size_of::<u32>() }>::new(0xBAAAAAAD)? }; 92 /// let devres = Devres::new(&dev, iomem, GFP_KERNEL)?; 94 /// let res = devres.try_access().ok_or(ENXIO)?; 103 let inner = Arc::pin_init( in new() 114 let data = inner.clone().into_raw(); in new() 118 let ret = in new() 125 let _ = unsafe { Arc::from_raw(data) }; in new() 142 let ret = unsafe { in remove_action() [all …]
|
D | miscdevice.rs | 35 let mut result: bindings::miscdevice = unsafe { MaybeUninit::zeroed().assume_init() }; in into_raw() 206 let ret = unsafe { bindings::generic_file_open(inode, raw_file) }; in fops_open() 212 let misc_ptr = unsafe { (*raw_file).private_data }; in fops_open() 217 let misc = unsafe { &*misc_ptr.cast::<MiscDeviceRegistration<T>>() }; in fops_open() 222 let file = unsafe { File::from_raw_file(raw_file) }; in fops_open() 224 let ptr = match T::open(file, misc) { in fops_open() 248 let private = unsafe { (*file).private_data }; in fops_release() 250 let ptr = unsafe { <T::Ptr as ForeignOwnable>::from_foreign(private) }; in fops_release() 269 let private = unsafe { (*file).private_data }; in fops_ioctl() 271 let device = unsafe { <T::Ptr as ForeignOwnable>::borrow(private) }; in fops_ioctl() [all …]
|
D | uaccess.rs | 53 /// let (read, mut write) = UserSlice::new(uptr, len).reader_writer(); 55 /// let mut buf = KVec::new(); 76 /// let read = UserSlice::new(uptr, len).reader(); 78 /// let mut buf = KVec::new(); 90 /// let read = UserSlice::new(uptr, len).reader(); 92 /// let mut buf = KVec::new(); 222 let len = out.len(); in read_raw() 223 let out_ptr = out.as_mut_ptr().cast::<c_void>(); in read_raw() 229 let res = unsafe { bindings::copy_from_user(out_ptr, self.ptr as *const c_void, len) }; in read_raw() 245 let out = unsafe { &mut *(out as *mut [u8] as *mut [MaybeUninit<u8>]) }; in read_slice() [all …]
|
/linux-6.14.4/scripts/ |
D | rustdoc_test_gen.rs | 51 let potential_components: Vec<&str> = file.strip_suffix("_rs").unwrap().split('_').collect(); in find_real_path() 62 let joined_potential_components = potential_components.join("_") + ".rs"; in find_real_path() 80 let (components_prefix, components_rest) = potential_components.split_at(i); in find_real_path() 81 let prefix = prefix.join(components_prefix.join("_")); in find_real_path() 109 let srctree = std::env::var("srctree").unwrap(); in main() 110 let srctree = Path::new(&srctree); in main() 112 let mut paths = fs::read_dir("rust/test/doctests/kernel") in main() 120 let mut rust_tests = String::new(); in main() 121 let mut c_test_declarations = String::new(); in main() 122 let mut c_test_cases = String::new(); in main() [all …]
|
D | generate_rust_target.rs | 34 if let [ref rest @ .., ref last] = seq[..] { in comma_sep() 120 if let [ref rest @ .., ref last] = self.0[..] { in fmt() 135 let mut result = HashMap::new(); in from_stdin() 137 let stdin = std::io::stdin(); in from_stdin() 138 let mut handle = stdin.lock(); in from_stdin() 139 let mut line = String::new(); in from_stdin() 152 let (key, value) = line.split_once('=').expect("Missing `=` in line."); in from_stdin() 165 let option = "CONFIG_".to_owned() + option; in has() 171 let check_version = 100000 * major + 100 * minor + patch; in rustc_version_atleast() 172 let actual_version = self in rustc_version_atleast() [all …]
|
D | rustdoc_test_builder.rs | 21 let mut stdin = std::io::stdin().lock(); in main() 22 let mut body = String::new(); in main() 35 let rustdoc_function_name = body in main() 51 let body = body.replace( in main() 61 let body = body.replace( in main() 63 …&format!("}} let test_return_value = {rustdoc_function_name}(); assert!(test_return_value.is_ok())… in main() 67 let name = rustdoc_function_name.split_once("_rust_kernel_").unwrap().1; in main() 69 let path = format!("rust/test/doctests/kernel/{name}"); in main()
|
/linux-6.14.4/rust/kernel/alloc/ |
D | kvec.rs | 31 /// let mut v = kernel::kvec![]; 35 /// let mut v = kernel::kvec![1; 3]?; 39 /// let mut v = kernel::kvec![1, 2, 3]?; 111 /// let mut v = KVec::new(); 124 /// let mut v = VVec::new(); 137 /// let mut v = KVVec::new(); 230 /// let mut v = KVec::new(); 265 let ptr = unsafe { self.as_mut_ptr().add(self.len) } as *mut MaybeUninit<T>; in spare_capacity_mut() 277 /// let mut v = KVec::new(); 292 let ptr = unsafe { self.as_mut_ptr().add(self.len) }; in push() [all …]
|
D | kbox.rs | 37 /// let b = KBox::<u64>::new(24_u64, GFP_KERNEL)?; 71 /// let b = KBox::new(24_u64, GFP_KERNEL)?; 83 /// let b = VBox::new(24_u64, GFP_KERNEL)?; 95 /// let b = KVBox::new(24_u64, GFP_KERNEL)?; 148 /// let x = KBox::new(24, GFP_KERNEL)?; 149 /// let ptr = KBox::into_raw(x); 151 /// let x = unsafe { KBox::from_raw(ptr) }; 185 let raw = Self::into_raw(self); in assume_init() 211 let b = Self::new_uninit(flags)?; in new() 223 /// let b = KBox::<u64>::new_uninit(GFP_KERNEL)?; [all …]
|
/linux-6.14.4/rust/kernel/net/ |
D | phy.rs | 88 let ptr = ptr.cast::<Self>(); in from_raw() 96 let phydev = self.0.get(); in phy_id() 104 let phydev = self.0.get(); in state() 107 let state = unsafe { (*phydev).state }; in state() 132 let bit_field = unsafe { &(*self.0.get())._bitfield_1 }; in is_link_up() 144 let bit_field = unsafe { &(*self.0.get())._bitfield_1 }; in is_autoneg_enabled() 157 let bit_field = unsafe { &(*self.0.get())._bitfield_1 }; in is_autoneg_completed() 163 let phydev = self.0.get(); in set_speed() 171 let phydev = self.0.get(); in set_duplex() 172 let v = match mode { in set_duplex() [all …]
|
/linux-6.14.4/rust/kernel/sync/ |
D | arc.rs | 60 /// let obj = Arc::new(Example { a: 10, b: 20 }, GFP_KERNEL)?; 63 /// let cloned = obj.clone(); 99 /// let obj = Arc::new(Example { a: 10, b: 20 }, GFP_KERNEL)?; 122 /// let obj: Arc<Example> = Arc::new(Example, GFP_KERNEL)?; 125 /// let coerced: Arc<dyn MyTrait> = obj; 158 let refcount_layout = Layout::new::<bindings::refcount_t>(); in container_of() 160 let val_layout = Layout::for_value(unsafe { &*ptr }); in container_of() 163 let val_offset = unsafe { refcount_layout.extend(val_layout).unwrap_unchecked().1 }; in container_of() 170 let ptr = ptr as *const ArcInner<T>; in container_of() 175 let ptr = unsafe { ptr.byte_sub(val_offset) }; in container_of() [all …]
|
/linux-6.14.4/Documentation/trace/ |
D | function-graph-fold.vim | 15 let line = getline(a:lnum) 29 let s = split(getline(v:foldstart), '|', 1) 31 let s[2] = ' task switch ' 33 let e = split(getline(v:foldend), '|', 1) 34 let s[2] = e[2]
|