History log of /haiku/src/system/kernel/arch/ppc/arch_exceptions.S (Results 1 – 8 of 8)
Revision Date Author Comments
# 81291304 26-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge remote-tracking branch 'haiku/master' into package-management

Conflicts:
build/jam/BuildSetup
build/jam/HaikuImage
build/jam/board/sam460ex/BoardSetup
build/jam/board/verdex/BoardSetup
da

Merge remote-tracking branch 'haiku/master' into package-management

Conflicts:
build/jam/BuildSetup
build/jam/HaikuImage
build/jam/board/sam460ex/BoardSetup
build/jam/board/verdex/BoardSetup
data/catalogs/apps/icon-o-matic/fr.catkeys
src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp
src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp
src/apps/debugger/files/FileManager.cpp
src/apps/debugger/files/FileManager.h
src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp
src/apps/haiku-depot/MainWindow.cpp
src/apps/haiku-depot/MainWindow.h
src/apps/haiku-depot/Model.cpp
src/apps/haiku-depot/PackageInfo.h
src/apps/haiku-depot/PackageInfoListener.h
src/apps/haiku-depot/PackageInfoView.cpp
src/apps/haiku-depot/PackageInfoView.h
src/apps/haiku-depot/PackageListView.cpp
src/apps/haiku-depot/PackageListView.h
src/system/kernel/arch/arm/arch_timer.cpp
src/system/libroot/os/arch/arm/atomic.S
src/tools/translation/bitsinfo/Jamfile
src/tools/translation/bmpinfo/Jamfile
src/tools/translation/tgainfo/Jamfile

show more ...


# a442699e 01-Jun-2013 François Revol <revol@free.fr>

PPC: Use asm_defs.h instead of hardcoded defines


# 7afc16f0 13-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Fixed a bug regarding storing/restoring FPSCR in the interrupt
code. The stack pointer was not adjusted, hence we were
overwriting the previous register value. But it looks like I
missed to c

* Fixed a bug regarding storing/restoring FPSCR in the interrupt
code. The stack pointer was not adjusted, hence we were
overwriting the previous register value. But it looks like I
missed to check in the arch_cpu.h with the iframe structure
including the floating point registers anyway.
* Backported the ELF PPC relocation code from the boot loader to
the kernel.
* Fixed the PPC version of arch_thread_switch_kstack_and_call().
Apparently the signature had changed, but the assembly
implementation was not adjusted accordingly.
* sc prints more registers now (LR, CR, CTR, XER,...).
* Fixed several occurences of not-working fault handlers.
Apparently the compiler realized, that the "error" label was
never jumped to (by the code it knew), and optimized the
respective code away. Now we use a trick to make it think the
error label might actually be jumped to. I wonder whether the
x86 version has the same problem when being compiled with GCC4.
* Adopted the x86 page fault handling interrupt code.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15933 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# b33f1804 11-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Faster/shorter way of aligning something.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15909 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b7ba8a18 11-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

We enable the FPU now, store the non-volatile FPU registers on
context switches and all FPU registers in an iframe. We might want
to rethink this, though.
The kernel initialization runs to the end no

We enable the FPU now, store the non-volatile FPU registers on
context switches and all FPU registers in an iframe. We might want
to rethink this, though.
The kernel initialization runs to the end now. No boot volume is
found yet, but that is expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15908 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# 6c678c57 10-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* The exception vector offset is now also part of the iframe.
* Cloned iframe stack management from x86.
* Reimplemented arch_thread_{get,set}_current_thread(). The
thread structure is stored in SP

* The exception vector offset is now also part of the iframe.
* Cloned iframe stack management from x86.
* Reimplemented arch_thread_{get,set}_current_thread(). The
thread structure is stored in SPRG2. It is set to NULL in
arch_cpu_preboot_init(), now. A non-null current thread
causes all kinds of undesired behavior in early boot code.
* We establish the address space mappings we know from the
Open Firmware as areas. At least those in kernel address
space. The ones in userland address space are tougher.
Fortunately on my Mac mini there aren't any save the
boot_loader stack, which is not needed any longer anyway.
* Added stack trace support to the kernel debugger. Mostly
cloned and adjusted the x86 code. Some bits are still
missing, like stack traces for other threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15890 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# 7176dd57 09-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

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

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

show more ...


# 2d690920 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed system/core to system/kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96