Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/arch/ia32/src/entry.s

    r47246f4 rc98e6ee  
    2727#
    2828
    29 INTEL_CPUID_STANDARD = 1
    30 INTEL_SEP = 11
    31 
    3229.section .init, "ax"
    3330
     
    3835## User-space task entry point
    3936#
    40 # %edi contains the PCB pointer
     37# %ebx contains the PCB pointer
    4138#
    4239__entry:
     
    4744        # Do not set %gs, it contains descriptor that can see TLS
    4845
    49         # Detect the mechanism used for making syscalls
    50         movl $(INTEL_CPUID_STANDARD), %eax
    51         cpuid
    52         bt $(INTEL_SEP), %edx
    53         jnc 0f
    54         leal __syscall_fast_func, %eax
    55         movl $__syscall_fast, (%eax)
    56 0:
    57         #
    58         # Create the first stack frame.
    59         #
    60         pushl $0
    61         movl %esp, %ebp
    62 
    6346        # Pass the PCB pointer to __main as the first argument
    64         pushl %edi
     47        pushl %ebx
    6548        call __main
    6649
Note: See TracChangeset for help on using the changeset viewer.