do_int_load(fetch_reg_addr(((insn>>25)&0x1f), regs), size, (unsigned long *) addr, 
reg_addr = fetch_reg_addr(((insn>>25)&0x1f), regs); do_int_load(reg_addr, size, (unsigned long *) addr, 
asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn, unsigned long sfar, unsigned long sfsr){	enum direction dir = decode_direction(insn);	int size = decode_access_size(insn);	current_thread_info()->kern_una_regs = regs;	current_thread_info()->kern_una_insn = insn;	if (!ok_for_kernel(insn) || dir == both) {		printk("Unsupported unaligned load/store trap for kernel "		       "at <%016lx>.\n", regs->tpc);		unaligned_panic("Kernel does fpu/atomic "				"unaligned load/store.", regs);		kernel_mna_trap_fault();	} else {		unsigned long addr;		int orig_asi, asi;		addr = compute_effective_address(regs, insn,						 ((insn >> 25) & 0x1f));#ifdef DEBUG_MNA		printk("KMNA: pc=%016lx [dir=%s addr=%016lx size=%d] "		       "retpc[%016lx]\n",		       regs->tpc, dirstrings[dir], addr, size,		       regs->u_regs[UREG_RETPC]);#endif		orig_asi = asi = decode_asi(insn, regs);		switch (asi) {		case ASI_NL:		case ASI_AIUPL:		case ASI_AIUSL:		case ASI_PL:		case ASI_SL:		case ASI_PNFL:		case ASI_SNFL:			asi &= ~0x08;			break;		};		switch (dir) {		case load:			do_int_load(fetch_reg_addr(((insn>>25)&0x1f), regs),				    size, (unsigned long *) addr,				    decode_signedness(insn), asi);			if (unlikely(asi != orig_asi)) {				unsigned long val_in = *(unsigned long *) addr;				switch (size) {				case 2:					val_in = swab16(val_in);					break;				case 4:					val_in = swab32(val_in);					break;				case 8:					val_in = swab64(val_in);					break;				case 16:				default:					BUG();					break;				};				*(unsigned long *) addr = val_in;			}			break;		case store:			do_int_store(((insn>>25)&0x1f), size,				     (unsigned long *) addr, regs,				     asi, orig_asi);			break;		default:			panic("Impossible kernel unaligned trap.");			/* Not reached... */		}		advance(regs);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/705747ab87c96f1b4b8e73ba617c323d9087f6ac/unaligned.c/buggy/arch/sparc64/kernel/unaligned.c