Changeset b5eb1ee in mainline for arch/ia32/src/interrupt.c


Ignore:
Timestamp:
2005-07-20T14:50:07Z (20 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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]);
Note: See TracChangeset for help on using the changeset viewer.