| /kernel/linux/linux-6.6/drivers/bus/ |
| D | sunxi-rsb.c | 3 * RSB (Reduced Serial Bus) driver. 7 * The RSB controller looks like an SMBus controller which only supports 24 * RSB section of Allwinner's A80 user manual, which can be found at 49 #include <linux/sunxi-rsb.h> 52 /* RSB registers */ 61 #define RSB_CMD 0x2c /* RSB Command */ 112 #define RSB_CTRL_NAME "sunxi-rsb" 196 * sunxi_rsb_device_create() - allocate and add an RSB device 197 * @rsb: RSB controller 198 * @node: RSB slave device node [all …]
|
| /kernel/linux/linux-5.10/drivers/bus/ |
| D | sunxi-rsb.c | 2 * RSB (Reduced Serial Bus) driver. 10 * The RSB controller looks like an SMBus controller which only supports 27 * RSB section of Allwinner's A80 user manual, which can be found at 51 #include <linux/sunxi-rsb.h> 54 /* RSB registers */ 63 #define RSB_CMD 0x2c /* RSB Command */ 114 #define RSB_CTRL_NAME "sunxi-rsb" 192 * sunxi_rsb_device_create() - allocate and add an RSB device 193 * @rsb: RSB controller 194 * @node: RSB slave device node [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/bus/ |
| D | allwinner,sun8i-a23-rsb.yaml | 4 $id: http://devicetree.org/schemas/bus/allwinner,sun8i-a23-rsb.yaml# 7 title: Allwinner A23 RSB 22 - const: allwinner,sun8i-a23-rsb 25 - allwinner,sun8i-a83t-rsb 26 - allwinner,sun50i-h616-rsb 27 - const: allwinner,sun8i-a23-rsb 65 rsb@1f03400 { 66 compatible = "allwinner,sun8i-a23-rsb";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/bus/ |
| D | allwinner,sun8i-a23-rsb.yaml | 4 $id: http://devicetree.org/schemas/bus/allwinner,sun8i-a23-rsb.yaml# 7 title: Allwinner A23 RSB Device Tree Bindings 22 - const: allwinner,sun8i-a23-rsb 24 - const: allwinner,sun8i-a83t-rsb 25 - const: allwinner,sun8i-a23-rsb 62 rsb@1f03400 { 63 compatible = "allwinner,sun8i-a23-rsb";
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | sunxi-rsb.h | 22 * struct sunxi_rsb_device - Basic representation of an RSB device 24 * @ctrl: RSB controller managing the bus hosting this device. 30 struct sunxi_rsb *rsb; member 53 * struct sunxi_rsb_driver - RSB slave device driver 54 * @driver: RSB device drivers should initialize name and owner field of 56 * @probe: binds this driver to a RSB device. 57 * @remove: unbinds this driver from the RSB device. 73 * sunxi_rsb_driver_unregister() - unregister an RSB client driver
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | sunxi-rsb.h | 22 * struct sunxi_rsb_device - Basic representation of an RSB device 24 * @ctrl: RSB controller managing the bus hosting this device. 30 struct sunxi_rsb *rsb; member 53 * struct sunxi_rsb_driver - RSB slave device driver 54 * @driver: RSB device drivers should initialize name and owner field of 56 * @probe: binds this driver to a RSB device. 57 * @remove: unbinds this driver from the RSB device. 73 * sunxi_rsb_driver_unregister() - unregister an RSB client driver
|
| /kernel/linux/linux-5.10/fs/dlm/ |
| D | recover.c | 228 * The recover_list contains all the rsb's for which we've requested the new 230 * rsb's are removed from the list. When the list is empty we're done. 232 * The recover_list is later similarly used for all rsb's for which we've sent 235 * We use the address of the rsb struct as a simple local identifier for the 236 * rsb so we can match an rcom reply with the rsb it was sent for. 380 /* Master recovery: find new master node for rsb's that were 396 * If we are the new master of the rsb, we may have received new 422 * The NEW_MASTER flag tells dlm_recover_locks() which rsb's to consider. 424 * rsb's to consider. 435 * We do async lookups on rsb's that need new masters. The rsb's [all …]
|
| D | debug_fs.c | 263 seq_printf(s, "rsb %p %d %x %lx %d %d %u %d ", in print_format3() 339 seq_printf(s, "rsb %p %d %d %d %d %lu %lx %d ", in print_format4() 367 struct dlm_rsb *rsb; member 386 print_format1(ri->rsb, seq); in table_seq_show() 393 print_format2(ri->rsb, seq); in table_seq_show() 397 seq_puts(seq, "version rsb 1.1 lvb 1.1 lkb 1.1\n"); in table_seq_show() 400 print_format3(ri->rsb, seq); in table_seq_show() 404 seq_puts(seq, "version 4 rsb 2\n"); in table_seq_show() 407 print_format4(ri->rsb, seq); in table_seq_show() 458 ri->rsb = r; in table_seq_start() [all …]
|
| D | lock.c | 39 Stage 2, xxxx_lock(), just finds and locks the relevant rsb which is 46 given rsb and lkb and queues callbacks. 172 printk(KERN_ERR "rsb: nodeid %d master %d dir %d flags %lx first %x " in dlm_print_rsb() 185 printk(KERN_ERR "rsb: root_list empty %d recover_list empty %d\n", in dlm_dump_rsb() 187 printk(KERN_ERR "rsb lookup list\n"); in dlm_dump_rsb() 190 printk(KERN_ERR "rsb grant queue:\n"); in dlm_dump_rsb() 193 printk(KERN_ERR "rsb convert queue:\n"); in dlm_dump_rsb() 196 printk(KERN_ERR "rsb wait queue:\n"); in dlm_dump_rsb() 328 * Basic operations on rsb's and lkb's 332 a valid reference to the rsb, so there's no need for locking. */ [all …]
|
| /kernel/linux/linux-6.6/fs/dlm/ |
| D | recover.c | 229 * The recover_list contains all the rsb's for which we've requested the new 231 * rsb's are removed from the list. When the list is empty we're done. 233 * The recover_list is later similarly used for all rsb's for which we've sent 236 * We use the address of the rsb struct as a simple local identifier for the 237 * rsb so we can match an rcom reply with the rsb it was sent for. 381 /* Master recovery: find new master node for rsb's that were 397 * If we are the new master of the rsb, we may have received new 423 * The NEW_MASTER flag tells dlm_recover_locks() which rsb's to consider. 425 * rsb's to consider. 436 * We do async lookups on rsb's that need new masters. The rsb's [all …]
|
| D | lock.c | 39 Stage 2, xxxx_lock(), just finds and locks the relevant rsb which is 46 given rsb and lkb and queues callbacks. 173 printk(KERN_ERR "rsb: nodeid %d master %d dir %d flags %lx first %x " in dlm_print_rsb() 186 printk(KERN_ERR "rsb: root_list empty %d recover_list empty %d\n", in dlm_dump_rsb() 188 printk(KERN_ERR "rsb lookup list\n"); in dlm_dump_rsb() 191 printk(KERN_ERR "rsb grant queue:\n"); in dlm_dump_rsb() 194 printk(KERN_ERR "rsb convert queue:\n"); in dlm_dump_rsb() 197 printk(KERN_ERR "rsb wait queue:\n"); in dlm_dump_rsb() 320 * Basic operations on rsb's and lkb's 324 a valid reference to the rsb, so there's no need for locking. */ [all …]
|
| D | debug_fs.c | 266 seq_printf(s, "rsb %p %d %x %lx %d %d %u %d ", in print_format3() 342 seq_printf(s, "rsb %p %d %d %d %d %lu %lx %d ", in print_format4() 416 struct dlm_rsb *rsb; member 435 print_format1(ri->rsb, seq); in table_seq_show() 442 print_format2(ri->rsb, seq); in table_seq_show() 446 seq_puts(seq, "version rsb 1.1 lvb 1.1 lkb 1.1\n"); in table_seq_show() 449 print_format3(ri->rsb, seq); in table_seq_show() 453 seq_puts(seq, "version 4 rsb 2\n"); in table_seq_show() 456 print_format4(ri->rsb, seq); in table_seq_show() 463 print_format5(ri->rsb, seq); in table_seq_show() [all …]
|
| /kernel/linux/linux-6.6/drivers/mfd/ |
| D | axp20x-rsb.c | 3 * RSB driver for the X-Powers' Power Management ICs 9 * This driver supports the RSB variants. 23 #include <linux/sunxi-rsb.h> 71 .name = "axp20x-rsb", 79 MODULE_DESCRIPTION("PMIC MFD sunXi RSB driver for AXP20X");
|
| /kernel/linux/linux-5.10/drivers/mfd/ |
| D | axp20x-rsb.c | 3 * RSB driver for the X-Powers' Power Management ICs 9 * This driver supports the RSB variants. 23 #include <linux/sunxi-rsb.h> 71 .name = "axp20x-rsb", 79 MODULE_DESCRIPTION("PMIC MFD sunXi RSB driver for AXP20X");
|
| /kernel/linux/linux-5.10/drivers/md/ |
| D | dm-verity-fec.c | 62 static u8 *fec_read_parity(struct dm_verity *v, u64 rsb, int index, in fec_read_parity() argument 68 position = (index + rsb) * v->fec->roots; in fec_read_parity() 75 v->data_dev->name, (unsigned long long)rsb, in fec_read_parity() 125 u64 rsb, int byte_index, unsigned block_offset, in fec_decode_bufs() argument 133 par = fec_read_parity(v, rsb, block_offset, &offset, &buf); in fec_decode_bufs() 161 par = fec_read_parity(v, rsb, block_offset, &offset, &buf); in fec_decode_bufs() 173 v->data_dev->name, (unsigned long long)rsb, r); in fec_decode_bufs() 176 v->data_dev->name, (unsigned long long)rsb, r); in fec_decode_bufs() 201 u64 rsb, u64 target, unsigned block_offset, in fec_read_bufs() argument 225 ileaved = fec_interleave(v, rsb * v->fec->rsn + i); in fec_read_bufs() [all …]
|
| /kernel/linux/linux-6.6/drivers/md/ |
| D | dm-verity-fec.c | 62 static u8 *fec_read_parity(struct dm_verity *v, u64 rsb, int index, in fec_read_parity() argument 73 position = (index + rsb) * v->fec->roots; in fec_read_parity() 80 v->data_dev->name, (unsigned long long)rsb, in fec_read_parity() 130 u64 rsb, int byte_index, unsigned int block_offset, in fec_decode_bufs() argument 138 par = fec_read_parity(v, rsb, block_offset, &offset, in fec_decode_bufs() 176 par = fec_read_parity(v, rsb, block_offset, &offset, in fec_decode_bufs() 189 v->data_dev->name, (unsigned long long)rsb, r); in fec_decode_bufs() 192 v->data_dev->name, (unsigned long long)rsb, r); in fec_decode_bufs() 217 u64 rsb, u64 target, unsigned int block_offset, in fec_read_bufs() argument 241 ileaved = fec_interleave(v, rsb * v->fec->rsn + i); in fec_read_bufs() [all …]
|
| /kernel/linux/linux-6.6/fs/romfs/ |
| D | super.c | 461 struct romfs_super_block *rsb; in romfs_fill_super() local 490 rsb = kmalloc(512, GFP_KERNEL); in romfs_fill_super() 491 if (!rsb) in romfs_fill_super() 495 ret = romfs_dev_read(sb, 0, rsb, 512); in romfs_fill_super() 499 img_size = be32_to_cpu(rsb->size); in romfs_fill_super() 506 if (rsb->word0 != ROMSB_WORD0 || rsb->word1 != ROMSB_WORD1 || in romfs_fill_super() 514 if (romfs_checksum(rsb, min_t(size_t, img_size, 512))) { in romfs_fill_super() 521 len = strnlen(rsb->name, ROMFS_MAXFN); in romfs_fill_super() 524 (unsigned) len, (unsigned) len, rsb->name, storage); in romfs_fill_super() 526 kfree(rsb); in romfs_fill_super() [all …]
|
| /kernel/linux/linux-5.10/fs/romfs/ |
| D | super.c | 461 struct romfs_super_block *rsb; in romfs_fill_super() local 490 rsb = kmalloc(512, GFP_KERNEL); in romfs_fill_super() 491 if (!rsb) in romfs_fill_super() 495 ret = romfs_dev_read(sb, 0, rsb, 512); in romfs_fill_super() 499 img_size = be32_to_cpu(rsb->size); in romfs_fill_super() 506 if (rsb->word0 != ROMSB_WORD0 || rsb->word1 != ROMSB_WORD1 || in romfs_fill_super() 514 if (romfs_checksum(rsb, min_t(size_t, img_size, 512))) { in romfs_fill_super() 521 len = strnlen(rsb->name, ROMFS_MAXFN); in romfs_fill_super() 524 (unsigned) len, (unsigned) len, rsb->name, storage); in romfs_fill_super() 526 kfree(rsb); in romfs_fill_super() [all …]
|
| /kernel/linux/linux-5.10/fs/xfs/ |
| D | xfs_rtalloc.c | 36 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtget_summary() argument 39 return xfs_rtmodify_summary_int(mp, tp, log, bbno, 0, rbpp, rsb, sum); in xfs_rtget_summary() 54 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtany_summary() argument 72 error = xfs_rtget_summary(mp, tp, log, bbno, rbpp, rsb, &sum); in xfs_rtany_summary() 148 xfs_fsblock_t *rsb) /* in/out: summary block number */ in xfs_rtallocate_range() argument 179 XFS_BITTOBLOCK(mp, preblock), -1, rbpp, rsb); in xfs_rtallocate_range() 190 XFS_BITTOBLOCK(mp, preblock), 1, rbpp, rsb); in xfs_rtallocate_range() 202 XFS_BITTOBLOCK(mp, end + 1), 1, rbpp, rsb); in xfs_rtallocate_range() 230 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtallocate_extent_block() argument 266 rsb); in xfs_rtallocate_extent_block() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kvm/vmx/ |
| D | vmenter.S | 117 * IMPORTANT: To avoid RSB underflow attacks and any other nastiness, 259 * IMPORTANT: RSB filling and SPEC_CTRL handling must be done before 262 * For retpoline or IBRS, RSB filling is needed to prevent poisoned RSB 263 * entries and (in some cases) RSB underflow. 265 * eIBRS has its own protection against poisoned RSB, so it doesn't 266 * need the RSB filling sequence. But it does need to be enabled, and a
|
| /kernel/linux/linux-6.6/fs/xfs/ |
| D | xfs_rtalloc.c | 37 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtget_summary() argument 40 return xfs_rtmodify_summary_int(mp, tp, log, bbno, 0, rbpp, rsb, sum); in xfs_rtget_summary() 55 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtany_summary() argument 73 error = xfs_rtget_summary(mp, tp, log, bbno, rbpp, rsb, &sum); in xfs_rtany_summary() 149 xfs_fsblock_t *rsb) /* in/out: summary block number */ in xfs_rtallocate_range() argument 180 XFS_BITTOBLOCK(mp, preblock), -1, rbpp, rsb); in xfs_rtallocate_range() 191 XFS_BITTOBLOCK(mp, preblock), 1, rbpp, rsb); in xfs_rtallocate_range() 203 XFS_BITTOBLOCK(mp, end + 1), 1, rbpp, rsb); in xfs_rtallocate_range() 248 xfs_fsblock_t *rsb, /* in/out: summary block number */ in xfs_rtallocate_extent_block() argument 284 rsb); in xfs_rtallocate_extent_block() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/kvm/vmx/ |
| D | vmenter.S | 193 * IMPORTANT: RSB filling and SPEC_CTRL handling must be done before 196 * For retpoline or IBRS, RSB filling is needed to prevent poisoned RSB 197 * entries and (in some cases) RSB underflow. 199 * eIBRS has its own protection against poisoned RSB, so it doesn't 200 * need the RSB filling sequence. But it does need to be enabled, and a
|
| /kernel/linux/linux-6.6/arch/x86/kernel/cpu/ |
| D | bugs.c | 1128 * There is no need for RSB filling: entry_ibpb() ensures in retbleed_select_mitigation() 1129 * all predictions, including the RSB, are invalidated, in retbleed_select_mitigation() 1558 /* Disable in-kernel use of non-RSB RET predictors */ 1580 * Similar to context switches, there are two types of RSB attacks in spectre_v2_determine_rsb_fill_type_at_vmexit() 1583 * 1) RSB underflow in spectre_v2_determine_rsb_fill_type_at_vmexit() 1585 * 2) Poisoned RSB entry in spectre_v2_determine_rsb_fill_type_at_vmexit() 1588 * the RSB. in spectre_v2_determine_rsb_fill_type_at_vmexit() 1591 * prediction isolation protections, RSB still needs to be cleared in spectre_v2_determine_rsb_fill_type_at_vmexit() 1593 * user-space-poisoned RSB entries. in spectre_v2_determine_rsb_fill_type_at_vmexit() 1595 * eIBRS should protect against RSB poisoning, but if the EIBRS_PBRSB in spectre_v2_determine_rsb_fill_type_at_vmexit() [all …]
|
| /kernel/linux/linux-6.6/fs/xfs/libxfs/ |
| D | xfs_rtbitmap.h | 41 struct xfs_buf **rbpp, xfs_fsblock_t *rsb, 45 xfs_fsblock_t *rsb); 48 struct xfs_buf **rbpp, xfs_fsblock_t *rsb);
|
| /kernel/linux/linux-5.10/arch/x86/kernel/cpu/ |
| D | bugs.c | 1485 /* Disable in-kernel use of non-RSB RET predictors */ 1504 * Similar to context switches, there are two types of RSB attacks in spectre_v2_determine_rsb_fill_type_at_vmexit() 1507 * 1) RSB underflow in spectre_v2_determine_rsb_fill_type_at_vmexit() 1509 * 2) Poisoned RSB entry in spectre_v2_determine_rsb_fill_type_at_vmexit() 1512 * the RSB. in spectre_v2_determine_rsb_fill_type_at_vmexit() 1515 * prediction isolation protections, RSB still needs to be cleared in spectre_v2_determine_rsb_fill_type_at_vmexit() 1517 * user-space-poisoned RSB entries. in spectre_v2_determine_rsb_fill_type_at_vmexit() 1519 * eIBRS should protect against RSB poisoning, but if the EIBRS_PBRSB in spectre_v2_determine_rsb_fill_type_at_vmexit() 1520 * bug is present then a LITE version of RSB protection is required, in spectre_v2_determine_rsb_fill_type_at_vmexit() 1540 pr_info("Spectre v2 / SpectreRSB : Filling RSB on VMEXIT\n"); in spectre_v2_determine_rsb_fill_type_at_vmexit() [all …]
|