diff options
| author | Ian Moffett <ian@osmora.org> | 2025-11-17 14:23:07 -0500 |
|---|---|---|
| committer | Ian Moffett <ian@osmora.org> | 2025-11-17 14:23:07 -0500 |
| commit | 36a1963351b6eb0131a37a9a4a1ad1656b0b937f (patch) | |
| tree | 882a0bff7794ed2d0ebd6162f87034f05dd5f2a0 /sys/arch/amd64/cpu | |
| parent | 73235e78ab73090b672c29184672e06706eda227 (diff) | |
kern/amd64: lapic: Make ICR values 64-bits
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/arch/amd64/cpu')
| -rw-r--r-- | sys/arch/amd64/cpu/lapic.c | 6 |
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); } /* |
