Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/smp/ap.S

    r3b0f1b9a r4928165  
    3939#include <arch/cpu.h>
    4040#include <arch/cpuid.h>
     41#include <arch/context_struct.h>
    4142
    4243.section K_TEXT_START, "ax"
     
    5859       
    5960        movl %cr0, %eax
    60         orl $1, %eax
     61        orl $CR0_PE, %eax
    6162        movl %eax, %cr0     # switch to protected mode
    6263        jmpl $GDT_SELECTOR(KTEXT32_DES), $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET
     
    7576       
    7677        movl %cr4, %eax
    77         btsl $5, %eax
     78        orl $CR4_PAE, %eax
    7879        movl %eax, %cr4
    7980       
     
    8283       
    8384        # Enable long mode
    84         movl $EFER_MSR_NUM, %ecx  # EFER MSR number
     85        movl $AMD_MSR_EFER, %ecx  # EFER MSR number
    8586        rdmsr                     # Read EFER
    86         btsl $AMD_LME_FLAG, %eax  # Set LME=1
     87        orl $AMD_LME, %eax        # Set LME=1
    8788        wrmsr                     # Write EFER
    8889       
    8990        # Enable paging to activate long mode (set CR0.PG = 1)
    9091        movl %cr0, %eax
    91         btsl $31, %eax
     92        orl $CR0_PG, %eax
    9293        movl %eax, %cr0
    9394       
     
    9899start64:
    99100        movabsq $ctx, %rsp
    100         movq (%rsp), %rsp
     101        movq CONTEXT_OFFSET_SP(%rsp), %rsp
    101102       
    102103        pushq $0
Note: See TracChangeset for help on using the changeset viewer.