[SeaBIOS] About LOWMEM feature

Kevin O'Connor kevin at koconnor.net
Sun Jul 8 17:00:12 CEST 2012


I'm CC'ing the seabios mailing list.

On Sun, Jul 08, 2012 at 02:20:20AM -0700, Yeong Uk Jo wrote:
> Recently patched SeaBIOS has LOWMEM features that locates part of
> EBDA data in E segment area.  This feature is useful only with no
> memory manager or basic memory manager like MS-DOS's EMM386.  With
> advanced memory manager(like QEMM, Memory Commander, etc),this
> feature interferes to secure contiguous memory block. - SeaBIOS
> 1.7.0 dated 2012.4.15 can use segment C900-FBFF as UMB, but recent
> version split C900-EDFF,F000-FBFF.

Older versions of SeaBIOS allocate dynamic ram from the end of the
9-segment, not the EBDA.  These allocations were not relocatable.
Indeed, the reason the 9-segment was used instead of the EBDA is that
some low memory allocations are needed for DMA buffers which must not
be relocated.

Given the choice between using the 9-segment or the e-segment, I think
using the e-segment is preferable.

It is true that variables in the EBDA were also moved to the
e-segment.  This was done as a code simplification (once the e-segment
was used, there was no need to use the ebda for internal allocations).
This doesn't impact fragmentation, because the dynamic memory
allocations already fragment the space.

> Note that advanced memory managers can relocate EBDA data to appropriate
> area.Experienced users can write program to move EBDA data.
> 
> Jo Yeong-uk

-Kevin



More information about the SeaBIOS mailing list