is marking as used only the part of the memory that is below the mem_limit variable.
The prblem is that mem_upper , as defined in multiboot2 specs:
The maximum possible value for lower memory is 640 kilobytes. The value returned for upper memory is maximally the address of the first upper memory hole minus 1 megabyte.
is considering only the first hole.
The problem, is that there can be more than one available entry after the first, as well as multiple reserved/unusable areas, this means that we should mark as used other areas in the pmm.
The current version of
_mmap_setup
:is marking as used only the part of the memory that is below the
mem_limit
variable.The prblem is that
mem_upper
, as defined in multiboot2 specs:is considering only the first hole.
The problem, is that there can be more than one available entry after the first, as well as multiple reserved/unusable areas, this means that we should mark as used other areas in the pmm.