Module rp2040_pac::sio [−][src]
Expand description
Single-cycle IO block\n Provides core-local and inter-core hardware for the two processors, with single-cycle access.
Modules
cpuid | Processor core identifier\n Value is 0 when read from processor core 0, and 1 when read from processor core 1. |
div_csr | Control and status register for divider. |
div_quotient | Divider result quotient\n The result of |
div_remainder | Divider result remainder\n The result of |
div_sdividend | Divider signed dividend\n The same as UDIVIDEND, but starts a signed calculation, rather than unsigned. |
div_sdivisor | Divider signed divisor\n The same as UDIVISOR, but starts a signed calculation, rather than unsigned. |
div_udividend | Divider unsigned dividend\n Write to the DIVIDEND operand of the divider, i.e. the p in |
div_udivisor | Divider unsigned divisor\n Write to the DIVISOR operand of the divider, i.e. the q in |
fifo_rd | Read access to this core’s RX FIFO |
fifo_st | Status register for inter-core FIFOs (mailboxes).\n There is one FIFO in the core 0 -> core 1 direction, and one core 1 -> core 0. Both are 32 bits wide and 8 words deep.\n Core 0 can see the read side of the 1->0 FIFO (RX), and the write side of 0->1 FIFO (TX).\n Core 1 can see the read side of the 0->1 FIFO (RX), and the write side of 1->0 FIFO (TX).\n The SIO IRQ for each core is the logical OR of the VLD, WOF and ROE fields of its FIFO_ST register. |
fifo_wr | Write access to this core’s TX FIFO |
gpio_hi_in | Input value for QSPI pins |
gpio_hi_oe | QSPI output enable |
gpio_hi_oe_clr | QSPI output enable clear |
gpio_hi_oe_set | QSPI output enable set |
gpio_hi_oe_xor | QSPI output enable XOR |
gpio_hi_out | QSPI output value |
gpio_hi_out_clr | QSPI output value clear |
gpio_hi_out_set | QSPI output value set |
gpio_hi_out_xor | QSPI output value XOR |
gpio_in | Input value for GPIO pins |
gpio_oe | GPIO output enable |
gpio_oe_clr | GPIO output enable clear |
gpio_oe_set | GPIO output enable set |
gpio_oe_xor | GPIO output enable XOR |
gpio_out | GPIO output value |
gpio_out_clr | GPIO output value clear |
gpio_out_set | GPIO output value set |
gpio_out_xor | GPIO output value XOR |
interp0_accum0 | Read/write access to accumulator 0 |
interp0_accum0_add | Values written here are atomically added to ACCUM0\n Reading yields lane 0’s raw shift and mask value (BASE0 not added). |
interp0_accum1 | Read/write access to accumulator 1 |
interp0_accum1_add | Values written here are atomically added to ACCUM1\n Reading yields lane 1’s raw shift and mask value (BASE1 not added). |
interp0_base0 | Read/write access to BASE0 register. |
interp0_base1 | Read/write access to BASE1 register. |
interp0_base2 | Read/write access to BASE2 register. |
interp0_base_1and0 | On write, the lower 16 bits go to BASE0, upper bits to BASE1 simultaneously.\n Each half is sign-extended to 32 bits if that lane’s SIGNED flag is set. |
interp0_ctrl_lane0 | Control register for lane 0 |
interp0_ctrl_lane1 | Control register for lane 1 |
interp0_peek_full | Read FULL result, without altering any internal state (PEEK). |
interp0_peek_lane0 | Read LANE0 result, without altering any internal state (PEEK). |
interp0_peek_lane1 | Read LANE1 result, without altering any internal state (PEEK). |
interp0_pop_full | Read FULL result, and simultaneously write lane results to both accumulators (POP). |
interp0_pop_lane0 | Read LANE0 result, and simultaneously write lane results to both accumulators (POP). |
interp0_pop_lane1 | Read LANE1 result, and simultaneously write lane results to both accumulators (POP). |
interp1_accum0 | Read/write access to accumulator 0 |
interp1_accum0_add | Values written here are atomically added to ACCUM0\n Reading yields lane 0’s raw shift and mask value (BASE0 not added). |
interp1_accum1 | Read/write access to accumulator 1 |
interp1_accum1_add | Values written here are atomically added to ACCUM1\n Reading yields lane 1’s raw shift and mask value (BASE1 not added). |
interp1_base0 | Read/write access to BASE0 register. |
interp1_base1 | Read/write access to BASE1 register. |
interp1_base2 | Read/write access to BASE2 register. |
interp1_base_1and0 | On write, the lower 16 bits go to BASE0, upper bits to BASE1 simultaneously.\n Each half is sign-extended to 32 bits if that lane’s SIGNED flag is set. |
interp1_ctrl_lane0 | Control register for lane 0 |
interp1_ctrl_lane1 | Control register for lane 1 |
interp1_peek_full | Read FULL result, without altering any internal state (PEEK). |
interp1_peek_lane0 | Read LANE0 result, without altering any internal state (PEEK). |
interp1_peek_lane1 | Read LANE1 result, without altering any internal state (PEEK). |
interp1_pop_full | Read FULL result, and simultaneously write lane results to both accumulators (POP). |
interp1_pop_lane0 | Read LANE0 result, and simultaneously write lane results to both accumulators (POP). |
interp1_pop_lane1 | Read LANE1 result, and simultaneously write lane results to both accumulators (POP). |
spinlock0 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock1 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock2 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock3 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock4 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock5 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock6 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock7 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock8 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock9 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock10 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock11 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock12 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock13 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock14 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock15 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock16 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock17 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock18 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock19 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock20 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock21 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock22 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock23 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock24 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock25 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock26 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock27 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock28 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock29 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock30 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock31 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
spinlock_st | Spinlock state\n A bitmap containing the state of all 32 spinlocks (1=locked).\n Mainly intended for debugging. |
Structs
RegisterBlock | Register block |
Type Definitions
CPUID | Processor core identifier\n Value is 0 when read from processor core 0, and 1 when read from processor core 1. |
DIV_CSR | Control and status register for divider. |
DIV_QUOTIENT | Divider result quotient\n The result of |
DIV_REMAINDER | Divider result remainder\n The result of |
DIV_SDIVIDEND | Divider signed dividend\n The same as UDIVIDEND, but starts a signed calculation, rather than unsigned. |
DIV_SDIVISOR | Divider signed divisor\n The same as UDIVISOR, but starts a signed calculation, rather than unsigned. |
DIV_UDIVIDEND | Divider unsigned dividend\n Write to the DIVIDEND operand of the divider, i.e. the p in |
DIV_UDIVISOR | Divider unsigned divisor\n Write to the DIVISOR operand of the divider, i.e. the q in |
FIFO_RD | Read access to this core’s RX FIFO |
FIFO_ST | Status register for inter-core FIFOs (mailboxes).\n There is one FIFO in the core 0 -> core 1 direction, and one core 1 -> core 0. Both are 32 bits wide and 8 words deep.\n Core 0 can see the read side of the 1->0 FIFO (RX), and the write side of 0->1 FIFO (TX).\n Core 1 can see the read side of the 0->1 FIFO (RX), and the write side of 1->0 FIFO (TX).\n The SIO IRQ for each core is the logical OR of the VLD, WOF and ROE fields of its FIFO_ST register. |
FIFO_WR | Write access to this core’s TX FIFO |
GPIO_HI_IN | Input value for QSPI pins |
GPIO_HI_OE | QSPI output enable |
GPIO_HI_OE_CLR | QSPI output enable clear |
GPIO_HI_OE_SET | QSPI output enable set |
GPIO_HI_OE_XOR | QSPI output enable XOR |
GPIO_HI_OUT | QSPI output value |
GPIO_HI_OUT_CLR | QSPI output value clear |
GPIO_HI_OUT_SET | QSPI output value set |
GPIO_HI_OUT_XOR | QSPI output value XOR |
GPIO_IN | Input value for GPIO pins |
GPIO_OE | GPIO output enable |
GPIO_OE_CLR | GPIO output enable clear |
GPIO_OE_SET | GPIO output enable set |
GPIO_OE_XOR | GPIO output enable XOR |
GPIO_OUT | GPIO output value |
GPIO_OUT_CLR | GPIO output value clear |
GPIO_OUT_SET | GPIO output value set |
GPIO_OUT_XOR | GPIO output value XOR |
INTERP0_ACCUM0 | Read/write access to accumulator 0 |
INTERP0_ACCUM0_ADD | Values written here are atomically added to ACCUM0\n Reading yields lane 0’s raw shift and mask value (BASE0 not added). |
INTERP0_ACCUM1 | Read/write access to accumulator 1 |
INTERP0_ACCUM1_ADD | Values written here are atomically added to ACCUM1\n Reading yields lane 1’s raw shift and mask value (BASE1 not added). |
INTERP0_BASE0 | Read/write access to BASE0 register. |
INTERP0_BASE1 | Read/write access to BASE1 register. |
INTERP0_BASE2 | Read/write access to BASE2 register. |
INTERP0_BASE_1AND0 | On write, the lower 16 bits go to BASE0, upper bits to BASE1 simultaneously.\n Each half is sign-extended to 32 bits if that lane’s SIGNED flag is set. |
INTERP0_CTRL_LANE0 | Control register for lane 0 |
INTERP0_CTRL_LANE1 | Control register for lane 1 |
INTERP0_PEEK_FULL | Read FULL result, without altering any internal state (PEEK). |
INTERP0_PEEK_LANE0 | Read LANE0 result, without altering any internal state (PEEK). |
INTERP0_PEEK_LANE1 | Read LANE1 result, without altering any internal state (PEEK). |
INTERP0_POP_FULL | Read FULL result, and simultaneously write lane results to both accumulators (POP). |
INTERP0_POP_LANE0 | Read LANE0 result, and simultaneously write lane results to both accumulators (POP). |
INTERP0_POP_LANE1 | Read LANE1 result, and simultaneously write lane results to both accumulators (POP). |
INTERP1_ACCUM0 | Read/write access to accumulator 0 |
INTERP1_ACCUM0_ADD | Values written here are atomically added to ACCUM0\n Reading yields lane 0’s raw shift and mask value (BASE0 not added). |
INTERP1_ACCUM1 | Read/write access to accumulator 1 |
INTERP1_ACCUM1_ADD | Values written here are atomically added to ACCUM1\n Reading yields lane 1’s raw shift and mask value (BASE1 not added). |
INTERP1_BASE0 | Read/write access to BASE0 register. |
INTERP1_BASE1 | Read/write access to BASE1 register. |
INTERP1_BASE2 | Read/write access to BASE2 register. |
INTERP1_BASE_1AND0 | On write, the lower 16 bits go to BASE0, upper bits to BASE1 simultaneously.\n Each half is sign-extended to 32 bits if that lane’s SIGNED flag is set. |
INTERP1_CTRL_LANE0 | Control register for lane 0 |
INTERP1_CTRL_LANE1 | Control register for lane 1 |
INTERP1_PEEK_FULL | Read FULL result, without altering any internal state (PEEK). |
INTERP1_PEEK_LANE0 | Read LANE0 result, without altering any internal state (PEEK). |
INTERP1_PEEK_LANE1 | Read LANE1 result, without altering any internal state (PEEK). |
INTERP1_POP_FULL | Read FULL result, and simultaneously write lane results to both accumulators (POP). |
INTERP1_POP_LANE0 | Read LANE0 result, and simultaneously write lane results to both accumulators (POP). |
INTERP1_POP_LANE1 | Read LANE1 result, and simultaneously write lane results to both accumulators (POP). |
SPINLOCK0 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK1 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK2 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK3 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK4 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK5 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK6 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK7 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK8 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK9 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK10 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK11 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK12 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK13 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK14 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK15 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK16 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK17 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK18 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK19 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK20 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK21 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK22 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK23 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK24 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK25 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK26 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK27 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK28 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK29 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK30 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK31 | Reading from a spinlock address will:\n - Return 0 if lock is already locked\n - Otherwise return nonzero, and simultaneously claim the lock\n\n Writing (any value) releases the lock.\n If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins.\n The value returned on success is 0x1 << lock number. |
SPINLOCK_ST | Spinlock state\n A bitmap containing the state of all 32 spinlocks (1=locked).\n Mainly intended for debugging. |