Commit b5f73da5 authored by Sven Schnelle's avatar Sven Schnelle Committed by Helge Deller
Browse files

parisc: move virt_map macro to assembly.h



This macro will also be used by the TOC code, so move it
into asm/assembly.h to avoid duplication.

Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 8e0ba125
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@
#include <asm/types.h>

#include <asm/asmregs.h>
#include <asm/psw.h>

	sp	=	30
	gp	=	27
@@ -504,6 +505,30 @@
	nop	/* 7 */
	.endm

	/* Switch to virtual mapping, trashing only %r1 */
	.macro  virt_map
	/* pcxt_ssm_bug */
	rsm	PSW_SM_I, %r0		/* barrier for "Relied upon Translation */
	mtsp	%r0, %sr4
	mtsp	%r0, %sr5
	mtsp	%r0, %sr6
	tovirt_r1 %r29
	load32	KERNEL_PSW, %r1

	rsm     PSW_SM_QUIET,%r0	/* second "heavy weight" ctl op */
	mtctl	%r0, %cr17		/* Clear IIASQ tail */
	mtctl	%r0, %cr17		/* Clear IIASQ head */
	mtctl	%r1, %ipsw
	load32	4f, %r1
	mtctl	%r1, %cr18		/* Set IIAOQ tail */
	ldo	4(%r1), %r1
	mtctl	%r1, %cr18		/* Set IIAOQ head */
	rfir
	nop
4:
	.endm


	/*
	 * ASM_EXCEPTIONTABLE_ENTRY
	 *
+0 −24
Original line number Diff line number Diff line
@@ -51,30 +51,6 @@
	extrd,u \spc,(64 - (SPACEID_SHIFT)),32,\prot
	.endm
#endif

	/* Switch to virtual mapping, trashing only %r1 */
	.macro  virt_map
	/* pcxt_ssm_bug */
	rsm	PSW_SM_I, %r0	/* barrier for "Relied upon Translation */
	mtsp	%r0, %sr4
	mtsp	%r0, %sr5
	mtsp	%r0, %sr6
	tovirt_r1 %r29
	load32	KERNEL_PSW, %r1

	rsm     PSW_SM_QUIET,%r0	/* second "heavy weight" ctl op */
	mtctl	%r0, %cr17	/* Clear IIASQ tail */
	mtctl	%r0, %cr17	/* Clear IIASQ head */
	mtctl	%r1, %ipsw
	load32	4f, %r1
	mtctl	%r1, %cr18	/* Set IIAOQ tail */
	ldo	4(%r1), %r1
	mtctl	%r1, %cr18	/* Set IIAOQ head */
	rfir
	nop
4:
	.endm

	/*
	 * The "get_stack" macros are responsible for determining the
	 * kernel stack value.