linux-mips
[Top] [All Lists]

i8259.c in big endian

To: linux-mips@oss.sgi.com
Subject: i8259.c in big endian
From: Atsushi Nemoto <nemoto@toshiba-tops.co.jp>
Date: Thu, 08 Nov 2001 15:47:02 +0900 (JST)
Cc: ralf@oss.sgi.com
Organization: TOSHIBA Personal Computer System Corporation
Sender: owner-linux-mips@oss.sgi.com
arch/mips/kernel/i8259.c seems not working in big endian.

Here is a patch to fix this.

--- linux-sgi-cvs/arch/mips/kernel/i8259.c      Mon Sep 10 02:43:01 2001
+++ linux.new/arch/mips/kernel/i8259.c  Thu Nov  8 15:40:03 2001
@@ -70,8 +70,13 @@
 static unsigned int cached_irq_mask = 0xffff;
 
 #define __byte(x,y)    (((unsigned char *)&(y))[x])
+#ifdef __BIG_ENDIAN
+#define cached_21      (__byte(1,cached_irq_mask))
+#define cached_A1      (__byte(0,cached_irq_mask))
+#else
 #define cached_21      (__byte(0,cached_irq_mask))
 #define cached_A1      (__byte(1,cached_irq_mask))
+#endif
 
 void disable_8259A_irq(unsigned int irq)
 {
---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>