Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77f6d226 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Remove additional setup for kernel_mode



PT_MODE stores information if kernel comes from user
or kernel space. If come from user space, PT_MODE
contains 0. If come from kernel store, PT_MODE contains
non zero value. We don't need to save value 1. I am using
r1 register which contains non zero value.
This change save one additional instruction.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent 06a54604
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -286,8 +286,7 @@ C_ENTRY(_user_exception):
	addik	r1, r1, -STATE_SAVE_SIZE; /* Make room on the stack. */
	SAVE_REGS

	addi	r11, r0, 1; 		/* Was in kernel-mode. */
	swi	r11, r1, PTO+PT_MODE; /* pt_regs -> kernel mode */
	swi	r1, r1, PTO + PT_MODE; /* pt_regs -> kernel mode */
	brid	2f;
	nop;				/* Fill delay slot */

@@ -513,8 +512,7 @@ C_ENTRY(sys_rt_sigreturn_wrapper):
	tophys(r1,r1);							\
	addik	r1, r1, -STATE_SAVE_SIZE; /* Make room on the stack.  */\
	SAVE_REGS							\
	addi	r11, r0, 1; 		/* Was in kernel-mode.  */	\
	swi	r11, r1, PTO+PT_MODE; 	 				\
	swi	r1, r1, PTO+PT_MODE; 	 				\
	brid	2f;							\
	nop;				/* Fill delay slot */		\
1:	/* User-mode state save.  */					\
@@ -733,9 +731,7 @@ C_ENTRY(_interrupt):
/* MS: Make room on the stack -> activation record */
	addik	r1, r1, -STATE_SAVE_SIZE;
	SAVE_REGS
	/* MS: store mode */
	addi	r11, r0, 1; /* MS: Was in kernel-mode. */
	swi	r11, r1, PTO + PT_MODE; /* MS: and save it */
	swi	r1, r1, PTO + PT_MODE; /* 0 - user mode, 1 - kernel mode */
	brid	2f;
	nop; /* MS: Fill delay slot */

@@ -852,8 +848,7 @@ C_ENTRY(_debug_exception):
	addik	r1, r1, -STATE_SAVE_SIZE; /* Make room on the stack.  */
	SAVE_REGS;

	addi	r11, r0, 1; 		/* Was in kernel-mode.  */
	swi	r11, r1, PTO + PT_MODE;
	swi	r1, r1, PTO + PT_MODE;
	brid	2f;
	nop;				/* Fill delay slot */
1:      /* User-mode state save.  */