4 comments:
File src/cpu/x86/sipi_vector.S:
FWIW, we should move '1:' label above 'movl ap_count, %eax' so it reloads the real value in memory. For another patch, though. We could probably reduce the number of instructions to just use eax and stop using ecx.
File src/cpu/x86/sipi_vector_c_handler.c:
Patch Set #2, Line 27: /* Determine if parallel microcode loading is allowed. */
We should have a lot more commentary on this code as to why we're not using spinlocks and how we're inherently relying on sipi_params object being in uncacheable memory. However, spinlocks could be used if microcode_lock was transformed into a spinlock type.
Patch Set #2, Line 35: : "=m"(params->microcode_lock)
This should be ¶ms->microcode_lock, I think. What's the disassembly look like?
Patch Set #2, Line 104: struct sipi_params *
const... but it appears we're wanting to manipulate microcode_lock object itself. Everything but sipi_update_microcode() should be using const params.
To view, visit change 46821. To unsubscribe, or for help writing mail filters, visit settings.