aboutsummaryrefslogtreecommitdiff
path: root/ddb/db_variables.h
diff options
context:
space:
mode:
authorDamien Zammit via Bug reports for the GNU Hurd <bug-hurd@gnu.org>2024-12-09 12:17:53 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-12-09 22:38:28 +0100
commit106b03767c910f9516347b9c6d7f7e009e0f1a09 (patch)
tree9bec63245695ba0a962706f0ce00f4eb8df1bf4d /ddb/db_variables.h
parentafdae548dcb48eb8fd8f76c12bed79ee19821d67 (diff)
downloadgnumach-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 'ddb/db_variables.h')
0 files changed, 0 insertions, 0 deletions