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>