mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 12:39:23 +00:00 
			
		
		
		
	 3d0d14f983
			
		
	
	
		3d0d14f983
		
	
	
	
	
		
			
			lindent these files:
                                       errors   lines of code   errors/KLOC
 arch/x86/math-emu/                      2236            9424         237.2
 arch/x86/math-emu/                       128            8706          14.7
no other changes. No code changed:
   text    data     bss     dec     hex filename
   5589802  612739 3833856 10036397         9924ad vmlinux.before
   5589802  612739 3833856 10036397         9924ad vmlinux.after
the intent of this patch is to ease the automated tracking of kernel
code quality - it's just much easier for us to maintain it if every file
in arch/x86 is supposed to be clean.
NOTE: it is a known problem of lindent that it causes some style damage
of its own, but it's a safe tool (well, except for the gcc array range
initializers extension), so we did the bulk of the changes via lindent,
and did the manual fixups in a followup patch.
the resulting math-emu code has been tested by Thomas Gleixner on a real
386 DX CPU as well, and it works fine.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
		
	
			
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*---------------------------------------------------------------------------+
 | |
|  |  status_w.h                                                               |
 | |
|  |                                                                           |
 | |
|  | Copyright (C) 1992,1993                                                   |
 | |
|  |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
 | |
|  |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |
 | |
|  |                                                                           |
 | |
|  +---------------------------------------------------------------------------*/
 | |
| 
 | |
| #ifndef _STATUS_H_
 | |
| #define _STATUS_H_
 | |
| 
 | |
| #include "fpu_emu.h"		/* for definition of PECULIAR_486 */
 | |
| 
 | |
| #ifdef __ASSEMBLY__
 | |
| #define	Const__(x)	$##x
 | |
| #else
 | |
| #define	Const__(x)	x
 | |
| #endif
 | |
| 
 | |
| #define SW_Backward    	Const__(0x8000)	/* backward compatibility */
 | |
| #define SW_C3		Const__(0x4000)	/* condition bit 3 */
 | |
| #define SW_Top		Const__(0x3800)	/* top of stack */
 | |
| #define SW_Top_Shift 	Const__(11)	/* shift for top of stack bits */
 | |
| #define SW_C2		Const__(0x0400)	/* condition bit 2 */
 | |
| #define SW_C1		Const__(0x0200)	/* condition bit 1 */
 | |
| #define SW_C0		Const__(0x0100)	/* condition bit 0 */
 | |
| #define SW_Summary     	Const__(0x0080)	/* exception summary */
 | |
| #define SW_Stack_Fault	Const__(0x0040)	/* stack fault */
 | |
| #define SW_Precision   	Const__(0x0020)	/* loss of precision */
 | |
| #define SW_Underflow   	Const__(0x0010)	/* underflow */
 | |
| #define SW_Overflow    	Const__(0x0008)	/* overflow */
 | |
| #define SW_Zero_Div    	Const__(0x0004)	/* divide by zero */
 | |
| #define SW_Denorm_Op   	Const__(0x0002)	/* denormalized operand */
 | |
| #define SW_Invalid     	Const__(0x0001)	/* invalid operation */
 | |
| 
 | |
| #define SW_Exc_Mask     Const__(0x27f)	/* Status word exception bit mask */
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| #define COMP_A_gt_B	1
 | |
| #define COMP_A_eq_B	2
 | |
| #define COMP_A_lt_B	3
 | |
| #define COMP_No_Comp	4
 | |
| #define COMP_Denormal   0x20
 | |
| #define COMP_NaN	0x40
 | |
| #define COMP_SNaN	0x80
 | |
| 
 | |
| #define status_word() \
 | |
|   ((partial_status & ~SW_Top & 0xffff) | ((top << SW_Top_Shift) & SW_Top))
 | |
| static inline void setcc(int cc)
 | |
| {
 | |
| 	partial_status &= ~(SW_C0 | SW_C1 | SW_C2 | SW_C3);
 | |
| 	partial_status |= (cc) & (SW_C0 | SW_C1 | SW_C2 | SW_C3);
 | |
| }
 | |
| 
 | |
| #ifdef PECULIAR_486
 | |
|    /* Default, this conveys no information, but an 80486 does it. */
 | |
|    /* Clear the SW_C1 bit, "other bits undefined". */
 | |
| #  define clear_C1()  { partial_status &= ~SW_C1; }
 | |
| # else
 | |
| #  define clear_C1()
 | |
| #endif /* PECULIAR_486 */
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 | |
| 
 | |
| #endif /* _STATUS_H_ */
 |