Changeset 8c5e6c7 in mainline for test/mm/mapping1/test.c


Ignore:
Timestamp:
2005-10-07T23:19:56Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cad5ce8
Parents:
92e5431
Message:

mips32 memory management work.
TLB exceptions seem to be working on at least simics.
msim handles TLB Refill and TLB Invalid exceptions well,
but seems to skip writes to the mapped addressies in mm
mapping test #1 (the data is not written and exception
is not triggered).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/mm/mapping1/test.c

    r92e5431 r8c5e6c7  
    4949        frame0 = frame_alloc(FRAME_KA);
    5050        frame1 = frame_alloc(FRAME_KA);
    51        
     51
     52        printf("Writing %L to physical address %P.\n", VALUE0, KA2PA(frame0));
    5253        *((__u32 *) frame0) = VALUE0;
     54        printf("Writing %L to physical address %P.\n", VALUE1, KA2PA(frame1));
    5355        *((__u32 *) frame1) = VALUE1;
    5456       
    55         printf("Mapping %P to %P.\n", PAGE0, KA2PA(frame0));
    56         map_page_to_frame(PAGE0, KA2PA(frame0), PAGE_PRESENT, 0);
    57         printf("Mapping %P to %P.\n", PAGE1, KA2PA(frame1));   
    58         map_page_to_frame(PAGE1, KA2PA(frame1), PAGE_PRESENT, 0);
     57        printf("Mapping virtual address %P to physical address %P.\n", PAGE0, KA2PA(frame0));
     58        map_page_to_frame(PAGE0, KA2PA(frame0), PAGE_PRESENT | PAGE_WRITE, 0);
     59        printf("Mapping virtual address %P to physical address %P.\n", PAGE1, KA2PA(frame1));   
     60        map_page_to_frame(PAGE1, KA2PA(frame1), PAGE_PRESENT | PAGE_WRITE, 0);
    5961       
    60         printf("Value at %P is %L.\n", PAGE0, v0 = *((__u32 *) PAGE0));
    61         printf("Value at %P is %L.\n", PAGE1, v1 = *((__u32 *) PAGE1));
     62        printf("Value at virtual address %P is %L.\n", PAGE0, v0 = *((__u32 *) PAGE0));
     63        printf("Value at virtual address %P is %L.\n", PAGE1, v1 = *((__u32 *) PAGE1));
    6264       
    6365        ASSERT(v0 == VALUE0);
    6466        ASSERT(v1 == VALUE1);
    6567
    66         printf("Writing 0 to %P.\n", PAGE0);
     68        printf("Writing %X to virtual address %P.\n", 0, PAGE0);
    6769        *((__u32 *) PAGE0) = 0;
    68         printf("Writing 0 to %P.\n", PAGE1);
     70        printf("Writing %X to virtual address %P.\n", 0, PAGE1);
    6971        *((__u32 *) PAGE1) = 0;
    7072       
    71         printf("Value at %P is %L.\n", PAGE0, v0 = *((__u32 *) PAGE0));
    72         printf("Value at %P is %L.\n", PAGE1, v1 = *((__u32 *) PAGE1));
     73        printf("Value at virtual address %P is %X.\n", PAGE0, v0 = *((__u32 *) PAGE0));
     74        printf("Value at virtual address %P is %X.\n", PAGE1, v1 = *((__u32 *) PAGE1));
    7375
    7476        ASSERT(v0 == 0);
Note: See TracChangeset for help on using the changeset viewer.