From f62a80883d8cd6622cdedf4e057454ed507684eb Mon Sep 17 00:00:00 2001 From: Tom Cosgrove Date: Fri, 9 Feb 2007 19:49:48 +0000 Subject: Don't both reloading the CPL into %eax before pushing it onto the stack, since it's already in %ebx. (And %eax is reloaded immediately after the push, so CPL not needed in %eax.) Saves one load every interrupt. ok dim@, gwk@ --- sys/arch/i386/i386/vector.s | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'sys/arch/i386') diff --git a/sys/arch/i386/i386/vector.s b/sys/arch/i386/i386/vector.s index 78052d1f95d..d8c84c8d8d5 100644 --- a/sys/arch/i386/i386/vector.s +++ b/sys/arch/i386/i386/vector.s @@ -1,4 +1,4 @@ -/* $OpenBSD: vector.s,v 1.8 2006/06/12 04:41:30 gwk Exp $ */ +/* $OpenBSD: vector.s,v 1.9 2007/02/09 19:49:47 tom Exp $ */ /* $NetBSD: vector.s,v 1.32 1996/01/07 21:29:47 mycroft Exp $ */ /* @@ -114,8 +114,7 @@ _C_LABEL(Xintr_/**/name/**/num): ;\ movl CPL,%ebx ;\ cmpl %eax,%ebx ;\ jae _C_LABEL(Xhold_/**/name/**/num)/* currently masked; hold it */;\ - movl CPL,%eax /* cpl to restore on exit */ ;\ - pushl %eax ;\ + pushl %ebx /* cpl to restore on exit */ ;\ 1: ;\ movl _C_LABEL(imaxlevel) + (num) * 4,%eax ;\ movl %eax,CPL /* block enough for this irq */ ;\ -- cgit v1.2.3