diff options
author | Damien Zammit via Bug reports for the GNU Hurd <bug-hurd@gnu.org> | 2024-12-09 12:17:53 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2024-12-09 22:38:28 +0100 |
commit | 106b03767c910f9516347b9c6d7f7e009e0f1a09 (patch) | |
tree | 9bec63245695ba0a962706f0ce00f4eb8df1bf4d /vm/vm_map.c | |
parent | afdae548dcb48eb8fd8f76c12bed79ee19821d67 (diff) | |
download | gnumach-106b03767c910f9516347b9c6d7f7e009e0f1a09.tar.gz gnumach-106b03767c910f9516347b9c6d7f7e009e0f1a09.tar.bz2 gnumach-106b03767c910f9516347b9c6d7f7e009e0f1a09.zip |
smp: Use logical destination not physical apic id
Since modern x86 cpus only support 4 bits of destination field
in ICR, we could only address up to 16 processors, assuming
their physical APIC ID was < 0x10. Some processors eg AMD fam15h
have physical apic ids starting at 0x10 but only support 4 bits.
So these lapics are unaddressable using physical destination mode.
Therefore, we switch to using logical destinations for IPIs which
gives us 8 bits of unique mask for addressing up to 8 groups of processors.
INIT and STARTUP is not changed here.
Message-ID: <20241209121706.879984-6-damien@zamaudio.com>
Diffstat (limited to 'vm/vm_map.c')
0 files changed, 0 insertions, 0 deletions