Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263502AbTH0Pmr (ORCPT ); Wed, 27 Aug 2003 11:42:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263503AbTH0Pmr (ORCPT ); Wed, 27 Aug 2003 11:42:47 -0400 Received: from i238014.ppp.asahi-net.or.jp ([61.125.238.14]:8439 "EHLO mitou.y-sato.ddo.jp") by vger.kernel.org with ESMTP id S263502AbTH0Pmn (ORCPT ); Wed, 27 Aug 2003 11:42:43 -0400 Date: Thu, 28 Aug 2003 00:42:39 +0900 Message-ID: From: Yoshinori Sato To: Linus Torvalds Cc: linux kernel Mailing List Subject: Re: [PATCH] h8300 interrupt problem fix In-Reply-To: References: User-Agent: Wanderlust/2.11.3 (Wonderwall) SEMI/1.14.5 (Awara-Onsen) LIMIT/1.14.7 (Fujiidera) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2283 Lines: 65 Sorry. typo fixed. diff -ru linux-2.6.0-test3/arch/h8300/platform/h8300h/ints.c linux-2.6.0-test3-h8300/arch/h8300/platform/h8300h/ints.c --- linux-2.6.0-test3/arch/h8300/platform/h8300h/ints.c 2003-08-22 00:42:22.000000000 +0900 +++ uCdev/linux-2.6.0-test3/arch/h8300/platform/h8300h/ints.c 2003-08-23 20:16:36.000000000 +0900 @@ -57,17 +57,20 @@ extern unsigned long *interrupt_redirect_table; +#define CPU_VECTOR ((unsigned long *)0x000000) +#define ADDR_MASK (0xffffff) + static inline unsigned long *get_vector_address(void) { - unsigned long *rom_vector = (unsigned long *)0x000000; + unsigned long *rom_vector = CPU_VECTOR; unsigned long base,tmp; int vec_no; - base = rom_vector[EXT_IRQ0]; + base = rom_vector[EXT_IRQ0] & ADDR_MASK; /* check romvector format */ for (vec_no = EXT_IRQ1; vec_no <= EXT_IRQ5; vec_no++) { - if ((base+(vec_no - EXT_IRQ0)*4) != rom_vector[vec_no]) + if ((base+(vec_no - EXT_IRQ0)*4) != (rom_vector[vec_no] & ADDR_MASK)) return NULL; } diff -ru linux-2.6.0-test3/arch/h8300/platform/h8s/ints.c linux-2.6.0-test3-h8300/arch/h8300/platform/h8s/ints.c --- linux-2.6.0-test3/arch/h8300/platform/h8s/ints.c 2003-08-22 00:42:22.000000000 +0900 +++ linux-2.6.0-test3-h8300/arch/h8300/platform/h8s/ints.c 2003-08-23 20:15:41.000000000 +0900 @@ -95,17 +95,20 @@ extern unsigned long *interrupt_redirect_table; +#define CPU_VECTOR ((unsigned long *)0x000000) +#define ADDR_MASK (0xffffff) + static inline unsigned long *get_vector_address(void) { - volatile unsigned long *rom_vector = (unsigned long *)0x000000; + volatile unsigned long *rom_vector = CPU_VECTOR; unsigned long base,tmp; int vec_no; - base = rom_vector[EXT_IRQ0]; + base = rom_vector[EXT_IRQ0] & ADDR_MASK; /* check romvector format */ for (vec_no = EXT_IRQ1; vec_no <= EXT_IRQ15; vec_no++) { - if ((base+(vec_no - EXT_IRQ0)*4) != rom_vector[vec_no]) + if ((base+(vec_no - EXT_IRQ0)*4) != (rom_vector[vec_no] & ADDR_MASK)) return NULL; } -- Yoshinori Sato - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/