u-boot-rpi* has the existing "make first page reserved" code (shown); this appears to be where any fix would go

Mark Millard marklmi at yahoo.com
Thu Feb 13 19:43:04 UTC 2020


[History dropped.]

Using sysutils/u-boot-rpi4/ as an example . . .

# pwd
/wrkdirs/usr/ports/sysutils/u-boot-rpi4/work/u-boot-2019.10

A grep showed the EFI_RESERVED_MEMORY_TYPE reserving the
first page in RAM:

./board/raspberrypi/rpi/rpi.c:  efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);

More completely:

int ft_board_setup(void *blob, bd_t *bd)
{
        /*
         * For now, we simply always add the simplefb DT node. Later, we
         * should be more intelligent, and e.g. only do this if no enabled DT
         * node exists for the "real" graphics driver.
         */
        lcd_dt_simplefb_add_node(blob);
 
#ifdef CONFIG_EFI_LOADER
        /* Reserve the spin table */
        efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);
#endif
        return 0;
}

As stands it appears that the above is where more than one
page would fit the existing structure: more than the
spin table needs to be preserved.

I doubt reserving two pages (or even a few) would be
a problem (compared to under sizing the space for some
contexts, such a FreeBSD).

I do not know if the arguements might provide a way for
armstub8*.bin to indicate what to reserve instead of
hard coded constants.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list