| /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-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-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-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-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/Documentation/admin-guide/hw-vuln/ |
| D | indirect-target-selection.rst | 80 thunks. This is because RETs get their prediction from RSB mostly that does not 81 depend on source address. RETs that underflow RSB may benefit from dynamic 90 safe thunks. Unless user requested the RSB-stuffing mitigation. 92 RSB Stuffing 94 RSB-stuffing via Call Depth Tracking is a mitigation for Retbleed RSB-underflow 128 stuff Deploy RSB-fill mitigation when retpoline is also deployed. 130 is enabled, RSB-stuffing via Call-Depth-Tracking also mitigates 159 * - Mitigation: Retpolines, Stuffing RSB 160 - The mitigation is enabled using retpoline and RSB stuffing.
|
| /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-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-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-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/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 | 1140 * There is no need for RSB filling: entry_ibpb() ensures in retbleed_select_mitigation() 1141 * all predictions, including the RSB, are invalidated, in retbleed_select_mitigation() 1208 [ITS_MITIGATION_RETPOLINE_STUFF] = "Mitigation: Retpolines, Stuffing RSB", 1289 pr_err("RSB stuff mitigation not supported, using default\n"); in its_select_mitigation() 1712 /* Disable in-kernel use of non-RSB RET predictors */ 1734 * Similar to context switches, there are two types of RSB attacks in spectre_v2_select_rsb_mitigation() 1737 * 1) RSB underflow in spectre_v2_select_rsb_mitigation() 1739 * 2) Poisoned RSB entry in spectre_v2_select_rsb_mitigation() 1742 * the RSB. in spectre_v2_select_rsb_mitigation() 1745 * prediction isolation protections, RSB still needs to be cleared in spectre_v2_select_rsb_mitigation() [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);
|