haiku/headers/private
Ingo Weinhold ea2abd110b * Renamed the ROUNDOWN macro to ROUNDDOWN. Also changed the implementation of
ROUNDUP to use '*' and '/' -- the compiler will optimize that for powers of
  two anyway and this implementation works for other numbers as well.
* The thread::fault_handler use in C[++] code was broken with gcc 4. At least
  when other functions were invoked. Trying to trick the compiler wasn't a
  particularly good idea anyway, since the next compiler version could break
  the trick again. So the general policy is to use the fault handlers only in
  assembly code where we have full control. Changed that for x86 (save for the
  vm86 mode, which has a similar mechanism), but not for the other
  architectures.
* Introduced fault_handler, fault_handler_stack_pointer, and fault_jump_buffer
  fields in the cpu_ent structure, which must be used instead of
  thread::fault_handler in the kernel debugger. Consequently user_memcpy() must
  not be used in the kernel debugger either. Introduced a debug_memcpy()
  instead.
* Introduced debug_call_with_fault_handler() function which calls a function
  in a setjmp() and fault handler context. The architecture specific backend
  arch_debug_call_with_fault_handler() has only been implemented for x86 yet.
* Introduced debug_is_kernel_memory_accessible() for use in the kernel
  debugger. It determines whether a range of memory can be accessed in the
  way specified. The architecture specific back end
  arch_vm_translation_map_is_kernel_page_accessible() has only been implemented
  for x86 yet.
* Added arch_debug_unset_current_thread() (only implemented for x86) to unset
  the current thread pointer in the kernel debugger. When entering the kernel
  debugger we do some basic sanity checks of the currently set thread structure
  and unset it, if they fail. This allows certain commands (most importantly
  the stack trace command) to avoid accessing the thread structure.
* x86: When handling a double fault, we do now install a special handler for
  page faults. This allows us to gracefully catch faulting commands, even if
  e.g. the thread structure is toast.

We are now in much better shape to deal with double faults. Hopefully avoiding
the triple faults that some people have been experiencing on their hardware
and ideally even allowing to use the kernel debugger normally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 12:39:56 +00:00
..
app * Fully switch to the Haiku message format so that it is also used for on-disk 2009-07-31 22:19:36 +00:00
audio Move this to media/, seems audio/ is only for old stuff. 2007-08-29 12:31:55 +00:00
binary_compatibility bonefish + zooey: 2008-10-15 09:29:06 +00:00
bluetooth - Patch by Michael Weirauch, Finally a deskbar addon for bluetooth 2009-07-10 15:12:51 +00:00
debug Added BDebugEventInputStream::Seek() to seek in the stream. Works for data 2009-07-28 18:51:38 +00:00
device Battery interface for the driver. 2009-07-09 17:53:09 +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 * Cleanup. 2009-07-31 14:11:12 +00:00
input added get_modifier_key() as proposed by Olivier Cortes. Thanks. 2008-12-14 14:43:49 +00:00
interface Some cleanups: made the bitmaps static, moved variables around. No functional change. 2009-08-01 08:14:18 +00:00
kernel * Renamed the ROUNDOWN macro to ROUNDDOWN. Also changed the implementation of 2009-08-03 12:39:56 +00:00
libroot * Added private header defining __gUmask which is now used everywhere where 2009-06-17 14:09:40 +00:00
locale * reverted r30883 and made these three headers private for the locale kit for 2009-05-28 10:36:33 +00:00
mail Preparations for removing __BEOS__ from the compiler defines. 2008-10-23 21:46:26 +00:00
media * Also pass the media_codec_info to the Writer::AllocateCookie(), since that 2009-08-01 01:16:12 +00:00
midi Made all server version and signatures consistent, and thus closing bug #909. 2006-10-22 17:56:02 +00:00
net Fix GCC4 build. Duplicate parameter names generate a warning there. 2009-07-15 23:38:15 +00:00
opengl/GL/internal updated mesa to 7.2 2008-10-13 19:37:51 +00:00
print * first steps towards a new printer api... 2008-08-10 23:26:38 +00:00
runtime_loader Removed unused elf_version_info::hidden field. 2009-05-21 13:11:54 +00:00
screen_saver * Enabled default time for shutting off the monitor (after 20 minutes). 2009-07-20 14:03:30 +00:00
shared * Added missing ToReferenceable(). 2009-07-30 02:34:41 +00:00
storage Patch by Bryce Groff with changes by myself: 2009-07-20 20:29:16 +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 Implemented syslog support for the kernel debug output. Not fancy at all yet, but 2006-01-24 20:28:52 +00:00
system Added syscall _kern_kernel_debugger() to enter the kernel debugger. 2009-07-30 12:35:42 +00:00
textencoding missing comment tokens 2007-06-20 21:20:11 +00:00
tracker Quite a cleanup action to avoid polluting the global namespace with private 2008-09-20 15:08:40 +00:00
usb_vision * added a bunch of drivers by Siarzhuk Zharski 2006-05-29 09:54:03 +00:00
userlandfs Added support for new notify_io_request() function. 2009-07-30 14:12:47 +00:00