Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Aug 2008 20:20:17 +0300
From:      Jordan Gordeev <jgordeev@dir.bg>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Boot loader + malloc
Message-ID:  <48ADA3D1.30802@dir.bg>
In-Reply-To: <200808211637.m7LGbRhJ008358@lurza.secnetix.de>
References:  <200808211637.m7LGbRhJ008358@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Oliver Fromme wrote:
> Hello,
>
> I've got a small question regarding $subject.  I'm looking
> at this code snippet from src/sys/boot/i386/loader/main.c:
>
> #if defined(LOADER_BZIP2_SUPPORT) || defined(LOADER_FIREWIRE_SUPPORT)
>     heap_top = PTOV(memtop_copyin);
>     memtop_copyin -= 0x300000;
>     heap_bottom = PTOV(memtop_copyin);
> #else
>     heap_top = (void *)bios_basemem;
>     heap_bottom = (void *)end;
> #endif
>     setheap(heap_bottom, heap_top);
>
> If I understand correctly, the boot loader will use only
> low memory (i.e. below 0x100000) for malloc by default.
> Extended memory is only used if bzip2 or firewire support
> are enabled (not default).  Is this intentional?  Would it
> make sense to toggle the default and always use extended
> memory, unless disabled?
>
> I'm asking because the upcoming graphics support requires
> a little bit of memory for fonts and images, but there's
> only less than about 80 KB left in low memory, which is
> insufficient except for very trivial things.  The loader
> kept crashing on me in nasty ways because of that.
>
> In my p4 branch I modified the above #if to also use
> extended memory if LOADER_GRAPHICS_SUPPORT is defined,
> giving me 3 MB of memory to play with, which is plenty.
> Is that OK, or should I expect trouble?
>
> Any comments are appreciated.
>
> Best regards
>    Oliver
>
>   

At present the amd64 kernel is loaded just above the first megabyte of 
physical memory.
I have no idea if the loader uses malloc()/free() after the kernel is 
loaded though.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48ADA3D1.30802>