haiku/headers/private
Ingo Weinhold bb163c0289 * Added a set_mtrrs() hook to x86_cpu_module_info, which is supposed to set
all MTRRs at once.
* Added a respective x86_set_mtrrs() kernel function.
* x86 CPU module:
  - Implemented the new hook.
  - Prefixed most debug output with the CPU index. Otherwise it gets quite
    confusing with multiple CPUs.
  - generic_init_mtrrs(): No longer clear all MTRRs, if they are already
    enabled. This lets us benefit from the BIOS's setup until we install our
    own -- otherwise with caching disabled things are *really* slow.
* arch_vm.cpp: Completely rewrote the MTRR handling as the old one was not
  only slow (O(2^n)), but also broken (resulting in incorrect setups (e.g.
  with cachable ranges larger than requested)), and not working by design for
  certain cases (subtractive setups intersecting ranges added later).
  Now we maintain an array with the successfully set ranges. When a new range
  is added, we recompute the complete MTRR setup as we need to. The new
  algorithm analyzing the ranges has linear complexity and also handles range
  base addresses with an alignment not matching the range size (e.g. a range
  at address 0x1000 with size 0x2000) and joining of adjacent/overlapping
  ranges of the same type.

This fixes the slow graphics on my 4 GB machine (though unfortunately the
8 MTRRs aren't enough to fully cover the complete frame buffer (about 35
pixel lines remain uncachable), but that can't be helped without rounding up
the frame buffer size, for which we don't have enough information). It might
also fix #1823.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 15:06:08 +00:00
..
app * Made BTokenSpace not throw any exceptions on memory shortage. 2009-11-04 12:19:59 +00:00
audio
binary_compatibility * Added a basic tool tip API, and implementation. 2009-08-03 14:47:41 +00:00
bluetooth File not yet ready, revert 2009-11-13 22:09:00 +00:00
debug Added BDebugEventInputStream::Seek() to seek in the stream. Works for data 2009-07-28 18:51:38 +00:00
device Fix Device Kit build in debug mode. 2009-09-13 01:30:38 +00:00
drivers I am trying to help a bit with the transition from IDE to ATA stack. 2009-05-10 17:04:04 +00:00
firewire wakeup() means wake any waiting threads, so we use the relevant flags. this gives a reliable dv receive stream here. 2009-05-24 23:15:04 +00:00
fs_shell * Added real_time_clock(), and real_time_clock_usecs(). 2009-06-12 09:31:25 +00:00
graphics forgot to add this file in r33815 2009-10-28 21:37:38 +00:00
haiku_package Implemented a tool ("package") that implements creation and extraction of 2009-11-13 13:45:49 +00:00
input * Removed the pretty useless "Multifinger scrolling" option - it's now always 2009-10-06 14:30:57 +00:00
interface Added ColumnAt(BPoint) version. 2009-10-15 04:31:42 +00:00
kernel * Added a set_mtrrs() hook to x86_cpu_module_info, which is supposed to set 2009-11-23 15:06:08 +00:00
libroot * Fixed fdopendir(): We have to explicitly (re-)open the directory, because FDs 2009-11-10 10:55:43 +00:00
locale * Moved three locale-related headers back into a safe place (where no 2009-10-13 17:15:49 +00:00
mail Preparations for removing __BEOS__ from the compiler defines. 2008-10-23 21:46:26 +00:00
media Play startup sound after the first defaults rescan is done. This fixed #1902. 2009-11-22 16:26:12 +00:00
midi
mount * Removed now obsolete notification (this was not even used in Tracker 2009-10-07 19:31:57 +00:00
net Fix GCC4 build. Duplicate parameter names generate a warning there. 2009-07-15 23:38:15 +00:00
print
runtime_loader Removed unused elf_version_info::hidden field. 2009-05-21 13:11:54 +00:00
screen_saver Suggestion from Rene: 2009-10-01 20:48:14 +00:00
shared Added methods AddToMessage() and SetFromMessage() to add the value of the 2009-11-05 17:24:58 +00:00
storage * <DiskDeviceTypes.h>: Removed kPartitionTypeIntel{Primary,Logical} constants. 2009-10-01 03:07:42 +00:00
support More style guide fixes. Removed a lot of preprocessing / conditional building, with intent to fix or remove. Moved urlwrapper class declaration to its header file. Renamed things for clarity. Removed 5 extra mimetypes for IE shortcuts. (We have one, with sniffing rule and extension.) Moved the UnurlString() back to urlwrapper.cpp and renamed it _DecodeUrlString(). Tweaked copyright clauses. A lot more needs fixing, esp. in urlwrapper but also in BUrl, and I intend to keep working on this until we're satisfied. Let me know of any remaining/added style violations! Feedback welcome. 2009-05-13 22:19:42 +00:00
syslog_daemon
system * The pthread_thread structure is now allocated for all threads. 2009-11-09 21:33:35 +00:00
textencoding
tracker Partially implement ticket #4916: 2009-11-16 01:07:40 +00:00
usb_vision
userlandfs Added support for in-kernel node monitoring ({add,remove}_node_listener()). 2009-11-20 07:59:09 +00:00
vmdk Moved vmdkimage.h to a shareable place, cleaned it up a bit, and renamed it to 2009-10-01 03:08:46 +00:00