haiku/headers
Ingo Weinhold dac21d8bfe * map_physical_memory() does now always set a memory type. If none is given (it
needs to be or'ed to the address specification), "uncached" is assumed.
* Set the memory type for the "BIOS" and "DMA" areas to write-back. Not sure, if
  that's correct, but that's what was effectively used on my machines before.
* Changed x86_set_mtrrs() and the CPU module hook to also set the default memory
  type.
* Rewrote the MTRR computation once more:
  - Now we know all used memory ranges, so we are free to extend used ranges
    into unused ones in order to simplify them for MTRR setup.
  - Leverage the subtractive properties of uncached and write-through ranges to
    simplify ranges of any other respectively write-back type.
  - Set the default memory type to write-back, so we don't need MTRRs for the
    RAM ranges.
  - If a new range intersects with an existing one, we no longer just fail.
    Instead we use the strictest requirements implied by the ranges. This fixes
    #5383.

Overall the new algorithm should be sufficient with far less MTRRs than before
(on my desktop machine 4 are used at maximum, while 8 didn't quite suffice
before). A drawback of the current implementation is that it doesn't deal with
the case of running out of MTRRs at all, which might result in some ranges
having weaker caching/memory ordering properties than requested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-18 13:52:43 +00:00
..
build Patch by Andreas Faerber: 2010-01-02 09:24:57 +00:00
compatibility - Coding style fixes. Thanks Axel for the heads up. 2009-11-17 16:13:00 +00:00
config Fixed __HAIKU_PRI_PREFIX_ADDR definition. 2009-12-06 15:46:03 +00:00
cpp * Introduced new header directory "config", which ATM contains HaikuConfig.h 2009-11-24 19:44:07 +00:00
glibc * merged 32bit-wchar_t branches of buildtools and haiku back into 2009-07-07 10:30:09 +00:00
libs * updated libjpeg to version 8, as the previous version on trunk didn't look like version 7, the merge wasn't usable. I modified jpeglib.h to have the JPEGTranslator built. 2010-01-27 01:57:51 +00:00
os * Improve the test for TimeFormat (style and error checking) 2010-02-17 15:35:28 +00:00
posix Add heap_debug_set_debugger_calls() which allows to disable debugger calls for 2010-02-15 21:35:07 +00:00
private * map_physical_memory() does now always set a memory type. If none is given (it 2010-02-18 13:52:43 +00:00
tools * Moved everything into the SymbolPatcher namespace. 2009-11-05 17:16:17 +00:00