haiku/headers/private/kernel
Ingo Weinhold d2056c9933 * Added "caches" debugger command (to be enable by defining
DEBUG_CACHE_LIST) that prints an unspectacular list of pointers to all
  existing caches. Feel free to extend.
* Enhanced MultiAddressSpaceLocker:
  - It supports choosing between read and write lock per address space,
    now.
  - Added AddAreaCacheAndLock(), which adds the address spaces of all
    areas that are attached to a given area's cache, locks them, and
    locks the cache. It makes sure that the area list didn't change in
    the meantime and optionally also that all areas have their
    no_cache_change flags cleared.
* Changed vm_copy_on_write_area() to take a cache instead of an area,
  requiring it to be locked and all address spaces of affected areas to
  be read-locked, plus all areas' no_cache_change flags to be cleared.
  Callers simply use MultiAddressSpaceLocker:: AddAreaCacheAndLock() to
  do that. This resolves an open TODO, that the areas' base, size, and
  protection fields were accessed without their address spaces being
  locked.
* vm_copy_area() does now always insert a cache for the target area. Not
  doing that would cause source and target area being attached to
  the same cache in case the target protection was read-only. This
  would make them behave like cloned areas, which would lead to trouble
  when one of the areas would be changed to writable later.
* Fixed the !writable -> writable case in vm_set_area_protection(). It
  would simply change the protection of all mapped pages for this area,
  including ones from lower caches, thus causing later writes to the
  area to be seen by areas that shouldn't see them. This fixes a problem
  with software breakpoints in gdb. They could cause other programs to
  be dropped into the debugger.
* resize_area() uses MultiAddressSpaceLocker::AddAreaCacheAndLock() now,
  too, and could be compacted quite a bit.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-02 22:55:23 +00:00
..
arch * Added support for setting (hardware) break-/watchpoints in the kernel. 2007-09-02 22:04:36 +00:00
boot Made the remote_disk_server build under R5. 2007-08-14 14:54:09 +00:00
disk_device_manager * Added disk system flags for whether a partition name and partition 2007-08-22 21:21:30 +00:00
fs bonefish+axeld: 2007-08-01 14:48:44 +00:00
platform/openfirmware Added some PPC support to the PCI bus manager. We scan the Open Firmware 2006-01-26 15:21:31 +00:00
slab added object_cache_reserve to allow cache users to pre-allocate slabs. 2007-04-29 21:45:23 +00:00
util * Base class of InterruptsLocker was accidentially private. 2007-08-28 02:23:11 +00:00
block_cache.h First step into a new block allocation strategy for the block_cache 2005-05-13 18:18:28 +00:00
boot_device.h Moved declaration of gBootDevice into its own header. 2005-12-12 16:06:33 +00:00
boot_item.h The boot item list was not initialized; this was no problem, though, as 2005-06-13 13:01:13 +00:00
cbuf.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
condition_variable.h * Fixed incorrect check in condition_variable_interrupt_thread(). 2007-09-02 22:21:26 +00:00
console.h Made the header C++ safe. 2005-05-26 09:08:54 +00:00
cpu.h yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized. 2007-02-19 00:11:24 +00:00
debug.h Added debug macros ASSERT_ALWAYS_PRINT and ASSERT_PRINT which take 2007-08-06 17:35:57 +00:00
elf32.h * Improved kernel ELF loader (and made it more similar to the one from the boot 2006-03-26 15:58:43 +00:00
elf_priv.h * Improved kernel ELF loader (and made it more similar to the one from the boot 2006-03-26 15:58:43 +00:00
elf.h Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and 2005-08-22 20:35:42 +00:00
file_cache.h * Merged vm_cache_ref and vm_cache to a single structure (Axel & Ingo). 2007-07-18 00:16:27 +00:00
frame_buffer_console.h Some work in progress of the MTRR support. Shouldn't do any harm yet :-) 2005-12-13 00:06:52 +00:00
generic_syscall.h As suggested by Ingo, the "subsystem" parameter is now a string. That allows 2004-12-14 17:09:06 +00:00
int.h Changed the way handlers for edge triggered interrupt are called: now, we 2006-04-30 13:56:21 +00:00
kdevice_manager.h added a jam rule AddDriverRegistrationToHaikuImage to add device mappings on the image 2006-11-29 19:09:45 +00:00
kdriver_settings.h Added driver_settings support to the kernel_args structure. 2005-01-10 07:36:08 +00:00
kernel_daemon.h Added the kernel_daemon.h header which defines the init function for the 2003-01-26 17:27:42 +00:00
kernel.h Increased kernel stack size by another page. The network boot is more 2007-07-19 14:03:49 +00:00
kimage.h Added a image_debug_lookup_user_symbol_address() that one day may find symbol names 2005-11-04 17:25:58 +00:00
kmodule.h Added function prototypes for the kernel private load_module() and unload_module() calls. 2005-01-18 02:34:00 +00:00
kscheduler.h Changed the boot procedure a bit. 2005-10-25 16:59:12 +00:00
ksignal.h * Implemented sigaltstack() and set_signal_stack(), thus closing bug #1401. 2007-08-16 18:01:47 +00:00
ksyscalls.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
lock.h re-enable kernel asserts. 2007-06-21 05:37:46 +00:00
memheap.h * Even though our current heap is a temporary solution, the heap size depends 2006-03-19 15:02:21 +00:00
messaging.h Added _user_unregister_messaging_service(). Fixed second send_message() proto. 2005-01-24 01:19:03 +00:00
MessagingServiceDefs.h Removed obsolete struct. 2005-01-30 01:11:33 +00:00
Notifications.h bonefish+axeld: 2007-08-01 14:48:44 +00:00
port.h We now have a (private) writev_port_etc() call. This could be used to avoid 2005-07-13 23:55:15 +00:00
real_time_clock.h Added a _kern_get_timezone() syscall that can be used without needing to 2006-03-14 14:29:56 +00:00
real_time_data.h The real_time_data structure contains an architecture specific 2006-01-04 02:17:59 +00:00
safemode.h Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server 2007-06-03 20:20:19 +00:00
sem.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
smp.h this seems to solve the 'lock up on bootup on core 2' problem. 2007-03-01 08:09:28 +00:00
syscall_process_info.h Added syscalls for various process/group/session related functions. 2004-10-14 14:31:31 +00:00
syscalls.h * Implemented sigaltstack() and set_signal_stack(), thus closing bug #1401. 2007-08-16 18:01:47 +00:00
system_info.h Added Haiku revision number to the kernel (same mechanism as used for 2007-05-19 15:36:32 +00:00
team.h * Introduced new job_control_entry structure which, among other things, 2007-08-28 03:29:14 +00:00
thread_types.h * Introduced new job_control_entry structure which, among other things, 2007-08-28 03:29:14 +00:00
thread.h * Implemented sigaltstack() and set_signal_stack(), thus closing bug #1401. 2007-08-16 18:01:47 +00:00
timer.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
tls.h Added another argument parameter for the thread creation code. Helps 2003-04-18 09:21:22 +00:00
user_atomic.h renamed atomic_read() into atomic_get() (since we already have atomic_set(), but not a atomic_write()) 2003-08-31 01:21:56 +00:00
user_debugger.h Set default team debug flags to 0. Threads of a team were 2007-08-30 01:10:46 +00:00
user_runtime.h Give the runtime loader a chance to reinit its semaphore after fork(). 2007-08-11 00:14:26 +00:00
vfs.h * Merged vm_cache_ref and vm_cache to a single structure (Axel & Ingo). 2007-07-18 00:16:27 +00:00
vm_address_space.h Separated vm_address_space.h from vm.h. 2005-12-20 15:54:45 +00:00
vm_cache.h * Merged vm_cache_ref and vm_cache to a single structure (Axel & Ingo). 2007-07-18 00:16:27 +00:00
vm_low_memory.h Added new function vm_low_memory_state() that returns the current low 2005-12-15 21:30:28 +00:00
vm_page.h * The new vm_page_mappings weren't updated correctly in many cases. 2007-03-23 11:48:37 +00:00
vm_priv.h * Moved the early startup VM allocation functions from vm_page.c to vm.cpp. 2007-02-27 19:26:40 +00:00
vm_translation_map.h get_memory_map() now panics (and fails) in case it was called on unmapped memory as 2007-03-11 13:27:42 +00:00
vm_types.h * Added "caches" debugger command (to be enable by defining 2007-09-02 22:55:23 +00:00
vm.h * Merged vm_cache_ref and vm_cache to a single structure (Axel & Ingo). 2007-07-18 00:16:27 +00:00