Changeset 7ca8b36b in mainline


Ignore:
Timestamp:
2006-05-21T14:32:28Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
25bf215
Parents:
a33c990
Message:

Fixed mips bug fith TLS register not being properly saved on syscall context
switch.
Reverted SYS_IO, so that it could be used on machines without fb.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/src/start.S

    ra33c990 r7ca8b36b  
    223223       
    224224        beqz $k0, syscall_shortcut
    225         add $k0, 8            # Revert $k1 back to correct exc number
     225        add $k0, 8            # Revert $k0 back to correct exc number
    226226       
    227227        REGISTERS_STORE_AND_EXC_RESET $sp
     
    240240#define SS_STATUS EOFFSET_STATUS
    241241#define SS_EPC    EOFFSET_EPC
     242#define SS_K1     EOFFSET_K1
    242243syscall_shortcut:
    243244        # We have a lot of space on the stack, with free use
     
    245246        mfc0 $t0, $status
    246247        sw $t1,SS_EPC($sp)  # Save EPC
     248        sw $k1,SS_K1($sp)   # Save k1, which is not saved during context switch
    247249       
    248250        and $t2, $t0, REG_SAVE_MASK # Save only KSU,EXL,ERL,IE
     
    271273        # restore epc+4
    272274        lw $t0,SS_EPC($sp)
     275        lw $k1,SS_K1($sp)
    273276        addi $t0, $t0, 4
    274277        mtc0 $t0, $epc
  • contrib/conf/gxemul.sh

    ra33c990 r7ca8b36b  
    22# Uspace addresses outside of normal memory (kernel has std. 8 or 16MB)
    33# we place the pages at 24M
    4         gxemul $@ -E testmips -X 0x81800000:../uspace/ns/ns 0x81900000:../uspace/kbd/kbd 0x81a00000:../uspace/init/init kernel.bin
     4        gxemul $@ -E testmips -X 0x81800000:../uspace/ns/ns 0x81900000:../uspace/kbd/kbd 0x81a00000:../uspace/fb/fb 0x81b00000:../uspace/init/init kernel.bin
  • generic/src/syscall/syscall.c

    ra33c990 r7ca8b36b  
    4848#include <sysinfo/sysinfo.h>
    4949
    50 static __native sys_io(int fd, const void * buf, size_t count) {
    51        
    52         return count; /*Syscall deprecated*/
     50static __native sys_io(int fd, const void * buf, size_t count)
     51{
     52//      return count; /*Syscall deprecated*/
    5353        // TODO: buf sanity checks and a lot of other stuff ...
    54 /*
     54
    5555        size_t i;
    5656       
     
    5858                putchar(((char *) buf)[i]);
    5959       
    60         return count;*/
     60        return count;
    6161}
    6262
Note: See TracChangeset for help on using the changeset viewer.