Changeset 64f6ef04 in mainline for kernel/arch/ia32/src/mm/frame.c


Ignore:
Timestamp:
2010-06-27T23:54:45Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
05e3cb8
Parents:
a1f60f3
Message:

amd64: create identity mapping of the first 8 GB of physical memory (instead of just 4 GB) during the bootstrap process
remove the crude on-demand identity mapping creation which could lead to livelocks (unmapping the page pointing to 0 MB physical while trying to map the page pointing to 4096 MB physical)

(currently the implementation is in no way closer to the ideal solution of ticket #3, but at least it allows to debug non-trivial cases of physical memory sizes > 4 GB during the approach to solving #3)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/mm/frame.c

    ra1f60f3 r64f6ef04  
    4747#include <print.h>
    4848
    49 #define PHYSMEM_LIMIT32  0x7c000000ull
    50 #define PHYSMEM_LIMIT64  0xe0000000ull
     49#define PHYSMEM_LIMIT32  0x07c000000ull
     50#define PHYSMEM_LIMIT64  0x200000000ull
    5151
    5252size_t hardcoded_unmapped_ktext_size = 0;
     
    9696                 * or clip zones which go beyond PHYSMEM_LIMIT64.
    9797                 *
    98                  * The limit PHYSMEM_LIMIT64 (3.5 GB) is caused
    99                  * by various limitations of the current kernel
    100                  * memory management.
     98                 * The PHYSMEM_LIMIT64 (8 GB) is the size of the
     99                 * fixed 1:1 identically mapped physical memory
     100                 * accessible during the bootstrap process.
     101                 * This is a severe limitation of the current
     102                 * kernel memory management.
    101103                 *
    102104                 */
Note: See TracChangeset for help on using the changeset viewer.