Commit graph

15 commits

Author SHA1 Message Date
cinap_lenrek 529082d34d pc, pc64: preserve last KB of conventional memory (might contain bios tables)
we add new function convmemsize() that returns the size of
*usable* conventional memory that does some sanity checking
and reserves the last KB below the top of memory pointer.

this avoids lowraminit() overriding potential bios tables
and sigsearch() going off the rails looking for tables
at above 640K.
2014-11-20 19:05:43 +01:00
cinap_lenrek d069c9b486 pc: get rid of fixed 8MB memory map (now dynamically between 4 to 16 MB depending on kernel size)
we now do mapping of KZERO to ROUND(end, 4*MB) where
end needs not to be above 16MB. this allows for bigger
kernels.
2014-11-15 15:21:24 +01:00
cinap_lenrek 2020190f94 pc, pc64: more sanity checking for lowraminit() 2014-11-02 00:32:46 +01:00
cinap_lenrek cc6ab31891 pc: sanity check bda value in lowraminit() to avoid overflow with efi 2014-10-12 20:18:59 +02:00
cinap_lenrek c24dd620f9 e820: handle duplicate and overlapping e820 entries, handle overflows
new algorithm:

sort entries by top address first. then for each entry we use:

base = max(base, last)

so we'll never map the same addresses twice.
2013-09-16 23:36:06 +02:00
cinap_lenrek d436b2117e add unified sigsearch() function to look for bios data structures
replace the various functions that searched for bios data structures by
a single sigsearch() one in pc/memory.c that will probe the various bios
data areas.

also, a new checksum() function was added that is to be used to validate
the structures found.
2012-08-24 15:36:56 +02:00
cinap_lenrek 7fdf820589 pckernel: use constants instead of hardcoding cpuid bits in various places 2012-08-17 04:03:51 +02:00
cinap_lenrek cd99666815 memory.c: remove unused xmapupa map 2012-08-06 23:54:52 +02:00
cinap_lenrek ba7374508e e820: support new format 2012-06-21 04:57:27 +02:00
cinap_lenrek 447b37d838 e820: check for newer *e820= variable (old e820= might get removed in the future) 2012-06-21 01:55:56 +02:00
cinap_lenrek 409ed0d966 memory: e820 cleanup 2011-11-05 07:17:54 +01:00
cinap_lenrek 563437cb6d remove realmode and e820 code from kernel 2011-11-05 06:19:52 +01:00
cinap_lenrek 0ad5929695 9boot: add e820 scan to bootloader 2011-05-14 19:20:16 +00:00
Taru Karttunen a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen e5888a1ffd Import sources from 2011-03-30 iso image 2011-03-30 15:46:40 +03:00