#
343761ca |
|
18-Nov-2019 |
Yanyan Shen <yanyan.shen@data61.csiro.au> |
riscv: Improve IPI code The removed while loop in ipi_send_target can cause a deadlock, if the target of an IPI remote call enters handleIPI through the clh_is_ipi_pending path in smp/lock.h. Signed-off-by: Yanyan Shen <yanyan.shen@data61.csiro.au>
|
#
79da0792 |
|
01-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Convert license tags to SPDX identifiers This commit also converts our own copyright headers to directly use SPDX, but leaves all other copyright header intact, only adding the SPDX ident. As far as possible this commit also merges multiple Data61 copyright statements/headers into one for consistency.
|
#
2d362cb7 |
|
11-Nov-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
arm,SMP: Refactor irq_t structure for smp Explicitly create a struct definition for irq_t on SMP Arm configurations. This makes it a lot harder to mistakenly use the wrong irq encoding when moving an irq between a cnode index and hardware irq number / core. A couple areas where this was being handled incorrectly was fixed as part of the refactor. When performing an ipi for masking PPI interrupts, the idx encoding is used as it fits into a single word.
|
#
a269298c |
|
06-Aug-2019 |
Yanyan Shen <yanyan.shen@data61.csiro.au> |
riscv: Flush pipeline and instruction cache Flush the instruction cache and pipeline when handling a reschedule IPI.
|
#
a6157d5d |
|
18-Jul-2019 |
Sylvain Gauthier <sylvain.gauthier@data61.csiro.au> |
[SMP] Abstracted IRQ indexing to handle PPIs irq_t is now a "virtual" interrupt type that encapsulates the information of the core in case of a private interrupt. There is a couple of macros that need to be defined on the interrupt controller level to translate between virtual and hardware IRQs.
|
#
ee28936d |
|
18-Jun-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
SMP: Introduce ENABLE_SMP_SUPPORT - Make it more readable and less confusing compared to the 'CONFIG_MAX_NUM_NODES > 1' check
|
#
e5ed9428 |
|
25-Jun-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
x86/SMP: Convert IRQ number to vector number when sending an IPI ipi_send_mask is defined as: void ipi_send_mask(irq_t ipi, word_t mask, bool_t isBlocking); It expects an IRQ IPI number, not an interrupt number in the case of x86. This commit: 1- Removes the confusion between IRQ and interrupt numbers by explicitly converting IRQ to interrupt numbers in x86 implementation. 2- Makes the smp/ipi.c more generic to be shared with ARM, which only has IRQ numbers for IPIs (send/receive).
|
#
40970c30 |
|
22-Jun-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
SMP: allow an architecture to provide its own optimised IPI send function
|
#
cac1348f |
|
16-Mar-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
SMP/ARM: include generic smp/ipi.h and move ipi.c to smp/
|
#
8f713ab4 |
|
16-Mar-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
SELFOUR-747: SMP/x86: generalize arch-independent IPI code
|