aboutsummaryrefslogtreecommitdiff
path: root/i386/i386at/boothdr.S
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2024-01-30 08:04:15 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-01-30 19:25:30 +0100
commit366954d50be00d085d44a8c461a80f2d0b663224 (patch)
treebf1d49c5956030035aba79347493b439b0c26626 /i386/i386at/boothdr.S
parent6bca5c2873ef4cfccd8d2ebeedad29c9d5a6ec7f (diff)
downloadgnumach-366954d50be00d085d44a8c461a80f2d0b663224.tar.gz
gnumach-366954d50be00d085d44a8c461a80f2d0b663224.tar.bz2
gnumach-366954d50be00d085d44a8c461a80f2d0b663224.zip
apic: Set up LAPICs in xAPIC mode
Clear flag in msr for xAPIC mode. Message-ID: <20240130080405.1304381-1-damien@zamaudio.com>
Diffstat (limited to 'i386/i386at/boothdr.S')
-rw-r--r--i386/i386at/boothdr.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/i386/i386at/boothdr.S b/i386/i386at/boothdr.S
index 6696d966..daaf57db 100644
--- a/i386/i386at/boothdr.S
+++ b/i386/i386at/boothdr.S
@@ -67,13 +67,14 @@ boot_entry:
movl $solid_intstack+INTSTACK_SIZE-4, %esp
andl $0xfffffff0,%esp
- /* Enable local apic */
+ /* Enable local apic in xAPIC mode */
xorl %eax, %eax
xorl %edx, %edx
movl $APIC_MSR, %ecx
rdmsr
orl $APIC_MSR_ENABLE, %eax
orl $APIC_MSR_BSP, %eax
+ andl $(~APIC_MSR_X2APIC), %eax
movl $APIC_MSR, %ecx
wrmsr