fork of 9front i guess
Find a file
cinap_lenrek 5f1b70f437 pc, pc64: new memory map code
This replaces the memory map code for both pc and pc64
kernels with a unified implementation using the new
portable memory map code.

The main motivation is to be robust against broken
e820 memory maps by the bios and delay the Conf.mem[]
allocation after archinit(), so mp and acpi tables
can be reserved and excluded from user memory.

There are a few changes:

new memreserve() function has been added for archinit()
to reserve bios and acpi tables.

upareserve() has been replaced by upaalloc(), which now
has an address argument.

umbrwmalloc() and umbmalloc() have been replaced by
umballoc().

both upaalloc() and umballoc() return physical addresses
or -1 on error. the physical address -1 is now used as
a sentinel value instead of 0 when dealing with physical
addresses.

archmp and archacpi now always use vmap() to access
the bios tables and reserve the ranges. more overflow
checks have been added.

ramscan() has been rewritten using vmap().

to handle the population of kernel memory, pc and pc64
now have pmap() and punmap() functions to do permanent
mappings.
2020-04-04 16:48:37 +02:00
386 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
68000 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
68020 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
acme acme: split win into winfs and rc script, get rid of lib9p leavefdsopen hack 2020-03-07 20:06:55 +01:00
adm/timezone timezones: change DST timezone string for South Australia 2019-11-20 11:49:16 +10:30
amd64 turn ptrdiff_t into a 64 bit type 2020-03-24 14:45:15 -07:00
arm add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
arm64 turn ptrdiff_t into a 64 bit type 2020-03-24 14:45:15 -07:00
lib words: transgender 2019-12-06 15:20:35 +01:00
mips add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
power add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
power64 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
rc bell labs is dead, man 2020-03-20 14:12:23 -07:00
sparc ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
sparc64 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
spim add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
sys pc, pc64: new memory map code 2020-04-04 16:48:37 +02:00
.hgignore hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries 2020-03-07 12:28:49 +01:00