Changeset 17af882 in mainline for kernel/genarch/src/mm/page_pt.c


Ignore:
Timestamp:
2014-06-16T11:32:05Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2cb32f9
Parents:
334bf28
Message:

Switch the amd64 kernel (back) from 'large' to 'kernel' memory model.

  • This makes the amd64 kernel 6% smaller and more comfortable to debug.
  • Unlike in the original 'kernel' memory model implementation, KA2PA(PA2KA(x)) == x; for x from kernel identity.
  • Memory outside of the kernel identity region continues to be available by the standard means.
File:
1 edited

Legend:

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

    r334bf28 r17af882  
    384384            addr - 1 < base + size - 1;
    385385            addr += ptl0_step) {
     386                if (GET_PTL1_ADDRESS(ptl0, PTL0_INDEX(addr))) {
     387                        ASSERT(overlaps(addr, ptl0_step,
     388                            config.identity_base, config.identity_size));
     389
     390                        /*
     391                         * This PTL0 entry also maps the kernel identity region,
     392                         * so it is already global and initialized.
     393                         */
     394                        continue;
     395                }
     396
    386397                uintptr_t l1 = PA2KA(frame_alloc(frames, FRAME_LOWMEM, 0));
    387398                memsetb((void *) l1, FRAMES2SIZE(frames), 0);
Note: See TracChangeset for help on using the changeset viewer.