Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/mm/page_pt.c

    rde73242 re943ecf  
    8989                    PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |
    9090                    PAGE_WRITE);
    91                 /*
    92                  * Make sure that a concurrent hardware page table walk or
    93                  * pt_mapping_find() will see the new PTL1 only after it is
    94                  * fully initialized.
    95                  */
    9691                write_barrier();
    9792                SET_PTL1_PRESENT(ptl0, PTL0_INDEX(page));
     
    108103                    PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |
    109104                    PAGE_WRITE);
    110                 /*
    111                  * Make the new PTL2 visible only after it is fully initialized.
    112                  */
    113105                write_barrier();
    114106                SET_PTL2_PRESENT(ptl1, PTL1_INDEX(page));       
     
    125117                    PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |
    126118                    PAGE_WRITE);
    127                 /*
    128                  * Make the new PTL3 visible only after it is fully initialized.
    129                  */
    130119                write_barrier();
    131120                SET_PTL3_PRESENT(ptl2, PTL2_INDEX(page));
     
    136125        SET_FRAME_ADDRESS(ptl3, PTL3_INDEX(page), frame);
    137126        SET_FRAME_FLAGS(ptl3, PTL3_INDEX(page), flags | PAGE_NOT_PRESENT);
    138         /*
    139          * Make the new mapping visible only after it is fully initialized.
    140          */
    141127        write_barrier();
    142128        SET_FRAME_PRESENT(ptl3, PTL3_INDEX(page));
     
    310296
    311297#if (PTL1_ENTRIES != 0)
    312         /*
    313          * Always read ptl2 only after we are sure it is present.
    314          */
    315298        read_barrier();
    316299#endif
     
    321304
    322305#if (PTL2_ENTRIES != 0)
    323         /*
    324          * Always read ptl3 only after we are sure it is present.
    325          */
    326306        read_barrier();
    327307#endif
Note: See TracChangeset for help on using the changeset viewer.