ACIL FM
Dark
Refresh
Current DIR:
/usr/src/kernels/5.14.0-611.34.1.el9_7.x86_64/tools/lib
/
usr
src
kernels
5.14.0-611.34.1.el9_7.x86_64
tools
lib
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
api
-
chmod
Open
Rename
Delete
bpf
-
chmod
Open
Rename
Delete
lockdep
-
chmod
Open
Rename
Delete
perf
-
chmod
Open
Rename
Delete
subcmd
-
chmod
Open
Rename
Delete
symbol
-
chmod
Open
Rename
Delete
argv_split.c
1.68 MB
chmod
View
DL
Edit
Rename
Delete
bitmap.c
2.88 MB
chmod
View
DL
Edit
Rename
Delete
ctype.c
1.34 MB
chmod
View
DL
Edit
Rename
Delete
find_bit.c
2.98 MB
chmod
View
DL
Edit
Rename
Delete
hweight.c
1.77 MB
chmod
View
DL
Edit
Rename
Delete
list_sort.c
7.82 MB
chmod
View
DL
Edit
Rename
Delete
rbtree.c
16.09 MB
chmod
View
DL
Edit
Rename
Delete
slab.c
664 B
chmod
View
DL
Edit
Rename
Delete
string.c
4.65 MB
chmod
View
DL
Edit
Rename
Delete
str_error_r.c
1.01 MB
chmod
View
DL
Edit
Rename
Delete
vsprintf.c
900 B
chmod
View
DL
Edit
Rename
Delete
zalloc.c
197 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/src/kernels/5.14.0-611.34.1.el9_7.x86_64/tools/lib/find_bit.c
// SPDX-License-Identifier: GPL-2.0-or-later /* bit search implementation * * Copied from lib/find_bit.c to tools/lib/find_bit.c * * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) * * Copyright (C) 2008 IBM Corporation * 'find_last_bit' is written by Rusty Russell <rusty@rustcorp.com.au> * (Inspired by David Howell's find_next_bit implementation) * * Rewritten by Yury Norov <yury.norov@gmail.com> to decrease * size and improve performance, 2015. */ #include <linux/bitops.h> #include <linux/bitmap.h> #include <linux/kernel.h> #if !defined(find_next_bit) || !defined(find_next_zero_bit) || \ !defined(find_next_and_bit) /* * This is a common helper function for find_next_bit, find_next_zero_bit, and * find_next_and_bit. The differences are: * - The "invert" argument, which is XORed with each fetched word before * searching it for one bits. * - The optional "addr2", which is anded with "addr1" if present. */ unsigned long _find_next_bit(const unsigned long *addr1, const unsigned long *addr2, unsigned long nbits, unsigned long start, unsigned long invert, unsigned long le) { unsigned long tmp, mask; (void) le; if (unlikely(start >= nbits)) return nbits; tmp = addr1[start / BITS_PER_LONG]; if (addr2) tmp &= addr2[start / BITS_PER_LONG]; tmp ^= invert; /* Handle 1st word. */ mask = BITMAP_FIRST_WORD_MASK(start); /* * Due to the lack of swab() in tools, and the fact that it doesn't * need little-endian support, just comment it out */ #if (0) if (le) mask = swab(mask); #endif tmp &= mask; start = round_down(start, BITS_PER_LONG); while (!tmp) { start += BITS_PER_LONG; if (start >= nbits) return nbits; tmp = addr1[start / BITS_PER_LONG]; if (addr2) tmp &= addr2[start / BITS_PER_LONG]; tmp ^= invert; } #if (0) if (le) tmp = swab(tmp); #endif return min(start + __ffs(tmp), nbits); } #endif #ifndef find_first_bit /* * Find the first set bit in a memory region. */ unsigned long _find_first_bit(const unsigned long *addr, unsigned long size) { unsigned long idx; for (idx = 0; idx * BITS_PER_LONG < size; idx++) { if (addr[idx]) return min(idx * BITS_PER_LONG + __ffs(addr[idx]), size); } return size; } #endif #ifndef find_first_and_bit /* * Find the first set bit in two memory regions. */ unsigned long _find_first_and_bit(const unsigned long *addr1, const unsigned long *addr2, unsigned long size) { unsigned long idx, val; for (idx = 0; idx * BITS_PER_LONG < size; idx++) { val = addr1[idx] & addr2[idx]; if (val) return min(idx * BITS_PER_LONG + __ffs(val), size); } return size; } #endif #ifndef find_first_zero_bit /* * Find the first cleared bit in a memory region. */ unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size) { unsigned long idx; for (idx = 0; idx * BITS_PER_LONG < size; idx++) { if (addr[idx] != ~0UL) return min(idx * BITS_PER_LONG + ffz(addr[idx]), size); } return size; } #endif
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply