Page MenuHomeFreeBSD

Fix loader bug causing too many pages allocation when bootloader is U-Boot
ClosedPublic

Authored by mw on Aug 31 2017, 10:28 PM.
Tags
Referenced Files
Unknown Object (File)
Nov 27 2024, 1:16 PM
Unknown Object (File)
Nov 14 2024, 1:49 PM
Unknown Object (File)
Nov 12 2024, 11:15 AM
Unknown Object (File)
Nov 12 2024, 5:15 AM
Unknown Object (File)
Sep 24 2024, 10:33 AM
Unknown Object (File)
Sep 23 2024, 4:23 PM
Unknown Object (File)
Sep 23 2024, 9:48 AM
Unknown Object (File)
Sep 23 2024, 9:48 AM

Details

Summary

FreeBSD loader expects to have mmsz variable set by bootloader.
U-Boot behaviour is that if buffer size is not big enough to keep
whole memory map, assign the smallest correct buffer size to sz
and return error.

In other words U-Boot assumes that nobody will need mmsz value when buffer
is not filled with memory map, which is not true, so calculated pages value
was too big to allocate.

Solution: Simply assign default value to mmsz.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Hi @imp , any objections to the patch?

I have no objection, but am curious if we ever need to honor the mmsz.

sys/boot/efi/loader/bootinfo.c
275 โ†—(On Diff #32564)

Is this always the size, or are there cases we need to honor what uboot does set?

sys/boot/efi/loader/bootinfo.c
275 โ†—(On Diff #32564)

It is always the size, see this .

This revision was automatically updated to reflect the committed changes.