Commit Graph
4 Commits
Author SHA1 Message Date
Puck Meerburg 163053a45c scheduler: Only unassign a thread's core if it is not pinned
If a pinned thread is being run while disabling a CPU core, the thread
is properly requeued to that core, but with fCore set to NULL, causing
the scheduler to panic the next time that thread is rescheduled.

Change-Id: I9cf18c5a470517124b2573347cf3eb6fd26ab7b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6917
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-10-07 01:56:40 +00:00
Puck Meerburg 46b8479173 arch/x86: Fix sending ICIs to more than one cluster, send one at a time.
The structure of a logical APIC destination is made up of a 16-bit
bitfield of cluster-local IDs, as well as a 16-bit cluster ID. When
sending an ICI to multiple cores in different clusters, these cannot simply be ORed together.
Fixes #17233

Change-Id: Ifa84da51eccd85c1eff529749ffa00bc2159899e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6919
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2023-09-30 06:53:57 +00:00
Puck Meerburg 4f0173cdb0 kernel/x86_64: align the stack before calling the function
in arch_debug_call_with_fault_handler

Change-Id: Iddefb7e93d561f3a6ccf1ee06328e473b28fca2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6918
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-09-28 07:11:09 +00:00
Puck Meerburg df63c15b9b build/jam: use ARFLAGS if set
Combined with a buildtools CL, this will change the AR variable
to be more in line with conventions, where AR points at the binary and
ARFLAGS are the arguments to AR, while keeping compatibility with the
original style of using the AR variable.

Change-Id: I2b9797b9e5ab35929970487b3d1b8dddb9476c1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3227
Reviewed-by: Adrien Destugues <[email protected]>
2020-09-16 19:16:11 +00:00