summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-11-17 14:23:07 -0500
committerIan Moffett <ian@osmora.org>2025-11-17 14:23:07 -0500
commit36a1963351b6eb0131a37a9a4a1ad1656b0b937f (patch)
tree882a0bff7794ed2d0ebd6162f87034f05dd5f2a0 /sys/arch
parent73235e78ab73090b672c29184672e06706eda227 (diff)
kern/amd64: lapic: Make ICR values 64-bits
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/cpu/lapic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/amd64/cpu/lapic.c b/sys/arch/amd64/cpu/lapic.c
index fb0100c..8f04046 100644
--- a/sys/arch/amd64/cpu/lapic.c
+++ b/sys/arch/amd64/cpu/lapic.c
@@ -241,7 +241,7 @@ int
lapic_send_ipi(struct mcb *mcb, struct lapic_ipi *ipi)
{
const uint16_t X2APIC_SELF = 0x083F;
- uint32_t icr_lo, icr_hi;
+ uint64_t icr_lo, icr_hi;
if (ipi == NULL) {
return -EINVAL;
@@ -272,8 +272,8 @@ lapic_send_ipi(struct mcb *mcb, struct lapic_ipi *ipi)
lapic_write(mcb, LAPIC_REG_ICRHI, icr_hi);
} else {
icr_lo = lapic_read(mcb, LAPIC_REG_ICRLO);
- icr_lo &= ~0xFFFFFFFF;
- icr_lo |= ipi->dest_id;
+ icr_lo &= ~0xFFFFFFFFFFFFFFFF;
+ icr_lo |= (ipi->dest_id << 32);
}
/*