Ignore:
File:
1 edited

Legend:

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

    r4928165 r3b0f1b9a  
    3939#include <arch/cpu.h>
    4040#include <arch/cpuid.h>
    41 #include <arch/context_struct.h>
    4241
    4342.section K_TEXT_START, "ax"
     
    5958       
    6059        movl %cr0, %eax
    61         orl $CR0_PE, %eax
     60        orl $1, %eax
    6261        movl %eax, %cr0     # switch to protected mode
    6362        jmpl $GDT_SELECTOR(KTEXT32_DES), $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET
     
    7675       
    7776        movl %cr4, %eax
    78         orl $CR4_PAE, %eax
     77        btsl $5, %eax
    7978        movl %eax, %cr4
    8079       
     
    8382       
    8483        # Enable long mode
    85         movl $AMD_MSR_EFER, %ecx  # EFER MSR number
     84        movl $EFER_MSR_NUM, %ecx  # EFER MSR number
    8685        rdmsr                     # Read EFER
    87         orl $AMD_LME, %eax        # Set LME=1
     86        btsl $AMD_LME_FLAG, %eax  # Set LME=1
    8887        wrmsr                     # Write EFER
    8988       
    9089        # Enable paging to activate long mode (set CR0.PG = 1)
    9190        movl %cr0, %eax
    92         orl $CR0_PG, %eax
     91        btsl $31, %eax
    9392        movl %eax, %cr0
    9493       
     
    9998start64:
    10099        movabsq $ctx, %rsp
    101         movq CONTEXT_OFFSET_SP(%rsp), %rsp
     100        movq (%rsp), %rsp
    102101       
    103102        pushq $0
Note: See TracChangeset for help on using the changeset viewer.