Message ID | 1413683152-31302-2-git-send-email-daniel@numascale.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
* Daniel J Blueman <daniel@numascale.com> wrote: > Fix 16-bit APIC ID truncation and redundant APIC ICR idle polling for IPI > to self (AMD64 APICs are documented in the system developer manuals to > queue APIC writes). That is again two fixes - there should be one fix per patch, with a good description of what the effects of the bug were and what the advantages of the change are - for each change separately. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/kernel/apic/apic_numachip.c b/arch/x86/kernel/apic/apic_numachip.c index 81d70ba..bd083c0 100644 --- a/arch/x86/kernel/apic/apic_numachip.c +++ b/arch/x86/kernel/apic/apic_numachip.c @@ -40,7 +40,7 @@ static unsigned int get_apic_id(unsigned long x) unsigned int id; rdmsrl(MSR_FAM10H_NODE_ID, value); - id = ((x >> 24) & 0xffU) | ((value << 2) & 0x3f00U); + id = ((x >> 24) & 0xffU) | ((value << 2) & 0xff00U); return id; } @@ -145,7 +145,7 @@ static void numachip_send_IPI_all(int vector) static void numachip_send_IPI_self(int vector) { - __default_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL); + apic_write(APIC_SELF_IPI, vector); } static int __init numachip_probe(void)
Fix 16-bit APIC ID truncation and redundant APIC ICR idle polling for IPI to self (AMD64 APICs are documented in the system developer manuals to queue APIC writes). Signed-off-by: Daniel J Blueman <daniel@numascale.com> --- arch/x86/kernel/apic/apic_numachip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)