Page MenuHomeFreeBSD

Increase number of L2 tables required for kernel bootstrap
ClosedPublic

Authored by mw_semihalf.com on Mar 31 2017, 2:23 PM.

Details

Summary

Memory space reserved for pmap_kernel_l2dtable_kva and
pmap_kernel_l2ptp_kva has not been taken into account in
original code.

Submitted by: Grzegorz Bernacki <gjb@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Reviewed by:
Differential revision:

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

loos added a subscriber: loos.Mar 31 2017, 6:25 PM
mmel edited edge metadata.Apr 2 2017, 7:12 AM

Can you be, please, little more verbose? I'm unable to detect where exactly the problem is.

Here's an explanation from gber, who is the commit author:
If my understanding of code responsible for initial mapping is correct, then all the memory reserved from kernel space by pmap_alloc_specials() function called in pmap_bootstrap() should be mapped initially by initarm(). To create initial mapping initarm() function reserves proper number of l2 page tables. However the number of the l2 page tables does not take into account memory for: pmap_kernel_l2ptp_kva, pmap_kernel_l2dtable_kva, crashdumpmap, etc.

mmel accepted this revision.Apr 16 2017, 1:24 PM

Thanks for clarification, I see it now.

This revision is now accepted and ready to land.Apr 16 2017, 1:24 PM
This revision was automatically updated to reflect the committed changes.