summaryrefslogtreecommitdiff
path: root/src/cpu/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86')
-rw-r--r--src/cpu/x86/entry32.S3
-rw-r--r--src/cpu/x86/lapic/secondary.S3
-rw-r--r--src/cpu/x86/sipi_vector.S3
-rw-r--r--src/cpu/x86/smm/smm_stub.S3
-rw-r--r--src/cpu/x86/smm/smmhandler.S3
5 files changed, 10 insertions, 5 deletions
diff --git a/src/cpu/x86/entry32.S b/src/cpu/x86/entry32.S
index ad4a7d032b..215d60182a 100644
--- a/src/cpu/x86/entry32.S
+++ b/src/cpu/x86/entry32.S
@@ -37,8 +37,9 @@ bootblock_protected_mode_entry:
movw %ax, %ds
movw %ax, %es
movw %ax, %ss
+ xor %ax, %ax /* zero out the gs and fs segment index */
movw %ax, %fs
- movw %ax, %gs
+ movw %ax, %gs /* Will be used for cpu_info */
/* Restore the BIST value to %eax */
movl %ebp, %eax
diff --git a/src/cpu/x86/lapic/secondary.S b/src/cpu/x86/lapic/secondary.S
index d36bc9a645..d2d43a2b5b 100644
--- a/src/cpu/x86/lapic/secondary.S
+++ b/src/cpu/x86/lapic/secondary.S
@@ -52,8 +52,9 @@ __ap_protected_start:
movw %ax, %ds
movw %ax, %es
movw %ax, %ss
+ xor %ax, %ax /* zero out the gs and fs segment index */
movw %ax, %fs
- movw %ax, %gs
+ movw %ax, %gs /* Will be used for cpu_info */
/* Load the Interrupt descriptor table */
lidt idtarg
diff --git a/src/cpu/x86/sipi_vector.S b/src/cpu/x86/sipi_vector.S
index aa95461ae8..44b772bcc2 100644
--- a/src/cpu/x86/sipi_vector.S
+++ b/src/cpu/x86/sipi_vector.S
@@ -77,8 +77,9 @@ _start:
movw %ax, %ds
movw %ax, %es
movw %ax, %ss
+ xor %ax, %ax /* zero out the gs and fs segment index */
movw %ax, %fs
- movw %ax, %gs
+ movw %ax, %gs /* Will be used for cpu_info */
/* Load the Interrupt descriptor table */
mov idt_ptr, %ebx
diff --git a/src/cpu/x86/smm/smm_stub.S b/src/cpu/x86/smm/smm_stub.S
index 44ee7cb327..aa48ab69ec 100644
--- a/src/cpu/x86/smm/smm_stub.S
+++ b/src/cpu/x86/smm/smm_stub.S
@@ -93,8 +93,9 @@ smm_trampoline32:
movw %ax, %ds
movw %ax, %es
movw %ax, %ss
+ xor %ax, %ax /* zero out the gs and fs segment index */
movw %ax, %fs
- movw %ax, %gs
+ movw %ax, %gs /* Will be used for cpu_info */
/* The CPU number is calculated by reading the initial APIC id. Since
* the OS can manipulate the APIC id use the non-changing cpuid result
diff --git a/src/cpu/x86/smm/smmhandler.S b/src/cpu/x86/smm/smmhandler.S
index b7805d06ab..19793a0f84 100644
--- a/src/cpu/x86/smm/smmhandler.S
+++ b/src/cpu/x86/smm/smmhandler.S
@@ -123,8 +123,9 @@ untampered_lapic:
movw %ax, %ds
movw %ax, %es
movw %ax, %ss
+ xor %ax, %ax /* zero out the gs and fs segment index */
movw %ax, %fs
- movw %ax, %gs
+ movw %ax, %gs /* Will be used for cpu_info */
/* FIXME: Incompatible with X2APIC_SUPPORT. */
/* Get this CPU's LAPIC ID */