Changeset b5eb1ee in mainline


Ignore:
Timestamp:
2005-07-20T14:50:07Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
76857d1
Parents:
51029384
Message:

Error word support debuging and testing passed with #NM & #GP exceptions.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/asm.S

    r51029384 rb5eb1ee  
    118118        test $0xe0,%cl;
    119119        jnz 0f;
     120        and $0x1f,%cl;
    120121        shl %cl,%eax;
    121122        and $ERROR_WORD_INTERRUPT_LIST,%eax;
    122         jnz 0f;
     123        jz 0f;
    123124
    124125        popa;
     
    358359.global utext
    359360utext:
     361        xor %ax,%ax;
     362        mov %ax,%ds;
     363        mov %ax,%es;
     364        mov %ax,%fs;
     365        mov %ax,%gs;
    3603660:
    361367#       movl $0xdeadbeaf, %eax
    362         int $48
     368  int $48
     369        cli;
     370        sti;
    363371        jmp 0b
    364372        # not reached
  • arch/ia32/src/interrupt.c

    r51029384 rb5eb1ee  
    8080void gp_fault(__u8 n, __u32 stack[])
    8181{
    82         printf("stack[0]=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
     82        printf("ERROR_WORD=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
    8383        printf("%%eax=%L, %%ebx=%L, %%ecx=%L, %%edx=%L,\n%%edi=%L, %%esi=%L, %%ebp=%L, %%esp=%L\n", stack[-2], stack[-5], stack[-3], stack[-4], stack[-9], stack[-8], stack[-1], stack);
    8484        printf("stack: %X, %X, %X, %X\n", stack[4], stack[5], stack[6], stack[7]);
    85         panic("general protection fault\n");
     85        //panic("general protection fault\n");
     86        stack[1]++;
    8687}
    8788
    8889void ss_fault(__u8 n, __u32 stack[])
    8990{
    90         printf("stack[0]=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
     91        printf("ERROR_WORD=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
    9192        printf("%%eax=%L, %%ebx=%L, %%ecx=%L, %%edx=%L,\n%%edi=%L, %%esi=%L, %%ebp=%L, %%esp=%L\n", stack[-2], stack[-5], stack[-3], stack[-4], stack[-9], stack[-8], stack[-1], stack);
    9293        printf("stack: %X, %X, %X, %X\n", stack[4], stack[5], stack[6], stack[7]);
     
    112113{
    113114        printf("page fault address: %X\n", read_cr2());
    114         printf("stack[0]=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
     115        printf("ERROR_WORD=%X, %%eip=%X, %%cs=%X, flags=%X\n", stack[0], stack[1], stack[2], stack[3]);
    115116        printf("%%eax=%L, %%ebx=%L, %%ecx=%L, %%edx=%L,\n%%edi=%L, %%esi=%L, %%ebp=%L, %%esp=%L\n", stack[-2], stack[-5], stack[-3], stack[-4], stack[-9], stack[-8], stack[-1], stack);
    116117        printf("stack: %X, %X, %X, %X\n", stack[4], stack[5], stack[6], stack[7]);
  • src/Makefile.config

    r51029384 rb5eb1ee  
    1818
    1919# Uncomment if you want to compile in userspace support
    20 USERSPACE=__USERSPACE__
     20#USERSPACE=__USERSPACE__
    2121
    2222# Uncomment if you want to run in the test mode
     
    2929#TEST_DIR=synch/rwlock2/
    3030#TEST_DIR=synch/rwlock3/
    31 TEST_DIR=synch/rwlock4/
     31#TEST_DIR=synch/rwlock4/
    3232#TEST_DIR=synch/rwlock5/
    3333#TEST_DIR=synch/semaphore1/
    3434#TEST_DIR=synch/semaphore2/
    35 #TEST_DIR=fpu/fpu1
     35TEST_DIR=fpu/fpu1
Note: See TracChangeset for help on using the changeset viewer.