Changeset 3e828ea in mainline for kernel/arch/mips32/src/mips32.c


Ignore:
Timestamp:
2019-09-23T12:49:29Z (6 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9be2358
Parents:
9259d20 (diff), 1a4ec93f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jiri Svoboda <jiri@…> (2019-09-22 12:49:07)
git-committer:
Jiri Svoboda <jiri@…> (2019-09-23 12:49:29)
Message:

Merge changes from master, especially Meson build

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/mips32.c

    r9259d20 r3e828ea  
    7171arch_ops_t *arch_ops = &mips32_ops;
    7272
    73 /*
    74  * Why the linker moves the variable 64K away in assembler
    75  * when not in .text section?
    76  */
    77 
    7873/* Stack pointer saved when entering user mode */
    79 uintptr_t supervisor_sp __attribute__((section(".text")));
     74// FIXME: This won't work with SMP unless thread creation is globally serialized.
     75uintptr_t supervisor_sp;
    8076
    8177size_t cpu_count = 0;
     
    107103#endif
    108104
     105        str_cpy(bargs, CONFIG_BOOT_ARGUMENTS_BUFLEN, bootinfo->bootargs);
     106
    109107        /* Initialize machine_ops pointer. */
    110108        machine_ops_init();
     
    169167        cp0_status_write(cp0_status_read() | (cp0_status_exl_exception_bit |
    170168            cp0_status_um_bit | cp0_status_ie_enabled_bit));
    171         cp0_epc_write((uintptr_t) kernel_uarg->uspace_entry);
    172         userspace_asm(((uintptr_t) kernel_uarg->uspace_stack +
    173             kernel_uarg->uspace_stack_size),
    174             (uintptr_t) kernel_uarg->uspace_uarg,
    175             (uintptr_t) kernel_uarg->uspace_entry);
     169        cp0_epc_write(kernel_uarg->uspace_entry);
     170        userspace_asm(kernel_uarg->uspace_stack +
     171            kernel_uarg->uspace_stack_size,
     172            kernel_uarg->uspace_uarg,
     173            kernel_uarg->uspace_entry);
    176174
    177175        while (true)
Note: See TracChangeset for help on using the changeset viewer.