Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
This commit is contained in:
45
arch/ia64/kernel/mca_drv_asm.S
Normal file
45
arch/ia64/kernel/mca_drv_asm.S
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* File: mca_drv_asm.S
|
||||
* Purpose: Assembly portion of Generic MCA handling
|
||||
*
|
||||
* Copyright (C) 2004 FUJITSU LIMITED
|
||||
* Copyright (C) Hidetoshi Seto (seto.hidetoshi@jp.fujitsu.com)
|
||||
*/
|
||||
#include <linux/config.h>
|
||||
#include <linux/threads.h>
|
||||
|
||||
#include <asm/asmmacro.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
GLOBAL_ENTRY(mca_handler_bhhook)
|
||||
invala // clear RSE ?
|
||||
;; //
|
||||
cover //
|
||||
;; //
|
||||
clrrrb //
|
||||
;;
|
||||
alloc r16=ar.pfs,0,2,1,0 // make a new frame
|
||||
;;
|
||||
mov r13=IA64_KR(CURRENT) // current task pointer
|
||||
;;
|
||||
adds r12=IA64_TASK_THREAD_KSP_OFFSET,r13
|
||||
;;
|
||||
ld8 r12=[r12] // stack pointer
|
||||
;;
|
||||
mov loc0=r16
|
||||
movl loc1=mca_handler_bh // recovery C function
|
||||
;;
|
||||
mov out0=r8 // poisoned address
|
||||
mov b6=loc1
|
||||
;;
|
||||
mov loc1=rp
|
||||
;;
|
||||
br.call.sptk.many rp=b6 // not return ...
|
||||
;;
|
||||
mov ar.pfs=loc0
|
||||
mov rp=loc1
|
||||
;;
|
||||
mov r8=r0
|
||||
br.ret.sptk.many rp
|
||||
;;
|
||||
END(mca_handler_bhhook)
|
Reference in New Issue
Block a user