/linux-6.15/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]) | 64 let gp = po ; [Sync-rcu | Sync-srcu] ; po? 65 let strong-fence = mb | gp 67 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 | 44 let FailedRMW = RMW \ (domain(rmw) | range(rmw)) 45 let Acquire = ACQUIRE \ W \ FailedRMW 46 let Release = RELEASE \ R \ FailedRMW 47 let Mb = MB \ FailedRMW 48 let Noreturn = NORETURN \ W 54 let Srcu = Srcu-lock | Srcu-unlock | Sync-srcu 57 let rcu-rscs = let rec 73 let carry-srcu-data = (data ; [~ Srcu-unlock] ; rf)* 74 let srcu-rscs = ([Srcu-lock] ; carry-srcu-data ; data ; [Srcu-unlock]) & loc 88 let Marked = (~M) | IW | ONCE | RELEASE | ACQUIRE | MB | RMW | [all …]
|
/linux-6.15/drivers/gpu/drm/ |
D | drm_panic_qr.rs | 320 let Version(v) = version; in length_bits_count() 339 let last_chars = BYTES_TO_DIGITS[data.len() % 7]; in character_count() 354 let data_size = match self { in total_size_bits() 357 let digits = self.character_count(); in total_size_bits() 389 let byte = data[self.offset] as u16; in next() 400 let mut buf = [0u8; 8]; in next() 401 let len = 7.min(data.len() - self.offset); in next() 403 let chunk = u64::from_le_bytes(buf); in next() 404 let pow = u64::pow(10, BYTES_TO_DIGITS[len] as u32); in next() 414 let out_len = 3.min(len); in next() [all …]
|
/linux-6.15/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 | kunit.rs | 11 let attr = attr.to_string(); in kunit_tests() 21 let mut tokens: Vec<_> = ts.into_iter().collect(); in kunit_tests() 36 let body = match tokens.pop() { in kunit_tests() 42 let mut body_it = body.stream().into_iter(); in kunit_tests() 43 let mut tests = Vec::new(); in kunit_tests() 44 while let Some(token) = body_it.next() { in kunit_tests() 48 let test_name = match body_it.next() { in kunit_tests() 61 let config_kunit = "#[cfg(CONFIG_KUNIT)]".to_owned().parse().unwrap(); in kunit_tests() 99 let mut kunit_macros = "".to_owned(); in kunit_tests() 100 let mut test_cases = "".to_owned(); in kunit_tests() [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() 75 let mut input = input.into_iter(); in function_name() 76 while let Some(token) = input.next() { in function_name() 79 if let Some(TokenTree::Ident(i)) = input.next() { in function_name()
|
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() 106 let mut info = ModuleInfo::default(); in parse() 119 let mut seen_keys = Vec::new(); in parse() 122 let key = match it.next() { in parse() 159 let mut ordered_keys: Vec<&str> = Vec::new(); in parse() 175 let mut it = ts.into_iter(); in module() [all …]
|
/linux-6.15/rust/kernel/ |
D | str.rs | 58 /// let ascii = b_str!("Hello, BStr!"); 59 /// let s = CString::try_from_fmt(fmt!("{}", ascii))?; 62 /// let non_ascii = b_str!(""); 63 /// let s = CString::try_from_fmt(fmt!("{}", non_ascii))?; 90 /// let ascii = b_str!("Hello, \"BStr\"!"); 91 /// let s = CString::try_from_fmt(fmt!("{:?}", ascii))?; 94 /// let non_ascii = b_str!(""); 95 /// let s = CString::try_from_fmt(fmt!("{:?}", non_ascii))?; 238 let len = unsafe { bindings::strlen(ptr) } + 1; in from_char_ptr() 240 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() 173 let ret = unsafe { bindings::generic_file_open(inode, raw_file) }; in open() 179 let misc_ptr = unsafe { (*raw_file).private_data }; in open() 185 let misc = unsafe { &*misc_ptr.cast::<MiscDeviceRegistration<T>>() }; in open() 190 let file = unsafe { File::from_raw_file(raw_file) }; in open() 192 let ptr = match T::open(file, misc) { in open() 214 let private = unsafe { (*file).private_data }; in release() 216 let ptr = unsafe { <T::Ptr as ForeignOwnable>::from_foreign(private) }; in release() 231 let private = unsafe { (*file).private_data }; in ioctl() 233 let device = unsafe { <T::Ptr as ForeignOwnable>::borrow(private) }; in ioctl() [all …]
|
/linux-6.15/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.15/rust/kernel/alloc/ |
D | kvec.rs | 34 /// let mut v = kernel::kvec![]; 38 /// let mut v = kernel::kvec![1; 3]?; 42 /// let mut v = kernel::kvec![1, 2, 3]?; 114 /// let mut v = KVec::new(); 127 /// let mut v = VVec::new(); 140 /// let mut v = KVVec::new(); 233 /// let mut v = KVec::new(); 268 let ptr = unsafe { self.as_mut_ptr().add(self.len) } as *mut MaybeUninit<T>; in spare_capacity_mut() 280 /// let mut v = KVec::new(); 295 let ptr = unsafe { self.as_mut_ptr().add(self.len) }; in push() [all …]
|
D | kbox.rs | 38 /// let b = KBox::<u64>::new(24_u64, GFP_KERNEL)?; 72 /// let b = KBox::new(24_u64, GFP_KERNEL)?; 84 /// let b = VBox::new(24_u64, GFP_KERNEL)?; 96 /// let b = KVBox::new(24_u64, GFP_KERNEL)?; 153 /// let x = KBox::new(24, GFP_KERNEL)?; 154 /// let ptr = KBox::into_raw(x); 156 /// let x = unsafe { KBox::from_raw(ptr) }; 190 let raw = Self::into_raw(self); in assume_init() 216 let b = Self::new_uninit(flags)?; in new() 228 /// let b = KBox::<u64>::new_uninit(GFP_KERNEL)?; [all …]
|
/linux-6.15/rust/pin-init/examples/ |
D | pthread_mutex.rs | 64 let init = |slot: *mut UnsafeCell<libc::pthread_mutex_t>| { in new() 66 let slot: *mut libc::pthread_mutex_t = slot.cast(); in new() 67 let mut attr = MaybeUninit::uninit(); in new() 68 let attr = attr.as_mut_ptr(); in new() 70 let ret = unsafe { libc::pthread_mutexattr_init(attr) }; in new() 75 let ret = unsafe { in new() 86 let ret = unsafe { libc::pthread_mutex_init(slot, attr) }; in new() 149 let mtx: Pin<Arc<PThreadMutex<usize>>> = Arc::try_pin_init(PThreadMutex::new(0)).unwrap(); in main() 150 let mut handles = vec![]; in main() 151 let thread_count = 20; in main() [all …]
|
D | linked_list.rs | 69 let mut size = 1; in size() 70 let mut cur = self.next.clone(); in size() 84 let next = unsafe { &*self.next.as_ptr() }; in drop() 85 let prev = unsafe { &*self.prev.as_ptr() }; in drop() 142 let a = Box::pin_init(ListHead::new())?; in main() 143 stack_pin_init!(let b = ListHead::insert_next(&a)); in main() 144 stack_pin_init!(let c = ListHead::insert_next(&a)); in main() 145 stack_pin_init!(let d = ListHead::insert_next(&b)); in main() 146 let e = Box::pin_init(ListHead::insert_next(&b))?; in main() 152 let mut inspect = &*a; in main() [all …]
|
D | mutex.rs | 90 let mut sguard = self.spin_lock.acquire(); in lock() 92 stack_pin_init!(let wait_entry = WaitEntry::insert_new(&self.wait_list)); in lock() 130 let sguard = self.mtx.spin_lock.acquire(); in drop() 132 if let Some(list_field) = self.mtx.wait_list.next() { in drop() 133 let wait_entry = list_field.as_ptr().cast::<WaitEntry>(); in drop() 181 let mtx: Pin<Arc<CMutex<usize>>> = Arc::pin_init(CMutex::new(0)).unwrap(); in main() 182 let mut handles = vec![]; in main() 183 let thread_count = 20; in main() 184 let workload = if cfg!(miri) { 100 } else { 1_000 }; in main() 186 let mtx = mtx.clone(); in main()
|
/linux-6.15/rust/pin-init/internal/src/ |
D | helpers.rs | 15 /// # let input = todo!(); 16 /// let (Generics { decl_generics, impl_generics, ty_generics }, rest) = parse_generics(input); 50 let mut decl_generics = vec![]; in parse_generics() 52 let mut impl_generics = vec![]; in parse_generics() 54 let mut ty_generics = vec![]; in parse_generics() 56 let mut rest = vec![]; in parse_generics() 58 let mut nesting = 0; in parse_generics() 59 let mut toks = input.into_iter(); in parse_generics() 61 let mut at_start = true; in parse_generics() 62 let mut skip_until_comma = false; in parse_generics() [all …]
|
D | pin_data.rs | 13 let ( in pin_data() 27 let mut errs = TokenStream::new(); in pin_data() 29 let struct_name = rest in pin_data() 35 let tt = tt.clone(); in pin_data() 36 let mut res = vec![tt]; in pin_data() 60 let impl_generics = impl_generics in pin_data() 64 let mut rest = rest in pin_data() 76 let last = rest.pop(); in pin_data() 77 let mut quoted = quote!(::pin_init::__pin_data! { in pin_data()
|
/linux-6.15/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.15/rust/pin-init/src/ |
D | alloc.rs | 40 let init = unsafe { in pin_init() 57 let init = unsafe { in init() 104 let mut this = try_new_uninit!(Arc); in try_pin_init() 105 let Some(slot) = Arc::get_mut(&mut this) else { in try_pin_init() 109 let slot = slot.as_mut_ptr(); in try_pin_init() 122 let mut this = try_new_uninit!(Arc); in try_init() 123 let Some(slot) = Arc::get_mut(&mut this) else { in try_init() 127 let slot = slot.as_mut_ptr(); in try_init() 140 let slot = self.as_mut_ptr(); in write_init() 149 let slot = self.as_mut_ptr(); in write_pin_init()
|