Hello,
These 2 patches fix problems associated with the following recent commits:
93f7dc461087d129af0111b0d0ce8dc5f4f1c400
vm_page: support empty intermediate memory segments
This is fixed by PATCH 1 which I meant to include with the original
commit but somehow didn't. I have no explanation for how that
happened.
12a3efa846b574070f90aa0c22c3f3e67cca10c4
i386/i386at/biosmem: multiboot 'mem_upper' restricts boot heap size.
This is fixed by PATCH 2. The problem showed as a failure to switch to
the pmap page tables from the ones setup by boothdr.S. The page tables
setup by pmap had been corrupted because the memory they were using
was actually reserved. I had been careless in thinking of the 'avail'
in function name biosmem_find_avail() indicating it was limited to
available memory which indeed it was but only because it was limited
by 'mem_upper'. No blame intended here, the mistake was all mine, but
this is hopefully fixed properly now with my 16GB UEFI laptop booting
gnumach successfully.
The down side is that my 16GB desktop machine only worked with the
former patch because a small reserved section of memory was wrongly
included between the approximately 50:50 split of the DIRECTMAP
segment. It now fails to boot again since the heap is too
small. Nevertheless I believe this heap determination is appropriate
and correct and I'll look at other ways of fixing my boot issue.
Many apologies for the inconvenience,
Mike.