haiku/headers/private/kernel/arch/ppc
Ingo Weinhold 7176dd57e5 Reworked the exception handling code. The former one ran into the
void after turning off BAT for the segment containing itself.
The monster macro for the exception vector code was not really
elegant besides being too long for the 32 byte performance
monitor exception slot. Furthermore wasting three of the SPRG*
registers as cheap scratch memory wasn't that nice either.

We now have a three-step approach: The exception vectors
themselves contain only five instructions which branch to common
code at the beginning of the same physical page. That one sets
up BAT for itself, turns address translation back on and jumps
into the kernel. There we turn off BAT again, dump an iframe,
and enter the actual exception handler (/dispatcher). Upon return
the registers are restored from the iframe and we get back to the
place where the exception occurred.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-09 03:30:52 +00:00
..
arch_config.h Added definitions that describe the stack direction. 2004-11-18 14:43:28 +00:00
arch_cpu.h Added comment about the use of some special purpose registers. 2006-01-09 03:11:31 +00:00
arch_elf.h Added missing PPC relocation type. 2005-12-30 19:49:42 +00:00
arch_int.h Reworked the exception handling code. The former one ran into the 2006-01-09 03:30:52 +00:00
arch_kernel_args.h * Find out a few interesting information about the system (like CPU, 2006-01-03 13:30:23 +00:00
arch_kernel.h
arch_mmu.h Added functions to set and get the segment register (as segment_descriptor). 2003-10-21 03:07:44 +00:00
arch_platform.h Added "shutdown" debugger command. Implemented arch_cpu_shutdown() for 2006-01-07 22:49:43 +00:00
arch_real_time_data.h We use the same strategy for computing the system time as on x86 now. 2006-01-07 23:05:56 +00:00
arch_system_info.h Added missing arch_system_info.h header. 2005-01-20 18:00:33 +00:00
arch_thread_types.h Replaced arch/thread_struct.h with arch/thread_types.h, and renamed 2005-12-20 16:07:27 +00:00
arch_thread.h
arch_user_debugger.h Added empty arch_user_debugger.h header. 2005-03-03 06:11:08 +00:00
arch_vm_translation_map.h * Refactored arch_vm_translation_map_init_post_area() a bit: Pulled out 2006-01-02 03:30:58 +00:00
arch_vm_types.h The short story: we now have MTRR support on Intel and AMD CPUs (the latter 2005-12-13 16:34:29 +00:00
arch_vm.h * vm_page::offset is now called cache_offset and is now an uint32 instead of off_t; 2005-12-21 12:38:31 +00:00
cpu.h
kernel.h
ktypes.h
stage2_priv.h
types.h