misc-mv64x60.s

来自「h内核」· S 代码 · 共 58 行

S
58
字号
/* * arch/ppc/boot/simple/misc-mv64x60.S * * Code to change the base address of the host bridges and call board specific * init routine. * * Author: Mark Greer <mgreer@mvista.com> * * 2002 (c) MontaVista, Software, Inc.  This file is licensed under the terms * of the GNU General Public License version 2.  This program is licensed * "as is" without any warranty of any kind, whether express or implied. */#include <linux/config.h>#include <asm/ppc_asm.h>#include <asm/processor.h>#include <asm/cache.h>#include <asm/mv64x60_defs.h>	.globl	mv64x60_initmv64x60_init:	mflr	r27#if (CONFIG_MV64X60_NEW_BASE != CONFIG_MV64X60_BASE)	bl	move_base#endif	bl	mv64x60_board_init	mtlr	r27	blr#if (CONFIG_MV64X60_NEW_BASE != CONFIG_MV64X60_BASE)move_base:	li	r20,0	li	r23,20	/* Relocate bridge's regs */	addis	r25,0,CONFIG_MV64X60_BASE@h	ori	r25,r25,MV64x60_INTERNAL_SPACE_DECODE	lwbrx	r26,0,(r25)	lis	r24,0xffff	and	r26,r26,r24	addis	r24,0,CONFIG_MV64X60_NEW_BASE@h	srw	r24,r24,r23	or	r26,r26,r24	stwbrx	r26,0,(r25)	sync	/* Wait for write to take effect */	addis	r25,0,CONFIG_MV64X60_NEW_BASE@h	ori	r25,r25,MV64x60_INTERNAL_SPACE_DECODE1:	lwbrx	r24,0,(r25)	cmpw	r24,r26	bne	1b	blr#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?