If the multiboot memory list exists, then it may contain more than just the single contiguous memory region listed in 'mem_upper' Therefore we use it to populate a more complete free memory list, if it exists