From anemo@mba.ocn.ne.jp Mon Dec  1 05:03:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 05:03:45 +0000 (GMT)
Received: from topsns.toshiba-tops.co.jp ([IPv6:::ffff:202.230.225.5]:33035
	"HELO topsns.toshiba-tops.co.jp") by linux-mips.org with SMTP
	id <S8224939AbTLAFDo>; Mon, 1 Dec 2003 05:03:44 +0000
Received: from no.name.available by topsns.toshiba-tops.co.jp
          via smtpd (for mail.linux-mips.org [62.254.210.162]) with SMTP; 1 Dec 2003 05:04:15 UT
Received: from localhost (fragile [172.17.28.65])
	by srd2sd.toshiba-tops.co.jp (8.12.9/8.12.9) with ESMTP id hB1545nd029154
	for <linux-mips@linux-mips.org>; Mon, 1 Dec 2003 14:04:06 +0900 (JST)
	(envelope-from anemo@mba.ocn.ne.jp)
Date: Mon, 01 Dec 2003 14:07:01 +0900 (JST)
Message-Id: <20031201.140701.59648708.nemoto@toshiba-tops.co.jp>
To: linux-mips@linux-mips.org
Subject: Re: Huge dynamically linked program does not run on mips-linux
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
In-Reply-To: <20031107.015421.55515336.anemo@mba.ocn.ne.jp>
References: <20031104.200222.70226623.nemoto@toshiba-tops.co.jp>
	<1067968386.3491.7.camel@ghostwheel.sfbay.redhat.com>
	<20031107.015421.55515336.anemo@mba.ocn.ne.jp>
X-Fingerprint: 6ACA 1623 39BD 9A94 9B1A  B746 CA77 FE94 2874 D52F
X-Pgp-Public-Key: http://wwwkeys.pgp.net/pks/lookup?op=get&search=0x2874D52F
X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <anemo@mba.ocn.ne.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3691
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: anemo@mba.ocn.ne.jp
Precedence: bulk
X-list: linux-mips

>>>>> On Fri, 07 Nov 2003 01:54:21 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> said:
anemo> My problem is runtime failure, not link error.  So it may be a
anemo> different problem.

My problem was solved by recent fix in binutils.

The patch is:

http://sources.redhat.com/ml/binutils/2003-11/msg00469.html

and is already in binutils CVS.  Thank you.

---
Atsushi Nemoto

From yuasa@hh.iij4u.or.jp Mon Dec  1 16:49:45 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 16:49:49 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:12234 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225546AbTLAQtp>;
	Mon, 1 Dec 2003 16:49:45 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id BAA03657;
	Tue, 2 Dec 2003 01:49:39 +0900 (JST)
Received: 4UMDO00 id hB1Gnc710991; Tue, 2 Dec 2003 01:49:38 +0900 (JST)
Received: 4UMRO01 id hB1GnbU19203; Tue, 2 Dec 2003 01:49:37 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Tue, 2 Dec 2003 01:49:35 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: ralf@linux-mips.org
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: [patch] NEC VR41xx new timer
Message-Id: <20031202014935.1b2c796b.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: multipart/mixed;
 boundary="Multipart=_Tue__2_Dec_2003_01_49_35_+0900_O8rOD56eF1FAQzKz"
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3692
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.

--Multipart=_Tue__2_Dec_2003_01_49_35_+0900_O8rOD56eF1FAQzKz
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello Ralf,

I updated new timer patches for latest CVS tree.
These patches are required for power management.

Please apply these patches.

Thanks,

Yoichi

--Multipart=_Tue__2_Dec_2003_01_49_35_+0900_O8rOD56eF1FAQzKz
Content-Type: text/plain;
 name="00-vr41xx_time-v24.diff"
Content-Disposition: attachment;
 filename="00-vr41xx_time-v24.diff"
Content-Transfer-Encoding: 7bit

diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/config-shared.in linux/arch/mips/config-shared.in
--- linux.orig/arch/mips/config-shared.in	Sun Nov 30 22:11:28 2003
+++ linux/arch/mips/config-shared.in	Tue Dec  2 01:19:39 2003
@@ -252,7 +252,6 @@
 if [ "$CONFIG_CASIO_E55" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_ISA y
    define_bool CONFIG_DUMMY_KEYB y
@@ -433,7 +432,6 @@
 if [ "$CONFIG_IBM_WORKPAD" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_ISA y
    define_bool CONFIG_DUMMY_KEYB y
@@ -579,7 +577,6 @@
 if [ "$CONFIG_NEC_EAGLE" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_PCI y
    define_bool CONFIG_NEW_PCI y
@@ -635,7 +632,6 @@
 if [ "$CONFIG_TANBAC_TB0226" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_PCI y
    define_bool CONFIG_NEW_PCI y
@@ -646,7 +642,6 @@
 if [ "$CONFIG_TANBAC_TB0229" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_PCI y
    define_bool CONFIG_NEW_PCI y
@@ -678,7 +673,6 @@
 if [ "$CONFIG_VICTOR_MPC30X" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_PCI y
    define_bool CONFIG_NEW_PCI y
@@ -689,7 +683,6 @@
 if [ "$CONFIG_ZAO_CAPCELLA" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
    define_bool CONFIG_NEW_TIME_C y
-   define_bool CONFIG_VR41XX_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_PCI y
    define_bool CONFIG_NEW_PCI y
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/Makefile linux/arch/mips/vr41xx/common/Makefile
--- linux.orig/arch/mips/vr41xx/common/Makefile	Wed Jul 30 09:35:37 2003
+++ linux/arch/mips/vr41xx/common/Makefile	Tue Dec  2 01:19:39 2003
@@ -12,13 +12,12 @@
 
 O_TARGET := vr41xx.o
 
-obj-y := bcu.o cmu.o giu.o icu.o int-handler.o reset.o
+obj-y := bcu.o cmu.o giu.o icu.o int-handler.o ksyms.o reset.o rtc.o
 
-export-objs := vrc4173.o
+export-objs := ksyms.o vrc4173.o
 
 obj-$(CONFIG_PCI)		+= pciu.o
 obj-$(CONFIG_SERIAL)		+= serial.o
-obj-$(CONFIG_VR41XX_TIME_C)	+= time.o
 obj-$(CONFIG_VRC4173)		+= vrc4173.o
 obj-$(subst m,y,$(CONFIG_IDE))	+= ide.o
 
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/bcu.c linux/arch/mips/vr41xx/common/bcu.c
--- linux.orig/arch/mips/vr41xx/common/bcu.c	Fri Oct 31 11:28:40 2003
+++ linux/arch/mips/vr41xx/common/bcu.c	Tue Dec  2 01:19:39 2003
@@ -36,20 +36,14 @@
  *  - New creation, NEC VR4122 and VR4131 are supported.
  *  - Added support for NEC VR4111 and VR4121.
  *
- *  Paul Mundt <lethal@chaoticdreams.org>
- *  - Calculate mips_hpt_frequency properly on VR4131.
- *
  *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
  *  - Added support for NEC VR4133.
  */
 #include <linux/init.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
 #include <asm/io.h>
-#include <asm/time.h>
-#include <asm/vr41xx/vr41xx.h>
 
 #define VR4111_CLKSPEEDREG	KSEG1ADDR(0x0b000014)
 #define VR4122_CLKSPEEDREG	KSEG1ADDR(0x0f000014)
@@ -66,9 +60,20 @@
  #define TDIVMODE(x)		(2 << (((x) & 0x1000) >> 12))
  #define VTDIVMODE(x)		(((x) & 0x0700) >> 8)
 
-unsigned long vr41xx_vtclock = 0;
+static unsigned long vr41xx_vtclock;
+static unsigned long vr41xx_tclock;
 
-static inline u16 read_clkspeed(void)
+unsigned long vr41xx_get_vtclock_frequency(void)
+{
+	return vr41xx_vtclock;
+}
+
+unsigned long vr41xx_get_tclock_frequency(void)
+{
+	return vr41xx_tclock;
+}
+
+static inline uint16_t read_clkspeed(void)
 {
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
@@ -84,7 +89,7 @@
 	return 0;
 }
 
-static inline unsigned long calculate_pclock(u16 clkspeed)
+static inline unsigned long calculate_pclock(uint16_t clkspeed)
 {
 	unsigned long pclock = 0;
 
@@ -134,46 +139,48 @@
 	return pclock;
 }
 
-static inline unsigned long calculate_vtclock(u16 clkspeed, unsigned long pclock)
+static inline unsigned long calculate_vtclock(uint16_t clkspeed, unsigned long pclock)
 {
+	unsigned long vtclock = 0;
+
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 		/* The NEC VR4111 doesn't have the VTClock. */
 		break;
 	case CPU_VR4121:
-		vr41xx_vtclock = pclock;
+		vtclock = pclock;
 		/* DIVVT == 9 Divide by 1.5 . VTClock = (PClock * 6) / 9 */
 		if (DIVVT(clkspeed) == 9)
-			vr41xx_vtclock = pclock * 6;
+			vtclock = pclock * 6;
 		/* DIVVT == 10 Divide by 2.5 . VTClock = (PClock * 4) / 10 */
 		else if (DIVVT(clkspeed) == 10)
-			vr41xx_vtclock = pclock * 4;
-		vr41xx_vtclock /= DIVVT(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+			vtclock = pclock * 4;
+		vtclock /= DIVVT(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	case CPU_VR4122:
 		if(VTDIVMODE(clkspeed) == 7)
-			vr41xx_vtclock = pclock / 1;
+			vtclock = pclock / 1;
 		else if(VTDIVMODE(clkspeed) == 1)
-			vr41xx_vtclock = pclock / 2;
+			vtclock = pclock / 2;
 		else
-			vr41xx_vtclock = pclock / VTDIVMODE(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+			vtclock = pclock / VTDIVMODE(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_vtclock = pclock / VTDIVMODE(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+		vtclock = pclock / VTDIVMODE(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	default:
 		printk(KERN_INFO "Unexpected CPU of NEC VR4100 series\n");
 		break;
 	}
 
-	return vr41xx_vtclock;
+	return vtclock;
 }
 
-static inline unsigned long calculate_tclock(u16 clkspeed, unsigned long pclock,
+static inline unsigned long calculate_tclock(uint16_t clkspeed, unsigned long pclock,
                                              unsigned long vtclock)
 {
 	unsigned long tclock = 0;
@@ -205,30 +212,14 @@
 	return tclock;
 }
 
-static inline unsigned long calculate_mips_hpt_frequency(unsigned long tclock)
-{
-	/*
-	 * VR4131 Revision 2.0 and 2.1 use a value of (tclock / 2).
-	 */
-	if ((current_cpu_data.processor_id == PRID_VR4131_REV2_0) ||
-	    (current_cpu_data.processor_id == PRID_VR4131_REV2_1))
-		tclock /= 2;
-	else
-		tclock /= 4;
-
-	return tclock;
-}
-
 void __init vr41xx_bcu_init(void)
 {
-	unsigned long pclock, vtclock, tclock;
-	u16 clkspeed;
+	unsigned long pclock;
+	uint16_t clkspeed;
 
 	clkspeed = read_clkspeed();
 
 	pclock = calculate_pclock(clkspeed);
-	vtclock = calculate_vtclock(clkspeed, pclock);
-	tclock = calculate_tclock(clkspeed, pclock, vtclock);
-
-	mips_hpt_frequency = calculate_mips_hpt_frequency(tclock);
+	vr41xx_vtclock = calculate_vtclock(clkspeed, pclock);
+	vr41xx_tclock = calculate_tclock(clkspeed, pclock, vr41xx_vtclock);
 }
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/ksyms.c linux/arch/mips/vr41xx/common/ksyms.c
--- linux.orig/arch/mips/vr41xx/common/ksyms.c	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/common/ksyms.c	Tue Dec  2 01:19:39 2003
@@ -0,0 +1,33 @@
+/*
+ *   ksyms.c, Export NEC VR4100 series specific functions needed for loadable modules.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/config.h>
+#include <linux/module.h>
+
+#include <asm/vr41xx/vr41xx.h>
+
+EXPORT_SYMBOL(vr41xx_get_vtclock_frequency);
+EXPORT_SYMBOL(vr41xx_get_tclock_frequency);
+
+EXPORT_SYMBOL(vr41xx_set_rtclong1_cycle);
+EXPORT_SYMBOL(vr41xx_read_rtclong1_counter);
+EXPORT_SYMBOL(vr41xx_set_rtclong2_cycle);
+EXPORT_SYMBOL(vr41xx_read_rtclong2_counter);
+EXPORT_SYMBOL(vr41xx_set_tclock_cycle);
+EXPORT_SYMBOL(vr41xx_read_tclock_counter);
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/pciu.c linux/arch/mips/vr41xx/common/pciu.c
--- linux.orig/arch/mips/vr41xx/common/pciu.c	Fri Oct 31 11:28:41 2003
+++ linux/arch/mips/vr41xx/common/pciu.c	Tue Dec  2 01:19:39 2003
@@ -51,8 +51,6 @@
 
 #include "pciu.h"
 
-extern unsigned long vr41xx_vtclock;
-
 static inline int vr41xx_pci_config_access(struct pci_dev *dev, int where)
 {
 	unsigned char bus = dev->bus->number;
@@ -196,6 +194,7 @@
 void __init vr41xx_pciu_init(struct vr41xx_pci_address_map *map)
 {
 	struct vr41xx_pci_address_space *s;
+	unsigned long vtclock;
 	u32 config;
 	int n;
 
@@ -215,11 +214,12 @@
 	udelay(1);
 
 	/* Select PCI clock */
-	if (vr41xx_vtclock < MAX_PCI_CLOCK)
+	vtclock = vr41xx_get_vtclock_frequency();
+	if (vtclock < MAX_PCI_CLOCK)
 		writel(EQUAL_VTCLOCK, PCICLKSELREG);
-	else if ((vr41xx_vtclock / 2) < MAX_PCI_CLOCK)
+	else if ((vtclock / 2) < MAX_PCI_CLOCK)
 		writel(HALF_VTCLOCK, PCICLKSELREG);
-	else if ((vr41xx_vtclock / 4) < MAX_PCI_CLOCK)
+	else if ((vtclock / 4) < MAX_PCI_CLOCK)
 		writel(QUARTER_VTCLOCK, PCICLKSELREG);
 	else
 		printk(KERN_INFO "Warning: PCI Clock is over 33MHz.\n");
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/rtc.c linux/arch/mips/vr41xx/common/rtc.c
--- linux.orig/arch/mips/vr41xx/common/rtc.c	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/common/rtc.c	Tue Dec  2 01:19:39 2003
@@ -0,0 +1,312 @@
+/*
+ *  rtc.c, RTC(has only timer function) routines for NEC VR4100 series.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/irq.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/time.h>
+#include <asm/vr41xx/vr41xx.h>
+
+static uint32_t rtc1_base;
+static uint32_t rtc2_base;
+
+static uint64_t previous_elapsedtime;
+static unsigned int remainder_per_sec;
+static unsigned int cycles_per_sec;
+static unsigned int cycles_per_jiffy;
+static unsigned long epoch_time;
+
+#define CLOCK_TICK_RATE		32768	/* 32.768kHz */
+
+#define CYCLES_PER_JIFFY	(CLOCK_TICK_RATE / HZ)
+#define REMAINDER_PER_SEC	(CLOCK_TICK_RATE - (CYCLES_PER_JIFFY * HZ))
+#define CYCLES_PER_100USEC	((CLOCK_TICK_RATE + (10000 / 2)) / 10000)
+
+#define VR4111_ETIMELREG	KSEG1ADDR(0x0b0000c0)
+#define VR4111_TCLKLREG		KSEG1ADDR(0x0b0001c0)
+
+#define VR4122_ETIMELREG	KSEG1ADDR(0x0f000100)
+#define VR4122_TCLKLREG		KSEG1ADDR(0x0f000120)
+
+/* RTC 1 registers */
+#define ETIMELREG		0x00
+#define ETIMEMREG		0x02
+#define ETIMEHREG		0x04
+/* RFU */
+#define ECMPLREG		0x08
+#define ECMPMREG		0x0a
+#define ECMPHREG		0x0c
+/* RFU */
+#define RTCL1LREG		0x10
+#define RTCL1HREG		0x12
+#define RTCL1CNTLREG		0x14
+#define RTCL1CNTHREG		0x16
+#define RTCL2LREG		0x18
+#define RTCL2HREG		0x1a
+#define RTCL2CNTLREG		0x1c
+#define RTCL2CNTHREG		0x1e
+
+/* RTC 2 registers */
+#define TCLKLREG		0x00
+#define TCLKHREG		0x02
+#define TCLKCNTLREG		0x04
+#define TCLKCNTHREG		0x06
+/* RFU */
+#define RTCINTREG		0x1e
+ #define TCLOCK_INT		0x08
+ #define RTCLONG2_INT		0x04
+ #define RTCLONG1_INT		0x02
+ #define ELAPSEDTIME_INT	0x01
+
+#define read_rtc1(offset)	readw(rtc1_base + (offset))
+#define write_rtc1(val, offset)	writew((val), rtc1_base + (offset))
+
+#define read_rtc2(offset)	readw(rtc2_base + (offset))
+#define write_rtc2(val, offset)	writew((val), rtc2_base + (offset))
+
+static inline uint64_t read_elapsedtime_counter(void)
+{
+	uint64_t first, second;
+	uint32_t first_mid, first_low;
+	uint32_t second_mid, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(ETIMELREG);
+		first_mid = (uint32_t)read_rtc1(ETIMEMREG);
+		first = (uint64_t)read_rtc1(ETIMEHREG);
+		second_low = (uint32_t)read_rtc1(ETIMELREG);
+		second_mid = (uint32_t)read_rtc1(ETIMEMREG);
+		second = (uint64_t)read_rtc1(ETIMEHREG);
+	} while (first_low != second_low || first_mid != second_mid ||
+	         first != second);
+
+	return (first << 32) | (uint64_t)((first_mid << 16) | first_low);
+}
+
+static inline void write_elapsedtime_counter(uint64_t time)
+{
+	write_rtc1((uint16_t)time, ETIMELREG);
+	write_rtc1((uint16_t)(time >> 16), ETIMEMREG);
+	write_rtc1((uint16_t)(time >> 32), ETIMEHREG);
+}
+
+static inline void write_elapsedtime_compare(uint64_t time)
+{
+	write_rtc1((uint16_t)time, ECMPLREG);
+	write_rtc1((uint16_t)(time >> 16), ECMPMREG);
+	write_rtc1((uint16_t)(time >> 32), ECMPHREG);
+}
+
+void vr41xx_set_rtclong1_cycle(uint32_t cycles)
+{
+	write_rtc1((uint16_t)cycles, RTCL1LREG);
+	write_rtc1((uint16_t)(cycles >> 16), RTCL1HREG);
+}
+
+uint32_t vr41xx_read_rtclong1_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(RTCL1CNTLREG);
+		first_high = (uint32_t)read_rtc1(RTCL1CNTHREG);
+		second_low = (uint32_t)read_rtc1(RTCL1CNTLREG);
+		second_high = (uint32_t)read_rtc1(RTCL1CNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+void vr41xx_set_rtclong2_cycle(uint32_t cycles)
+{
+	write_rtc1((uint16_t)cycles, RTCL2LREG);
+	write_rtc1((uint16_t)(cycles >> 16), RTCL2HREG);
+}
+
+uint32_t vr41xx_read_rtclong2_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(RTCL2CNTLREG);
+		first_high = (uint32_t)read_rtc1(RTCL2CNTHREG);
+		second_low = (uint32_t)read_rtc1(RTCL2CNTLREG);
+		second_high = (uint32_t)read_rtc1(RTCL2CNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+void vr41xx_set_tclock_cycle(uint32_t cycles)
+{
+	write_rtc2((uint16_t)cycles, TCLKLREG);
+	write_rtc2((uint16_t)(cycles >> 16), TCLKHREG);
+}
+
+uint32_t vr41xx_read_tclock_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc2(TCLKCNTLREG);
+		first_high = (uint32_t)read_rtc2(TCLKCNTHREG);
+		second_low = (uint32_t)read_rtc2(TCLKCNTLREG);
+		second_high = (uint32_t)read_rtc2(TCLKCNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+static void vr41xx_timer_ack(void)
+{
+	uint64_t cur;
+
+	write_rtc2(ELAPSEDTIME_INT, RTCINTREG);
+
+	previous_elapsedtime += (uint64_t)cycles_per_jiffy;
+	cycles_per_sec += cycles_per_jiffy;
+
+	if (cycles_per_sec >= CLOCK_TICK_RATE) {
+		cycles_per_sec = 0;
+		remainder_per_sec = REMAINDER_PER_SEC;
+	}
+
+	cycles_per_jiffy = 0;
+
+	do {
+		cycles_per_jiffy += CYCLES_PER_JIFFY;
+		if (remainder_per_sec > 0) {
+			cycles_per_jiffy++;
+			remainder_per_sec--;
+		}
+
+		cur = read_elapsedtime_counter();
+	} while (cur >= previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+
+	write_elapsedtime_compare(previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+}
+
+static void vr41xx_hpt_init(unsigned int count)
+{
+}
+
+static unsigned int vr41xx_hpt_read(void)
+{
+	uint64_t cur;
+
+	cur = read_elapsedtime_counter();
+
+	return (unsigned int)cur;
+}
+
+static unsigned long vr41xx_gettimeoffset(void)
+{
+	uint64_t cur;
+	unsigned long gap;
+
+	cur = read_elapsedtime_counter();
+	gap = (unsigned long)(cur - previous_elapsedtime);
+	gap = gap / CYCLES_PER_100USEC * 100;	/* usec */
+
+	return gap;
+}
+
+static unsigned long vr41xx_get_time(void)
+{
+	uint64_t counts;
+
+	counts = read_elapsedtime_counter();
+	counts >>= 15;
+
+	return epoch_time + (unsigned long)counts;
+
+}
+
+static int vr41xx_set_time(unsigned long sec)
+{
+	if (sec < epoch_time)
+		return -EINVAL;
+
+	sec -= epoch_time;
+
+	write_elapsedtime_counter((uint64_t)sec << 15);
+
+	return 0;
+}
+
+void vr41xx_set_epoch_time(unsigned long time)
+{
+	epoch_time = time;
+}
+
+void __init vr41xx_time_init(void)
+{
+	switch (current_cpu_data.cputype) {
+	case CPU_VR4111:
+	case CPU_VR4121:
+		rtc1_base = VR4111_ETIMELREG;
+		rtc2_base = VR4111_TCLKLREG;
+		break;
+	case CPU_VR4122:
+	case CPU_VR4131:
+	case CPU_VR4133:
+		rtc1_base = VR4122_ETIMELREG;
+		rtc2_base = VR4122_TCLKLREG;
+		break;
+	default:
+		panic("Unexpected CPU of NEC VR4100 series");
+		break;
+	}
+
+	mips_timer_ack = vr41xx_timer_ack;
+
+	mips_hpt_init = vr41xx_hpt_init;
+	mips_hpt_read = vr41xx_hpt_read;
+	mips_hpt_frequency = CLOCK_TICK_RATE;
+
+	if (epoch_time == 0)
+		epoch_time = mktime(1970, 1, 1, 0, 0, 0);
+
+	rtc_get_time = vr41xx_get_time;
+	rtc_set_time = vr41xx_set_time;
+}
+
+void __init vr41xx_timer_setup(struct irqaction *irq)
+{
+	do_gettimeoffset = vr41xx_gettimeoffset;
+
+	remainder_per_sec = REMAINDER_PER_SEC;
+	cycles_per_jiffy = CYCLES_PER_JIFFY;
+
+	if (remainder_per_sec > 0) {
+		cycles_per_jiffy++;
+		remainder_per_sec--;
+	}
+
+	previous_elapsedtime = read_elapsedtime_counter();
+	write_elapsedtime_compare(previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+	write_rtc2(ELAPSEDTIME_INT, RTCINTREG);
+
+	setup_irq(ELAPSEDTIME_IRQ, irq);
+}
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/time.c linux/arch/mips/vr41xx/common/time.c
--- linux.orig/arch/mips/vr41xx/common/time.c	Fri Oct 31 11:28:41 2003
+++ linux/arch/mips/vr41xx/common/time.c	Thu Jan  1 09:00:00 1970
@@ -1,95 +0,0 @@
-/*
- * FILE NAME
- *	arch/mips/vr41xx/common/time.c
- *
- * BRIEF MODULE DESCRIPTION
- *	Timer routines for the NEC VR4100 series.
- *
- * Author: Yoichi Yuasa
- *         yyuasa@mvista.com or source@mvista.com
- *
- * Copyright 2001,2002 MontaVista Software Inc.
- *
- *  This program is free software; you can redistribute it and/or modify it
- *  under the terms of the GNU General Public License as published by the
- *  Free Software Foundation; either version 2 of the License, or (at your
- *  option) any later version.
- *
- *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with this program; if not, write to the Free Software Foundation, Inc.,
- *  675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * Changes:
- *  MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com>
- *  - New creation, NEC VR4100 series are supported.
- *  - Added support for NEC VR4100 series RTC Unit.
- *
- *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
- *  - Added support for NEC VR4133.
- */
-#include <linux/config.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/types.h>
-
-#include <asm/cpu.h>
-#include <asm/io.h>
-#include <asm/mipsregs.h>
-#include <asm/param.h>
-#include <asm/time.h>
-#include <asm/vr41xx/vr41xx.h>
-
-#define VR4111_ETIMELREG	KSEG1ADDR(0x0b0000c0)
-#define VR4122_ETIMELREG	KSEG1ADDR(0x0f000100)
-
-u32 vr41xx_rtc_base = 0;
-
-#ifdef CONFIG_VR41XX_RTC
-extern unsigned long vr41xx_rtc_get_time(void);
-extern int vr41xx_rtc_set_time(unsigned long sec);
-#endif
-
-void vr41xx_time_init(void)
-{
-	switch (current_cpu_data.cputype) {
-	case CPU_VR4111:
-	case CPU_VR4121:
-		vr41xx_rtc_base = VR4111_ETIMELREG;
-		break;
-	case CPU_VR4122:
-	case CPU_VR4131:
-	case CPU_VR4133:
-                vr41xx_rtc_base = VR4122_ETIMELREG;
-                break;
-        default:
-                panic("Unexpected CPU of NEC VR4100 series");
-                break;
-        }
-
-#ifdef CONFIG_VR41XX_RTC
-        rtc_get_time = vr41xx_rtc_get_time;
-        rtc_set_time = vr41xx_rtc_set_time;
-#endif
-}
-
-void vr41xx_timer_setup(struct irqaction *irq)
-{
-	u32 count;
-
-	setup_irq(MIPS_COUNTER_IRQ, irq);
-
-	count = read_c0_count();
-	write_c0_compare(count + (mips_hpt_frequency / HZ));
-}
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/vr41xx/vr41xx.h linux/include/asm-mips/vr41xx/vr41xx.h
--- linux.orig/include/asm-mips/vr41xx/vr41xx.h	Fri Oct 31 11:28:51 2003
+++ linux/include/asm-mips/vr41xx/vr41xx.h	Tue Dec  2 01:19:39 2003
@@ -7,6 +7,7 @@
  * Copyright (C) 2001, 2002 Paul Mundt
  * Copyright (C) 2002 MontaVista Software, Inc.
  * Copyright (C) 2002 TimeSys Corp.
+ * Copyright (C) 2003 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -45,6 +46,8 @@
  * Bus Control Uint
  */
 extern void vr41xx_bcu_init(void);
+extern unsigned long vr41xx_get_vtclock_frequency(void);
+extern unsigned long vr41xx_get_tclock_frequency(void);
 
 /*
  * Clock Mask Unit
@@ -90,6 +93,8 @@
 /* RFU */
 #define POWER_IRQ		SYSINT1_IRQ(1)
 /* RFU */
+#define ELAPSEDTIME_IRQ		SYSINT1_IRQ(3)
+/* RFU */
 #define GIUINT_CASCADE_IRQ	SYSINT1_IRQ(8)
 #define SIU_IRQ			SYSINT1_IRQ(9)
 /* RFU */
@@ -121,7 +126,19 @@
 extern int vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq));
 
 /*
- * Gegeral-Purpose I/O Unit
+ * RTC
+ */
+extern void vr41xx_set_rtclong1_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_rtclong1_counter(void);
+
+extern void vr41xx_set_rtclong2_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_rtclong2_counter(void);
+
+extern void vr41xx_set_tclock_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_tclock_counter(void);
+
+/*
+ * General-Purpose I/O Unit
  */
 extern void vr41xx_enable_giuint(int pin);
 extern void vr41xx_disable_giuint(int pin);

--Multipart=_Tue__2_Dec_2003_01_49_35_+0900_O8rOD56eF1FAQzKz
Content-Type: text/plain;
 name="00-vr41xx_time-v26.diff"
Content-Disposition: attachment;
 filename="00-vr41xx_time-v26.diff"
Content-Transfer-Encoding: 7bit

diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/Kconfig linux/arch/mips/Kconfig
--- linux.orig/arch/mips/Kconfig	Tue Nov 18 12:33:51 2003
+++ linux/arch/mips/Kconfig	Tue Dec  2 01:33:06 2003
@@ -724,11 +724,6 @@
 	depends on MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT || MOMENCO_OCELOT_G
 	default y
 
-config VR41XX_TIME_C
-	bool
-	depends on ZAO_CAPCELLA || VICTOR_MPC30X || NEC_EAGLE || IBM_WORKPAD || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
-	default y
-
 config DUMMY_KEYB
 	bool
 	depends on ZAO_CAPCELLA || VICTOR_MPC30X || SIBYTE_SB1xxx_SOC || NEC_EAGLE || NEC_OSPREY || DDB5477 || IBM_WORKPAD || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/Makefile linux/arch/mips/vr41xx/common/Makefile
--- linux.orig/arch/mips/vr41xx/common/Makefile	Tue Nov 18 12:34:22 2003
+++ linux/arch/mips/vr41xx/common/Makefile	Tue Dec  2 01:33:06 2003
@@ -2,9 +2,8 @@
 # Makefile for common code of the NEC VR4100 series.
 #
 
-obj-y				+= bcu.o cmu.o giu.o icu.o int-handler.o reset.o
+obj-y				+= bcu.o cmu.o giu.o icu.o int-handler.o ksyms.o reset.o rtc.o
 obj-$(CONFIG_SERIAL_8250)	+= serial.o
-obj-$(CONFIG_VR41XX_TIME_C)	+= time.o
 obj-$(CONFIG_VRC4173)		+= vrc4173.o
 
 EXTRA_AFLAGS := $(CFLAGS)
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/bcu.c linux/arch/mips/vr41xx/common/bcu.c
--- linux.orig/arch/mips/vr41xx/common/bcu.c	Fri Oct 31 11:30:38 2003
+++ linux/arch/mips/vr41xx/common/bcu.c	Tue Dec  2 01:33:07 2003
@@ -36,20 +36,15 @@
  *  - New creation, NEC VR4122 and VR4131 are supported.
  *  - Added support for NEC VR4111 and VR4121.
  *
- *  Paul Mundt <lethal@chaoticdreams.org>
- *  - Calculate mips_hpt_frequency properly on VR4131.
- *
  *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
  *  - Added support for NEC VR4133.
  */
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
 #include <asm/io.h>
-#include <asm/time.h>
-#include <asm/vr41xx/vr41xx.h>
 
 #define VR4111_CLKSPEEDREG	KSEG1ADDR(0x0b000014)
 #define VR4122_CLKSPEEDREG	KSEG1ADDR(0x0f000014)
@@ -66,9 +61,20 @@
  #define TDIVMODE(x)		(2 << (((x) & 0x1000) >> 12))
  #define VTDIVMODE(x)		(((x) & 0x0700) >> 8)
 
-unsigned long vr41xx_vtclock = 0;
+static unsigned long vr41xx_vtclock;
+static unsigned long vr41xx_tclock;
 
-static inline u16 read_clkspeed(void)
+unsigned long vr41xx_get_vtclock_frequency(void)
+{
+	return vr41xx_vtclock;
+}
+
+unsigned long vr41xx_get_tclock_frequency(void)
+{
+	return vr41xx_tclock;
+}
+
+static inline uint16_t read_clkspeed(void)
 {
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
@@ -84,7 +90,7 @@
 	return 0;
 }
 
-static inline unsigned long calculate_pclock(u16 clkspeed)
+static inline unsigned long calculate_pclock(uint16_t clkspeed)
 {
 	unsigned long pclock = 0;
 
@@ -134,46 +140,48 @@
 	return pclock;
 }
 
-static inline unsigned long calculate_vtclock(u16 clkspeed, unsigned long pclock)
+static inline unsigned long calculate_vtclock(uint16_t clkspeed, unsigned long pclock)
 {
+	unsigned long vtclock = 0;
+
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 		/* The NEC VR4111 doesn't have the VTClock. */
 		break;
 	case CPU_VR4121:
-		vr41xx_vtclock = pclock;
+		vtclock = pclock;
 		/* DIVVT == 9 Divide by 1.5 . VTClock = (PClock * 6) / 9 */
 		if (DIVVT(clkspeed) == 9)
-			vr41xx_vtclock = pclock * 6;
+			vtclock = pclock * 6;
 		/* DIVVT == 10 Divide by 2.5 . VTClock = (PClock * 4) / 10 */
 		else if (DIVVT(clkspeed) == 10)
-			vr41xx_vtclock = pclock * 4;
-		vr41xx_vtclock /= DIVVT(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+			vtclock = pclock * 4;
+		vtclock /= DIVVT(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	case CPU_VR4122:
 		if(VTDIVMODE(clkspeed) == 7)
-			vr41xx_vtclock = pclock / 1;
+			vtclock = pclock / 1;
 		else if(VTDIVMODE(clkspeed) == 1)
-			vr41xx_vtclock = pclock / 2;
+			vtclock = pclock / 2;
 		else
-			vr41xx_vtclock = pclock / VTDIVMODE(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+			vtclock = pclock / VTDIVMODE(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_vtclock = pclock / VTDIVMODE(clkspeed);
-		printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock);
+		vtclock = pclock / VTDIVMODE(clkspeed);
+		printk(KERN_INFO "VTClock: %ldHz\n", vtclock);
 		break;
 	default:
 		printk(KERN_INFO "Unexpected CPU of NEC VR4100 series\n");
 		break;
 	}
 
-	return vr41xx_vtclock;
+	return vtclock;
 }
 
-static inline unsigned long calculate_tclock(u16 clkspeed, unsigned long pclock,
+static inline unsigned long calculate_tclock(uint16_t clkspeed, unsigned long pclock,
                                              unsigned long vtclock)
 {
 	unsigned long tclock = 0;
@@ -205,30 +213,14 @@
 	return tclock;
 }
 
-static inline unsigned long calculate_mips_hpt_frequency(unsigned long tclock)
-{
-	/*
-	 * VR4131 Revision 2.0 and 2.1 use a value of (tclock / 2).
-	 */
-	if ((current_cpu_data.processor_id == PRID_VR4131_REV2_0) ||
-	    (current_cpu_data.processor_id == PRID_VR4131_REV2_1))
-		tclock /= 2;
-	else
-		tclock /= 4;
-
-	return tclock;
-}
-
 void __init vr41xx_bcu_init(void)
 {
-	unsigned long pclock, vtclock, tclock;
-	u16 clkspeed;
+	unsigned long pclock;
+	uint16_t clkspeed;
 
 	clkspeed = read_clkspeed();
 
 	pclock = calculate_pclock(clkspeed);
-	vtclock = calculate_vtclock(clkspeed, pclock);
-	tclock = calculate_tclock(clkspeed, pclock, vtclock);
-
-	mips_hpt_frequency = calculate_mips_hpt_frequency(tclock);
+	vr41xx_vtclock = calculate_vtclock(clkspeed, pclock);
+	vr41xx_tclock = calculate_tclock(clkspeed, pclock, vr41xx_vtclock);
 }
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/ksyms.c linux/arch/mips/vr41xx/common/ksyms.c
--- linux.orig/arch/mips/vr41xx/common/ksyms.c	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/common/ksyms.c	Tue Dec  2 01:33:07 2003
@@ -0,0 +1,33 @@
+/*
+ *   ksyms.c, Export NEC VR4100 series specific functions needed for loadable modules.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/config.h>
+#include <linux/module.h>
+
+#include <asm/vr41xx/vr41xx.h>
+
+EXPORT_SYMBOL(vr41xx_get_vtclock_frequency);
+EXPORT_SYMBOL(vr41xx_get_tclock_frequency);
+
+EXPORT_SYMBOL(vr41xx_set_rtclong1_cycle);
+EXPORT_SYMBOL(vr41xx_read_rtclong1_counter);
+EXPORT_SYMBOL(vr41xx_set_rtclong2_cycle);
+EXPORT_SYMBOL(vr41xx_read_rtclong2_counter);
+EXPORT_SYMBOL(vr41xx_set_tclock_cycle);
+EXPORT_SYMBOL(vr41xx_read_tclock_counter);
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/rtc.c linux/arch/mips/vr41xx/common/rtc.c
--- linux.orig/arch/mips/vr41xx/common/rtc.c	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/common/rtc.c	Tue Dec  2 01:33:07 2003
@@ -0,0 +1,310 @@
+/*
+ *  rtc.c, RTC(has only timer function) routines for NEC VR4100 series.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/irq.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/time.h>
+#include <asm/vr41xx/vr41xx.h>
+
+static uint32_t rtc1_base;
+static uint32_t rtc2_base;
+
+static uint64_t previous_elapsedtime;
+static unsigned int remainder_per_sec;
+static unsigned int cycles_per_sec;
+static unsigned int cycles_per_jiffy;
+static unsigned long epoch_time;
+
+#define CYCLES_PER_JIFFY	(CLOCK_TICK_RATE / HZ)
+#define REMAINDER_PER_SEC	(CLOCK_TICK_RATE - (CYCLES_PER_JIFFY * HZ))
+#define CYCLES_PER_100USEC	((CLOCK_TICK_RATE + (10000 / 2)) / 10000)
+
+#define VR4111_ETIMELREG	KSEG1ADDR(0x0b0000c0)
+#define VR4111_TCLKLREG		KSEG1ADDR(0x0b0001c0)
+
+#define VR4122_ETIMELREG	KSEG1ADDR(0x0f000100)
+#define VR4122_TCLKLREG		KSEG1ADDR(0x0f000120)
+
+/* RTC 1 registers */
+#define ETIMELREG		0x00
+#define ETIMEMREG		0x02
+#define ETIMEHREG		0x04
+/* RFU */
+#define ECMPLREG		0x08
+#define ECMPMREG		0x0a
+#define ECMPHREG		0x0c
+/* RFU */
+#define RTCL1LREG		0x10
+#define RTCL1HREG		0x12
+#define RTCL1CNTLREG		0x14
+#define RTCL1CNTHREG		0x16
+#define RTCL2LREG		0x18
+#define RTCL2HREG		0x1a
+#define RTCL2CNTLREG		0x1c
+#define RTCL2CNTHREG		0x1e
+
+/* RTC 2 registers */
+#define TCLKLREG		0x00
+#define TCLKHREG		0x02
+#define TCLKCNTLREG		0x04
+#define TCLKCNTHREG		0x06
+/* RFU */
+#define RTCINTREG		0x1e
+ #define TCLOCK_INT		0x08
+ #define RTCLONG2_INT		0x04
+ #define RTCLONG1_INT		0x02
+ #define ELAPSEDTIME_INT	0x01
+
+#define read_rtc1(offset)	readw(rtc1_base + (offset))
+#define write_rtc1(val, offset)	writew((val), rtc1_base + (offset))
+
+#define read_rtc2(offset)	readw(rtc2_base + (offset))
+#define write_rtc2(val, offset)	writew((val), rtc2_base + (offset))
+
+static inline uint64_t read_elapsedtime_counter(void)
+{
+	uint64_t first, second;
+	uint32_t first_mid, first_low;
+	uint32_t second_mid, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(ETIMELREG);
+		first_mid = (uint32_t)read_rtc1(ETIMEMREG);
+		first = (uint64_t)read_rtc1(ETIMEHREG);
+		second_low = (uint32_t)read_rtc1(ETIMELREG);
+		second_mid = (uint32_t)read_rtc1(ETIMEMREG);
+		second = (uint64_t)read_rtc1(ETIMEHREG);
+	} while (first_low != second_low || first_mid != second_mid ||
+	         first != second);
+
+	return (first << 32) | (uint64_t)((first_mid << 16) | first_low);
+}
+
+static inline void write_elapsedtime_counter(uint64_t time)
+{
+	write_rtc1((uint16_t)time, ETIMELREG);
+	write_rtc1((uint16_t)(time >> 16), ETIMEMREG);
+	write_rtc1((uint16_t)(time >> 32), ETIMEHREG);
+}
+
+static inline void write_elapsedtime_compare(uint64_t time)
+{
+	write_rtc1((uint16_t)time, ECMPLREG);
+	write_rtc1((uint16_t)(time >> 16), ECMPMREG);
+	write_rtc1((uint16_t)(time >> 32), ECMPHREG);
+}
+
+void vr41xx_set_rtclong1_cycle(uint32_t cycles)
+{
+	write_rtc1((uint16_t)cycles, RTCL1LREG);
+	write_rtc1((uint16_t)(cycles >> 16), RTCL1HREG);
+}
+
+uint32_t vr41xx_read_rtclong1_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(RTCL1CNTLREG);
+		first_high = (uint32_t)read_rtc1(RTCL1CNTHREG);
+		second_low = (uint32_t)read_rtc1(RTCL1CNTLREG);
+		second_high = (uint32_t)read_rtc1(RTCL1CNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+void vr41xx_set_rtclong2_cycle(uint32_t cycles)
+{
+	write_rtc1((uint16_t)cycles, RTCL2LREG);
+	write_rtc1((uint16_t)(cycles >> 16), RTCL2HREG);
+}
+
+uint32_t vr41xx_read_rtclong2_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc1(RTCL2CNTLREG);
+		first_high = (uint32_t)read_rtc1(RTCL2CNTHREG);
+		second_low = (uint32_t)read_rtc1(RTCL2CNTLREG);
+		second_high = (uint32_t)read_rtc1(RTCL2CNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+void vr41xx_set_tclock_cycle(uint32_t cycles)
+{
+	write_rtc2((uint16_t)cycles, TCLKLREG);
+	write_rtc2((uint16_t)(cycles >> 16), TCLKHREG);
+}
+
+uint32_t vr41xx_read_tclock_counter(void)
+{
+	uint32_t first_high, first_low;
+	uint32_t second_high, second_low;
+
+	do {
+		first_low = (uint32_t)read_rtc2(TCLKCNTLREG);
+		first_high = (uint32_t)read_rtc2(TCLKCNTHREG);
+		second_low = (uint32_t)read_rtc2(TCLKCNTLREG);
+		second_high = (uint32_t)read_rtc2(TCLKCNTHREG);
+	} while (first_low != second_low || first_high != second_high);
+
+	return (first_high << 16) | first_low;
+}
+
+static void vr41xx_timer_ack(void)
+{
+	uint64_t cur;
+
+	write_rtc2(ELAPSEDTIME_INT, RTCINTREG);
+
+	previous_elapsedtime += (uint64_t)cycles_per_jiffy;
+	cycles_per_sec += cycles_per_jiffy;
+
+	if (cycles_per_sec >= CLOCK_TICK_RATE) {
+		cycles_per_sec = 0;
+		remainder_per_sec = REMAINDER_PER_SEC;
+	}
+
+	cycles_per_jiffy = 0;
+
+	do {
+		cycles_per_jiffy += CYCLES_PER_JIFFY;
+		if (remainder_per_sec > 0) {
+			cycles_per_jiffy++;
+			remainder_per_sec--;
+		}
+
+		cur = read_elapsedtime_counter();
+	} while (cur >= previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+
+	write_elapsedtime_compare(previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+}
+
+static void vr41xx_hpt_init(unsigned int count)
+{
+}
+
+static unsigned int vr41xx_hpt_read(void)
+{
+	uint64_t cur;
+
+	cur = read_elapsedtime_counter();
+
+	return (unsigned int)cur;
+}
+
+static unsigned long vr41xx_gettimeoffset(void)
+{
+	uint64_t cur;
+	unsigned long gap;
+
+	cur = read_elapsedtime_counter();
+	gap = (unsigned long)(cur - previous_elapsedtime);
+	gap = gap / CYCLES_PER_100USEC * 100;	/* usec */
+
+	return gap;
+}
+
+static unsigned long vr41xx_get_time(void)
+{
+	uint64_t counts;
+
+	counts = read_elapsedtime_counter();
+	counts >>= 15;
+
+	return epoch_time + (unsigned long)counts;
+
+}
+
+static int vr41xx_set_time(unsigned long sec)
+{
+	if (sec < epoch_time)
+		return -EINVAL;
+
+	sec -= epoch_time;
+
+	write_elapsedtime_counter((uint64_t)sec << 15);
+
+	return 0;
+}
+
+void vr41xx_set_epoch_time(unsigned long time)
+{
+	epoch_time = time;
+}
+
+void __init vr41xx_time_init(void)
+{
+	switch (current_cpu_data.cputype) {
+	case CPU_VR4111:
+	case CPU_VR4121:
+		rtc1_base = VR4111_ETIMELREG;
+		rtc2_base = VR4111_TCLKLREG;
+		break;
+	case CPU_VR4122:
+	case CPU_VR4131:
+	case CPU_VR4133:
+		rtc1_base = VR4122_ETIMELREG;
+		rtc2_base = VR4122_TCLKLREG;
+		break;
+	default:
+		panic("Unexpected CPU of NEC VR4100 series");
+		break;
+	}
+
+	mips_timer_ack = vr41xx_timer_ack;
+
+	mips_hpt_init = vr41xx_hpt_init;
+	mips_hpt_read = vr41xx_hpt_read;
+	mips_hpt_frequency = CLOCK_TICK_RATE;
+
+	if (epoch_time == 0)
+		epoch_time = mktime(1970, 1, 1, 0, 0, 0);
+
+	rtc_get_time = vr41xx_get_time;
+	rtc_set_time = vr41xx_set_time;
+}
+
+void __init vr41xx_timer_setup(struct irqaction *irq)
+{
+	do_gettimeoffset = vr41xx_gettimeoffset;
+
+	remainder_per_sec = REMAINDER_PER_SEC;
+	cycles_per_jiffy = CYCLES_PER_JIFFY;
+
+	if (remainder_per_sec > 0) {
+		cycles_per_jiffy++;
+		remainder_per_sec--;
+	}
+
+	previous_elapsedtime = read_elapsedtime_counter();
+	write_elapsedtime_compare(previous_elapsedtime + (uint64_t)cycles_per_jiffy);
+	write_rtc2(ELAPSEDTIME_INT, RTCINTREG);
+
+	setup_irq(ELAPSEDTIME_IRQ, irq);
+}
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/time.c linux/arch/mips/vr41xx/common/time.c
--- linux.orig/arch/mips/vr41xx/common/time.c	Fri Oct 31 11:30:39 2003
+++ linux/arch/mips/vr41xx/common/time.c	Thu Jan  1 09:00:00 1970
@@ -1,95 +0,0 @@
-/*
- * FILE NAME
- *	arch/mips/vr41xx/common/time.c
- *
- * BRIEF MODULE DESCRIPTION
- *	Timer routines for the NEC VR4100 series.
- *
- * Author: Yoichi Yuasa
- *         yyuasa@mvista.com or source@mvista.com
- *
- * Copyright 2001,2002 MontaVista Software Inc.
- *
- *  This program is free software; you can redistribute it and/or modify it
- *  under the terms of the GNU General Public License as published by the
- *  Free Software Foundation; either version 2 of the License, or (at your
- *  option) any later version.
- *
- *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with this program; if not, write to the Free Software Foundation, Inc.,
- *  675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * Changes:
- *  MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com>
- *  - New creation, NEC VR4100 series are supported.
- *  - Added support for NEC VR4100 series RTC Unit.
- *
- *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
- *  - Added support for NEC VR4133.
- */
-#include <linux/config.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/types.h>
-
-#include <asm/cpu.h>
-#include <asm/io.h>
-#include <asm/mipsregs.h>
-#include <asm/param.h>
-#include <asm/time.h>
-#include <asm/vr41xx/vr41xx.h>
-
-#define VR4111_ETIMELREG	KSEG1ADDR(0x0b0000c0)
-#define VR4122_ETIMELREG	KSEG1ADDR(0x0f000100)
-
-u32 vr41xx_rtc_base = 0;
-
-#ifdef CONFIG_VR41XX_RTC
-extern unsigned long vr41xx_rtc_get_time(void);
-extern int vr41xx_rtc_set_time(unsigned long sec);
-#endif
-
-void vr41xx_time_init(void)
-{
-	switch (current_cpu_data.cputype) {
-	case CPU_VR4111:
-	case CPU_VR4121:
-		vr41xx_rtc_base = VR4111_ETIMELREG;
-		break;
-	case CPU_VR4122:
-	case CPU_VR4131:
-	case CPU_VR4133:
-                vr41xx_rtc_base = VR4122_ETIMELREG;
-                break;
-        default:
-                panic("Unexpected CPU of NEC VR4100 series");
-                break;
-        }
-
-#ifdef CONFIG_VR41XX_RTC
-        rtc_get_time = vr41xx_rtc_get_time;
-        rtc_set_time = vr41xx_rtc_set_time;
-#endif
-}
-
-void vr41xx_timer_setup(struct irqaction *irq)
-{
-	u32 count;
-
-	setup_irq(MIPS_COUNTER_IRQ, irq);
-
-	count = read_c0_count();
-	write_c0_compare(count + (mips_hpt_frequency / HZ));
-}
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/mach-vr41xx/timex.h linux/include/asm-mips/mach-vr41xx/timex.h
--- linux.orig/include/asm-mips/mach-vr41xx/timex.h	Tue Nov 18 10:17:48 2003
+++ linux/include/asm-mips/mach-vr41xx/timex.h	Tue Dec  2 01:33:07 2003
@@ -5,9 +5,14 @@
  *
  * Copyright (C) 2003 by Ralf Baechle
  */
+/*
+ * Changes:
+ *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *  - CLOCK_TICK_RATE is changed into 32768 from 6144000.
+ */
 #ifndef __ASM_MACH_VR41XX_TIMEX_H
 #define __ASM_MACH_VR41XX_TIMEX_H
 
-#define CLOCK_TICK_RATE		6144000
+#define CLOCK_TICK_RATE		32768
 
 #endif /* __ASM_MACH_VR41XX_TIMEX_H */
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/vr41xx/vr41xx.h linux/include/asm-mips/vr41xx/vr41xx.h
--- linux.orig/include/asm-mips/vr41xx/vr41xx.h	Tue Nov 18 12:34:50 2003
+++ linux/include/asm-mips/vr41xx/vr41xx.h	Tue Dec  2 01:33:08 2003
@@ -7,6 +7,7 @@
  * Copyright (C) 2001, 2002 Paul Mundt
  * Copyright (C) 2002 MontaVista Software, Inc.
  * Copyright (C) 2002 TimeSys Corp.
+ * Copyright (C) 2003 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -45,6 +46,8 @@
  * Bus Control Uint
  */
 extern void vr41xx_bcu_init(void);
+extern unsigned long vr41xx_get_vtclock_frequency(void);
+extern unsigned long vr41xx_get_tclock_frequency(void);
 
 /*
  * Clock Mask Unit
@@ -90,6 +93,8 @@
 /* RFU */
 #define POWER_IRQ		SYSINT1_IRQ(1)
 /* RFU */
+#define ELAPSEDTIME_IRQ		SYSINT1_IRQ(3)
+/* RFU */
 #define GIUINT_CASCADE_IRQ	SYSINT1_IRQ(8)
 #define SIU_IRQ			SYSINT1_IRQ(9)
 /* RFU */
@@ -119,6 +124,18 @@
 
 extern void (*board_irq_init)(void);
 extern int vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq));
+
+/*
+ * RTC
+ */
+extern void vr41xx_set_rtclong1_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_rtclong1_counter(void);
+
+extern void vr41xx_set_rtclong2_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_rtclong2_counter(void);
+
+extern void vr41xx_set_tclock_cycle(uint32_t cycles);
+extern uint32_t vr41xx_read_tclock_counter(void);
 
 /*
  * Gegeral-Purpose I/O Unit

--Multipart=_Tue__2_Dec_2003_01_49_35_+0900_O8rOD56eF1FAQzKz--

From ralf@linux-mips.org Mon Dec  1 19:37:59 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 19:38:02 +0000 (GMT)
Received: from p508B764E.dip.t-dialin.net ([IPv6:::ffff:80.139.118.78]:36772
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225551AbTLATh7>; Mon, 1 Dec 2003 19:37:59 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hB1JbpA0030737;
	Mon, 1 Dec 2003 20:37:52 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hB1Jbm59030736;
	Mon, 1 Dec 2003 20:37:48 +0100
Date: Mon, 1 Dec 2003 20:37:48 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: linux-mips@linux-mips.org
Subject: Re: [patch] NEC VR41xx new timer
Message-ID: <20031201193748.GA21538@linux-mips.org>
References: <20031202014935.1b2c796b.yuasa@hh.iij4u.or.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031202014935.1b2c796b.yuasa@hh.iij4u.or.jp>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3693
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Tue, Dec 02, 2003 at 01:49:35AM +0900, Yoichi Yuasa wrote:

> I updated new timer patches for latest CVS tree.
> These patches are required for power management.
> 
> Please apply these patches.

Applied.  One comment on the new ksym.c file.  In 2.4 we used to have most
of the EXPORT_SYMBOL calls in a separate file in order to reduce the
compile time.  With the new kbuild system of 2.6 this is no longer a
problem so now the prefered way is exporting symbols from the defining
file itself.  So for example most of the symbol exports left in
arch/mips/kernel/mips_ksyms.c are for definitions in assembler files.

  Ralf

From vbridgers@bandspeed.com Mon Dec  1 20:34:20 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 20:34:23 +0000 (GMT)
Received: from mail.bandspeed.com ([IPv6:::ffff:64.132.226.131]:34230 "EHLO
	mars.bandspeed.com") by linux-mips.org with ESMTP
	id <S8225551AbTLAUeU> convert rfc822-to-8bit; Mon, 1 Dec 2003 20:34:20 +0000
X-MimeOLE: Produced By Microsoft Exchange V6.0.6375.0
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 8BIT
Subject: RE: backtrace issues on GDB 5.3
Date: Mon, 1 Dec 2003 14:34:13 -0600
Message-ID: <F2DE90354F0ED94EB7061060D9396547B98C58@mars.bandspeed.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: backtrace issues on GDB 5.3
Thread-Index: AcO1xSYxzC0J+fJuT9ek328zeMIppAChSr3w
From: "Vince Bridgers" <vbridgers@bandspeed.com>
To: "Daniel Jacobowitz" <dan@debian.org>
Cc: <linux-mips@linux-mips.org>
Return-Path: <vbridgers@bandspeed.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3694
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: vbridgers@bandspeed.com
Precedence: bulk
X-list: linux-mips

Tried it. It does work "better", but not "much better".

Thanks for the tip


-----Original Message-----
From: Daniel Jacobowitz [mailto:dan@debian.org] 
Sent: Friday, November 28, 2003 9:35 AM
To: Vince Bridgers
Cc: linux-mips@linux-mips.org
Subject: Re: backtrace issues on GDB 5.3

On Thu, Nov 27, 2003 at 07:26:59AM -0600, Vince Bridgers wrote:
> I'm using GDB 5.3 for mipsel cross-compiled on an x86 box running
RedHat
> 7.3. When I try to use the backtrace capability from GDB most of the
> time I do not get a full stack context - I usually just get the
function
> I'm in at the time. I'm using GCC 3.2 to compile the kernel,
> cross-compiled the same way. I've tried making sure the
> omit-frame-pointer option and the "no instruction schedule" options
are
> on for when we do source level debugging with no joy.  
> 
> Does backtrace work for GCC and GDB cross compiled for mipsel? If so,
> can someone briefly outline the "known good" configuration (GCC/GDB
> versions, + relevant configuration options)?

Not excellently, but definitely better - try the most recent GDB
release.

I have a number of ugly local patches that I hope to clean up for 6.1,
if I have time.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From ralf@linux-mips.org Mon Dec  1 22:46:29 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 22:46:29 +0000 (GMT)
Received: from p508B764E.dip.t-dialin.net ([IPv6:::ffff:80.139.118.78]:944
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225556AbTLAWq3>; Mon, 1 Dec 2003 22:46:29 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hB1MkPA0002495
	for <linux-mips@linux-mips.org>; Mon, 1 Dec 2003 23:46:26 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hB1MkO0h002494
	for linux-mips@linux-mips.org; Mon, 1 Dec 2003 23:46:24 +0100
Date: Mon, 1 Dec 2003 23:46:24 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
Subject: Linux 2.4 future
Message-ID: <20031201224624.GA13412@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3695
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

For those of you who don't follow linux-kernel below Marcelo's posting
about the future of 2.4.  I think we should follow that for MIPS also,
so whatever new feature you still may have pending for 2.4, send it
soon - or for 2.6.

I also remind everybody that a 2.6.0 release is expect already before the
end of the year and the MIPS kernel is not exactly in the shape we'd
like it to be - time to switch to 2.6 for active development!

  Ralf

----- Forwarded message from Marcelo Tosatti <marcelo.tosatti@cyclades.com> -----

From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Date: Mon, 1 Dec 2003 12:25:23 -0200 (BRST)
To: linux-kernel@vger.kernel.org
Subject: Linux 2.4 future 
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hi, 

The intention of this email is to clarify my position on 2.4.x future.

2.6 is becoming more stable each day, and we will hopefully see a 2.6.0
release during this month or January.

Having that mentioned, I pretend to:

- Fix pending problems which might required more intrusive modifications
during 2.4.24. New drivers will be accept during this period (for example,
Cyclades PC300 driver, input userlevel driver support, or other sane
driver which might come up).

- From 2.4.25 on, fix only critical/security problems.



-
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/

----- End forwarded message -----

  Ralf

From eokerson@texasconnect.net Mon Dec  1 23:18:56 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 01 Dec 2003 23:18:59 +0000 (GMT)
Received: from dallas.texasconnect.net ([IPv6:::ffff:208.232.232.3]:18180 "EHLO
	dallas.texasconnect.net") by linux-mips.org with ESMTP
	id <S8225558AbTLAXS4>; Mon, 1 Dec 2003 23:18:56 +0000
Received: from dallas.texasconnect.net (dallas.texasconnect.net [208.232.232.3])
	by dallas.texasconnect.net (8.12.9/8.12.9) with ESMTP id hB1NIscq012340
	for <linux-mips@linux-mips.org>; Mon, 1 Dec 2003 17:18:54 -0600
Date: Mon, 1 Dec 2003 17:18:54 -0600 (CST)
From: Ed Okerson <eokerson@texasconnect.net>
To: linux-mips@linux-mips.org
Subject: Compact Flash on AU1500
Message-ID: <Pine.LNX.4.44.0312011710320.24981-100000@dallas.texasconnect.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <eokerson@texasconnect.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3696
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: eokerson@texasconnect.net
Precedence: bulk
X-list: linux-mips

I recently finished work on u-boot to get it to read a compact flash
properly on the AU1500.  Now I need to get it working under Linux as well,
but have a few questions.  Is root fs on CF supported under 2.4.22?  I
have had conflicting reports on that, and need to know if that has to be
solved first.  I have been told that user space Card Services needs to be
loaded to detect the CF card, but that doesn't seem right with the ide-cs
in the kernel.  The problem with the AU1500 and u-boot was that the AU1X00
series processors always put the data from the CF in big-endian mode
regardless of what endian mode the CPU is running in, which is exactly the
wrong way around for reading partition tables and filesystems.  I have
been having trouble tracking down where in the kernel the actual reads are
done from the compact flash card, could someone point me to the right
place?

Ed Okerson


From yuasa@hh.iij4u.or.jp Tue Dec  2 03:21:18 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 02 Dec 2003 03:21:21 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:42732 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225567AbTLBDVS>;
	Tue, 2 Dec 2003 03:21:18 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id MAA00742;
	Tue, 2 Dec 2003 12:21:14 +0900 (JST)
Received: 4UMDO01 id hB23LD421709; Tue, 2 Dec 2003 12:21:13 +0900 (JST)
Received: 4UMRO00 id hB23LDe04994; Tue, 2 Dec 2003 12:21:13 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131]) (authenticated)
Date: Tue, 2 Dec 2003 12:21:13 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: Re: [patch] NEC VR41xx new timer
Message-Id: <20031202122113.7ce9ab7d.yuasa@hh.iij4u.or.jp>
In-Reply-To: <20031201193748.GA21538@linux-mips.org>
References: <20031202014935.1b2c796b.yuasa@hh.iij4u.or.jp>
	<20031201193748.GA21538@linux-mips.org>
X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3697
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

On Mon, 1 Dec 2003 20:37:48 +0100
Ralf Baechle <ralf@linux-mips.org> wrote:

> On Tue, Dec 02, 2003 at 01:49:35AM +0900, Yoichi Yuasa wrote:
> 
> > I updated new timer patches for latest CVS tree.
> > These patches are required for power management.
> > 
> > Please apply these patches.
> 
> Applied.  One comment on the new ksym.c file.  In 2.4 we used to have most
> of the EXPORT_SYMBOL calls in a separate file in order to reduce the
> compile time.  With the new kbuild system of 2.6 this is no longer a
> problem so now the prefered way is exporting symbols from the defining
> file itself.  So for example most of the symbol exports left in
> arch/mips/kernel/mips_ksyms.c are for definitions in assembler files.

I understood it.
I'll check whether they are needed for 2.6.

Thank you for your comment,

Yoichi

From Geert.Uytterhoeven@sonycom.com Tue Dec  2 12:27:35 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 02 Dec 2003 12:27:35 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:58498 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225336AbTLBM1f>;
	Tue, 2 Dec 2003 12:27:35 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hB2CRRQG010673
	for <linux-mips@linux-mips.org>; Tue, 2 Dec 2003 13:27:29 +0100 (MET)
Date: Tue, 2 Dec 2003 13:27:28 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: [CFP] 2nd EMBEDDED SYSTEMS and OPERATING SYSTEMS track at FOSDEM
 2004
Message-ID: <Pine.GSO.4.21.0312021326590.25508-100000@waterleaf.sonytel.be>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <Geert.Uytterhoeven@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3698
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips


Please find below the Call For Papers for the
                                                                                
  2nd Embedded Systems and Operating Systems track at FOSDEM
                                                                                
21-22 February 2004, Brussels.
                                                                                
Last year's presentations are at
                                                                                
http://www.embedded-kernel-track.org/2003/
                                                                                
Abstract deadline is 18 Dec 2004.

-------------------------------------------------------------------------------

2nd EMBEDDED SYSTEMS and OPERATING SYSTEMS track at FOSDEM 2004
===============================================================

21 - 22 February 2004, Brussels

Call for papers
---------------

The 2004 edition of FOSDEM (Free and Open Source Developers' European
Meeting; http://www.fosdem.org) will take place in Brussels, Belgium 
on 21 and 22 February 2004. For the second time, a track on Embedded 
and Operating Systems will be organized. The first edition was quite
succesful and attracted up to 100 attendants for certain topics.
The program and papers of last year are available at 
http://www.embedded-kernel-track.org/2003/

The use of Free Software in the infrastructure of Embedded Systems 
is booming, e.g. by the use of Linux, uClinux, eCos, RedBoot, RTEMS 
and many other Free Software components. Operating System development 
has always been a very important topic in Free Software. As embedded 
and real-time systems typically have special OS requirements, we 
organise this Free Embedded and OS development track at FOSDEM.

This track at FOSDEM provides a remarkable opportunity to present and
discuss the ongoing work in these areas, and we invite developers to 
present their current projects. Technical topics of the conference 
include but are not limited to :

* OS Development : kernel architecture and implementation
  (e.g. Linux, BSD, the Hurd, ...)

* Embedded Development : tool chains and project cases
  (e.g. tool chain projects, packaging for cross 
   compilation, portability, ...)

* Real-time extensions, nanokernels and hardware virtualization software
  (e.g. RTAI, Adeos, KURT, L4, ...)

* Hard real-time OS's
  (eCos, RTEMS, ...)

* Embedded Java: open source implementations and the compatibility question
  (Classpath, Kaffe, Wonka, ..., Mauve, JCK, JCP, ...)

* Open hardware and softcores
  (e.g opencores.org, OpenRISC, leonSparc, FPGA's, ...)

* GUI's for embedded systems
  (Gtk, Qt, MicroWindows, ...)

Authors are requested to submit their abstracts online to
embedded@fosdem.org before 18/12/2004. Notification of receipt 
will be sent within 48 hours. Authors wishing to submit a full
paper (between 6 and 12 A4 pages), can do so in PS or PDF format.

The Program Committee will evaluate the abstracts and consists of:

* Herman Bruyninckx, Professor at K.U.Leuven, Belgium
* Geert Uytterhoeven, Sony NSCE, Belgium
* Karim Yaghmour, Opersys, Canada
* Marcus Brinkman, University Bochum, Germany
* Peter 'p2' De Schrijver, Mind, Belgium

Peter Vandenabeele, acts as practical organiser for this track.
All communication should be addressed to embedded@fosdem.org

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


From jbglaw@dvmwest.gt.owl.de Tue Dec  2 12:54:32 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 02 Dec 2003 12:54:33 +0000 (GMT)
Received: from dvmwest.gt.owl.de ([IPv6:::ffff:62.52.24.140]:12014 "EHLO
	dvmwest.gt.owl.de") by linux-mips.org with ESMTP
	id <S8225582AbTLBMyc>; Tue, 2 Dec 2003 12:54:32 +0000
Received: by dvmwest.gt.owl.de (Postfix, from userid 1001)
	id BFBF14B48A; Tue,  2 Dec 2003 13:54:30 +0100 (CET)
Date: Tue, 2 Dec 2003 13:54:30 +0100
From: Jan-Benedict Glaw <jbglaw@lug-owl.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: [CFP] 2nd EMBEDDED SYSTEMS and OPERATING SYSTEMS track at FOSDEM 2004
Message-ID: <20031202125430.GG16507@lug-owl.de>
Mail-Followup-To: Geert Uytterhoeven <geert@linux-m68k.org>,
	Linux/MIPS Development <linux-mips@linux-mips.org>
References: <Pine.GSO.4.21.0312021326590.25508-100000@waterleaf.sonytel.be>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="eVzOFob/8UvintSX"
Content-Disposition: inline
In-Reply-To: <Pine.GSO.4.21.0312021326590.25508-100000@waterleaf.sonytel.be>
X-Operating-System: Linux mail 2.4.18 
X-gpg-fingerprint: 250D 3BCF 7127 0D8C A444  A961 1DBD 5E75 8399 E1BB
X-gpg-key: wwwkeys.de.pgp.net
User-Agent: Mutt/1.5.4i
Return-Path: <jbglaw@dvmwest.gt.owl.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3699
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jbglaw@lug-owl.de
Precedence: bulk
X-list: linux-mips


--eVzOFob/8UvintSX
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, 2003-12-02 13:27:28 +0100, Geert Uytterhoeven <geert@linux-m68k.org>
wrote in message <Pine.GSO.4.21.0312021326590.25508-100000@waterleaf.sonyte=
l.be>:
>   2nd Embedded Systems and Operating Systems track at FOSDEM
> 21-22 February 2004, Brussels.

> Abstract deadline is 18 Dec 2004.

Umh? Dec 18, 2003 I think?

MfG, JBG

--=20
   Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier B=FCrger" | im Internet! |   im Ira=
k!
   ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC=
PA));

--eVzOFob/8UvintSX
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/zIuGHb1edYOZ4bsRAj7+AJkBQ6cL3lccWtdm0z4Os2fCB/o2nACcCYKa
E+6RUGMT2vB06fliqm/84iE=
=s41l
-----END PGP SIGNATURE-----

--eVzOFob/8UvintSX--

From dan@embeddededge.com Tue Dec  2 13:22:20 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 02 Dec 2003 13:22:21 +0000 (GMT)
Received: from x1000-57.tellink.net ([IPv6:::ffff:63.161.110.249]:12783 "EHLO
	tibook.netx4.com") by linux-mips.org with ESMTP id <S8225585AbTLBNWU>;
	Tue, 2 Dec 2003 13:22:20 +0000
Received: from embeddededge.com (IDENT:dan@localhost.localdomain [127.0.0.1])
	by tibook.netx4.com (8.11.1/8.11.1) with ESMTP id hB2DP5Z00727;
	Tue, 2 Dec 2003 08:25:06 -0500
Message-ID: <3FCC92B1.2080206@embeddededge.com>
Date: Tue, 02 Dec 2003 08:25:05 -0500
From: Dan Malek <dan@embeddededge.com>
Organization: Embedded Edge, LLC.
User-Agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:0.9.9) Gecko/20020411
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ed Okerson <eokerson@texasconnect.net>
CC: linux-mips@linux-mips.org
Subject: Re: Compact Flash on AU1500
References: <Pine.LNX.4.44.0312011710320.24981-100000@dallas.texasconnect.net>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <dan@embeddededge.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3700
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@embeddededge.com
Precedence: bulk
X-list: linux-mips

Ed Okerson wrote:

> I recently finished work on u-boot to get it to read a compact flash
> properly on the AU1500.  Now I need to get it working under Linux as well,
> but have a few questions.  Is root fs on CF supported under 2.4.22?

I guess you mean a CF card in a PCMCIA slot.  There are boards that
use a CF through a CPLD connected to the processor bus, which works with
the usual custom IDE setup functions.

The kernel isn't going to support CF on PCMCIA the way you are asking
without some, ummm..."customizations" :-)  You have to modify the PCMCIA
functions so they don't try to use the slot, but you still need to
initialize the I/O.  Then you need a set of IDE setup/support functions in
your board specific files.

This can be done, but isn't pretty and I doubt would ever be selected
as something to be part of a standard kernel.  You may also want to
consider some kind of initrd or small flash file system that has the
PCMCIA services.  You would boot up using something else as the root
file system, then activate the CF on PCMCIA as a source of additional
mounted file systems.

Good Luck!


	-- Dan



From Geert.Uytterhoeven@sonycom.com Tue Dec  2 14:53:14 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 02 Dec 2003 14:53:14 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:42984 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225588AbTLBOxO>;
	Tue, 2 Dec 2003 14:53:14 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hB2ErAQG023769;
	Tue, 2 Dec 2003 15:53:11 +0100 (MET)
Date: Tue, 2 Dec 2003 15:53:11 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Jan-Benedict Glaw <jbglaw@lug-owl.de>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: [CFP] 2nd EMBEDDED SYSTEMS and OPERATING SYSTEMS track at FOSDEM
 2004
In-Reply-To: <20031202125430.GG16507@lug-owl.de>
Message-ID: <Pine.GSO.4.21.0312021552590.25508-100000@waterleaf.sonytel.be>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <Geert.Uytterhoeven@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3701
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Tue, 2 Dec 2003, Jan-Benedict Glaw wrote:
> On Tue, 2003-12-02 13:27:28 +0100, Geert Uytterhoeven <geert@linux-m68k.org>
> wrote in message <Pine.GSO.4.21.0312021326590.25508-100000@waterleaf.sonytel.be>:
> >   2nd Embedded Systems and Operating Systems track at FOSDEM
> > 21-22 February 2004, Brussels.
> 
> > Abstract deadline is 18 Dec 2004.
> 
> Umh? Dec 18, 2003 I think?

Oops, yes of course.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


From ralf@linux-mips.org Thu Dec  4 03:18:26 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 04 Dec 2003 03:18:26 +0000 (GMT)
Received: from p508B6095.dip.t-dialin.net ([IPv6:::ffff:80.139.96.149]:41098
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225425AbTLDDS0>; Thu, 4 Dec 2003 03:18:26 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hB43IMA0016785
	for <linux-mips@linux-mips.org>; Thu, 4 Dec 2003 04:18:23 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hB43ILOn016767
	for linux-mips@linux-mips.org; Thu, 4 Dec 2003 04:18:21 +0100
Date: Thu, 4 Dec 2003 04:18:19 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
Subject: Less generic kernels
Message-ID: <20031204031818.GA7212@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3702
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

A side effect of cleaning the processor specific code a while ago was that
every system was carrying every bit of cpu-specific code such as cache
code with it that Linux only had to offer.  I cleaned that, this are the
savings for two default configurations:

   text    data     bss     dec     hex filename
2388266  275076   92456 2755798  2a0cd6 vmlinux         defconfig	old
2385522  275076   92456 2753054  2a021e vmlinux         defconfig	new
                                                                                
-> 2744 bytes saved
                                                                                
2197189  641168  128048 2966405  2d4385 vmlinux         defconfig-ip27	old
2190310  641168  128048 2959526  2d28a6 vmlinux         defconfig-ip27	new
                                                                                
-> 6879 bytes saved

Of course this also means faster, more efficient code.

How to make use of this for a particular system?

Just provide a include/asm-mips/mach-<system>/cpu-feature-overrides.h file.
Any values you don't define in that file will receive default values from
include/asm-mips/cpu-features.h.

That means if a particular macro isn't a constant for a particular system,
just don't define the cpu_* macro that tests for it.  Better even, if you
don't know every little detail about your processor, just don't define the
test macro and Linux will 

Who gains most?

Obviously the most restrictive configurations gain most.  Generally that's
the case for typical embedded systems.  Most of the size reduction can be
achieved by knowing the cache line size in advance.  This means the kernel
will only carry one version for a particular processor around.

Oh, and this is a 2.6 only ...

  Ralf

From drow@crack.them.org Thu Dec  4 16:53:49 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 04 Dec 2003 16:53:49 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:4326 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225319AbTLDQxs>;
	Thu, 4 Dec 2003 16:53:48 +0000
Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian))
	id 1ARwjJ-0001Ds-RT; Thu, 04 Dec 2003 11:53:29 -0500
Date: Thu, 4 Dec 2003 11:53:29 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Subject: MIPS64 syscall trace patch
Message-ID: <20031204165329.GA4655@nevyn.them.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3703
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

You need this do use PTRACE_SYSCALL on a 64-bit process.  Otherwise mmap()'s
last argument gets corrupted by syscall_trace().  Strace itself doesn't work
yet, but I'm making progress...

This is for 2.4.  2.6 patch will follow in a sec.

Index: arch/mips64/kernel/scall_64.S
===================================================================
RCS file: /home/cvs/linux/arch/mips64/kernel/Attic/scall_64.S,v
retrieving revision 1.20.2.18
diff -u -p -r1.20.2.18 scall_64.S
--- arch/mips64/kernel/scall_64.S	28 Oct 2003 13:39:37 -0000	1.20.2.18
+++ arch/mips64/kernel/scall_64.S	4 Dec 2003 16:51:01 -0000
@@ -108,6 +108,8 @@ trace_a_syscall:
 	ld	a1, PT_R5(sp)
 	ld	a2, PT_R6(sp)
 	ld	a3, PT_R7(sp)
+	ld	a4, PT_R8(sp)
+	ld	a5, PT_R9(sp)
 	jalr	t2
 
 	li	t0, -EMAXERRNO - 1	# error?
Index: arch/mips64/kernel/scall_n32.S
===================================================================
RCS file: /home/cvs/linux/arch/mips64/kernel/Attic/scall_n32.S,v
retrieving revision 1.2.2.14
diff -u -p -r1.2.2.14 scall_n32.S
--- arch/mips64/kernel/scall_n32.S	9 Oct 2003 15:42:33 -0000	1.2.2.14
+++ arch/mips64/kernel/scall_n32.S	4 Dec 2003 16:51:01 -0000
@@ -111,6 +111,8 @@ trace_a_syscall:
 	ld	a1, PT_R5(sp)
 	ld	a2, PT_R6(sp)
 	ld	a3, PT_R7(sp)
+	ld	a4, PT_R8(sp)
+	ld	a5, PT_R9(sp)
 	jalr	t2
 
 	li	t0, -EMAXERRNO - 1	# error?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From drow@crack.them.org Thu Dec  4 16:54:09 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 04 Dec 2003 16:54:10 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:4582 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225327AbTLDQx7>;
	Thu, 4 Dec 2003 16:53:59 +0000
Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian))
	id 1ARwjg-0001EG-SR; Thu, 04 Dec 2003 11:53:52 -0500
Date: Thu, 4 Dec 2003 11:53:52 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Subject: MIPS64 syscall trace for 2.6
Message-ID: <20031204165352.GA4708@nevyn.them.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3704
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

As promised.  Not any different, really.

Index: arch/mips/kernel/scall64-64.S
===================================================================
RCS file: /home/cvs/linux/arch/mips/kernel/scall64-64.S,v
retrieving revision 1.9
diff -u -p -r1.9 scall64-64.S
--- arch/mips/kernel/scall64-64.S	10 Oct 2003 22:58:55 -0000	1.9
+++ arch/mips/kernel/scall64-64.S	4 Dec 2003 16:49:22 -0000
@@ -92,6 +92,8 @@ syscall_trace_entry:
 	ld	a1, PT_R5(sp)
 	ld	a2, PT_R6(sp)
 	ld	a3, PT_R7(sp)
+	ld	a4, PT_R8(sp)
+	ld	a5, PT_R9(sp)
 	jalr	t2
 
 	li	t0, -EMAXERRNO - 1	# error?
Index: arch/mips/kernel/scall64-n32.S
===================================================================
RCS file: /home/cvs/linux/arch/mips/kernel/scall64-n32.S,v
retrieving revision 1.6
diff -u -p -r1.6 scall64-n32.S
--- arch/mips/kernel/scall64-n32.S	10 Oct 2003 22:58:55 -0000	1.6
+++ arch/mips/kernel/scall64-n32.S	4 Dec 2003 16:49:24 -0000
@@ -89,6 +89,8 @@ n32_syscall_trace_entry:
 	ld	a1, PT_R5(sp)
 	ld	a2, PT_R6(sp)
 	ld	a3, PT_R7(sp)
+	ld	a4, PT_R8(sp)
+	ld	a5, PT_R9(sp)
 	jalr	t2
 
 	li	t0, -EMAXERRNO - 1	# error?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From yuasa@hh.iij4u.or.jp Fri Dec  5 00:12:08 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 05 Dec 2003 00:12:11 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:28634 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225328AbTLEAMI>;
	Fri, 5 Dec 2003 00:12:08 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id JAA26732;
	Fri, 5 Dec 2003 09:12:02 +0900 (JST)
Received: 4UMDO00 id hB50C1920902; Fri, 5 Dec 2003 09:12:01 +0900 (JST)
Received: 4UMRO00 id hB50Bx621078; Fri, 5 Dec 2003 09:12:00 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Fri, 5 Dec 2003 09:11:56 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: ralf@linux-mips.org
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: [patch] NEC VR4133 interrupt
Message-Id: <20031205091156.4d387e25.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: multipart/mixed;
 boundary="Multipart=_Fri__5_Dec_2003_09_11_56_+0900_KHJQxu1i.qDXru1p"
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3705
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.

--Multipart=_Fri__5_Dec_2003_09_11_56_+0900_KHJQxu1i.qDXru1p
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello Ralf,

I made these patches for the interrupt function peculiar to NEC VR4133.
All the functions about interrupt of NEC VR4133 can be used.

Please apply these patches.

Thanks,

Yoichi

--Multipart=_Fri__5_Dec_2003_09_11_56_+0900_KHJQxu1i.qDXru1p
Content-Type: text/plain;
 name="01-vr4133_interrupt-v24.diff"
Content-Disposition: attachment;
 filename="01-vr4133_interrupt-v24.diff"
Content-Transfer-Encoding: 7bit

diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/giu.c linux/arch/mips/vr41xx/common/giu.c
--- linux.orig/arch/mips/vr41xx/common/giu.c	Fri Oct 31 11:28:41 2003
+++ linux/arch/mips/vr41xx/common/giu.c	Fri Dec  5 01:13:07 2003
@@ -44,7 +44,6 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
 #include <asm/io.h>
 #include <asm/vr41xx/vr41xx.h>
@@ -64,15 +63,19 @@
 #define GIUINTALSELH	0x16
 #define GIUINTHTSELL	0x18
 #define GIUINTHTSELH	0x1a
+#define GIUFEDGEINHL	0x20
+#define GIUFEDGEINHH	0x22
+#define GIUREDGEINHL	0x24
+#define GIUREDGEINHH	0x26
 
-u32 vr41xx_giu_base = 0;
+static uint32_t giu_base;
 
-#define read_giuint(offset)		readw(vr41xx_giu_base + (offset))
-#define write_giuint(val, offset)	writew((val), vr41xx_giu_base + (offset))
+#define read_giuint(offset)		readw(giu_base + (offset))
+#define write_giuint(val, offset)	writew((val), giu_base + (offset))
 
-static inline u16 set_giuint(u16 offset, u16 set)
+static inline uint16_t set_giuint(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_giuint(offset);
 	res |= set;
@@ -81,9 +84,9 @@
 	return res;
 }
 
-static inline u16 clear_giuint(u16 offset, u16 clear)
+static inline uint16_t clear_giuint(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_giuint(offset);
 	res &= ~clear;
@@ -95,51 +98,83 @@
 void vr41xx_enable_giuint(int pin)
 {
 	if (pin < 16)
-		set_giuint(GIUINTENL, (u16)1 << pin);
+		set_giuint(GIUINTENL, (uint16_t)1 << pin);
 	else
-		set_giuint(GIUINTENH, (u16)1 << (pin - 16));
+		set_giuint(GIUINTENH, (uint16_t)1 << (pin - 16));
 }
 
 void vr41xx_disable_giuint(int pin)
 {
 	if (pin < 16)
-		clear_giuint(GIUINTENL, (u16)1 << pin);
+		clear_giuint(GIUINTENL, (uint16_t)1 << pin);
 	else
-		clear_giuint(GIUINTENH, (u16)1 << (pin - 16));
+		clear_giuint(GIUINTENH, (uint16_t)1 << (pin - 16));
 }
 
 void vr41xx_clear_giuint(int pin)
 {
 	if (pin < 16)
-		write_giuint((u16)1 << pin, GIUINTSTATL);
+		write_giuint((uint16_t)1 << pin, GIUINTSTATL);
 	else
-		write_giuint((u16)1 << (pin - 16), GIUINTSTATH);
+		write_giuint((uint16_t)1 << (pin - 16), GIUINTSTATH);
 }
 
 void vr41xx_set_irq_trigger(int pin, int trigger, int hold)
 {
-	u16 mask;
+	uint16_t mask;
 
 	if (pin < 16) {
-		mask = (u16)1 << pin;
-		if (trigger == TRIGGER_EDGE) {
+		mask = (uint16_t)1 << pin;
+		if (trigger != TRIGGER_LEVEL) {
         		set_giuint(GIUINTTYPL, mask);
 			if (hold == SIGNAL_HOLD)
 				set_giuint(GIUINTHTSELL, mask);
 			else
 				clear_giuint(GIUINTHTSELL, mask);
+			if (current_cpu_data.cputype == CPU_VR4133) {
+				switch (trigger) {
+				case TRIGGER_EDGE_FALLING:
+					set_giuint(GIUFEDGEINHL, mask);
+					clear_giuint(GIUREDGEINHL, mask);
+					break;
+				case TRIGGER_EDGE_RISING:
+					clear_giuint(GIUFEDGEINHL, mask);
+					set_giuint(GIUREDGEINHL, mask);
+					break;
+				default:
+					set_giuint(GIUFEDGEINHL, mask);
+					set_giuint(GIUREDGEINHL, mask);
+					break;
+				}
+			}
 		} else {
 			clear_giuint(GIUINTTYPL, mask);
 			clear_giuint(GIUINTHTSELL, mask);
 		}
 	} else {
-		mask = (u16)1 << (pin - 16);
-		if (trigger == TRIGGER_EDGE) {
+		mask = (uint16_t)1 << (pin - 16);
+		if (trigger != TRIGGER_LEVEL) {
 			set_giuint(GIUINTTYPH, mask);
 			if (hold == SIGNAL_HOLD)
 				set_giuint(GIUINTHTSELH, mask);
 			else
 				clear_giuint(GIUINTHTSELH, mask);
+			if (current_cpu_data.cputype == CPU_VR4133) {
+				switch (trigger) {
+				case TRIGGER_EDGE_FALLING:
+					set_giuint(GIUFEDGEINHH, mask);
+					clear_giuint(GIUREDGEINHH, mask);
+					break;
+				case TRIGGER_EDGE_RISING:
+					clear_giuint(GIUFEDGEINHH, mask);
+					set_giuint(GIUREDGEINHH, mask);
+					break;
+				default:
+					set_giuint(GIUFEDGEINHH, mask);
+					set_giuint(GIUREDGEINHH, mask);
+					break;
+				}
+			}
 		} else {
 			clear_giuint(GIUINTTYPH, mask);
 			clear_giuint(GIUINTHTSELH, mask);
@@ -151,16 +186,16 @@
 
 void vr41xx_set_irq_level(int pin, int level)
 {
-	u16 mask;
+	uint16_t mask;
 
 	if (pin < 16) {
-		mask = (u16)1 << pin;
+		mask = (uint16_t)1 << pin;
 		if (level == LEVEL_HIGH)
 			set_giuint(GIUINTALSELL, mask);
 		else
 			clear_giuint(GIUINTALSELL, mask);
 	} else {
-		mask = (u16)1 << (pin - 16);
+		mask = (uint16_t)1 << (pin - 16);
 		if (level == LEVEL_HIGH)
 			set_giuint(GIUINTALSELH, mask);
 		else
@@ -201,7 +236,7 @@
 	if(!get_irq_number)
 		return -EINVAL;
 
-	pin = irq - GIU_IRQ(0);
+	pin = GIU_IRQ_TO_PIN(irq);
 	giuint_cascade[pin].flag = GIUINT_CASCADE;
 	giuint_cascade[pin].get_irq_number = get_irq_number;
 
@@ -222,7 +257,7 @@
 
 	disable_irq(GIUINT_CASCADE_IRQ);
 	cascade = &giuint_cascade[pin];
-	giuint_irq = pin + GIU_IRQ(0);
+	giuint_irq = GIU_IRQ(pin);
 	if (cascade->flag == GIUINT_CASCADE) {
 		cascade_irq = cascade->get_irq_number(giuint_irq);
 		disable_irq(giuint_irq);
@@ -245,12 +280,12 @@
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 	case CPU_VR4121:
-		vr41xx_giu_base = VR4111_GIUIOSELL;
+		giu_base = VR4111_GIUIOSELL;
 		break;
 	case CPU_VR4122:
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_giu_base = VR4122_GIUIOSELL;
+		giu_base = VR4122_GIUIOSELL;
 		break;
 	default:
 		panic("GIU: Unexpected CPU of NEC VR4100 series");
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/icu.c linux/arch/mips/vr41xx/common/icu.c
--- linux.orig/arch/mips/vr41xx/common/icu.c	Fri Oct 31 11:28:41 2003
+++ linux/arch/mips/vr41xx/common/icu.c	Fri Dec  5 01:13:07 2003
@@ -1,9 +1,9 @@
 /*
  * FILE NAME
- *	arch/mips/vr41xx/vr4122/common/icu.c
+ *	arch/mips/vr41xx/common/icu.c
  *
  * BRIEF MODULE DESCRIPTION
- *	Interrupt Control Unit routines for the NEC VR4122 and VR4131.
+ *	Interrupt Control Unit routines for the NEC VR4100 series.
  *
  * Author: Yoichi Yuasa
  *         yyuasa@mvista.com or source@mvista.com
@@ -36,11 +36,8 @@
  *  - New creation, NEC VR4122 and VR4131 are supported.
  *  - Added support for NEC VR4111 and VR4121.
  *
- *  Paul Mundt <lethal@chaoticdreams.org>
- *  - kgdb support.
- *
  *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
- *  - Added support for NEC VR4133.
+ *  - Coped with INTASSIGN of NEC VR4133.
  */
 #include <linux/errno.h>
 #include <linux/init.h>
@@ -48,23 +45,27 @@
 #include <linux/irq.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
-#include <asm/gdb-stub.h>
 #include <asm/io.h>
-#include <asm/mipsregs.h>
+#include <asm/irq.h>
+#include <asm/irq_cpu.h>
 #include <asm/vr41xx/vr41xx.h>
 
 extern asmlinkage void vr41xx_handle_interrupt(void);
 
-extern void __init init_generic_irq(void);
-extern void mips_cpu_irq_init(u32 irq_base);
-
 extern void vr41xx_giuint_init(void);
+extern void vr41xx_enable_giuint(int pin);
+extern void vr41xx_disable_giuint(int pin);
+extern void vr41xx_clear_giuint(int pin);
 extern unsigned int giuint_do_IRQ(int pin, struct pt_regs *regs);
 
-static u32 vr41xx_icu1_base = 0;
-static u32 vr41xx_icu2_base = 0;
+static uint32_t icu1_base;
+static uint32_t icu2_base;
+
+static unsigned char sysint1_assign[16] = {
+	0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+static unsigned char sysint2_assign[16] = {
+	2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 
 #define VR4111_SYSINT1REG	KSEG1ADDR(0x0b000080)
 #define VR4111_SYSINT2REG	KSEG1ADDR(0x0b000200)
@@ -73,26 +74,36 @@
 #define VR4122_SYSINT2REG	KSEG1ADDR(0x0f0000a0)
 
 #define SYSINT1REG	0x00
+#define INTASSIGN0	0x04
+#define INTASSIGN1	0x06
 #define GIUINTLREG	0x08
 #define MSYSINT1REG	0x0c
 #define MGIUINTLREG	0x14
 #define NMIREG		0x18
 #define SOFTREG		0x1a
+#define INTASSIGN2	0x1c
+#define INTASSIGN3	0x1e
 
 #define SYSINT2REG	0x00
 #define GIUINTHREG	0x02
 #define MSYSINT2REG	0x06
 #define MGIUINTHREG	0x08
 
-#define read_icu1(offset)	readw(vr41xx_icu1_base + (offset))
-#define write_icu1(val, offset)	writew((val), vr41xx_icu1_base + (offset))
+#define SYSINT1_IRQ_TO_PIN(x)	((x) - SYSINT1_IRQ_BASE)	/* Pin 0-15 */
+#define SYSINT2_IRQ_TO_PIN(x)	((x) - SYSINT2_IRQ_BASE)	/* Pin 0-15 */
+
+#define read_icu1(offset)	readw(icu1_base + (offset))
+#define write_icu1(val, offset)	writew((val), icu1_base + (offset))
 
-#define read_icu2(offset)	readw(vr41xx_icu2_base + (offset))
-#define write_icu2(val, offset)	writew((val), vr41xx_icu2_base + (offset))
+#define read_icu2(offset)	readw(icu2_base + (offset))
+#define write_icu2(val, offset)	writew((val), icu2_base + (offset))
 
-static inline u16 set_icu1(u16 offset, u16 set)
+#define INTASSIGN_MAX	4
+#define INTASSIGN_MASK	0x0007
+
+static inline uint16_t set_icu1(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu1(offset);
 	res |= set;
@@ -101,9 +112,9 @@
 	return res;
 }
 
-static inline u16 clear_icu1(u16 offset, u16 clear)
+static inline uint16_t clear_icu1(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu1(offset);
 	res &= ~clear;
@@ -112,9 +123,9 @@
 	return res;
 }
 
-static inline u16 set_icu2(u16 offset, u16 set)
+static inline uint16_t set_icu2(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu2(offset);
 	res |= set;
@@ -123,9 +134,9 @@
 	return res;
 }
 
-static inline u16 clear_icu2(u16 offset, u16 clear)
+static inline uint16_t clear_icu2(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu2(offset);
 	res &= ~clear;
@@ -138,17 +149,17 @@
 
 static void enable_sysint1_irq(unsigned int irq)
 {
-	set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static void disable_sysint1_irq(unsigned int irq)
 {
-	clear_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	clear_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static unsigned int startup_sysint1_irq(unsigned int irq)
 {
-	set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 
 	return 0; /* never anything pending */
 }
@@ -159,35 +170,34 @@
 static void end_sysint1_irq(unsigned int irq)
 {
 	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-		set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+		set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static struct hw_interrupt_type sysint1_irq_type = {
-	"SYSINT1",
-	startup_sysint1_irq,
-	shutdown_sysint1_irq,
-	enable_sysint1_irq,
-	disable_sysint1_irq,
-	ack_sysint1_irq,
-	end_sysint1_irq,
-	NULL
+	.typename	= "SYSINT1",
+	.startup	= startup_sysint1_irq,
+	.shutdown	= shutdown_sysint1_irq,
+	.enable		= enable_sysint1_irq,
+	.disable	= disable_sysint1_irq,
+	.ack		= ack_sysint1_irq,
+	.end		= end_sysint1_irq,
 };
 
 /*=======================================================================*/
 
 static void enable_sysint2_irq(unsigned int irq)
 {
-	set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static void disable_sysint2_irq(unsigned int irq)
 {
-	clear_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	clear_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static unsigned int startup_sysint2_irq(unsigned int irq)
 {
-	set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 
 	return 0; /* never anything pending */
 }
@@ -198,18 +208,17 @@
 static void end_sysint2_irq(unsigned int irq)
 {
 	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-		set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+		set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static struct hw_interrupt_type sysint2_irq_type = {
-	"SYSINT2",
-	startup_sysint2_irq,
-	shutdown_sysint2_irq,
-	enable_sysint2_irq,
-	disable_sysint2_irq,
-	ack_sysint2_irq,
-	end_sysint2_irq,
-	NULL
+	.typename	= "SYSINT2",
+	.startup	= startup_sysint2_irq,
+	.shutdown	= shutdown_sysint2_irq,
+	.enable		= enable_sysint2_irq,
+	.disable	= disable_sysint2_irq,
+	.ack		= ack_sysint2_irq,
+	.end		= end_sysint2_irq,
 };
 
 /*=======================================================================*/
@@ -218,12 +227,11 @@
 {
 	int pin;
 
-	pin = irq - GIU_IRQ_BASE;
+	pin = GIU_IRQ_TO_PIN(irq);
 	if (pin < 16)
-		set_icu1(MGIUINTLREG, (u16)1 << pin);
+		set_icu1(MGIUINTLREG, (uint16_t)1 << pin);
 	else
-		set_icu2(MGIUINTHREG, (u16)1 << (pin - 16));
-
+		set_icu2(MGIUINTHREG, (uint16_t)1 << (pin - 16));
 	vr41xx_enable_giuint(pin);
 }
 
@@ -231,18 +239,17 @@
 {
 	int pin;
 
-	pin = irq - GIU_IRQ_BASE;
+	pin = GIU_IRQ_TO_PIN(irq);
 	vr41xx_disable_giuint(pin);
-
 	if (pin < 16)
-		clear_icu1(MGIUINTLREG, (u16)1 << pin);
+		clear_icu1(MGIUINTLREG, (uint16_t)1 << pin);
 	else
-		clear_icu2(MGIUINTHREG, (u16)1 << (pin - 16));
+		clear_icu2(MGIUINTHREG, (uint16_t)1 << (pin - 16));
 }
 
 static unsigned int startup_giuint_irq(unsigned int irq)
 {
-	vr41xx_clear_giuint(irq - GIU_IRQ_BASE);
+	vr41xx_clear_giuint(GIU_IRQ_TO_PIN(irq));
 
 	enable_giuint_irq(irq);
 
@@ -255,7 +262,7 @@
 {
 	disable_giuint_irq(irq);
 
-	vr41xx_clear_giuint(irq - GIU_IRQ_BASE);
+	vr41xx_clear_giuint(GIU_IRQ_TO_PIN(irq));
 }
 
 static void end_giuint_irq(unsigned int irq)
@@ -265,14 +272,13 @@
 }
 
 static struct hw_interrupt_type giuint_irq_type = {
-	"GIUINT",
-	startup_giuint_irq,
-	shutdown_giuint_irq,
-	enable_giuint_irq,
-	disable_giuint_irq,
-	ack_giuint_irq,
-	end_giuint_irq,
-	NULL
+	.typename	= "GIUINT",
+	.startup	= startup_giuint_irq,
+	.shutdown	= shutdown_giuint_irq,
+	.enable		= enable_giuint_irq,
+	.disable	= disable_giuint_irq,
+	.ack		= ack_giuint_irq,
+	.end		= end_giuint_irq,
 };
 
 /*=======================================================================*/
@@ -286,14 +292,14 @@
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 	case CPU_VR4121:
-		vr41xx_icu1_base = VR4111_SYSINT1REG;
-		vr41xx_icu2_base = VR4111_SYSINT2REG;
+		icu1_base = VR4111_SYSINT1REG;
+		icu2_base = VR4111_SYSINT2REG;
 		break;
 	case CPU_VR4122:
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_icu1_base = VR4122_SYSINT1REG;
-		vr41xx_icu2_base = VR4122_SYSINT2REG;
+		icu1_base = VR4122_SYSINT1REG;
+		icu2_base = VR4122_SYSINT2REG;
 		break;
 	default:
 		panic("Unexpected CPU of NEC VR4100 series");
@@ -315,7 +321,11 @@
 			irq_desc[i].handler = &giuint_irq_type;
 	}
 
-	setup_irq(ICU_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT0_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT1_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT2_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT3_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT4_CASCADE_IRQ, &icu_cascade);
 }
 
 void __init init_IRQ(void)
@@ -329,31 +339,171 @@
 	vr41xx_giuint_init();
 
 	set_except_vector(0, vr41xx_handle_interrupt);
+}
+
+/*=======================================================================*/
+
+static inline int set_sysint1_assign(unsigned int irq, unsigned char assign)
+{
+	irq_desc_t *desc = irq_desc + irq;
+	uint16_t intassign0, intassign1;
+	unsigned int pin;
+
+	pin = SYSINT1_IRQ_TO_PIN(irq);
+
+	spin_lock_irq(&desc->lock);
+
+	intassign0 = read_icu1(INTASSIGN0);
+	intassign1 = read_icu1(INTASSIGN1);
+
+	switch (pin) {
+	case 0:
+		intassign0 &= ~INTASSIGN_MASK;
+		intassign0 |= (uint16_t)assign;
+		break;
+	case 1:
+		intassign0 &= ~(INTASSIGN_MASK << 3);
+		intassign0 |= (uint16_t)assign << 3;
+		break;
+	case 2:
+		intassign0 &= ~(INTASSIGN_MASK << 6);
+		intassign0 |= (uint16_t)assign << 6;
+		break;
+	case 3:
+		intassign0 &= ~(INTASSIGN_MASK << 9);
+		intassign0 |= (uint16_t)assign << 9;
+		break;
+	case 8:
+		intassign0 &= ~(INTASSIGN_MASK << 12);
+		intassign0 |= (uint16_t)assign << 12;
+		break;
+	case 9:
+		intassign1 &= ~INTASSIGN_MASK;
+		intassign1 |= (uint16_t)assign;
+		break;
+	case 11:
+		intassign1 &= ~(INTASSIGN_MASK << 6);
+		intassign1 |= (uint16_t)assign << 6;
+		break;
+	case 12:
+		intassign1 &= ~(INTASSIGN_MASK << 9);
+		intassign1 |= (uint16_t)assign << 9;
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	sysint1_assign[pin] = assign;
+	write_icu1(intassign0, INTASSIGN0);
+	write_icu1(intassign1, INTASSIGN1);
+
+	spin_unlock_irq(&desc->lock);
+
+	return 0;
+}
+
+static inline int set_sysint2_assign(unsigned int irq, unsigned char assign)
+{
+	irq_desc_t *desc = irq_desc + irq;
+	uint16_t intassign2, intassign3;
+	unsigned int pin;
 
-#ifdef CONFIG_KGDB
-	printk("Setting debug traps - please connect the remote debugger.\n");
-	set_debug_traps();
-	breakpoint();
-#endif
+	pin = SYSINT2_IRQ_TO_PIN(irq);
+
+	spin_lock_irq(&desc->lock);
+
+	intassign2 = read_icu1(INTASSIGN2);
+	intassign3 = read_icu1(INTASSIGN3);
+
+	switch (pin) {
+	case 0:
+		intassign2 &= ~INTASSIGN_MASK;
+		intassign2 |= (uint16_t)assign;
+		break;
+	case 1:
+		intassign2 &= ~(INTASSIGN_MASK << 3);
+		intassign2 |= (uint16_t)assign << 3;
+		break;
+	case 3:
+		intassign2 &= ~(INTASSIGN_MASK << 6);
+		intassign2 |= (uint16_t)assign << 6;
+		break;
+	case 4:
+		intassign2 &= ~(INTASSIGN_MASK << 9);
+		intassign2 |= (uint16_t)assign << 9;
+		break;
+	case 5:
+		intassign2 &= ~(INTASSIGN_MASK << 12);
+		intassign2 |= (uint16_t)assign << 12;
+		break;
+	case 6:
+		intassign3 &= ~INTASSIGN_MASK;
+		intassign3 |= (uint16_t)assign;
+		break;
+	case 7:
+		intassign3 &= ~(INTASSIGN_MASK << 3);
+		intassign3 |= (uint16_t)assign << 3;
+		break;
+	case 8:
+		intassign3 &= ~(INTASSIGN_MASK << 6);
+		intassign3 |= (uint16_t)assign << 6;
+		break;
+	case 9:
+		intassign3 &= ~(INTASSIGN_MASK << 9);
+		intassign3 |= (uint16_t)assign << 9;
+		break;
+	case 10:
+		intassign3 &= ~(INTASSIGN_MASK << 12);
+		intassign3 |= (uint16_t)assign << 12;
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	sysint2_assign[pin] = assign;
+	write_icu1(intassign2, INTASSIGN2);
+	write_icu1(intassign3, INTASSIGN3);
+
+	spin_unlock_irq(&desc->lock);
+
+	return 0;
+}
+
+int vr41xx_set_intassign(unsigned int irq, unsigned char intassign)
+{
+	int retval = -EINVAL;
+
+	if (current_cpu_data.cputype != CPU_VR4133)
+		return -EINVAL;
+
+	if (intassign > INTASSIGN_MAX)
+		return -EINVAL;
+
+	if (irq >= SYSINT1_IRQ_BASE && irq <= SYSINT1_IRQ_LAST)
+		retval = set_sysint1_assign(irq, intassign);
+	else if (irq >= SYSINT2_IRQ_BASE && irq <= SYSINT2_IRQ_LAST)
+		retval = set_sysint2_assign(irq, intassign);
+
+	return retval;
 }
 
 /*=======================================================================*/
 
-static inline void giuint_irqdispatch(u16 pendl, u16 pendh, struct pt_regs *regs)
+static inline void giuint_irq_dispatch(uint16_t pendl, uint16_t pendh,
+                                       struct pt_regs *regs)
 {
 	int i;
 
 	if (pendl) {
 		for (i = 0; i < 16; i++) {
-			if (pendl & (0x0001 << i)) {
+			if (pendl & ((uint16_t)1 << i)) {
 				giuint_do_IRQ(i, regs);
 				return;
 			}
 		}
-	}
-	else if (pendh) {
+	} else {
 		for (i = 0; i < 16; i++) {
-			if (pendh & (0x0001 << i)) {
+			if (pendh & ((uint16_t)1 << i)) {
 				giuint_do_IRQ(i + 16, regs);
 				return;
 			}
@@ -361,10 +511,10 @@
 	}
 }
 
-asmlinkage void icu_irqdispatch(struct pt_regs *regs)
+asmlinkage void irq_dispatch(unsigned char intnum, struct pt_regs *regs)
 {
-	u16 pend1, pend2, pendl, pendh;
-	u16 mask1, mask2, maskl, maskh;
+	uint16_t pend1, pend2, pendl, pendh;
+	uint16_t mask1, mask2, maskl, maskh;
 	int i;
 
 	pend1 = read_icu1(SYSINT1REG);
@@ -379,31 +529,36 @@
 	pendh = read_icu2(GIUINTHREG);
 	maskh = read_icu2(MGIUINTHREG);
 
-	pend1 &= mask1;
-	pend2 &= mask2;
-	pendl &= maskl;
-	pendh &= maskh;
-
-	if (pend1) {
-		if ((pend1 & 0x01ff) == 0x0100) {
-			giuint_irqdispatch(pendl, pendh, regs);
-		}
-		else {
-			for (i = 0; i < 16; i++) {
-				if (pend1 & (0x0001 << i)) {
-					do_IRQ(SYSINT1_IRQ_BASE + i, regs);
-					break;
+	mask1 &= pend1;
+	mask2 &= pend2;
+	maskl &= pendl;
+	maskh &= pendh;
+
+	if (mask1) {
+		for (i = 0; i < 16; i++) {
+			if (intnum == sysint1_assign[i] &&
+			    (mask1 & ((uint16_t)1 << i))) {
+				if (i == 8 && (maskl | maskh)) {
+					giuint_irq_dispatch(maskl, maskh, regs);
+					return;
+				} else {
+					do_IRQ(SYSINT1_IRQ(i), regs);
+					return;
 				}
 			}
 		}
-		return;
 	}
-	else if (pend2) {
+
+	if (mask2) {
 		for (i = 0; i < 16; i++) {
-			if (pend2 & (0x0001 << i)) {
-				do_IRQ(SYSINT2_IRQ_BASE + i, regs);
-				break;
+			if (intnum == sysint2_assign[i] &&
+			    (mask2 & ((uint16_t)1 << i))) {
+				do_IRQ(SYSINT2_IRQ(i), regs);
+				return;
 			}
 		}
 	}
+
+	printk(KERN_ERR "spurious interrupt: %04x,%04x,%04x,%04x\n", pend1, pend2, pendl, pendh);
+	atomic_inc(&irq_err_count);
 }
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/int-handler.S linux/arch/mips/vr41xx/common/int-handler.S
--- linux.orig/arch/mips/vr41xx/common/int-handler.S	Mon Jul 15 09:02:56 2002
+++ linux/arch/mips/vr41xx/common/int-handler.S	Fri Dec  5 01:13:07 2003
@@ -34,6 +34,9 @@
  * Changes:
  *  MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com>
  *  - New creation, NEC VR4100 series are supported.
+ *
+ *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *  - Coped with INTASSIGN of NEC VR4133.
  */
 #include <asm/asm.h>
 #include <asm/regdef.h>
@@ -59,55 +62,52 @@
 		andi	t0, 0xff00
 		and	t0, t0, t1
 
-		andi	t1, t0, CAUSEF_IP7	# timer interrupt
-		beqz	t1, 1f
+		andi	t1, t0, CAUSEF_IP7	# MIPS timer interrupt
+		bnez	t1, handle_irq
 		li	a0, 7
-		jal	ll_timer_interrupt
-		move	a1, sp
-		j	ret_from_irq
 
-1:
-		andi	t1, t0, 0x7800		# check for IP3-6
-		beqz	t1, 2f
+		andi	t1, t0, 0x7800		# check for Int1-4
+		beqz	t1, 1f
 
-		andi	t1, t0, CAUSEF_IP3	# check for IP3
-		bnez	t1, handle_it
+		andi	t1, t0, CAUSEF_IP3	# check for Int1
+		bnez	t1, handle_int
+		li	a0, 1
+
+		andi	t1, t0, CAUSEF_IP4	# check for Int2
+		bnez	t1, handle_int
+		li	a0, 2
+
+		andi	t1, t0, CAUSEF_IP5	# check for Int3
+		bnez	t1, handle_int
 		li	a0, 3
 
-		andi	t1, t0, CAUSEF_IP4	# check for IP4
-		bnez	t1, handle_it
+		andi	t1, t0, CAUSEF_IP6	# check for Int4
+		bnez	t1, handle_int
 		li	a0, 4
 
-		andi	t1, t0, CAUSEF_IP5	# check for IP5
-		bnez	t1, handle_it
-		li	a0, 5
-
-		andi	t1, t0, CAUSEF_IP6	# check for IP6
-		bnez	t1, handle_it
-		li	a0, 6
-
-2:
-		andi	t1, t0, CAUSEF_IP2	# check for IP2
-		beqz	t1, 3f
-		move	a0, sp
-		jal	icu_irqdispatch
-		nop
-		j	ret_from_irq
-		nop
+1:
+		andi	t1, t0, CAUSEF_IP2	# check for Int0
+		bnez	t1, handle_int
+		li	a0, 0
 
-3:
 		andi	t1, t0, CAUSEF_IP0	# check for IP0
-		bnez	t1, handle_it
+		bnez	t1, handle_irq
 		li	a0, 0
 
 		andi	t1, t0, CAUSEF_IP1	# check for IP1
-		bnez	t1, handle_it
+		bnez	t1, handle_irq
 		li	a0, 1
 
 		j	spurious_interrupt
 		nop
 
-handle_it:
+handle_int:
+		jal	irq_dispatch
+		move	a1, sp
+		j	ret_from_irq
+		nop
+
+handle_irq:
 		jal	do_IRQ
 		move	a1, sp
 		j	ret_from_irq
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/ksyms.c linux/arch/mips/vr41xx/common/ksyms.c
--- linux.orig/arch/mips/vr41xx/common/ksyms.c	Tue Dec  2 04:31:49 2003
+++ linux/arch/mips/vr41xx/common/ksyms.c	Fri Dec  5 01:13:07 2003
@@ -25,6 +25,8 @@
 EXPORT_SYMBOL(vr41xx_get_vtclock_frequency);
 EXPORT_SYMBOL(vr41xx_get_tclock_frequency);
 
+EXPORT_SYMBOL(vr41xx_set_intassign);
+
 EXPORT_SYMBOL(vr41xx_set_rtclong1_cycle);
 EXPORT_SYMBOL(vr41xx_read_rtclong1_counter);
 EXPORT_SYMBOL(vr41xx_set_rtclong2_cycle);
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/vrc4173.c linux/arch/mips/vr41xx/common/vrc4173.c
--- linux.orig/arch/mips/vr41xx/common/vrc4173.c	Tue Nov 11 09:07:02 2003
+++ linux/arch/mips/vr41xx/common/vrc4173.c	Fri Dec  5 01:13:07 2003
@@ -195,8 +195,8 @@
 	
 	vrc4173_outw(0, VRC4173_MSYSINT1REG);
 
-	vr41xx_set_irq_trigger(cascade_irq - GIU_IRQ(0), TRIGGER_LEVEL, SIGNAL_THROUGH);
-	vr41xx_set_irq_level(cascade_irq - GIU_IRQ(0), LEVEL_LOW);
+	vr41xx_set_irq_trigger(GIU_IRQ_TO_PIN(cascade_irq), TRIGGER_LEVEL, SIGNAL_THROUGH);
+	vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW);
 
 	for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++)
                 irq_desc[i].handler = &vrc4173_irq_type;
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/vr41xx/vr41xx.h linux/include/asm-mips/vr41xx/vr41xx.h
--- linux.orig/include/asm-mips/vr41xx/vr41xx.h	Wed Dec  3 01:37:12 2003
+++ linux/include/asm-mips/vr41xx/vr41xx.h	Fri Dec  5 08:59:59 2003
@@ -80,49 +80,57 @@
 #define MIPS_CPU_IRQ(x)		(MIPS_CPU_IRQ_BASE + (x))
 #define MIPS_SOFTINT0_IRQ	MIPS_CPU_IRQ(0)
 #define MIPS_SOFTINT1_IRQ	MIPS_CPU_IRQ(1)
-#define ICU_CASCADE_IRQ		MIPS_CPU_IRQ(2)
-#define RTC_LONG1_IRQ		MIPS_CPU_IRQ(3)
-#define RTC_LONG2_IRQ		MIPS_CPU_IRQ(4)
-/* RFU */
-#define BATTERY_IRQ		MIPS_CPU_IRQ(6)
+#define INT0_CASCADE_IRQ	MIPS_CPU_IRQ(2)
+#define INT1_CASCADE_IRQ	MIPS_CPU_IRQ(3)
+#define INT2_CASCADE_IRQ	MIPS_CPU_IRQ(4)
+#define INT3_CASCADE_IRQ	MIPS_CPU_IRQ(5)
+#define INT4_CASCADE_IRQ	MIPS_CPU_IRQ(6)
 #define MIPS_COUNTER_IRQ	MIPS_CPU_IRQ(7)
 
 /* SYINT1 Interrupt Numbers */
 #define SYSINT1_IRQ_BASE	8
 #define SYSINT1_IRQ(x)		(SYSINT1_IRQ_BASE + (x))
-/* RFU */
+#define BATTRY_IRQ		SYSINT1_IRQ(0)
 #define POWER_IRQ		SYSINT1_IRQ(1)
-/* RFU */
+#define RTCLONG1_IRQ		SYSINT1_IRQ(2)
 #define ELAPSEDTIME_IRQ		SYSINT1_IRQ(3)
 /* RFU */
+#define PIU_IRQ			SYSINT1_IRQ(5)
+#define AIU_IRQ			SYSINT1_IRQ(6)
+#define KIU_IRQ			SYSINT1_IRQ(7)
 #define GIUINT_CASCADE_IRQ	SYSINT1_IRQ(8)
 #define SIU_IRQ			SYSINT1_IRQ(9)
-/* RFU */
+#define BUSERR_IRQ		SYSINT1_IRQ(10)
 #define SOFTINT_IRQ		SYSINT1_IRQ(11)
 #define CLKRUN_IRQ		SYSINT1_IRQ(12)
-#define SYSINT1_IRQ_LAST	CLKRUN_IRQ
+#define DOZEPIU_IRQ		SYSINT1_IRQ(13)
+#define SYSINT1_IRQ_LAST	DOZEPIU_IRQ
 
 /* SYSINT2 Interrupt Numbers */
 #define SYSINT2_IRQ_BASE	24
 #define SYSINT2_IRQ(x)		(SYSINT2_IRQ_BASE + (x))
-/* RFU */
+#define RTCLONG2_IRQ		SYSINT2_IRQ(0)
 #define LED_IRQ			SYSINT2_IRQ(1)
-/* RFU */
-#define VTCLOCK_IRQ		SYSINT2_IRQ(3)
+#define HSP_IRQ			SYSINT2_IRQ(2)
+#define TCLOCK_IRQ		SYSINT2_IRQ(3)
 #define FIR_IRQ			SYSINT2_IRQ(4)
+#define CEU_IRQ			SYSINT2_IRQ(4)	/* same number as FIR_IRQ */
 #define DSIU_IRQ		SYSINT2_IRQ(5)
 #define PCI_IRQ			SYSINT2_IRQ(6)
 #define SCU_IRQ			SYSINT2_IRQ(7)
 #define CSI_IRQ			SYSINT2_IRQ(8)
 #define BCU_IRQ			SYSINT2_IRQ(9)
-#define SYSINT2_IRQ_LAST	BCU_IRQ
+#define ETHERNET_IRQ		SYSINT2_IRQ(10)
+#define SYSINT2_IRQ_LAST	ETHERNET_IRQ
 
 /* GIU Interrupt Numbers */
 #define GIU_IRQ_BASE		40
 #define GIU_IRQ(x)		(GIU_IRQ_BASE + (x))	/* IRQ 40-71 */
 #define GIU_IRQ_LAST		GIU_IRQ(31)
+#define GIU_IRQ_TO_PIN(x)	((x) - GIU_IRQ_BASE)	/* Pin 0-31 */
 
 extern void (*board_irq_init)(void);
+extern int vr41xx_set_intassign(unsigned int irq, unsigned char intassign);
 extern int vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq));
 
 /*
@@ -140,13 +148,11 @@
 /*
  * General-Purpose I/O Unit
  */
-extern void vr41xx_enable_giuint(int pin);
-extern void vr41xx_disable_giuint(int pin);
-extern void vr41xx_clear_giuint(int pin);
-
 enum {
 	TRIGGER_LEVEL,
-	TRIGGER_EDGE
+	TRIGGER_EDGE,
+	TRIGGER_EDGE_FALLING,
+	TRIGGER_EDGE_RISING
 };
 
 enum {

--Multipart=_Fri__5_Dec_2003_09_11_56_+0900_KHJQxu1i.qDXru1p
Content-Type: text/plain;
 name="01-vr4133_interrupt-v26.diff"
Content-Disposition: attachment;
 filename="01-vr4133_interrupt-v26.diff"
Content-Transfer-Encoding: 7bit

diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/bcu.c linux/arch/mips/vr41xx/common/bcu.c
--- linux.orig/arch/mips/vr41xx/common/bcu.c	Wed Dec  3 01:39:04 2003
+++ linux/arch/mips/vr41xx/common/bcu.c	Fri Dec  5 08:34:40 2003
@@ -40,7 +40,6 @@
  *  - Added support for NEC VR4133.
  */
 #include <linux/init.h>
-#include <linux/module.h>
 #include <linux/types.h>
 
 #include <asm/cpu.h>
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/giu.c linux/arch/mips/vr41xx/common/giu.c
--- linux.orig/arch/mips/vr41xx/common/giu.c	Fri Oct 31 11:30:39 2003
+++ linux/arch/mips/vr41xx/common/giu.c	Fri Dec  5 08:34:40 2003
@@ -44,7 +44,6 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
 #include <asm/io.h>
 #include <asm/vr41xx/vr41xx.h>
@@ -64,15 +63,19 @@
 #define GIUINTALSELH	0x16
 #define GIUINTHTSELL	0x18
 #define GIUINTHTSELH	0x1a
+#define GIUFEDGEINHL	0x20
+#define GIUFEDGEINHH	0x22
+#define GIUREDGEINHL	0x24
+#define GIUREDGEINHH	0x26
 
-u32 vr41xx_giu_base = 0;
+static uint32_t giu_base;
 
-#define read_giuint(offset)		readw(vr41xx_giu_base + (offset))
-#define write_giuint(val, offset)	writew((val), vr41xx_giu_base + (offset))
+#define read_giuint(offset)		readw(giu_base + (offset))
+#define write_giuint(val, offset)	writew((val), giu_base + (offset))
 
-static inline u16 set_giuint(u16 offset, u16 set)
+static inline uint16_t set_giuint(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_giuint(offset);
 	res |= set;
@@ -81,9 +84,9 @@
 	return res;
 }
 
-static inline u16 clear_giuint(u16 offset, u16 clear)
+static inline uint16_t clear_giuint(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_giuint(offset);
 	res &= ~clear;
@@ -95,51 +98,83 @@
 void vr41xx_enable_giuint(int pin)
 {
 	if (pin < 16)
-		set_giuint(GIUINTENL, (u16)1 << pin);
+		set_giuint(GIUINTENL, (uint16_t)1 << pin);
 	else
-		set_giuint(GIUINTENH, (u16)1 << (pin - 16));
+		set_giuint(GIUINTENH, (uint16_t)1 << (pin - 16));
 }
 
 void vr41xx_disable_giuint(int pin)
 {
 	if (pin < 16)
-		clear_giuint(GIUINTENL, (u16)1 << pin);
+		clear_giuint(GIUINTENL, (uint16_t)1 << pin);
 	else
-		clear_giuint(GIUINTENH, (u16)1 << (pin - 16));
+		clear_giuint(GIUINTENH, (uint16_t)1 << (pin - 16));
 }
 
 void vr41xx_clear_giuint(int pin)
 {
 	if (pin < 16)
-		write_giuint((u16)1 << pin, GIUINTSTATL);
+		write_giuint((uint16_t)1 << pin, GIUINTSTATL);
 	else
-		write_giuint((u16)1 << (pin - 16), GIUINTSTATH);
+		write_giuint((uint16_t)1 << (pin - 16), GIUINTSTATH);
 }
 
 void vr41xx_set_irq_trigger(int pin, int trigger, int hold)
 {
-	u16 mask;
+	uint16_t mask;
 
 	if (pin < 16) {
-		mask = (u16)1 << pin;
-		if (trigger == TRIGGER_EDGE) {
+		mask = (uint16_t)1 << pin;
+		if (trigger != TRIGGER_LEVEL) {
         		set_giuint(GIUINTTYPL, mask);
 			if (hold == SIGNAL_HOLD)
 				set_giuint(GIUINTHTSELL, mask);
 			else
 				clear_giuint(GIUINTHTSELL, mask);
+			if (current_cpu_data.cputype == CPU_VR4133) {
+				switch (trigger) {
+				case TRIGGER_EDGE_FALLING:
+					set_giuint(GIUFEDGEINHL, mask);
+					clear_giuint(GIUREDGEINHL, mask);
+					break;
+				case TRIGGER_EDGE_RISING:
+					clear_giuint(GIUFEDGEINHL, mask);
+					set_giuint(GIUREDGEINHL, mask);
+					break;
+				default:
+					set_giuint(GIUFEDGEINHL, mask);
+					set_giuint(GIUREDGEINHL, mask);
+					break;
+				}
+			}
 		} else {
 			clear_giuint(GIUINTTYPL, mask);
 			clear_giuint(GIUINTHTSELL, mask);
 		}
 	} else {
-		mask = (u16)1 << (pin - 16);
-		if (trigger == TRIGGER_EDGE) {
+		mask = (uint16_t)1 << (pin - 16);
+		if (trigger != TRIGGER_LEVEL) {
 			set_giuint(GIUINTTYPH, mask);
 			if (hold == SIGNAL_HOLD)
 				set_giuint(GIUINTHTSELH, mask);
 			else
 				clear_giuint(GIUINTHTSELH, mask);
+			if (current_cpu_data.cputype == CPU_VR4133) {
+				switch (trigger) {
+				case TRIGGER_EDGE_FALLING:
+					set_giuint(GIUFEDGEINHH, mask);
+					clear_giuint(GIUREDGEINHH, mask);
+					break;
+				case TRIGGER_EDGE_RISING:
+					clear_giuint(GIUFEDGEINHH, mask);
+					set_giuint(GIUREDGEINHH, mask);
+					break;
+				default:
+					set_giuint(GIUFEDGEINHH, mask);
+					set_giuint(GIUREDGEINHH, mask);
+					break;
+				}
+			}
 		} else {
 			clear_giuint(GIUINTTYPH, mask);
 			clear_giuint(GIUINTHTSELH, mask);
@@ -151,16 +186,16 @@
 
 void vr41xx_set_irq_level(int pin, int level)
 {
-	u16 mask;
+	uint16_t mask;
 
 	if (pin < 16) {
-		mask = (u16)1 << pin;
+		mask = (uint16_t)1 << pin;
 		if (level == LEVEL_HIGH)
 			set_giuint(GIUINTALSELL, mask);
 		else
 			clear_giuint(GIUINTALSELL, mask);
 	} else {
-		mask = (u16)1 << (pin - 16);
+		mask = (uint16_t)1 << (pin - 16);
 		if (level == LEVEL_HIGH)
 			set_giuint(GIUINTALSELH, mask);
 		else
@@ -201,7 +236,7 @@
 	if(!get_irq_number)
 		return -EINVAL;
 
-	pin = irq - GIU_IRQ(0);
+	pin = GIU_IRQ_TO_PIN(irq);
 	giuint_cascade[pin].flag = GIUINT_CASCADE;
 	giuint_cascade[pin].get_irq_number = get_irq_number;
 
@@ -222,7 +257,7 @@
 
 	disable_irq(GIUINT_CASCADE_IRQ);
 	cascade = &giuint_cascade[pin];
-	giuint_irq = pin + GIU_IRQ(0);
+	giuint_irq = GIU_IRQ(pin);
 	if (cascade->flag == GIUINT_CASCADE) {
 		cascade_irq = cascade->get_irq_number(giuint_irq);
 		disable_irq(giuint_irq);
@@ -245,12 +280,12 @@
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 	case CPU_VR4121:
-		vr41xx_giu_base = VR4111_GIUIOSELL;
+		giu_base = VR4111_GIUIOSELL;
 		break;
 	case CPU_VR4122:
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_giu_base = VR4122_GIUIOSELL;
+		giu_base = VR4122_GIUIOSELL;
 		break;
 	default:
 		panic("GIU: Unexpected CPU of NEC VR4100 series");
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/icu.c linux/arch/mips/vr41xx/common/icu.c
--- linux.orig/arch/mips/vr41xx/common/icu.c	Tue Nov 18 12:34:22 2003
+++ linux/arch/mips/vr41xx/common/icu.c	Fri Dec  5 08:34:40 2003
@@ -1,9 +1,9 @@
 /*
  * FILE NAME
- *	arch/mips/vr41xx/vr4122/common/icu.c
+ *	arch/mips/vr41xx/common/icu.c
  *
  * BRIEF MODULE DESCRIPTION
- *	Interrupt Control Unit routines for the NEC VR4122 and VR4131.
+ *	Interrupt Control Unit routines for the NEC VR4100 series.
  *
  * Author: Yoichi Yuasa
  *         yyuasa@mvista.com or source@mvista.com
@@ -36,36 +36,36 @@
  *  - New creation, NEC VR4122 and VR4131 are supported.
  *  - Added support for NEC VR4111 and VR4121.
  *
- *  Paul Mundt <lethal@chaoticdreams.org>
- *  - kgdb support.
- *
  *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
- *  - Added support for NEC VR4133.
+ *  - Coped with INTASSIGN of NEC VR4133.
  */
-#include <linux/config.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/types.h>
 
-#include <asm/addrspace.h>
 #include <asm/cpu.h>
-#include <asm/gdb-stub.h>
 #include <asm/io.h>
-#include <asm/mipsregs.h>
+#include <asm/irq.h>
+#include <asm/irq_cpu.h>
 #include <asm/vr41xx/vr41xx.h>
 
 extern asmlinkage void vr41xx_handle_interrupt(void);
 
-extern void __init init_generic_irq(void);
-extern void mips_cpu_irq_init(u32 irq_base);
-
 extern void vr41xx_giuint_init(void);
+extern void vr41xx_enable_giuint(int pin);
+extern void vr41xx_disable_giuint(int pin);
+extern void vr41xx_clear_giuint(int pin);
 extern unsigned int giuint_do_IRQ(int pin, struct pt_regs *regs);
 
-static u32 vr41xx_icu1_base = 0;
-static u32 vr41xx_icu2_base = 0;
+static uint32_t icu1_base;
+static uint32_t icu2_base;
+
+static unsigned char sysint1_assign[16] = {
+	0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+static unsigned char sysint2_assign[16] = {
+	2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 
 #define VR4111_SYSINT1REG	KSEG1ADDR(0x0b000080)
 #define VR4111_SYSINT2REG	KSEG1ADDR(0x0b000200)
@@ -74,26 +74,36 @@
 #define VR4122_SYSINT2REG	KSEG1ADDR(0x0f0000a0)
 
 #define SYSINT1REG	0x00
+#define INTASSIGN0	0x04
+#define INTASSIGN1	0x06
 #define GIUINTLREG	0x08
 #define MSYSINT1REG	0x0c
 #define MGIUINTLREG	0x14
 #define NMIREG		0x18
 #define SOFTREG		0x1a
+#define INTASSIGN2	0x1c
+#define INTASSIGN3	0x1e
 
 #define SYSINT2REG	0x00
 #define GIUINTHREG	0x02
 #define MSYSINT2REG	0x06
 #define MGIUINTHREG	0x08
 
-#define read_icu1(offset)	readw(vr41xx_icu1_base + (offset))
-#define write_icu1(val, offset)	writew((val), vr41xx_icu1_base + (offset))
+#define SYSINT1_IRQ_TO_PIN(x)	((x) - SYSINT1_IRQ_BASE)	/* Pin 0-15 */
+#define SYSINT2_IRQ_TO_PIN(x)	((x) - SYSINT2_IRQ_BASE)	/* Pin 0-15 */
+
+#define read_icu1(offset)	readw(icu1_base + (offset))
+#define write_icu1(val, offset)	writew((val), icu1_base + (offset))
 
-#define read_icu2(offset)	readw(vr41xx_icu2_base + (offset))
-#define write_icu2(val, offset)	writew((val), vr41xx_icu2_base + (offset))
+#define read_icu2(offset)	readw(icu2_base + (offset))
+#define write_icu2(val, offset)	writew((val), icu2_base + (offset))
 
-static inline u16 set_icu1(u16 offset, u16 set)
+#define INTASSIGN_MAX	4
+#define INTASSIGN_MASK	0x0007
+
+static inline uint16_t set_icu1(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu1(offset);
 	res |= set;
@@ -102,9 +112,9 @@
 	return res;
 }
 
-static inline u16 clear_icu1(u16 offset, u16 clear)
+static inline uint16_t clear_icu1(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu1(offset);
 	res &= ~clear;
@@ -113,9 +123,9 @@
 	return res;
 }
 
-static inline u16 set_icu2(u16 offset, u16 set)
+static inline uint16_t set_icu2(uint8_t offset, uint16_t set)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu2(offset);
 	res |= set;
@@ -124,9 +134,9 @@
 	return res;
 }
 
-static inline u16 clear_icu2(u16 offset, u16 clear)
+static inline uint16_t clear_icu2(uint8_t offset, uint16_t clear)
 {
-	u16 res;
+	uint16_t res;
 
 	res = read_icu2(offset);
 	res &= ~clear;
@@ -139,17 +149,17 @@
 
 static void enable_sysint1_irq(unsigned int irq)
 {
-	set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static void disable_sysint1_irq(unsigned int irq)
 {
-	clear_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	clear_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static unsigned int startup_sysint1_irq(unsigned int irq)
 {
-	set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+	set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 
 	return 0; /* never anything pending */
 }
@@ -160,35 +170,34 @@
 static void end_sysint1_irq(unsigned int irq)
 {
 	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-		set_icu1(MSYSINT1REG, (u16)1 << (irq - SYSINT1_IRQ_BASE));
+		set_icu1(MSYSINT1REG, (uint16_t)1 << SYSINT1_IRQ_TO_PIN(irq));
 }
 
 static struct hw_interrupt_type sysint1_irq_type = {
-	"SYSINT1",
-	startup_sysint1_irq,
-	shutdown_sysint1_irq,
-	enable_sysint1_irq,
-	disable_sysint1_irq,
-	ack_sysint1_irq,
-	end_sysint1_irq,
-	NULL
+	.typename	= "SYSINT1",
+	.startup	= startup_sysint1_irq,
+	.shutdown	= shutdown_sysint1_irq,
+	.enable		= enable_sysint1_irq,
+	.disable	= disable_sysint1_irq,
+	.ack		= ack_sysint1_irq,
+	.end		= end_sysint1_irq,
 };
 
 /*=======================================================================*/
 
 static void enable_sysint2_irq(unsigned int irq)
 {
-	set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static void disable_sysint2_irq(unsigned int irq)
 {
-	clear_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	clear_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static unsigned int startup_sysint2_irq(unsigned int irq)
 {
-	set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+	set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 
 	return 0; /* never anything pending */
 }
@@ -199,18 +208,17 @@
 static void end_sysint2_irq(unsigned int irq)
 {
 	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-		set_icu2(MSYSINT2REG, (u16)1 << (irq - SYSINT2_IRQ_BASE));
+		set_icu2(MSYSINT2REG, (uint16_t)1 << SYSINT2_IRQ_TO_PIN(irq));
 }
 
 static struct hw_interrupt_type sysint2_irq_type = {
-	"SYSINT2",
-	startup_sysint2_irq,
-	shutdown_sysint2_irq,
-	enable_sysint2_irq,
-	disable_sysint2_irq,
-	ack_sysint2_irq,
-	end_sysint2_irq,
-	NULL
+	.typename	= "SYSINT2",
+	.startup	= startup_sysint2_irq,
+	.shutdown	= shutdown_sysint2_irq,
+	.enable		= enable_sysint2_irq,
+	.disable	= disable_sysint2_irq,
+	.ack		= ack_sysint2_irq,
+	.end		= end_sysint2_irq,
 };
 
 /*=======================================================================*/
@@ -219,12 +227,11 @@
 {
 	int pin;
 
-	pin = irq - GIU_IRQ_BASE;
+	pin = GIU_IRQ_TO_PIN(irq);
 	if (pin < 16)
-		set_icu1(MGIUINTLREG, (u16)1 << pin);
+		set_icu1(MGIUINTLREG, (uint16_t)1 << pin);
 	else
-		set_icu2(MGIUINTHREG, (u16)1 << (pin - 16));
-
+		set_icu2(MGIUINTHREG, (uint16_t)1 << (pin - 16));
 	vr41xx_enable_giuint(pin);
 }
 
@@ -232,18 +239,17 @@
 {
 	int pin;
 
-	pin = irq - GIU_IRQ_BASE;
+	pin = GIU_IRQ_TO_PIN(irq);
 	vr41xx_disable_giuint(pin);
-
 	if (pin < 16)
-		clear_icu1(MGIUINTLREG, (u16)1 << pin);
+		clear_icu1(MGIUINTLREG, (uint16_t)1 << pin);
 	else
-		clear_icu2(MGIUINTHREG, (u16)1 << (pin - 16));
+		clear_icu2(MGIUINTHREG, (uint16_t)1 << (pin - 16));
 }
 
 static unsigned int startup_giuint_irq(unsigned int irq)
 {
-	vr41xx_clear_giuint(irq - GIU_IRQ_BASE);
+	vr41xx_clear_giuint(GIU_IRQ_TO_PIN(irq));
 
 	enable_giuint_irq(irq);
 
@@ -256,7 +262,7 @@
 {
 	disable_giuint_irq(irq);
 
-	vr41xx_clear_giuint(irq - GIU_IRQ_BASE);
+	vr41xx_clear_giuint(GIU_IRQ_TO_PIN(irq));
 }
 
 static void end_giuint_irq(unsigned int irq)
@@ -266,14 +272,13 @@
 }
 
 static struct hw_interrupt_type giuint_irq_type = {
-	"GIUINT",
-	startup_giuint_irq,
-	shutdown_giuint_irq,
-	enable_giuint_irq,
-	disable_giuint_irq,
-	ack_giuint_irq,
-	end_giuint_irq,
-	NULL
+	.typename	= "GIUINT",
+	.startup	= startup_giuint_irq,
+	.shutdown	= shutdown_giuint_irq,
+	.enable		= enable_giuint_irq,
+	.disable	= disable_giuint_irq,
+	.ack		= ack_giuint_irq,
+	.end		= end_giuint_irq,
 };
 
 /*=======================================================================*/
@@ -287,14 +292,14 @@
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 	case CPU_VR4121:
-		vr41xx_icu1_base = VR4111_SYSINT1REG;
-		vr41xx_icu2_base = VR4111_SYSINT2REG;
+		icu1_base = VR4111_SYSINT1REG;
+		icu2_base = VR4111_SYSINT2REG;
 		break;
 	case CPU_VR4122:
 	case CPU_VR4131:
 	case CPU_VR4133:
-		vr41xx_icu1_base = VR4122_SYSINT1REG;
-		vr41xx_icu2_base = VR4122_SYSINT2REG;
+		icu1_base = VR4122_SYSINT1REG;
+		icu2_base = VR4122_SYSINT2REG;
 		break;
 	default:
 		panic("Unexpected CPU of NEC VR4100 series");
@@ -316,7 +321,11 @@
 			irq_desc[i].handler = &giuint_irq_type;
 	}
 
-	setup_irq(ICU_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT0_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT1_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT2_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT3_CASCADE_IRQ, &icu_cascade);
+	setup_irq(INT4_CASCADE_IRQ, &icu_cascade);
 }
 
 void __init init_IRQ(void)
@@ -330,31 +339,171 @@
 	vr41xx_giuint_init();
 
 	set_except_vector(0, vr41xx_handle_interrupt);
+}
+
+/*=======================================================================*/
+
+static inline int set_sysint1_assign(unsigned int irq, unsigned char assign)
+{
+	irq_desc_t *desc = irq_desc + irq;
+	uint16_t intassign0, intassign1;
+	unsigned int pin;
+
+	pin = SYSINT1_IRQ_TO_PIN(irq);
+
+	spin_lock_irq(&desc->lock);
+
+	intassign0 = read_icu1(INTASSIGN0);
+	intassign1 = read_icu1(INTASSIGN1);
+
+	switch (pin) {
+	case 0:
+		intassign0 &= ~INTASSIGN_MASK;
+		intassign0 |= (uint16_t)assign;
+		break;
+	case 1:
+		intassign0 &= ~(INTASSIGN_MASK << 3);
+		intassign0 |= (uint16_t)assign << 3;
+		break;
+	case 2:
+		intassign0 &= ~(INTASSIGN_MASK << 6);
+		intassign0 |= (uint16_t)assign << 6;
+		break;
+	case 3:
+		intassign0 &= ~(INTASSIGN_MASK << 9);
+		intassign0 |= (uint16_t)assign << 9;
+		break;
+	case 8:
+		intassign0 &= ~(INTASSIGN_MASK << 12);
+		intassign0 |= (uint16_t)assign << 12;
+		break;
+	case 9:
+		intassign1 &= ~INTASSIGN_MASK;
+		intassign1 |= (uint16_t)assign;
+		break;
+	case 11:
+		intassign1 &= ~(INTASSIGN_MASK << 6);
+		intassign1 |= (uint16_t)assign << 6;
+		break;
+	case 12:
+		intassign1 &= ~(INTASSIGN_MASK << 9);
+		intassign1 |= (uint16_t)assign << 9;
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	sysint1_assign[pin] = assign;
+	write_icu1(intassign0, INTASSIGN0);
+	write_icu1(intassign1, INTASSIGN1);
+
+	spin_unlock_irq(&desc->lock);
+
+	return 0;
+}
+
+static inline int set_sysint2_assign(unsigned int irq, unsigned char assign)
+{
+	irq_desc_t *desc = irq_desc + irq;
+	uint16_t intassign2, intassign3;
+	unsigned int pin;
 
-#ifdef CONFIG_KGDB
-	printk("Setting debug traps - please connect the remote debugger.\n");
-	set_debug_traps();
-	breakpoint();
-#endif
+	pin = SYSINT2_IRQ_TO_PIN(irq);
+
+	spin_lock_irq(&desc->lock);
+
+	intassign2 = read_icu1(INTASSIGN2);
+	intassign3 = read_icu1(INTASSIGN3);
+
+	switch (pin) {
+	case 0:
+		intassign2 &= ~INTASSIGN_MASK;
+		intassign2 |= (uint16_t)assign;
+		break;
+	case 1:
+		intassign2 &= ~(INTASSIGN_MASK << 3);
+		intassign2 |= (uint16_t)assign << 3;
+		break;
+	case 3:
+		intassign2 &= ~(INTASSIGN_MASK << 6);
+		intassign2 |= (uint16_t)assign << 6;
+		break;
+	case 4:
+		intassign2 &= ~(INTASSIGN_MASK << 9);
+		intassign2 |= (uint16_t)assign << 9;
+		break;
+	case 5:
+		intassign2 &= ~(INTASSIGN_MASK << 12);
+		intassign2 |= (uint16_t)assign << 12;
+		break;
+	case 6:
+		intassign3 &= ~INTASSIGN_MASK;
+		intassign3 |= (uint16_t)assign;
+		break;
+	case 7:
+		intassign3 &= ~(INTASSIGN_MASK << 3);
+		intassign3 |= (uint16_t)assign << 3;
+		break;
+	case 8:
+		intassign3 &= ~(INTASSIGN_MASK << 6);
+		intassign3 |= (uint16_t)assign << 6;
+		break;
+	case 9:
+		intassign3 &= ~(INTASSIGN_MASK << 9);
+		intassign3 |= (uint16_t)assign << 9;
+		break;
+	case 10:
+		intassign3 &= ~(INTASSIGN_MASK << 12);
+		intassign3 |= (uint16_t)assign << 12;
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	sysint2_assign[pin] = assign;
+	write_icu1(intassign2, INTASSIGN2);
+	write_icu1(intassign3, INTASSIGN3);
+
+	spin_unlock_irq(&desc->lock);
+
+	return 0;
+}
+
+int vr41xx_set_intassign(unsigned int irq, unsigned char intassign)
+{
+	int retval = -EINVAL;
+
+	if (current_cpu_data.cputype != CPU_VR4133)
+		return -EINVAL;
+
+	if (intassign > INTASSIGN_MAX)
+		return -EINVAL;
+
+	if (irq >= SYSINT1_IRQ_BASE && irq <= SYSINT1_IRQ_LAST)
+		retval = set_sysint1_assign(irq, intassign);
+	else if (irq >= SYSINT2_IRQ_BASE && irq <= SYSINT2_IRQ_LAST)
+		retval = set_sysint2_assign(irq, intassign);
+
+	return retval;
 }
 
 /*=======================================================================*/
 
-static inline void giuint_irqdispatch(u16 pendl, u16 pendh, struct pt_regs *regs)
+static inline void giuint_irq_dispatch(uint16_t pendl, uint16_t pendh,
+                                       struct pt_regs *regs)
 {
 	int i;
 
 	if (pendl) {
 		for (i = 0; i < 16; i++) {
-			if (pendl & (0x0001 << i)) {
+			if (pendl & ((uint16_t)1 << i)) {
 				giuint_do_IRQ(i, regs);
 				return;
 			}
 		}
-	}
-	else if (pendh) {
+	} else {
 		for (i = 0; i < 16; i++) {
-			if (pendh & (0x0001 << i)) {
+			if (pendh & ((uint16_t)1 << i)) {
 				giuint_do_IRQ(i + 16, regs);
 				return;
 			}
@@ -362,10 +511,10 @@
 	}
 }
 
-asmlinkage void icu_irqdispatch(struct pt_regs *regs)
+asmlinkage void irq_dispatch(unsigned char intnum, struct pt_regs *regs)
 {
-	u16 pend1, pend2, pendl, pendh;
-	u16 mask1, mask2, maskl, maskh;
+	uint16_t pend1, pend2, pendl, pendh;
+	uint16_t mask1, mask2, maskl, maskh;
 	int i;
 
 	pend1 = read_icu1(SYSINT1REG);
@@ -380,31 +529,36 @@
 	pendh = read_icu2(GIUINTHREG);
 	maskh = read_icu2(MGIUINTHREG);
 
-	pend1 &= mask1;
-	pend2 &= mask2;
-	pendl &= maskl;
-	pendh &= maskh;
-
-	if (pend1) {
-		if ((pend1 & 0x01ff) == 0x0100) {
-			giuint_irqdispatch(pendl, pendh, regs);
-		}
-		else {
-			for (i = 0; i < 16; i++) {
-				if (pend1 & (0x0001 << i)) {
-					do_IRQ(SYSINT1_IRQ_BASE + i, regs);
-					break;
+	mask1 &= pend1;
+	mask2 &= pend2;
+	maskl &= pendl;
+	maskh &= pendh;
+
+	if (mask1) {
+		for (i = 0; i < 16; i++) {
+			if (intnum == sysint1_assign[i] &&
+			    (mask1 & ((uint16_t)1 << i))) {
+				if (i == 8 && (maskl | maskh)) {
+					giuint_irq_dispatch(maskl, maskh, regs);
+					return;
+				} else {
+					do_IRQ(SYSINT1_IRQ(i), regs);
+					return;
 				}
 			}
 		}
-		return;
 	}
-	else if (pend2) {
+
+	if (mask2) {
 		for (i = 0; i < 16; i++) {
-			if (pend2 & (0x0001 << i)) {
-				do_IRQ(SYSINT2_IRQ_BASE + i, regs);
-				break;
+			if (intnum == sysint2_assign[i] &&
+			    (mask2 & ((uint16_t)1 << i))) {
+				do_IRQ(SYSINT2_IRQ(i), regs);
+				return;
 			}
 		}
 	}
+
+	printk(KERN_ERR "spurious interrupt: %04x,%04x,%04x,%04x\n", pend1, pend2, pendl, pendh);
+	atomic_inc(&irq_err_count);
 }
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/int-handler.S linux/arch/mips/vr41xx/common/int-handler.S
--- linux.orig/arch/mips/vr41xx/common/int-handler.S	Mon Jul 15 08:47:57 2002
+++ linux/arch/mips/vr41xx/common/int-handler.S	Fri Dec  5 08:34:40 2003
@@ -34,6 +34,9 @@
  * Changes:
  *  MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com>
  *  - New creation, NEC VR4100 series are supported.
+ *
+ *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *  - Coped with INTASSIGN of NEC VR4133.
  */
 #include <asm/asm.h>
 #include <asm/regdef.h>
@@ -59,55 +62,52 @@
 		andi	t0, 0xff00
 		and	t0, t0, t1
 
-		andi	t1, t0, CAUSEF_IP7	# timer interrupt
-		beqz	t1, 1f
+		andi	t1, t0, CAUSEF_IP7	# MIPS timer interrupt
+		bnez	t1, handle_irq
 		li	a0, 7
-		jal	ll_timer_interrupt
-		move	a1, sp
-		j	ret_from_irq
 
-1:
-		andi	t1, t0, 0x7800		# check for IP3-6
-		beqz	t1, 2f
+		andi	t1, t0, 0x7800		# check for Int1-4
+		beqz	t1, 1f
 
-		andi	t1, t0, CAUSEF_IP3	# check for IP3
-		bnez	t1, handle_it
+		andi	t1, t0, CAUSEF_IP3	# check for Int1
+		bnez	t1, handle_int
+		li	a0, 1
+
+		andi	t1, t0, CAUSEF_IP4	# check for Int2
+		bnez	t1, handle_int
+		li	a0, 2
+
+		andi	t1, t0, CAUSEF_IP5	# check for Int3
+		bnez	t1, handle_int
 		li	a0, 3
 
-		andi	t1, t0, CAUSEF_IP4	# check for IP4
-		bnez	t1, handle_it
+		andi	t1, t0, CAUSEF_IP6	# check for Int4
+		bnez	t1, handle_int
 		li	a0, 4
 
-		andi	t1, t0, CAUSEF_IP5	# check for IP5
-		bnez	t1, handle_it
-		li	a0, 5
-
-		andi	t1, t0, CAUSEF_IP6	# check for IP6
-		bnez	t1, handle_it
-		li	a0, 6
-
-2:
-		andi	t1, t0, CAUSEF_IP2	# check for IP2
-		beqz	t1, 3f
-		move	a0, sp
-		jal	icu_irqdispatch
-		nop
-		j	ret_from_irq
-		nop
+1:
+		andi	t1, t0, CAUSEF_IP2	# check for Int0
+		bnez	t1, handle_int
+		li	a0, 0
 
-3:
 		andi	t1, t0, CAUSEF_IP0	# check for IP0
-		bnez	t1, handle_it
+		bnez	t1, handle_irq
 		li	a0, 0
 
 		andi	t1, t0, CAUSEF_IP1	# check for IP1
-		bnez	t1, handle_it
+		bnez	t1, handle_irq
 		li	a0, 1
 
 		j	spurious_interrupt
 		nop
 
-handle_it:
+handle_int:
+		jal	irq_dispatch
+		move	a1, sp
+		j	ret_from_irq
+		nop
+
+handle_irq:
 		jal	do_IRQ
 		move	a1, sp
 		j	ret_from_irq
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/ksyms.c linux/arch/mips/vr41xx/common/ksyms.c
--- linux.orig/arch/mips/vr41xx/common/ksyms.c	Tue Dec  2 04:32:01 2003
+++ linux/arch/mips/vr41xx/common/ksyms.c	Fri Dec  5 08:34:40 2003
@@ -25,6 +25,8 @@
 EXPORT_SYMBOL(vr41xx_get_vtclock_frequency);
 EXPORT_SYMBOL(vr41xx_get_tclock_frequency);
 
+EXPORT_SYMBOL(vr41xx_set_intassign);
+
 EXPORT_SYMBOL(vr41xx_set_rtclong1_cycle);
 EXPORT_SYMBOL(vr41xx_read_rtclong1_counter);
 EXPORT_SYMBOL(vr41xx_set_rtclong2_cycle);
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/arch/mips/vr41xx/common/vrc4173.c linux/arch/mips/vr41xx/common/vrc4173.c
--- linux.orig/arch/mips/vr41xx/common/vrc4173.c	Tue Nov 18 12:34:22 2003
+++ linux/arch/mips/vr41xx/common/vrc4173.c	Fri Dec  5 08:34:40 2003
@@ -194,8 +194,8 @@
 	
 	vrc4173_outw(0, VRC4173_MSYSINT1REG);
 
-	vr41xx_set_irq_trigger(cascade_irq - GIU_IRQ(0), TRIGGER_LEVEL, SIGNAL_THROUGH);
-	vr41xx_set_irq_level(cascade_irq - GIU_IRQ(0), LEVEL_LOW);
+	vr41xx_set_irq_trigger(GIU_IRQ_TO_PIN(cascade_irq), TRIGGER_LEVEL, SIGNAL_THROUGH);
+	vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW);
 
 	for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++)
                 irq_desc[i].handler = &vrc4173_irq_type;
diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/vr41xx/vr41xx.h linux/include/asm-mips/vr41xx/vr41xx.h
--- linux.orig/include/asm-mips/vr41xx/vr41xx.h	Wed Dec  3 01:39:09 2003
+++ linux/include/asm-mips/vr41xx/vr41xx.h	Fri Dec  5 09:00:47 2003
@@ -39,7 +39,7 @@
 #define PRID_VR4131_REV2_1	0x00000c82
 #define PRID_VR4131_REV2_2	0x00000c83
 
-/* VR4131 0x00000c84- */
+/* VR4133 0x00000c84- */
 #define PRID_VR4133		0x00000c84
 
 /*
@@ -80,49 +80,57 @@
 #define MIPS_CPU_IRQ(x)		(MIPS_CPU_IRQ_BASE + (x))
 #define MIPS_SOFTINT0_IRQ	MIPS_CPU_IRQ(0)
 #define MIPS_SOFTINT1_IRQ	MIPS_CPU_IRQ(1)
-#define ICU_CASCADE_IRQ		MIPS_CPU_IRQ(2)
-#define RTC_LONG1_IRQ		MIPS_CPU_IRQ(3)
-#define RTC_LONG2_IRQ		MIPS_CPU_IRQ(4)
-/* RFU */
-#define BATTERY_IRQ		MIPS_CPU_IRQ(6)
+#define INT0_CASCADE_IRQ	MIPS_CPU_IRQ(2)
+#define INT1_CASCADE_IRQ	MIPS_CPU_IRQ(3)
+#define INT2_CASCADE_IRQ	MIPS_CPU_IRQ(4)
+#define INT3_CASCADE_IRQ	MIPS_CPU_IRQ(5)
+#define INT4_CASCADE_IRQ	MIPS_CPU_IRQ(6)
 #define MIPS_COUNTER_IRQ	MIPS_CPU_IRQ(7)
 
 /* SYINT1 Interrupt Numbers */
 #define SYSINT1_IRQ_BASE	8
 #define SYSINT1_IRQ(x)		(SYSINT1_IRQ_BASE + (x))
-/* RFU */
+#define BATTRY_IRQ		SYSINT1_IRQ(0)
 #define POWER_IRQ		SYSINT1_IRQ(1)
-/* RFU */
+#define RTCLONG1_IRQ		SYSINT1_IRQ(2)
 #define ELAPSEDTIME_IRQ		SYSINT1_IRQ(3)
 /* RFU */
+#define PIU_IRQ			SYSINT1_IRQ(5)
+#define AIU_IRQ			SYSINT1_IRQ(6)
+#define KIU_IRQ			SYSINT1_IRQ(7)
 #define GIUINT_CASCADE_IRQ	SYSINT1_IRQ(8)
 #define SIU_IRQ			SYSINT1_IRQ(9)
-/* RFU */
+#define BUSERR_IRQ		SYSINT1_IRQ(10)
 #define SOFTINT_IRQ		SYSINT1_IRQ(11)
 #define CLKRUN_IRQ		SYSINT1_IRQ(12)
-#define SYSINT1_IRQ_LAST	CLKRUN_IRQ
+#define DOZEPIU_IRQ		SYSINT1_IRQ(13)
+#define SYSINT1_IRQ_LAST	DOZEPIU_IRQ
 
 /* SYSINT2 Interrupt Numbers */
 #define SYSINT2_IRQ_BASE	24
 #define SYSINT2_IRQ(x)		(SYSINT2_IRQ_BASE + (x))
-/* RFU */
+#define RTCLONG2_IRQ		SYSINT2_IRQ(0)
 #define LED_IRQ			SYSINT2_IRQ(1)
-/* RFU */
-#define VTCLOCK_IRQ		SYSINT2_IRQ(3)
+#define HSP_IRQ			SYSINT2_IRQ(2)
+#define TCLOCK_IRQ		SYSINT2_IRQ(3)
 #define FIR_IRQ			SYSINT2_IRQ(4)
+#define CEU_IRQ			SYSINT2_IRQ(4)	/* same number as FIR_IRQ */
 #define DSIU_IRQ		SYSINT2_IRQ(5)
 #define PCI_IRQ			SYSINT2_IRQ(6)
 #define SCU_IRQ			SYSINT2_IRQ(7)
 #define CSI_IRQ			SYSINT2_IRQ(8)
 #define BCU_IRQ			SYSINT2_IRQ(9)
-#define SYSINT2_IRQ_LAST	BCU_IRQ
+#define ETHERNET_IRQ		SYSINT2_IRQ(10)
+#define SYSINT2_IRQ_LAST	ETHERNET_IRQ
 
 /* GIU Interrupt Numbers */
 #define GIU_IRQ_BASE		40
 #define GIU_IRQ(x)		(GIU_IRQ_BASE + (x))	/* IRQ 40-71 */
 #define GIU_IRQ_LAST		GIU_IRQ(31)
+#define GIU_IRQ_TO_PIN(x)	((x) - GIU_IRQ_BASE)	/* Pin 0-31 */
 
 extern void (*board_irq_init)(void);
+extern int vr41xx_set_intassign(unsigned int irq, unsigned char intassign);
 extern int vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq));
 
 /*
@@ -138,15 +146,13 @@
 extern uint32_t vr41xx_read_tclock_counter(void);
 
 /*
- * Gegeral-Purpose I/O Unit
+ * General-Purpose I/O Unit
  */
-extern void vr41xx_enable_giuint(int pin);
-extern void vr41xx_disable_giuint(int pin);
-extern void vr41xx_clear_giuint(int pin);
-
 enum {
 	TRIGGER_LEVEL,
-	TRIGGER_EDGE
+	TRIGGER_EDGE,
+	TRIGGER_EDGE_FALLING,
+	TRIGGER_EDGE_RISING
 };
 
 enum {

--Multipart=_Fri__5_Dec_2003_09_11_56_+0900_KHJQxu1i.qDXru1p--

From juszczec@hotmail.com Sun Dec  7 22:28:42 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 07 Dec 2003 22:28:43 +0000 (GMT)
Received: from law10-f17.law10.hotmail.com ([IPv6:::ffff:64.4.15.17]:33804
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8225346AbTLGW2m>; Sun, 7 Dec 2003 22:28:42 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Sun, 7 Dec 2003 14:28:33 -0800
Received: from 24.209.41.112 by lw10fd.law10.hotmail.msn.com with HTTP;
	Sun, 07 Dec 2003 22:28:33 GMT
X-Originating-IP: [24.209.41.112]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: linux-mips@linux-mips.org
Subject: cross debugging r3912 cpu with gdb
Date: Sun, 07 Dec 2003 22:28:33 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F17iieCGDqfgx00015870@hotmail.com>
X-OriginalArrivalTime: 07 Dec 2003 22:28:33.0772 (UTC) FILETIME=[72FC0AC0:01C3BD11]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3706
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Hi folks

I'm trying to track down a SIGSEGV generated by kaffe on the Helio pda.  It 
uses a  Phillips R3912 cpu.

The gdb 6.0 docs say configure as follows:  configure 
--target=mips-idt-ecoff.  I did and mips shows up as an available target.

Unfortunately, when I try to connect to the pda via a USB serial connection, 
I get:

(gdb) set debug remote 2
(gdb) target mips /dev/ttyUSB0
Expected "<IDT>", got "": FAIL
Expected "<IDT>", got "": FAIL
Expected "<IDT>", got "": FAIL
Failed to initialize.
Ending remote MIPS debugging.
You can't do that without a process to debug

Further research shows there is supposed to be a target named r3900.  It 
doesn't show up under my available targets and

(gdb) target r3900 /dev/ttyUSB0

gives and error saying there is no target named r3900.

Can anyone out there give me advice about gdb and mips cross debugging?

Mark

_________________________________________________________________
Shop online for kids’ toys by age group, price range, and toy category at 
MSN Shopping. No waiting for a clerk to help you! http://shopping.msn.com


From drow@crack.them.org Sun Dec  7 22:54:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 07 Dec 2003 22:54:45 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:13211 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225346AbTLGWyo>;
	Sun, 7 Dec 2003 22:54:44 +0000
Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian))
	id 1AT7nS-0003v2-R6; Sun, 07 Dec 2003 17:54:38 -0500
Date: Sun, 7 Dec 2003 17:54:38 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: Mark and Janice Juszczec <juszczec@hotmail.com>
Cc: linux-mips@linux-mips.org
Subject: Re: cross debugging r3912 cpu with gdb
Message-ID: <20031207225438.GA15049@nevyn.them.org>
References: <Law10-F17iieCGDqfgx00015870@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Law10-F17iieCGDqfgx00015870@hotmail.com>
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3707
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

On Sun, Dec 07, 2003 at 10:28:33PM +0000, Mark and Janice Juszczec wrote:
> 
> Hi folks
> 
> I'm trying to track down a SIGSEGV generated by kaffe on the Helio pda.  It 
> uses a  Phillips R3912 cpu.

You left out lots of details.  What operating system is the r3900
running?  From the list name, I assume it's Linux/MIPS.  So why did you
configure for mips-idt-ecoff?

If you're using gdbserver, then you want target=mips-linux and "target
remote", not "target mips".

> 
> The gdb 6.0 docs say configure as follows:  configure 
> --target=mips-idt-ecoff.  I did and mips shows up as an available target.
> 
> Unfortunately, when I try to connect to the pda via a USB serial 
> connection, I get:
> 
> (gdb) set debug remote 2
> (gdb) target mips /dev/ttyUSB0
> Expected "<IDT>", got "": FAIL
> Expected "<IDT>", got "": FAIL
> Expected "<IDT>", got "": FAIL
> Failed to initialize.
> Ending remote MIPS debugging.
> You can't do that without a process to debug
> 
> Further research shows there is supposed to be a target named r3900.  It 
> doesn't show up under my available targets and
> 
> (gdb) target r3900 /dev/ttyUSB0
> 
> gives and error saying there is no target named r3900.
> 
> Can anyone out there give me advice about gdb and mips cross debugging?
> 
> Mark
> 
> _________________________________________________________________
> Shop online for kids? toys by age group, price range, and toy category at 
> MSN Shopping. No waiting for a clerk to help you! http://shopping.msn.com
> 
> 
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From juszczec@hotmail.com Mon Dec  8 00:02:38 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 08 Dec 2003 00:02:39 +0000 (GMT)
Received: from law10-f8.law10.hotmail.com ([IPv6:::ffff:64.4.15.8]:37643 "EHLO
	hotmail.com") by linux-mips.org with ESMTP id <S8225346AbTLHACY>;
	Mon, 8 Dec 2003 00:02:24 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Sun, 7 Dec 2003 16:02:14 -0800
Received: from 24.209.41.112 by lw10fd.law10.hotmail.msn.com with HTTP;
	Mon, 08 Dec 2003 00:02:14 GMT
X-Originating-IP: [24.209.41.112]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: dan@debian.org
Cc: linux-mips@linux-mips.org
Subject: Re: cross debugging r3912 cpu with gdb
Date: Mon, 08 Dec 2003 00:02:14 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F80XN3su1U6s400015b8a@hotmail.com>
X-OriginalArrivalTime: 08 Dec 2003 00:02:14.0621 (UTC) FILETIME=[894588D0:01C3BD1E]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3708
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Daniel

you wrote:
>
>You left out lots of details.
>

  Oops.  My bad.

>What operating system is the r3900 running?

  Yes its linux.  kernel v2.4.0-test1-acc22

>From the list name, I assume it's Linux/MIPS.  So why did you configure for 
>mips-idt-ecoff?
>
  Hmmmmm.  Good question.  The gdb docs say I have to if I want to use the 
MIPS remote debugging protocol.

  I did try --target=mipsel-elf-linux and --target-mipsel-linux.  I got the 
following targets:

(gdb) help target
Connect to a target machine or process.
The first argument is the type or protocol of the target machine.
Remaining arguments are interpreted by the target protocol.  For more
information on the arguments for a particular protocol, type
`help target ' followed by the protocol name.

List of target subcommands:

target async -- Use a remote computer via a serial line
target cisco -- Use a remote machine via TCP
target core -- Use a core file as a target
target exec -- Use an executable file as a target
target extended-async -- Use a remote computer via a serial line
target extended-remote -- Use a remote computer via a serial line
target remote -- Use a remote computer via a serial line
target sim -- Use the compiled-in simulator

  I figured mips should show up, so I guessed they were incorrect.  Even so, 
I tried connecting with both and got the same results:

(gdb) target async /dev/ttyUSB0
Remote debugging using /dev/ttyUSB0
Sending packet: $Hc-1#09...Sending packet: $Hc-1#09...Sending packet: 
$Hc-1#09...Sending packet: $Hc-1#09...Timed out.
Timed out.
Timed out.
Ignoring packet error, continuing...
Sending packet: $qC#b4...Sending packet: $qC#b4...Sending packet: 
$qC#b4...Sending packet: $qC#b4...Timed out.
Timed out.
Timed out.
Ignoring packet error, continuing...
Sending packet: $qOffsets#4b...Sending packet: $qOffsets#4b...Sending 
packet: $qOffsets#4b...Sending packet: $qOffsets#4b...Timed out.
Timed out.
Timed out.
Ignoring packet error, continuing...
Couldn't establish connection to remote target
Malformed response to offset query, timeout

  Any idea what that all means?

>If you're using gdbserver, then you want target=mips-linux and "target
>remote", not "target mips".
>

  I'm not using gdbserver.  It won't fit on my pda if I include kaffe and 
its associated files.

  Mark

_________________________________________________________________
Take advantage of our best MSN Dial-up offer of the year — six months 
@$9.95/month. Sign up now! http://join.msn.com/?page=dept/dialup


From drow@crack.them.org Mon Dec  8 03:10:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 08 Dec 2003 03:10:45 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:39837 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225205AbTLHDKo>;
	Mon, 8 Dec 2003 03:10:44 +0000
Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian))
	id 1ATBnD-0004gT-Qa; Sun, 07 Dec 2003 22:10:39 -0500
Date: Sun, 7 Dec 2003 22:10:39 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: Mark and Janice Juszczec <juszczec@hotmail.com>
Cc: linux-mips@linux-mips.org
Subject: Re: cross debugging r3912 cpu with gdb
Message-ID: <20031208031039.GA17991@nevyn.them.org>
References: <Law10-F80XN3su1U6s400015b8a@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Law10-F80XN3su1U6s400015b8a@hotmail.com>
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3709
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 08, 2003 at 12:02:14AM +0000, Mark and Janice Juszczec wrote:
> 
> Daniel
> 
> you wrote:
> >
> >You left out lots of details.
> >
> 
>  Oops.  My bad.
> 
> >What operating system is the r3900 running?
> 
>  Yes its linux.  kernel v2.4.0-test1-acc22
> 
> >From the list name, I assume it's Linux/MIPS.  So why did you configure 
> >for mips-idt-ecoff?
> >
>  Hmmmmm.  Good question.  The gdb docs say I have to if I want to use the 
> MIPS remote debugging protocol.
> 
>  I did try --target=mipsel-elf-linux and --target-mipsel-linux.  I got the 
> following targets:
> 
> (gdb) help target
> Connect to a target machine or process.
> The first argument is the type or protocol of the target machine.
> Remaining arguments are interpreted by the target protocol.  For more
> information on the arguments for a particular protocol, type
> `help target ' followed by the protocol name.
> 
> List of target subcommands:
> 
> target async -- Use a remote computer via a serial line
> target cisco -- Use a remote machine via TCP
> target core -- Use a core file as a target
> target exec -- Use an executable file as a target
> target extended-async -- Use a remote computer via a serial line
> target extended-remote -- Use a remote computer via a serial line
> target remote -- Use a remote computer via a serial line
> target sim -- Use the compiled-in simulator
> 
>  I figured mips should show up, so I guessed they were incorrect.  Even so, 
> I tried connecting with both and got the same results:
> 
> (gdb) target async /dev/ttyUSB0
> Remote debugging using /dev/ttyUSB0
> Sending packet: $Hc-1#09...Sending packet: $Hc-1#09...Sending packet: 
> $Hc-1#09...Sending packet: $Hc-1#09...Timed out.
> Timed out.
> Timed out.
> Ignoring packet error, continuing...
> Sending packet: $qC#b4...Sending packet: $qC#b4...Sending packet: 
> $qC#b4...Sending packet: $qC#b4...Timed out.
> Timed out.
> Timed out.
> Ignoring packet error, continuing...
> Sending packet: $qOffsets#4b...Sending packet: $qOffsets#4b...Sending 
> packet: $qOffsets#4b...Sending packet: $qOffsets#4b...Timed out.
> Timed out.
> Timed out.
> Ignoring packet error, continuing...
> Couldn't establish connection to remote target
> Malformed response to offset query, timeout
> 
>  Any idea what that all means?
> 
> >If you're using gdbserver, then you want target=mips-linux and "target
> >remote", not "target mips".
> >
> 
>  I'm not using gdbserver.  It won't fit on my pda if I include kaffe and 
> its associated files.

Then what ARE you using on the target?

You have to connect to some particular debug stub.  That determines
what protocol to use.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From juszczec@hotmail.com Mon Dec  8 12:48:55 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 08 Dec 2003 12:48:58 +0000 (GMT)
Received: from law10-f52.law10.hotmail.com ([IPv6:::ffff:64.4.15.52]:48649
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8225301AbTLHMsz>; Mon, 8 Dec 2003 12:48:55 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Mon, 8 Dec 2003 04:48:45 -0800
Received: from 63.121.54.5 by lw10fd.law10.hotmail.msn.com with HTTP;
	Mon, 08 Dec 2003 12:48:44 GMT
X-Originating-IP: [63.121.54.5]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: dan@debian.org
Cc: linux-mips@linux-mips.org
Subject: Re: cross debugging r3912 cpu with gdb
Date: Mon, 08 Dec 2003 12:48:44 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <LAW10-F527kP31wEf2X00017cd3@hotmail.com>
X-OriginalArrivalTime: 08 Dec 2003 12:48:45.0362 (UTC) FILETIME=[9DE3B120:01C3BD89]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3710
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Daniel

>
>Then what ARE you using on the target?
>

I have a kernel, busybox (for init and sh) and kaffe+associated files.  
These have all been cross compiled from i386 for mipsel-linux using gcc 
(2.95 or 3.0).

>You have to connect to some particular debug stub.  That determines
>what protocol to use.
>


I wanted to test starting the whole thing up and connecting with gdb before 
trying to actually debug anything.  So, I haven't begun to worry about debug 
stubs.

Frankly, I'm confused as to where they'd go.  It seems to me I want to let 
the kernel start up on the pda and then use gdb to tell it to start running 
kaffe.  If that's true, I need debug stubs in kaffe.  Am I completely wrong 
with this idea?

Mark

>--
>Daniel Jacobowitz
>MontaVista Software                         Debian GNU/Linux Developer

_________________________________________________________________
Browse styles for all ages, from the latest looks to cozy weekend wear at 
MSN Shopping.  And check out the beauty products! http://shopping.msn.com


From drow@crack.them.org Mon Dec  8 15:39:57 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 08 Dec 2003 15:40:00 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:31906 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225373AbTLHPjk>;
	Mon, 8 Dec 2003 15:39:40 +0000
Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian))
	id 1ATNTx-0007A3-3y; Mon, 08 Dec 2003 10:39:33 -0500
Date: Mon, 8 Dec 2003 10:39:33 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: Mark and Janice Juszczec <juszczec@hotmail.com>
Cc: linux-mips@linux-mips.org
Subject: Re: cross debugging r3912 cpu with gdb
Message-ID: <20031208153932.GA27486@nevyn.them.org>
References: <LAW10-F527kP31wEf2X00017cd3@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <LAW10-F527kP31wEf2X00017cd3@hotmail.com>
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3711
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 08, 2003 at 12:48:44PM +0000, Mark and Janice Juszczec wrote:
> 
> Daniel
> 
> >
> >Then what ARE you using on the target?
> >
> 
> I have a kernel, busybox (for init and sh) and kaffe+associated files.  
> These have all been cross compiled from i386 for mipsel-linux using gcc 
> (2.95 or 3.0).
> 
> >You have to connect to some particular debug stub.  That determines
> >what protocol to use.
> >
> 
> 
> I wanted to test starting the whole thing up and connecting with gdb before 
> trying to actually debug anything.  So, I haven't begun to worry about 
> debug stubs.

GDB has to connect _to_ something :)  If you don't have a stub, nothing
on your target speaks the GDB protocol.

> Frankly, I'm confused as to where they'd go.  It seems to me I want to let 
> the kernel start up on the pda and then use gdb to tell it to start running 
> kaffe.  If that's true, I need debug stubs in kaffe.  Am I completely wrong 
> with this idea?

Yes.  I recommend you read the GDB manual, on the section describing
gdbserver.  GDB doesn't connect to the kernel at all, you start a
gdbserver process on the target with the path to kaffe.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From yuasa@hh.iij4u.or.jp Tue Dec  9 03:02:47 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 03:02:50 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:37320 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225362AbTLIDCr>;
	Tue, 9 Dec 2003 03:02:47 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id MAA08775
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 12:02:43 +0900 (JST)
Received: 4UMDO00 id hB932hs06738; Tue, 9 Dec 2003 12:02:43 +0900 (JST)
Received: 4UMRO00 id hB932gP09267; Tue, 9 Dec 2003 12:02:42 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131])
	for <linux-mips@linux-mips.org>; (authenticated)
Date: Tue, 9 Dec 2003 12:02:43 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: linux-mips@linux-mips.org
Subject: Undeclared atomic_lock in 2.6
Message-Id: <20031209120243.70d51420.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3712
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hi,

The "atomic_lock" is undeclared in 2.6.

include/asm/atomic.h:156: error: `atomic_lock' undeclared (first use in this function)
include/asm/atomic.h:156: error: (Each undeclared identifier is reported only once
include/asm/atomic.h:156: error: for each function it appears in.)

Where should it be declared?

Yoichi

From Ian.Hamilton@gbr.xerox.com Tue Dec  9 09:50:07 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 09:50:08 +0000 (GMT)
Received: from apollo.ext.eurgw.xerox.com ([IPv6:::ffff:13.16.138.21]:40634
	"EHLO apollo.eurgw.xerox.com") by linux-mips.org with ESMTP
	id <S8225341AbTLIJuH>; Tue, 9 Dec 2003 09:50:07 +0000
Received: from eurodns4.eur.xerox.com (eurodns4.eur.xerox.com [13.202.66.50])
	by apollo.eurgw.xerox.com (8.12.9-20030917/8.12.9) with ESMTP id hB99o1KB029255
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 09:50:01 GMT
Received: from eurdubmg02.eur.xerox.com (eurdubmg02.eur.xerox.com [13.202.65.254])
	by eurodns4.eur.xerox.com (8.12.9/8.12.8) with ESMTP id hB99o0nw006626
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 09:50:00 GMT
Received: from eurgbrbh02.emeacinops.xerox.com (unverified) by eurdubmg02.eur.xerox.com
 (Content Technologies SMTPRS 4.2.10) with ESMTP id <T6666cd5e0d0dca41fe97c@eurdubmg02.eur.xerox.com> for <linux-mips@linux-mips.org>;
 Tue, 9 Dec 2003 09:49:59 +0000
Received: from gbrwgcbh01.wgc.gbr.xerox.com ([13.200.2.175]) by eurgbrbh02.emeacinops.xerox.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72)
	id YQB8974A; Tue, 9 Dec 2003 09:49:58 -0000
Received: by gbrwgcbh01.wgc.gbr.xerox.com with Internet Mail Service (5.5.2657.72)
	id <V8CZ2WFD>; Tue, 9 Dec 2003 09:50:21 -0000
Message-ID: <8EAC52A94CD8D411A01000805FBB37760615AF16@gbrwgcms02.wgc.gbr.xerox.com>
From: "Hamilton, Ian" <Ian.Hamilton@gbr.xerox.com>
To: "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
Subject: GCC 3.3.2 and Alchemy AU1100
Date: Tue, 9 Dec 2003 09:50:10 -0000 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2657.72)
Content-Type: text/plain;
	charset="iso-8859-1"
Return-Path: <Ian.Hamilton@gbr.xerox.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3713
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: Ian.Hamilton@gbr.xerox.com
Precedence: bulk
X-list: linux-mips

Hi there.

I'm trying to build software for the AMD AU1100 processor using version
3.3.2 of the gnu compiler, and I'm having trouble figuring out the -march,
-mtune, etc settings.

Version 2.95 of gcc uses something like -mcpu=r4600, but this doesn't work
with 3.3.2.

I've tried other likely-looking options (e.g. -mips32), but the compiler
fails to assembler instructions like mtc0 and cache.

Has anyone built for the AU1100 using gcc 3.3.2? If so, could you tell me
the cpu options you used please?

Thanks
Ian Hamilton.


From Dirk.Behme@de.bosch.com Tue Dec  9 10:01:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 10:01:11 +0000 (GMT)
Received: from gwa11.fe.bosch.de ([IPv6:::ffff:194.39.219.249]:31640 "EHLO
	gwa11.fe.bosch.de") by linux-mips.org with ESMTP
	id <S8225341AbTLIKBL>; Tue, 9 Dec 2003 10:01:11 +0000
Received: by gwa11.fe.bosch.de (Postfix, from userid 5)
	id 6600F25B36B; Tue,  9 Dec 2003 11:00:57 +0100 (MET)
Received: from fez8121.de.bosch.com(unknown 10.4.4.20) by gwa11.fe.bosch.de via smap (V2.1)
	id xma010013; Tue, 9 Dec 03 10:59:47 +0100
Received: from 10.4.102.43 by fez8121.de.bosch.com (InterScan E-Mail VirusWall NT); Tue, 09 Dec 2003 10:59:45 +0100
Received: from hi-mail02.de.bosch.com ([10.34.16.71]) by fe-imc02.de.bosch.com with Microsoft SMTPSVC(5.0.2195.5329);
	 Tue, 9 Dec 2003 10:59:46 +0100
Received: from de.bosch.com ([10.34.211.138]) by hi-mail02.de.bosch.com with Microsoft SMTPSVC(5.0.2195.5329);
	 Tue, 9 Dec 2003 10:59:44 +0100
Message-ID: <3FD59CC1.7030907@de.bosch.com>
Date: Tue, 09 Dec 2003 10:58:25 +0100
From: Dirk Behme <dirk.behme@de.bosch.com>
Organization: Blaupunkt GmbH
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
Subject: Re: GCC 3.3.2 and Alchemy AU1100
References: <8EAC52A94CD8D411A01000805FBB37760615AF16@gbrwgcms02.wgc.gbr.xerox.com>
In-Reply-To: <8EAC52A94CD8D411A01000805FBB37760615AF16@gbrwgcms02.wgc.gbr.xerox.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 09 Dec 2003 09:59:44.0745 (UTC) FILETIME=[2C061590:01C3BE3B]
Return-Path: <Dirk.Behme@de.bosch.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3714
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dirk.behme@de.bosch.com
Precedence: bulk
X-list: linux-mips

Hamilton, Ian wrote:

> Hi there.
> 
> I'm trying to build software for the AMD AU1100 processor using version
> 3.3.2 of the gnu compiler, and I'm having trouble figuring out the -march,
> -mtune, etc settings.
> 
> Version 2.95 of gcc uses something like -mcpu=r4600, but this doesn't work
> with 3.3.2.
> 
> I've tried other likely-looking options (e.g. -mips32), but the compiler
> fails to assembler instructions like mtc0 and cache.
> 
> Has anyone built for the AU1100 using gcc 3.3.2? If so, could you tell me
> the cpu options you used please?

For a VR41xx CPU with GCC 3.3.1 I have used

-march=r4600 -mips3 -Wa,--trap

instead of the old

-mcpu=r4600 -mips2 -Wa,--trap

Not sure whether this is correct (no test of the output on a target
yet), but it compiles.




From lyle@zevion.com Tue Dec  9 10:16:20 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 10:16:23 +0000 (GMT)
Received: from rrcs-central-24-123-115-44.biz.rr.com ([IPv6:::ffff:24.123.115.44]:11904
	"EHLO zevion") by linux-mips.org with ESMTP id <S8225341AbTLIKQU>;
	Tue, 9 Dec 2003 10:16:20 +0000
Received: from radium ([192.168.0.20])
	by zevion (8.12.8/8.12.8) with ESMTP id hB9AIwx9012826;
	Tue, 9 Dec 2003 04:18:58 -0600
From: "Lyle Bainbridge" <lyle@zevion.com>
To: "'Dirk Behme'" <dirk.behme@de.bosch.com>,
	<linux-mips@linux-mips.org>
Subject: RE: GCC 3.3.2 and Alchemy AU1100
Date: Tue, 9 Dec 2003 04:16:19 -0600
Message-ID: <000001c3be3d$7d6920b0$1400a8c0@radium>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2616
In-Reply-To: <3FD59CC1.7030907@de.bosch.com>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <lyle@zevion.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3715
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: lyle@zevion.com
Precedence: bulk
X-list: linux-mips

Hi,

I am using GCC 3.3.2 to crosscompile the 2.4.22 kernel for
an Au1500 system under x86 Redhat 9.0 and I use the following
settings with success.

 -mtune=r4600 -mips2 -Wa,--trap

Cheers
Lyle


> -----Original Message-----
> From: linux-mips-bounce@linux-mips.org 
> [mailto:linux-mips-bounce@linux-mips.org] On Behalf Of Dirk Behme
> Sent: Tuesday, December 09, 2003 3:58 AM
> To: 'linux-mips@linux-mips.org'
> Subject: Re: GCC 3.3.2 and Alchemy AU1100
> 
> 
> Hamilton, Ian wrote:
> 
> > Hi there.
> > 
> > I'm trying to build software for the AMD AU1100 processor using 
> > version 3.3.2 of the gnu compiler, and I'm having trouble 
> figuring out 
> > the -march, -mtune, etc settings.
> > 
> > Version 2.95 of gcc uses something like -mcpu=r4600, but 
> this doesn't 
> > work with 3.3.2.
> > 
> > I've tried other likely-looking options (e.g. -mips32), but the 
> > compiler fails to assembler instructions like mtc0 and cache.
> > 
> > Has anyone built for the AU1100 using gcc 3.3.2? If so, 
> could you tell 
> > me the cpu options you used please?
> 
> For a VR41xx CPU with GCC 3.3.1 I have used
> 
> -march=r4600 -mips3 -Wa,--trap
> 
> instead of the old
> 
> -mcpu=r4600 -mips2 -Wa,--trap
> 
> Not sure whether this is correct (no test of the output on a 
> target yet), but it compiles.
> 
> 
> 


From jcope@mpc-data.co.uk Tue Dec  9 13:36:46 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 13:36:47 +0000 (GMT)
Received: from mail.mpc-ogw.co.uk ([IPv6:::ffff:81.2.99.170]:44872 "EHLO
	burton.mpc-data.co.uk") by linux-mips.org with ESMTP
	id <S8225323AbTLINgq>; Tue, 9 Dec 2003 13:36:46 +0000
Received: from lion.mpc-data.co.uk (IDENT:root@lion.mpc-data.co.uk [192.150.92.1])
	by burton.mpc-data.co.uk (8.12.8/8.12.7) with ESMTP id hB9DaLpc027020
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 13:36:23 GMT
Received: from [192.150.92.72] (duvel.mpc-data.co.uk [192.150.92.72])
	by lion.mpc-data.co.uk (8.9.3/8.8.5) with ESMTP id NAA06500
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 13:36:23 GMT
Mime-Version: 1.0 (Apple Message framework v606)
Content-Transfer-Encoding: 7bit
Message-Id: <E3E525EC-2A4C-11D8-AC44-000A959E1510@mpc-data.co.uk>
Content-Type: text/plain; charset=US-ASCII; format=flowed
To: linux-mips@linux-mips.org
From: James Cope <jcope@mpc-data.co.uk>
Subject: PCMCIA on AMD Alchemy Au1100 boards
Date: Tue, 9 Dec 2003 13:37:53 +0000
X-Mailer: Apple Mail (2.606)
Return-Path: <jcope@mpc-data.co.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3716
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jcope@mpc-data.co.uk
Precedence: bulk
X-list: linux-mips

Hello,

I was wondering if anyone here can help. I am trying to get PCMCIA 
support working on a board that is very much like the AMD DB1100. Can 
anyone confirm if PCMCIA works on the DB1100? I do not have access to 
one at the moment.

I am using the linux_2_4 tagged kernel from CVS with the
pcmcia-cs-3.1.22 card services package. I have applied the 64bit_pcmcia 
patch to both the kernel and card services code and I have part of the 
PCMCIA system running. I can use the `cardctl' utility to detect the 
presence of PCMCIA cards successfully, however the `cardmgr' daemon 
fails to bind to a socket.

I have a SanDisk Compact Flash card that I'm trying to access. cardmgr 
correctly detects this as an ATA/IDE Fixed Disk and calls `modprobe 
ide_cs.o' which is loading okay. cardmgr then reports the error ``get 
dev info on socket 0 failed: Transport endpoint is not connected'' 
(ENOTCONN).

I can supply more detailed logging and status information if needed, 
but for now I'm wondering if this path has been trodden before? I have 
searched through the linux-mips mail archive, but I have only been able 
to confirm the state of Au1500 PCMCIA support.

Regards,

James Cope


From phorton@bitbox.co.uk Tue Dec  9 16:54:33 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 16:54:34 +0000 (GMT)
Received: from no-dns-yet.demon.co.uk ([IPv6:::ffff:80.176.203.50]:12036 "EHLO
	pangolin.localnet") by linux-mips.org with ESMTP
	id <S8225388AbTLIQyd>; Tue, 9 Dec 2003 16:54:33 +0000
Received: from spiral.localnet ([192.168.1.11] helo=bitbox.co.uk)
	by pangolin.localnet with esmtp (Exim 3.35 #1 (Debian))
	id 1ATl7z-0004hd-00
	for <linux-mips@linux-mips.org>; Tue, 09 Dec 2003 16:54:27 +0000
Message-ID: <3FD5FE41.8040909@bitbox.co.uk>
Date: Tue, 09 Dec 2003 16:54:25 +0000
From: Peter Horton <phorton@bitbox.co.uk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Kernel 2.4.23 on Cobalt Qube2
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <phorton@bitbox.co.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3717
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: phorton@bitbox.co.uk
Precedence: bulk
X-list: linux-mips

Hi.

Has anyone got a 2.4.23 kernel running on the Cobalt Qube 2 ?

I've cross compiled the latest kernel from CVS (using the default Cobalt 
config in the tree) on a PC using gcc 2.95.4 and binutils 2.12.90.0.1 
(both from Debian sources).

The kernel boots okay from the HD, but I get strange segmentation faults 
and other errors whilst running Debian's "dpkg" to install packages. If 
I repeat the installation from scratch I get exactly the same errors in 
exactly the same places :-(

I've changed both the memory SIMMs for new ones and the problem is still 
the same. I've done the same Debian install on an Au1100 board with no 
problems at all.

Neither of the on-board ethernet ports work correctly with new kernel 
either. The primary port seems to work fine pinging single packets back 
and forth, but seems to stall for periods of approx 20 seconds when 
performing bulk transfers. I've been using an RTL8139 card in the PCI 
slot for network access.

TIA,

    P.



From kumba@gentoo.org Tue Dec  9 17:17:28 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 17:17:29 +0000 (GMT)
Received: from rwcrmhc13.comcast.net ([IPv6:::ffff:204.127.198.39]:45238 "EHLO
	rwcrmhc13.comcast.net") by linux-mips.org with ESMTP
	id <S8225384AbTLIRR2>; Tue, 9 Dec 2003 17:17:28 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc13) with SMTP
          id <2003120917172001500bt5tne>
          (Authid: kumba12345);
          Tue, 9 Dec 2003 17:17:21 +0000
Message-ID: <3FD603B5.9050006@gentoo.org>
Date: Tue, 09 Dec 2003 12:17:41 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <3FD5FE41.8040909@bitbox.co.uk>
In-Reply-To: <3FD5FE41.8040909@bitbox.co.uk>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3718
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Peter Horton wrote:

> Hi.
> 
> Has anyone got a 2.4.23 kernel running on the Cobalt Qube 2 ?
> 
> I've cross compiled the latest kernel from CVS (using the default Cobalt 
> config in the tree) on a PC using gcc 2.95.4 and binutils 2.12.90.0.1 
> (both from Debian sources).
> 
> The kernel boots okay from the HD, but I get strange segmentation faults 
> and other errors whilst running Debian's "dpkg" to install packages. If 
> I repeat the installation from scratch I get exactly the same errors in 
> exactly the same places :-(
> 
> I've changed both the memory SIMMs for new ones and the problem is still 
> the same. I've done the same Debian install on an Au1100 board with no 
> problems at all.
> 
> Neither of the on-board ethernet ports work correctly with new kernel 
> either. The primary port seems to work fine pinging single packets back 
> and forth, but seems to stall for periods of approx 20 seconds when 
> performing bulk transfers. I've been using an RTL8139 card in the PCI 
> slot for network access.
> 
> TIA,
> 
>    P.

	I've got a RaQ2 with which I tinker with every so often.  I recently 
tried one of the 2.4.23 rc* kernels, and gave up after the network 
issues stung me.  It's surprising you get ~20sec stalls with the onboard 
tulip driver.  On my RaQ2, I get a virtual freeze, with very small 
amounts of data slowly leaking in at about I dunno, 5 bits per sec. 
What triggers it, I'm not sure of.

	My current theory is the problem is either in the tulip driver, or the 
network system that only surfaces with cobalt machines.  But beyond 
that, I haven't managed to further isolate the problem.  Other than that 
annoying network issue, the kernel seems to run fine for me, aside from 
having to strip virtually everything out to make the kernel's size just 
right.


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From ralf@linux-mips.org Tue Dec  9 17:39:38 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 17:39:39 +0000 (GMT)
Received: from p508B4FE9.dip.t-dialin.net ([IPv6:::ffff:80.139.79.233]:3464
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225384AbTLIRji>; Tue, 9 Dec 2003 17:39:38 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hB9HdaoK005382;
	Tue, 9 Dec 2003 18:39:36 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hB9HdZk0005381;
	Tue, 9 Dec 2003 18:39:35 +0100
Date: Tue, 9 Dec 2003 18:39:35 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Peter Horton <phorton@bitbox.co.uk>
Cc: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
Message-ID: <20031209173935.GA3229@linux-mips.org>
References: <3FD5FE41.8040909@bitbox.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3FD5FE41.8040909@bitbox.co.uk>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3719
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Tue, Dec 09, 2003 at 04:54:25PM +0000, Peter Horton wrote:

> Has anyone got a 2.4.23 kernel running on the Cobalt Qube 2 ?
> 
> I've cross compiled the latest kernel from CVS (using the default Cobalt 
> config in the tree) on a PC using gcc 2.95.4 and binutils 2.12.90.0.1 
> (both from Debian sources).
> 
> The kernel boots okay from the HD, but I get strange segmentation faults 
> and other errors whilst running Debian's "dpkg" to install packages. If 
> I repeat the installation from scratch I get exactly the same errors in 
> exactly the same places :-(
> 
> I've changed both the memory SIMMs for new ones and the problem is still 
> the same. I've done the same Debian install on an Au1100 board with no 
> problems at all.
> 
> Neither of the on-board ethernet ports work correctly with new kernel 
> either. The primary port seems to work fine pinging single packets back 
> and forth, but seems to stall for periods of approx 20 seconds when 
> performing bulk transfers. I've been using an RTL8139 card in the PCI 
> slot for network access.

I've mentioned it before - the Cobalt kernel is suffering a bit from
bitrot as nobody is taking care of it anymore since a while.  It's a
while since I did consulting work for Cobalt and I don't have production
Cobalt hardware but I think I still have a reasonable understanding of
the machine so I think I can help whoever dares trying - any takers?

  Ralf

From agx@sigxcpu.org Tue Dec  9 18:18:07 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 18:18:08 +0000 (GMT)
Received: from honk1.physik.uni-konstanz.de ([IPv6:::ffff:134.34.140.224]:47514
	"EHLO honk1.physik.uni-konstanz.de") by linux-mips.org with ESMTP
	id <S8225384AbTLISSH>; Tue, 9 Dec 2003 18:18:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id 045362BC39
	for <linux-mips@linux-mips.org>; Tue,  9 Dec 2003 19:18:06 +0100 (CET)
Received: from honk1.physik.uni-konstanz.de ([127.0.0.1])
 by localhost (honk [127.0.0.1:10024]) (amavisd-new) with ESMTP id 20046-06
 for <linux-mips@linux-mips.org>; Tue,  9 Dec 2003 19:17:44 +0100 (CET)
Received: from bogon.sigxcpu.org (bogon.physik.uni-konstanz.de [134.34.147.122])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id B39102BC3C
	for <linux-mips@linux-mips.org>; Tue,  9 Dec 2003 19:17:29 +0100 (CET)
Received: by bogon.sigxcpu.org (Postfix, from userid 1000)
	id 39F5845EB; Tue,  9 Dec 2003 19:17:19 +0100 (CET)
Date: Tue, 9 Dec 2003 19:17:19 +0100
From: Guido Guenther <agx@sigxcpu.org>
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
Message-ID: <20031209181719.GC13411@bogon.ms20.nix>
Mail-Followup-To: Guido Guenther <agx@sigxcpu.org>,
	linux-mips@linux-mips.org
References: <3FD5FE41.8040909@bitbox.co.uk>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="GZVR6ND4mMseVXL/"
Content-Disposition: inline
In-Reply-To: <3FD5FE41.8040909@bitbox.co.uk>
User-Agent: Mutt/1.5.4i
X-Virus-Scanned: by amavisd-new-20021227-p2 (Debian)
Return-Path: <agx@sigxcpu.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3720
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: agx@sigxcpu.org
Precedence: bulk
X-list: linux-mips


--GZVR6ND4mMseVXL/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Peter,
On Tue, Dec 09, 2003 at 04:54:25PM +0000, Peter Horton wrote:
> The kernel boots okay from the HD, but I get strange segmentation faults=
=20
> and other errors whilst running Debian's "dpkg" to install packages. If=
=20
> I repeat the installation from scratch I get exactly the same errors in=
=20
> exactly the same places :-(
This has been reported several times. AFAIK 2.4.17 worked for several
people, but people who actually own the hardware will now better. It
would be a _huge_ help if somebody could track down the date in
linux-mips.org CVS where things broke exactly.
Cheers,
 -- Guido

--GZVR6ND4mMseVXL/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/1hGvn88szT8+ZCYRAkjcAJ0QPE89Pylu/VjRpk0cydPtuGreHACfQtAs
f8PTURDHE/rn+gpG0ln/6e4=
=INm3
-----END PGP SIGNATURE-----

--GZVR6ND4mMseVXL/--

From phorton@bitbox.co.uk Tue Dec  9 19:13:27 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 19:13:28 +0000 (GMT)
Received: from no-dns-yet.demon.co.uk ([IPv6:::ffff:80.176.203.50]:36100 "EHLO
	pangolin.localnet") by linux-mips.org with ESMTP
	id <S8225358AbTLITN1>; Tue, 9 Dec 2003 19:13:27 +0000
Received: from flavia.localnet ([192.168.1.11] helo=bitbox.co.uk)
	by pangolin.localnet with esmtp (Exim 3.35 #1 (Debian))
	id 1ATnIQ-0004oJ-00
	for <linux-mips@linux-mips.org>; Tue, 09 Dec 2003 19:13:22 +0000
Message-ID: <3FD61ED1.2040506@bitbox.co.uk>
Date: Tue, 09 Dec 2003 19:13:21 +0000
From: Peter Horton <phorton@bitbox.co.uk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <3FD5FE41.8040909@bitbox.co.uk> <20031209181719.GC13411@bogon.ms20.nix>
In-Reply-To: <20031209181719.GC13411@bogon.ms20.nix>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <phorton@bitbox.co.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3721
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: phorton@bitbox.co.uk
Precedence: bulk
X-list: linux-mips

Guido Guenther wrote:

>Hi Peter,
>On Tue, Dec 09, 2003 at 04:54:25PM +0000, Peter Horton wrote:
>  
>
>>The kernel boots okay from the HD, but I get strange segmentation faults 
>>and other errors whilst running Debian's "dpkg" to install packages. If 
>>I repeat the installation from scratch I get exactly the same errors in 
>>exactly the same places :-(
>>    
>>
>This has been reported several times. AFAIK 2.4.17 worked for several
>people, but people who actually own the hardware will now better. It
>would be a _huge_ help if somebody could track down the date in
>linux-mips.org CVS where things broke exactly.
>Cheers,
> -- Guido
>  
>

Thanks. I'll start at 2.4.17 and work my way forwards ...

P.

From oli@flinx.sub.org Tue Dec  9 20:36:43 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 20:36:44 +0000 (GMT)
Received: from p508CA7CB.dip.t-dialin.net ([IPv6:::ffff:80.140.167.203]:12541
	"EHLO flinx.sub.org") by linux-mips.org with ESMTP
	id <S8225323AbTLIUgn>; Tue, 9 Dec 2003 20:36:43 +0000
Received: from flinx.sub.org (oli@localhost [127.0.0.1])
	by flinx.sub.org (8.12.3/8.12.3/Debian-6.6) with ESMTP id hB9KQp7h027134
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 21:26:52 +0100
Received: (from oli@localhost)
	by flinx.sub.org (8.12.3/8.12.3/Debian-6.6) id hB9KQoD4027132
	for linux-mips@linux-mips.org; Tue, 9 Dec 2003 21:26:50 +0100
From: Oliver Schwank <oli@flinx.sub.org>
Date: Tue, 9 Dec 2003 21:26:50 +0100
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
Message-ID: <20031209202650.GA27049@flinx.sub.org>
References: <3FD5FE41.8040909@bitbox.co.uk> <20031209181719.GC13411@bogon.ms20.nix>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031209181719.GC13411@bogon.ms20.nix>
User-Agent: Mutt/1.5.4i
Return-Path: <oli@flinx.sub.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3722
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: oli@flinx.sub.org
Precedence: bulk
X-list: linux-mips

Hello,

> would be a _huge_ help if somebody could track down the date in
> linux-mips.org CVS where things broke exactly.

Karsten told me that things broke after 2.4.20 pre6 

Bye 

-- 
Oli 

From brad@parker.boston.ma.us Tue Dec  9 20:58:09 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 20:58:10 +0000 (GMT)
Received: from h0000c06cf87e.ne.client2.attbi.com ([IPv6:::ffff:24.34.109.122]:43787
	"EHLO compaq.parker.boston.ma.us") by linux-mips.org with ESMTP
	id <S8225393AbTLIU6J>; Tue, 9 Dec 2003 20:58:09 +0000
Received: from p2.parker.boston.ma.us (p2 [192.245.5.16])
	by compaq.parker.boston.ma.us (8.11.6/8.11.6) with ESMTP id hB9Kw6G25309
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 15:58:07 -0500
Received: from p2 (brad@localhost)
	by p2.parker.boston.ma.us (8.11.6/8.11.6) with ESMTP id hB9Kw6t31608
	for <linux-mips@linux-mips.org>; Tue, 9 Dec 2003 15:58:06 -0500
Message-Id: <200312092058.hB9Kw6t31608@p2.parker.boston.ma.us>
To: linux-mips@linux-mips.org
Subject: to_tm() in kernel/time.c?
X-Mailer: MH-E 7.2; nmh 1.0.4; GNU Emacs 20.7.1
Date: Tue, 09 Dec 2003 15:58:06 -0500
From: Brad Parker <brad@parker.boston.ma.us>
Return-Path: <brad@parker.boston.ma.us>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3723
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: brad@parker.boston.ma.us
Precedence: bulk
X-list: linux-mips


Can anyone tell me if to_tm() in kernel/time.c returns months as 0-11?
(in the current mips tree, that is)

I'm curious if the to_tm() in the ppc tree is the same as the to_tm()
in the mips tree.  In the ppc tree it returns 1-12.

-brad



From rainer@canavan.de Tue Dec  9 21:55:36 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 21:55:37 +0000 (GMT)
Received: from dialin-145-254-134-254.arcor-ip.net ([IPv6:::ffff:145.254.134.254]:62981
	"HELO as5200-1-c13.rrz.Uni-Koeln.DE") by linux-mips.org with SMTP
	id <S8225358AbTLIVzg>; Tue, 9 Dec 2003 21:55:36 +0000
Received: (qmail 3266 invoked from network); 9 Dec 2003 22:03:51 -0000
Received: from localhost (HELO Morannon.nonet) (127.0.0.1)
  by localhost with SMTP; 9 Dec 2003 22:03:51 -0000
Date: Tue, 9 Dec 2003 23:03:51 +0100 (CET)
From: Rainer Canavan <rainer@canavan.de>
Reply-To: Rainer Canavan <rainer@canavan.de>
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
To: linux-mips@linux-mips.org
In-Reply-To: <3FD5FE41.8040909@bitbox.co.uk>
Message-ID: <ML-3.4.1071007431.886.canavan@morannon.nonet>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Return-Path: <rainer@canavan.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3724
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: rainer@canavan.de
Precedence: bulk
X-list: linux-mips

> Has anyone got a 2.4.23 kernel running on the Cobalt Qube 2 ?

Not on a Qube2, but on a nasraq, which is essentially the same, just
without the second ethernet port and the pci slot but a scsi port instead.
Last kernel I tried on my Qube2 seems to be 2.4.22-rc2.

Works fine, as far as I can tell.
 
> I've cross compiled the latest kernel from CVS (using the default Cobalt 
> config in the tree) on a PC using gcc 2.95.4 and binutils 2.12.90.0.1 
> (both from Debian sources).
 
For me, it's 2.95.4-15 and 2.12.90.0.9-1, and I'm compiling my kernels
natively.

> The kernel boots okay from the HD, but I get strange segmentation faults 
> and other errors whilst running Debian's "dpkg" to install packages. If 
> I repeat the installation from scratch I get exactly the same errors in 
> exactly the same places :-(

I just tried updating, removing and installing a package without 
any problems.
 
> I've changed both the memory SIMMs for new ones and the problem is still 
> the same. I've done the same Debian install on an Au1100 board with no 
> problems at all.
> 
> Neither of the on-board ethernet ports work correctly with new kernel 
> either. The primary port seems to work fine pinging single packets back 
> and forth, but seems to stall for periods of approx 20 seconds when 
> performing bulk transfers. I've been using an RTL8139 card in the PCI 
> slot for network access.

I haven't tried my Qube2 yet, since that one's already wrapped up and
ready for Karsten Merker to pick up - he's going to send it to the 
Tulip Expert, so those problems may go away soon, hopefully. As to 
kernel versions starting about 2.4.17, I've never had the tulip driver
running reliably on my Qube2, but always got at least 2.4.18 and later 
working properly on my nasRaq (there was some patching involved at times, 
if I recall correctly).

Rainer


From kumba@gentoo.org Tue Dec  9 21:57:06 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 21:57:07 +0000 (GMT)
Received: from rwcrmhc11.comcast.net ([IPv6:::ffff:204.127.198.35]:64468 "EHLO
	rwcrmhc11.comcast.net") by linux-mips.org with ESMTP
	id <S8225358AbTLIV5G>; Tue, 9 Dec 2003 21:57:06 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc11) with SMTP
          id <2003120921565301300mqvf4e>
          (Authid: kumba12345);
          Tue, 9 Dec 2003 21:56:54 +0000
Message-ID: <3FD6453A.8090807@gentoo.org>
Date: Tue, 09 Dec 2003 16:57:14 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <3FD5FE41.8040909@bitbox.co.uk> <20031209181719.GC13411@bogon.ms20.nix> <20031209202650.GA27049@flinx.sub.org>
In-Reply-To: <20031209202650.GA27049@flinx.sub.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3725
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Oliver Schwank wrote:

> Karsten told me that things broke after 2.4.20 pre6 

Would this be the debian dpkg breakage, or the network issues I've reported?


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From jsun@mvista.com Tue Dec  9 22:19:49 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 22:19:50 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:36595 "EHLO
	orion.mvista.com") by linux-mips.org with ESMTP id <S8225388AbTLIWTt>;
	Tue, 9 Dec 2003 22:19:49 +0000
Received: (from jsun@localhost)
	by orion.mvista.com (8.11.6/8.11.6) id hB9MJek07169;
	Tue, 9 Dec 2003 14:19:40 -0800
Date: Tue, 9 Dec 2003 14:19:40 -0800
From: Jun Sun <jsun@mvista.com>
To: Brad Parker <brad@parker.boston.ma.us>
Cc: linux-mips@linux-mips.org, jsun@mvista.com
Subject: Re: to_tm() in kernel/time.c?
Message-ID: <20031209141940.A7038@mvista.com>
References: <200312092058.hB9Kw6t31608@p2.parker.boston.ma.us>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <200312092058.hB9Kw6t31608@p2.parker.boston.ma.us>; from brad@parker.boston.ma.us on Tue, Dec 09, 2003 at 03:58:06PM -0500
Return-Path: <jsun@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3726
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jsun@mvista.com
Precedence: bulk
X-list: linux-mips

On Tue, Dec 09, 2003 at 03:58:06PM -0500, Brad Parker wrote:
> 
> Can anyone tell me if to_tm() in kernel/time.c returns months as 0-11?
> (in the current mips tree, that is)
> 

It is 0-11.  See the code

        tm->tm_mon = i - 1;             /* tm_mon starts from 0 to 11 */

> I'm curious if the to_tm() in the ppc tree is the same as the to_tm()
> in the mips tree.  In the ppc tree it returns 1-12.
>

The routine was copied from PPC.  I think tm_mon is set to 0-11 so as to match
struct rtc_time usage when it is exported to userland.

I will check with PPC folks to see why they changed it.

Jun

From kumba@gentoo.org Tue Dec  9 22:29:39 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 22:29:40 +0000 (GMT)
Received: from rwcrmhc13.comcast.net ([IPv6:::ffff:204.127.198.39]:34226 "EHLO
	rwcrmhc13.comcast.net") by linux-mips.org with ESMTP
	id <S8225388AbTLIW3j>; Tue, 9 Dec 2003 22:29:39 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc13) with SMTP
          id <2003120922293201500boimge>
          (Authid: kumba12345);
          Tue, 9 Dec 2003 22:29:32 +0000
Message-ID: <3FD64CE1.8030907@gentoo.org>
Date: Tue, 09 Dec 2003 17:29:53 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <ML-3.4.1071007431.886.canavan@morannon.nonet>
In-Reply-To: <ML-3.4.1071007431.886.canavan@morannon.nonet>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3727
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Rainer Canavan wrote:

> I haven't tried my Qube2 yet, since that one's already wrapped up and
> ready for Karsten Merker to pick up - he's going to send it to the 
> Tulip Expert, so those problems may go away soon, hopefully. As to 
> kernel versions starting about 2.4.17, I've never had the tulip driver
> running reliably on my Qube2, but always got at least 2.4.18 and later 
> working properly on my nasRaq (there was some patching involved at times, 
> if I recall correctly).

Are these patches lying around someplace by chance?  I've used the 
patches on Paul Martin's site (which enables detection of the cobalt's 
"modified" tulip), as well as a patch from Karsten which fixed serial 
console and also enabled the tulip driver.  Both of those patches don't 
seem to fix the tulip's issue of halting though, so either I have broken 
hardware, or I've done something unique in my setup that triggers the issue.

I'd like to get ahold of any patches that I haven't tried yet in an 
attempt to either nail the problem or isolate the cause.

btw, anyone ever gotten tulip-diag to compile on mips?


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From shemminger@osdl.org Tue Dec  9 23:55:37 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 09 Dec 2003 23:55:38 +0000 (GMT)
Received: from fw.osdl.org ([IPv6:::ffff:65.172.181.6]:918 "EHLO mail.osdl.org")
	by linux-mips.org with ESMTP id <S8225385AbTLIXzh>;
	Tue, 9 Dec 2003 23:55:37 +0000
Received: from dell_ss3.pdx.osdl.net (dell_ss3.pdx.osdl.net [172.20.1.60])
	by mail.osdl.org (8.11.6/8.11.6) with SMTP id hB9NseZ07044;
	Tue, 9 Dec 2003 15:54:40 -0800
Date: Tue, 9 Dec 2003 15:54:40 -0800
From: Stephen Hemminger <shemminger@osdl.org>
To: Jean Tourrilhes <jt@bougret.hpl.hp.com>,
	Jeff Garzik <jgarzik@pobox.com>, Ralf Baechle <ralf@gnu.org>
Cc: linux-mips@linux-mips.org, irda-users@sourceforge.net
Subject: [PATCH] au1k_ir - fix for 2.6
Message-Id: <20031209155440.2615b9cc.shemminger@osdl.org>
Organization: Open Source Development Lab
X-Mailer: Sylpheed version 0.9.7claws (GTK+ 1.2.10; i686-pc-linux-gnu)
X-Face: &@E+xe?c%:&e4D{>f1O<&U>2qwRREG5!}7R4;D<"NO^UI2mJ[eEOA2*3>(`Th.yP,VDPo9$
 /`~cw![cmj~~jWe?AHY7D1S+\}5brN0k*NE?pPh_'_d>6;XGG[\KDRViCfumZT3@[
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <shemminger@osdl.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3728
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: shemminger@osdl.org
Precedence: bulk
X-list: linux-mips

This fixes some of the issues with the Alchemy irda driver for MIPS on
2.6.0-test11.  Tested with cross compile.  This driver is probably obsolete
but it is one of the two remaining users of dev_alloc

Changes:
	* irqreturn_t for irq routine
	* alloc_irdadev instead of dev_alloc
	* should work as non module

Some mips build notes:
	* no way to enable the device at present since drivers/net/irda/Kconfig
	  expects MIPS_A1000 and arch/mips/Kconfig defines SOC_AU1000!
	* include/asm-mips/timex.h does not define CLOCK_TICK_RATE for this
	  that type.  Code should probably be:

#ifdef CONFIG_SGI_IP22
#define CLOCK_TICK_RATE		1000000
#else
#define CLOCK_TICK_RATE		1193182
#endif

diff -Nru a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
--- a/drivers/net/irda/au1k_ir.c	Mon Dec  8 13:44:44 2003
+++ b/drivers/net/irda/au1k_ir.c	Mon Dec  8 13:44:44 2003
@@ -54,18 +54,17 @@
 #include <net/irda/irda_device.h>
 #include "net/irda/au1000_ircc.h"
 
-static int au1k_irda_net_init(struct net_device *);
 static int au1k_irda_start(struct net_device *);
 static int au1k_irda_stop(struct net_device *dev);
 static int au1k_irda_hard_xmit(struct sk_buff *, struct net_device *);
 static int au1k_irda_rx(struct net_device *);
-static void au1k_irda_interrupt(int, void *, struct pt_regs *);
+static irqreturn_t au1k_irda_interrupt(int, void *, struct pt_regs *);
 static void au1k_tx_timeout(struct net_device *);
 static struct net_device_stats *au1k_irda_stats(struct net_device *);
 static int au1k_irda_ioctl(struct net_device *, struct ifreq *, int);
 static int au1k_irda_set_speed(struct net_device *dev, int speed);
 
-static void *dma_alloc(size_t, dma_addr_t *);
+static void *dma_alloc(size_t);
 static void dma_free(void *, size_t);
 
 static int qos_mtt_bits = 0x07;  /* 1 ms or more */
@@ -81,7 +80,7 @@
  * IrDA peripheral bug. You have to read the register
  * twice to get the right value.
  */
-u32 read_ir_reg(u32 addr) 
+static u32 read_ir_reg(u32 addr) 
 { 
 	readl(addr);
 	return readl(addr);
@@ -93,32 +92,23 @@
  * has the virtual and dma address of a buffer suitable for 
  * both, receive and transmit operations.
  */
-static db_dest_t *GetFreeDB(struct au1k_private *aup)
+static inline db_dest_t *GetFreeDB(struct au1k_private *aup)
 {
 	db_dest_t *pDB;
 	pDB = aup->pDBfree;
 
-	if (pDB) {
+	if (pDB) 
 		aup->pDBfree = pDB->pnext;
-	}
-	return pDB;
-}
 
-static void ReleaseDB(struct au1k_private *aup, db_dest_t *pDB)
-{
-	db_dest_t *pDBfree = aup->pDBfree;
-	if (pDBfree)
-		pDBfree->pnext = pDB;
-	aup->pDBfree = pDB;
+	return pDB;
 }
 
-
 /*
   DMA memory allocation, derived from pci_alloc_consistent.
   However, the Au1000 data cache is coherent (when programmed
   so), therefore we return KSEG0 address, not KSEG1.
 */
-static void *dma_alloc(size_t size, dma_addr_t * dma_handle)
+static void *dma_alloc(size_t size)
 {
 	void *ret;
 	int gfp = GFP_ATOMIC | GFP_DMA;
@@ -127,8 +117,7 @@
 
 	if (ret != NULL) {
 		memset(ret, 0, size);
-		*dma_handle = virt_to_bus(ret);
-		ret = KSEG0ADDR(ret);
+		ret = (void *) KSEG0ADDR(ret);
 	}
 	return ret;
 }
@@ -136,7 +125,7 @@
 
 static void dma_free(void *vaddr, size_t size)
 {
-	vaddr = KSEG0ADDR(vaddr);
+	vaddr = (void *) KSEG0ADDR(vaddr);
 	free_pages((unsigned long) vaddr, get_order(size));
 }
 
@@ -155,48 +144,7 @@
 	}
 }
 
-
-/* 
- * Device has already been stopped at this point.
- */
-static void au1k_irda_net_uninit(struct net_device *dev)
-{
-	dev->hard_start_xmit = NULL;
-	dev->open            = NULL;
-	dev->stop            = NULL;
-	dev->do_ioctl        = NULL;
-	dev->get_stats       = NULL;
-	dev->priv            = NULL;
-}
-
-
-static int au1k_irda_init(void)
-{
-	static unsigned version_printed = 0;
-	struct net_device *dev;
-	int err;
-
-	if (version_printed++ == 0) printk(version);
-
-	rtnl_lock();
-	dev = dev_alloc("irda%d", &err);
-	if (dev) {
-		dev->irq = AU1000_IRDA_RX_INT; /* TX has its own interrupt */
-		dev->init = au1k_irda_net_init;
-		dev->uninit = au1k_irda_net_uninit;
-		err = register_netdevice(dev);
-
-		if (err)
-			kfree(dev);
-		else
-			ir_devs[0] = dev;
-		printk(KERN_INFO "IrDA: Registered device %s\n", dev->name);
-	}
-	rtnl_unlock();
-	return err;
-}
-
-static int au1k_irda_init_iobuf(iobuff_t *io, int size)
+static __init int au1k_irda_init_iobuf(iobuff_t *io, int size)
 {
 	io->head = kmalloc(size, GFP_KERNEL);
 	if (io->head != NULL) {
@@ -208,25 +156,26 @@
 	return io->head ? 0 : -ENOMEM;
 }
 
-static int au1k_irda_net_init(struct net_device *dev)
+static __init int au1k_irda_init(void)
 {
-	struct au1k_private *aup = NULL;
-	int i, retval = 0, err;
+	static unsigned version_printed = 0;
+	struct net_device *dev;
+	struct au1k_private *aup;
 	db_dest_t *pDB, *pDBfree;
-	unsigned long temp;
+	int i, err;
 
-	dev->priv = kmalloc(sizeof(struct au1k_private), GFP_KERNEL);
-	if (dev->priv == NULL) {
-		retval = -ENOMEM;
-		goto out;
-	}
-	memset(dev->priv, 0, sizeof(struct au1k_private));
-	aup = dev->priv;
+	if (version_printed++ == 0) printk(version);
 
+	dev = alloc_irdadev(sizeof(struct au1k_private));
+	if (!dev) 
+		return -ENOMEM;
+
+	aup = dev->priv;
 	err = au1k_irda_init_iobuf(&aup->rx_buff, 14384);
 	if (err)
-		goto out;
+		goto out1;
 
+	dev->irq = AU1000_IRDA_RX_INT; /* TX has its own interrupt */
 	dev->open = au1k_irda_start;
 	dev->hard_start_xmit = au1k_irda_hard_xmit;
 	dev->stop = au1k_irda_stop;
@@ -244,19 +193,19 @@
 	aup->qos.min_turn_time.bits = qos_mtt_bits;
 	irda_qos_bits_to_value(&aup->qos);
 
-
+	err = -ENOMEM;
 	/* Tx ring follows rx ring + 512 bytes */
 	/* we need a 1k aligned buffer */
 	aup->rx_ring[0] = (ring_dest_t *)
-		dma_alloc(2*MAX_NUM_IR_DESC*(sizeof(ring_dest_t)), &temp);
+		dma_alloc(2*MAX_NUM_IR_DESC*(sizeof(ring_dest_t)));
+
+	if (!aup->rx_ring[0])
+		goto out2;
 
 	/* allocate the data buffers */
-	aup->db[0].vaddr = 
-		(void *)dma_alloc(MAX_BUF_SIZE * 2*NUM_IR_DESC, &temp);
-	if (!aup->db[0].vaddr || !aup->rx_ring[0]) {
-		retval = -ENOMEM;
-		goto out;
-	}
+	aup->db[0].vaddr = dma_alloc(MAX_BUF_SIZE * 2*NUM_IR_DESC);
+	if (!aup->db[0].vaddr) 
+		goto out3;
 
 	setup_hw_rings(aup, (u32)aup->rx_ring[0], (u32)aup->rx_ring[0] + 512);
 
@@ -275,16 +224,17 @@
 	/* attach a data buffer to each descriptor */
 	for (i=0; i<NUM_IR_DESC; i++) {
 		pDB = GetFreeDB(aup);
-		if (!pDB) goto out;
+		if (!pDB) goto out4;
 		aup->rx_ring[i]->addr_0 = (u8)(pDB->dma_addr & 0xff);
 		aup->rx_ring[i]->addr_1 = (u8)((pDB->dma_addr>>8) & 0xff);
 		aup->rx_ring[i]->addr_2 = (u8)((pDB->dma_addr>>16) & 0xff);
 		aup->rx_ring[i]->addr_3 = (u8)((pDB->dma_addr>>24) & 0xff);
 		aup->rx_db_inuse[i] = pDB;
 	}
+
 	for (i=0; i<NUM_IR_DESC; i++) {
 		pDB = GetFreeDB(aup);
-		if (!pDB) goto out;
+		if (!pDB) goto out4;
 		aup->tx_ring[i]->addr_0 = (u8)(pDB->dma_addr & 0xff);
 		aup->tx_ring[i]->addr_1 = (u8)((pDB->dma_addr>>8) & 0xff);
 		aup->tx_ring[i]->addr_2 = (u8)((pDB->dma_addr>>16) & 0xff);
@@ -294,24 +244,28 @@
 		aup->tx_ring[i]->flags = 0;
 		aup->tx_db_inuse[i] = pDB;
 	}
-	return 0;
 
-out:
-	if (aup->db[0].vaddr) 
-		dma_free((void *)aup->db[0].vaddr, 
-				MAX_BUF_SIZE * 2*NUM_IR_DESC);
-	if (aup->rx_ring[0])
-		kfree((void *)aup->rx_ring[0]);
-	if (aup->rx_buff.head)
-		kfree(aup->rx_buff.head);
-	if (dev->priv != NULL)
-		kfree(dev->priv);
-	unregister_netdevice(dev);
-	printk(KERN_ERR "%s: au1k_init_module failed.  Returns %d\n",
-	       dev->name, retval);
-	return retval;
-}
+	err = register_netdev(dev);
+	if (err)
+		goto out4;
+	else {
+		ir_devs[0] = dev;
+		printk(KERN_INFO "IrDA: Registered device %s\n", dev->name);
+	}
+	return err;
 
+ out4:
+	dma_free((void *)aup->db[0].vaddr, 
+		 MAX_BUF_SIZE * 2*NUM_IR_DESC);
+ out3:
+	dma_free((void *)aup->rx_ring[0],
+		 2*MAX_NUM_IR_DESC*(sizeof(ring_dest_t)));
+ out2:
+	kfree(aup->rx_buff.head);
+ out1:
+	free_netdev(dev);
+	return err;
+}
 
 static int au1k_init(struct net_device *dev)
 {
@@ -361,11 +315,8 @@
 	char hwname[32];
 	struct au1k_private *aup = (struct au1k_private *) dev->priv;
 
-	MOD_INC_USE_COUNT;
-
 	if ((retval = au1k_init(dev))) {
 		printk(KERN_ERR "%s: error in au1k_init\n", dev->name);
-		MOD_DEC_USE_COUNT;
 		return retval;
 	}
 
@@ -373,7 +324,6 @@
 					0, dev->name, dev))) {
 		printk(KERN_ERR "%s: unable to get IRQ %d\n", 
 				dev->name, dev->irq);
-		MOD_DEC_USE_COUNT;
 		return retval;
 	}
 	if ((retval = request_irq(AU1000_IRDA_RX_INT, &au1k_irda_interrupt, 
@@ -381,7 +331,6 @@
 		free_irq(AU1000_IRDA_TX_INT, dev);
 		printk(KERN_ERR "%s: unable to get IRQ %d\n", 
 				dev->name, dev->irq);
-		MOD_DEC_USE_COUNT;
 		return retval;
 	}
 
@@ -418,19 +367,20 @@
 	/* disable the interrupt */
 	free_irq(AU1000_IRDA_TX_INT, dev);
 	free_irq(AU1000_IRDA_RX_INT, dev);
-	MOD_DEC_USE_COUNT;
 	return 0;
 }
 
 static void __exit au1k_irda_exit(void)
 {
 	struct net_device *dev = ir_devs[0];
-	struct au1k_private *aup = (struct au1k_private *) dev->priv;
+	struct au1k_private *aup;
 
 	if (!dev) {
 		printk(KERN_ERR "au1k_ircc no dev found\n");
 		return;
 	}
+
+	aup = (struct au1k_private *) dev->priv;
 	if (aup->db[0].vaddr)  {
 		dma_free((void *)aup->db[0].vaddr, 
 				MAX_BUF_SIZE * 2*NUM_IR_DESC);
@@ -441,10 +391,16 @@
 				2*MAX_NUM_IR_DESC*(sizeof(ring_dest_t)));
 		aup->rx_ring[0] = 0;
 	}
-	rtnl_lock();
-	unregister_netdevice(dev);
-	rtnl_unlock();
+
+	unregister_netdev(dev);
+
+	dma_free((void *)aup->db[0].vaddr, MAX_BUF_SIZE * 2*NUM_IR_DESC);
+	dma_free((void *)aup->rx_ring[0], 
+		 2*MAX_NUM_IR_DESC*(sizeof(ring_dest_t)));
+	kfree(aup->rx_buff.head);
+
 	ir_devs[0] = 0;
+	free_netdev(dev);
 }
 
 
@@ -656,19 +612,21 @@
 }
 
 
-void au1k_irda_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t au1k_irda_interrupt(int irq, void *dev_id, 
+				       struct pt_regs *regs)
 {
 	struct net_device *dev = (struct net_device *) dev_id;
 
 	if (dev == NULL) {
 		printk(KERN_ERR "%s: isr: null dev ptr\n", dev->name);
-		return;
+		return IRQ_NONE;
 	}
 
 	writel(0, IR_INT_CLEAR); /* ack irda interrupts */
 
 	au1k_irda_rx(dev);
 	au1k_tx_ack(dev);
+	return IRQ_HANDLED;
 }
 
 
@@ -859,10 +817,8 @@
 	return &aup->stats;
 }
 
-#ifdef MODULE
 MODULE_AUTHOR("Pete Popov <ppopov@mvista.com>");
 MODULE_DESCRIPTION("Au1000 IrDA Device Driver");
 
 module_init(au1k_irda_init);
 module_exit(au1k_irda_exit);
-#endif /* MODULE */

From jt@bougret.hpl.hp.com Wed Dec 10 00:22:18 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 00:22:19 +0000 (GMT)
Received: from palrel11.hp.com ([IPv6:::ffff:156.153.255.246]:21407 "EHLO
	palrel11.hp.com") by linux-mips.org with ESMTP id <S8225385AbTLJAWS>;
	Wed, 10 Dec 2003 00:22:18 +0000
Received: from tomil.hpl.hp.com (tomil.hpl.hp.com [15.0.152.100])
	by palrel11.hp.com (Postfix) with ESMTP
	id 81F771C001EF; Tue,  9 Dec 2003 16:22:15 -0800 (PST)
Received: from bougret.hpl.hp.com (bougret.hpl.hp.com [15.4.92.227])
	by tomil.hpl.hp.com (8.9.3 (PHNE_28810+JAGae91741+JAGae92668)/8.9.3 HPLabs Timeshare Server) with ESMTP id QAA00525;
	Tue, 9 Dec 2003 16:22:14 -0800 (PST)
Received: from jt by bougret.hpl.hp.com with local (Exim 3.35 #1 (Debian))
	id 1ATs7K-0003CA-00; Tue, 09 Dec 2003 16:22:14 -0800
Date: Tue, 9 Dec 2003 16:22:14 -0800
To: Stephen Hemminger <shemminger@osdl.org>
Cc: Jeff Garzik <jgarzik@pobox.com>, Ralf Baechle <ralf@gnu.org>,
	linux-mips@linux-mips.org, irda-users@sourceforge.net
Subject: Re: [PATCH] au1k_ir - fix for 2.6
Message-ID: <20031210002214.GA12272@bougret.hpl.hp.com>
Reply-To: jt@hpl.hp.com
References: <20031209155440.2615b9cc.shemminger@osdl.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031209155440.2615b9cc.shemminger@osdl.org>
User-Agent: Mutt/1.3.28i
Organisation: HP Labs Palo Alto
Address: HP Labs, 1U-17, 1501 Page Mill road, Palo Alto, CA 94304, USA.
E-mail: jt@hpl.hp.com
From: Jean Tourrilhes <jt@bougret.hpl.hp.com>
Return-Path: <jt@bougret.hpl.hp.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3729
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jt@bougret.hpl.hp.com
Precedence: bulk
X-list: linux-mips

On Tue, Dec 09, 2003 at 03:54:40PM -0800, Stephen Hemminger wrote:
> This fixes some of the issues with the Alchemy irda driver for MIPS on
> 2.6.0-test11.  Tested with cross compile.  This driver is probably obsolete
> but it is one of the two remaining users of dev_alloc
> 
> Changes:
> 	* irqreturn_t for irq routine
> 	* alloc_irdadev instead of dev_alloc
> 	* should work as non module
> 
> Some mips build notes:
> 	* no way to enable the device at present since drivers/net/irda/Kconfig
> 	  expects MIPS_A1000 and arch/mips/Kconfig defines SOC_AU1000!
> 	* include/asm-mips/timex.h does not define CLOCK_TICK_RATE for this
> 	  that type.  Code should probably be:
> 
> #ifdef CONFIG_SGI_IP22
> #define CLOCK_TICK_RATE		1000000
> #else
> #define CLOCK_TICK_RATE		1193182
> #endif

	I don't have the hardware and I'm not familiar with MIPS, so
if the authors doesn't answer, we will merge your patch as is.
	Thanks...

	Jean

From yuasa@hh.iij4u.or.jp Wed Dec 10 04:09:17 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 04:09:19 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:62965 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8224939AbTLJEJR>;
	Wed, 10 Dec 2003 04:09:17 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id NAA15844
	for <linux-mips@linux-mips.org>; Wed, 10 Dec 2003 13:09:12 +0900 (JST)
Received: 4UMDO01 id hBA49Cc25712; Wed, 10 Dec 2003 13:09:12 +0900 (JST)
Received: 4UMRO00 id hBA49BK06363; Wed, 10 Dec 2003 13:09:11 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131])
	for <linux-mips@linux-mips.org>; (authenticated)
Date: Wed, 10 Dec 2003 13:09:16 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: linux-mips@linux-mips.org
Subject: compile error in __cmpxchg_u32
Message-Id: <20031210130916.555732f4.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: multipart/mixed;
 boundary="Multipart=_Wed__10_Dec_2003_13_09_16_+0900_0vnanPSD5ZWOAY.a"
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3730
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.

--Multipart=_Wed__10_Dec_2003_13_09_16_+0900_0vnanPSD5ZWOAY.a
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi,

I found following error in 2.6, when I compiled.

include/asm/system.h: In function `__cmpxchg_u32':
include/asm/system.h:407: error: `val' undeclared (first use in this function)
include/asm/system.h:407: error: (Each undeclared identifier is reported only once
include/asm/system.h:407: error: for each function it appears in.)

I made patch. Is this patch right?

Yoichi


--Multipart=_Wed__10_Dec_2003_13_09_16_+0900_0vnanPSD5ZWOAY.a
Content-Type: text/plain;
 name="cmpxchg-v26.diff"
Content-Disposition: attachment;
 filename="cmpxchg-v26.diff"
Content-Transfer-Encoding: 7bit

diff -aruN --exclude=CVS --exclude=.cvsignore linux.orig/include/asm-mips/system.h linux/include/asm-mips/system.h
--- linux.orig/include/asm-mips/system.h	2003-12-03 11:30:36.000000000 +0900
+++ linux/include/asm-mips/system.h	2003-12-09 11:21:08.000000000 +0900
@@ -404,7 +404,8 @@
 
 	local_irq_save(flags);
 	retval = *m;
-	*m = val;
+	if (retval == old)
+		*m = new;
 	local_irq_restore(flags);	/* implies memory barrier  */
 #endif
 
@@ -440,7 +441,8 @@
 
 	local_irq_save(flags);
 	retval = *m;
-	*m = val;
+	if (retval == old)
+		*m = new;
 	local_irq_restore(flags);	/* implies memory barrier  */
 #endif
 

--Multipart=_Wed__10_Dec_2003_13_09_16_+0900_0vnanPSD5ZWOAY.a--

From Geert.Uytterhoeven@sonycom.com Wed Dec 10 09:41:42 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 09:41:43 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:54431 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225392AbTLJJlm>;
	Wed, 10 Dec 2003 09:41:42 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBA9faQG020329;
	Wed, 10 Dec 2003 10:41:36 +0100 (MET)
Date: Wed, 10 Dec 2003 10:41:37 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Kumba <kumba@gentoo.org>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
In-Reply-To: <3FD64CE1.8030907@gentoo.org>
Message-ID: <Pine.GSO.4.21.0312101039270.6357-100000@waterleaf.sonytel.be>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <Geert.Uytterhoeven@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3731
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Tue, 9 Dec 2003, Kumba wrote:
> Rainer Canavan wrote:
> > I haven't tried my Qube2 yet, since that one's already wrapped up and
> > ready for Karsten Merker to pick up - he's going to send it to the 
> > Tulip Expert, so those problems may go away soon, hopefully. As to 
> > kernel versions starting about 2.4.17, I've never had the tulip driver
> > running reliably on my Qube2, but always got at least 2.4.18 and later 
> > working properly on my nasRaq (there was some patching involved at times, 
> > if I recall correctly).
> 
> Are these patches lying around someplace by chance?  I've used the 
> patches on Paul Martin's site (which enables detection of the cobalt's 
> "modified" tulip), as well as a patch from Karsten which fixed serial 
> console and also enabled the tulip driver.  Both of those patches don't 
> seem to fix the tulip's issue of halting though, so either I have broken 
> hardware, or I've done something unique in my setup that triggers the issue.

This `tulip halting', is it `transmit timed out', following by the chip being
thrown in 10-base2 mode and not recovering until ifconfig down/up?

I see that one on my PPC box, and I do have a fix. It's not perfect, but the
box now recovers within 3 minutes, instead of needing manual intervention.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


From kumba@gentoo.org Wed Dec 10 10:02:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 10:02:12 +0000 (GMT)
Received: from rwcrmhc12.comcast.net ([IPv6:::ffff:216.148.227.85]:45780 "EHLO
	rwcrmhc12.comcast.net") by linux-mips.org with ESMTP
	id <S8225392AbTLJKCL>; Wed, 10 Dec 2003 10:02:11 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc12) with SMTP
          id <2003121010020401400f0vj7e>
          (Authid: kumba12345);
          Wed, 10 Dec 2003 10:02:04 +0000
Message-ID: <3FD6EF32.6070808@gentoo.org>
Date: Wed, 10 Dec 2003 05:02:26 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <Pine.GSO.4.21.0312101039270.6357-100000@waterleaf.sonytel.be>
In-Reply-To: <Pine.GSO.4.21.0312101039270.6357-100000@waterleaf.sonytel.be>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3732
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Geert Uytterhoeven wrote:

> This `tulip halting', is it `transmit timed out', following by the chip being
> thrown in 10-base2 mode and not recovering until ifconfig down/up?
> 
> I see that one on my PPC box, and I do have a fix. It's not perfect, but the
> box now recovers within 3 minutes, instead of needing manual intervention.
> 
> Gr{oetje,eeting}s,
> 
> 						Geert

To be honest, I'm not sure what's actually occuring.  At first I thought 
it was simply halting, but it does not appear to halt completely.  Data 
will still trickle in *very* slowly.  If ping wouldn't time out after a 
few seconds, I would bet the box would respond after about 3 minutes. 
restarting the config does reset it back.

Now that you mention mode switching, however, May fit in with some data 
I gleaned using mii-diag that I spoke of in #mipslinux awhile back. 
When the tulip driver was working fine, mii-diag reported this:

  MII PHY #1 transceiver registers:
    1000 782d 7810 0003 01e1 45e1 0001 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 4000 0000 3ffb 0010 0000 0002
    0001 0000 0000 0000 0000 0000 0000 0000


Notice the setting of the 21st register (3rd row, 5th value).  When the 
tulip driver started acting up, that value changed to this:

  MII PHY #1 transceiver registers:
    1000 782d 7810 0003 01e1 45e1 0001 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 4000 0000 38c8 0010 0000 0002
    0001 0000 0000 0000 0000 0000 0000 0000


I didn't do very detailed searching for the meaning of the registers, 
and never found out what the 21st register's specific purpose was, but 
is this the mode switching you're mentioning perhaps?

If so, I'll give your patch a run, see if it works and if the recovery 
time can be shortened, or help to isolate the problem so it can be nailed.


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From agx@sigxcpu.org Wed Dec 10 11:22:06 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 11:22:07 +0000 (GMT)
Received: from honk1.physik.uni-konstanz.de ([IPv6:::ffff:134.34.140.224]:5030
	"EHLO honk1.physik.uni-konstanz.de") by linux-mips.org with ESMTP
	id <S8225418AbTLJLWG>; Wed, 10 Dec 2003 11:22:06 +0000
Received: from localhost (localhost [127.0.0.1])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id 4C30B2BC3C
	for <linux-mips@linux-mips.org>; Wed, 10 Dec 2003 12:21:57 +0100 (CET)
Received: from honk1.physik.uni-konstanz.de ([127.0.0.1])
 by localhost (honk [127.0.0.1:10024]) (amavisd-new) with ESMTP id 29564-06
 for <linux-mips@linux-mips.org>; Wed, 10 Dec 2003 12:21:35 +0100 (CET)
Received: from bogon.sigxcpu.org (bogon.physik.uni-konstanz.de [134.34.147.122])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id A50ED2BC39
	for <linux-mips@linux-mips.org>; Wed, 10 Dec 2003 12:21:35 +0100 (CET)
Received: by bogon.sigxcpu.org (Postfix, from userid 1000)
	id 9F22345EB; Wed, 10 Dec 2003 12:21:34 +0100 (CET)
Date: Wed, 10 Dec 2003 12:21:34 +0100
From: Guido Guenther <agx@sigxcpu.org>
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
Message-ID: <20031210112134.GB2190@bogon.ms20.nix>
Mail-Followup-To: Guido Guenther <agx@sigxcpu.org>,
	linux-mips@linux-mips.org
References: <3FD5FE41.8040909@bitbox.co.uk> <ML-3.4.1071007431.886.canavan@morannon.nonet>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="U+BazGySraz5kW0T"
Content-Disposition: inline
In-Reply-To: <ML-3.4.1071007431.886.canavan@morannon.nonet>
User-Agent: Mutt/1.5.4i
X-Virus-Scanned: by amavisd-new-20021227-p2 (Debian)
Return-Path: <agx@sigxcpu.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3733
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: agx@sigxcpu.org
Precedence: bulk
X-list: linux-mips


--U+BazGySraz5kW0T
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Dec 09, 2003 at 11:03:51PM +0100, Rainer Canavan wrote:
> > The kernel boots okay from the HD, but I get strange segmentation fault=
s=20
> > and other errors whilst running Debian's "dpkg" to install packages. If=
=20
> > I repeat the installation from scratch I get exactly the same errors in=
=20
> > exactly the same places :-(
>=20
> I just tried updating, removing and installing a package without=20
> any problems.
Are there any differences in the CPUs of your nasraq and Peter's Qube2?
Cheers,
 -- Guido

--U+BazGySraz5kW0T
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/1wG+n88szT8+ZCYRAjcyAJ9MTig2hOYBEoTbd03YJxAL/7brVgCfcsGO
RJ/pLIjjkk9OqgaS07fOtVc=
=Zl+G
-----END PGP SIGNATURE-----

--U+BazGySraz5kW0T--

From Geert.Uytterhoeven@sonycom.com Wed Dec 10 12:18:19 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 12:18:20 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:51353 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225420AbTLJMST>;
	Wed, 10 Dec 2003 12:18:19 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBACIEQG005262;
	Wed, 10 Dec 2003 13:18:14 +0100 (MET)
Date: Wed, 10 Dec 2003 13:18:15 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Kumba <kumba@gentoo.org>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
In-Reply-To: <3FD6EF32.6070808@gentoo.org>
Message-ID: <Pine.GSO.4.21.0312101203110.6456-100000@waterleaf.sonytel.be>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <Geert.Uytterhoeven@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3734
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Wed, 10 Dec 2003, Kumba wrote:
> Geert Uytterhoeven wrote:
> > This `tulip halting', is it `transmit timed out', following by the chip being
> > thrown in 10-base2 mode and not recovering until ifconfig down/up?
> > 
> > I see that one on my PPC box, and I do have a fix. It's not perfect, but the
> > box now recovers within 3 minutes, instead of needing manual intervention.
> 
> To be honest, I'm not sure what's actually occuring.  At first I thought 
> it was simply halting, but it does not appear to halt completely.  Data 
> will still trickle in *very* slowly.  If ping wouldn't time out after a 
> few seconds, I would bet the box would respond after about 3 minutes. 
> restarting the config does reset it back.

That's different from what I'm seeing. My box doesn't respond at all.

> Now that you mention mode switching, however, May fit in with some data 
> I gleaned using mii-diag that I spoke of in #mipslinux awhile back. 
> When the tulip driver was working fine, mii-diag reported this:
> 
>   MII PHY #1 transceiver registers:
>     1000 782d 7810 0003 01e1 45e1 0001 0000
>     0000 0000 0000 0000 0000 0000 0000 0000
>     0000 0000 4000 0000 3ffb 0010 0000 0002
>     0001 0000 0000 0000 0000 0000 0000 0000
> 
> 
> Notice the setting of the 21st register (3rd row, 5th value).  When the 
> tulip driver started acting up, that value changed to this:
> 
>   MII PHY #1 transceiver registers:
>     1000 782d 7810 0003 01e1 45e1 0001 0000
>     0000 0000 0000 0000 0000 0000 0000 0000
>     0000 0000 4000 0000 38c8 0010 0000 0002
>     0001 0000 0000 0000 0000 0000 0000 0000
> 
> I didn't do very detailed searching for the meaning of the registers, 
> and never found out what the 21st register's specific purpose was, but 
> is this the mode switching you're mentioning perhaps?

I don't know what these registers mean, but tulip_select_media() doesn't seem
to affect the 21st register directly. Perhaps as a hardware side effect?

> If so, I'll give your patch a run, see if it works and if the recovery 
> time can be shortened, or help to isolate the problem so it can be nailed.

Here it is. I've been using it on 2.4.21 for more than 6 months. I upgraded to
2.4.23 9 days ago, and so far I haven't seen any of the printk()s, though.

Without the patch, the driver switches from 10-baseT to 10-base2
unconditionally if the problem happens.
With the patch, the switch is performed only if there's no 10-baseT link beat,
and the driver recovers after a few minutes. This may still cause an annoying
hick up, but the network (incl. open TCP connections) recovers.

I have a 21041, using 10-baseT on a 10 Mbit hub. What Tulip does the Cube have?

--- linux-2.4.23/drivers/net/tulip/tulip_core.c.orig	Fri Nov 28 21:04:35 2003
+++ linux-2.4.23/drivers/net/tulip/tulip_core.c	Sun Nov 30 11:37:45 2003
@@ -580,7 +580,15 @@
 				} else
 					dev->if_port = 0;
 			else
+			{
+printk("tulip: old driver would switch to 10base2, ");
+			if (dev->if_port != 0 || (csr12 & 0x0004) != 0) {
+printk("and we do\n");
 				dev->if_port = 1;
+			} else {
+printk("but we don't\n");
+			}
+			}
 			tulip_select_media(dev, 0);
 		}
 	} else if (tp->chip_id == DC21140 || tp->chip_id == DC21142

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


From kumba@gentoo.org Wed Dec 10 23:39:08 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 10 Dec 2003 23:39:08 +0000 (GMT)
Received: from rwcrmhc12.comcast.net ([IPv6:::ffff:216.148.227.85]:20449 "EHLO
	rwcrmhc12.comcast.net") by linux-mips.org with ESMTP
	id <S8225421AbTLJXjI>; Wed, 10 Dec 2003 23:39:08 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc12) with SMTP
          id <200312102339000140080imbe>
          (Authid: kumba12345);
          Wed, 10 Dec 2003 23:39:00 +0000
Message-ID: <3FD7AEAB.9020908@gentoo.org>
Date: Wed, 10 Dec 2003 18:39:23 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2
References: <Pine.GSO.4.21.0312101203110.6456-100000@waterleaf.sonytel.be>
In-Reply-To: <Pine.GSO.4.21.0312101203110.6456-100000@waterleaf.sonytel.be>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3735
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Geert Uytterhoeven wrote:

> That's different from what I'm seeing. My box doesn't respond at all.

That's what I thought was happening initially, but I noticed that a 
very, very minute trickle of data gets through.  Not enough to really be 
useful, but it indicates that it isn't a total freeze.  Things like ssh 
will eventually time out simply because they don't wait around long 
enough for a response.


> I don't know what these registers mean, but tulip_select_media() doesn't seem
> to affect the 21st register directly. Perhaps as a hardware side effect?

I'm not too sure.  The only tool I got running was mii-diag.  tulip-diag 
won't compile on mips due to differences in the includes (I haven't 
tinkered with it enough to make it compile yet).


> Here it is. I've been using it on 2.4.21 for more than 6 months. I upgraded to
> 2.4.23 9 days ago, and so far I haven't seen any of the printk()s, though.
> 
> Without the patch, the driver switches from 10-baseT to 10-base2
> unconditionally if the problem happens.
> With the patch, the switch is performed only if there's no 10-baseT link beat,
> and the driver recovers after a few minutes. This may still cause an annoying
> hick up, but the network (incl. open TCP connections) recovers.

Well, this patch definitely alter's the tulip's behavior.  It's staying 
up for longer periods of time.  I have a gentoo install that I kludged 
on the cobalt over a pre-existing debian install, and before, an "emerge 
rsync" didn't even make its way through receiving the rsync file list. 
Now with this patch, "emerge rsync" got about 80% complete before tulip 
hung.  I wound up powering the machine down and restarting it to get 
tulip to work again, and it lasted a good while before hanging again.  I 
restarted the interface the second time, and now it's going fine, so 
I'll see if it hangs again.

When it does mess up, mii-diag reports the same exact change on the 21st 
register, so that means something...I just wish I knew what...

It would seem the patch does correct one of the conditions that makes 
tulip act up....It would appear there is another condition still 
triggering it, but not as frequently.


> I have a 21041, using 10-baseT on a 10 Mbit hub. What Tulip does the Cube have?

My cobalt looks to have a Digital 21143-PD chip.  I know it's got 
something funny with the eeprom, as it requires a kernel patch to read 
the eeprom properly and detect the chip in the first place.  The machine 
itself is used in 100mbps mode on a 16-port netgear switch.


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From deepfire@ibe.miee.ru Thu Dec 11 07:25:32 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 07:25:33 +0000 (GMT)
Received: from relay1.miee.ru ([IPv6:::ffff:213.171.53.133]:43785 "EHLO
	gulipin.miee.ru") by linux-mips.org with ESMTP id <S8225305AbTLKHZc>;
	Thu, 11 Dec 2003 07:25:32 +0000
Received: from ibe.miee.ru (E0-IBE.r.miee.ru [194.226.0.89])
	by gulipin.miee.ru (8.9.3/8.9.3) with ESMTP id KAA78021
	for <linux-mips@linux-mips.org>; Thu, 11 Dec 2003 10:25:29 +0300 (MSK)
	(envelope-from deepfire@ibe.miee.ru)
Received: from drakkar.ibe.miee.ru (drakkar.ibe.miee.ru [194.226.4.84])
	by ibe.miee.ru (8.12.9/8.12.9/Debian-3) with ESMTP id hBB8HRKU013468
	for <linux-mips@linux-mips.org>; Thu, 11 Dec 2003 11:17:27 +0300
Date: Thu, 11 Dec 2003 09:34:27 +0300
Message-ID: <87r7zbg8wc.wl@drakkar.ibe.miee.ru>
From: Samium Gromoff <deepfire@ibe.miee.ru>
To: linux-mips@linux-mips.org
Subject: What is the preferred gcc version?
User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) 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
Return-Path: <deepfire@ibe.miee.ru>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3736
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: deepfire@ibe.miee.ru
Precedence: bulk
X-list: linux-mips


While analysing some local information about how buggy is gcc-3.0.3, and
in the light of availability of both supposedly more stable (2.95.3) and
more recent releases (3.3.2) it was obvious to me that we need to switch
to a newer gcc, and maybe binutils (the one used is 2.11.2).

So the question is -- which versions of gcc/binutils are known to be the most
stable and produce the least amount of problems?

if my questions are somehow misguided, please don`t hesitate to direct me
to the Right Way (tm) :-)

regards, Samium Gromoff

From durai@isofttech.com Thu Dec 11 14:58:30 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 14:58:32 +0000 (GMT)
Received: from [IPv6:::ffff:203.199.202.17] ([IPv6:::ffff:203.199.202.17]:28936
	"EHLO pub.isofttechindia.com") by linux-mips.org with ESMTP
	id <S8225208AbTLKO6a>; Thu, 11 Dec 2003 14:58:30 +0000
Received: from DURAI ([192.168.0.107])
	by pub.isofttechindia.com (8.11.0/8.11.0) with SMTP id hBBEujF29651;
	Thu, 11 Dec 2003 20:26:49 +0530
Message-ID: <008f01c3bff7$252e3b40$0a05a8c0@DURAI>
From: "durai" <durai@isofttech.com>
To: "uclinux-dev" <uclinux-dev@uclinux.org>
Cc: "mips" <linux-mips@linux-mips.org>
Subject: Network problem in mips
Date: Thu, 11 Dec 2003 20:27:46 +0530
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_008C_01C3C025.3CC481A0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <durai@isofttech.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3737
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: durai@isofttech.com
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.

------=_NextPart_000_008C_01C3C025.3CC481A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello,
I am working on a wireless lan driver in mips platform. When i =
transmit/receive the data at 11mbps, it is working smoothly. when i =
change the tx speed to 54mbps, the system crashes at schedule() =
function. I am not able to trace from where the crash occurs. where =
could be the problem?=20


Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 a0000000 00097fff ffffffff 80fa228c ba000000 a0f40000 =
00000000
$8 : 00000045 00000001 00ff0000 00ff0000 80fa228c 80f90738 00003b00 =
80fdd812
$16: 80fa2000 80fe8221 80fe6010 00008da9 ff000000 00ff0000 80fa2000 =
a0f40000
$24: 00000001 80494970                   8043a000 8043a118 80fa228c =
80f930c1
epc  : 80f930c1
Status: 3000fc00
Cause : 00000010
Process   (pid: -2142680720, stackpage=3D8043a000)
Stack: 00000000 00000000 00000000 00000000 ff000000 80fa2000 00ff0000 =
00000000
       00000000 00000000 00000003 8043a1b8 80fa228c 80f9119c 00000000 =
00000000
       00000000 00000000 803b3b80 00010000 00000010 80390d74 00000004 =
00000001
       802a83fc 00000000 00000000 00000000 00000000 00000000 80fa2010 =
ba000000
       80fe9810 00008da5 00000000 00ff0000 80fa2000 a0f40000 8020b570 =
00000000
       00000000 ...
Call Trace: [<802a83fc>] [<8020b570>] [<8020ae08>] [<80206000>] =
[<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<8
02d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] =
[<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<802
0ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] =
[<802d64e4>] [<802d64e4>] [<802a83fc>] [<802a8
3b4>] [<8020b570>] [<8021f148>] [<8020ae08>] [<802d64e4>] [<802d64e4>] =
[<8021eb24>] [<8021eb24>] [<802a83fc>] [<802a83b
4>] [<802a8ad4>]
Code:Unaligned memory access at 8020b780, address 80f930b5, PID =
-2142680720 ( )
Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 3000fc00 00000001 3000fc00 80392130 00000001 00000001 =
0000168d
$8 : 00000000 00000000 80439ef0 00000000 00000000 803aa52b fffffffe =
80439ea7
$16: 80f930b5 fffffffd 00000020 00008da9 ff000000 00ff0000 80fa2000 =
a0f40000
$24: ffffffff 00000010                   8043a000 80439fe8 80fa228c =
8020b748
epc  : 8020b784
Status: 3000fc00
Cause : 0000e010
Process   (pid: -2142680720, stackpage=3D8043a000)
Stack: 80343bec 00000001 00000001 0000167c 8043a068 80344be4
Call Trace: [<80343bec>] [<80344be4>]
Code: 10400008  00000000  8e060000 <00001021> 1040fff2  2405003c  =
3c048034  0c08534c  24843bf4
Kernel panic: Aiee, killing interrupt handler

In interrupt handler - not syncing



regards
durai
------=_NextPart_000_008C_01C3C025.3CC481A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I am working on a wireless lan driver =
in mips=20
platform. When&nbsp;i transmit/receive the data at 11mbps, it is working =

smoothly. when i change the tx speed to 54mbps, the system crashes at =
schedule()=20
function. I am not able to trace from where the crash occurs. where =
could be the=20
problem? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kernel unaligned instruction access in=20
unaligned.c:do_ade, line 428:<BR>$0 : 00000000 a0000000 00097fff =
ffffffff=20
80fa228c ba000000 a0f40000 00000000<BR>$8 : 00000045 00000001 00ff0000 =
00ff0000=20
80fa228c 80f90738 00003b00 80fdd812<BR>$16: 80fa2000 80fe8221 80fe6010 =
00008da9=20
ff000000 00ff0000 80fa2000 a0f40000<BR>$24: 00000001=20
80494970&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
8043a000 8043a118 80fa228c 80f930c1<BR>epc&nbsp; : 80f930c1<BR>Status:=20
3000fc00<BR>Cause : 00000010<BR>Process &nbsp; (pid: -2142680720,=20
stackpage=3D8043a000)<BR>Stack: 00000000 00000000 00000000 00000000 =
ff000000=20
80fa2000 00ff0000 00000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
00000000=20
00000000 00000003 8043a1b8 80fa228c 80f9119c 00000000=20
00000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00000000 00000000 =
803b3b80=20
00010000 00000010 80390d74 00000004=20
00000001<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 802a83fc 00000000 =
00000000=20
00000000 00000000 00000000 80fa2010=20
ba000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80fe9810 00008da5 =
00000000=20
00ff0000 80fa2000 a0f40000 8020b570=20
00000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00000000 ...<BR>Call =
Trace:=20
[&lt;802a83fc&gt;] [&lt;8020b570&gt;] [&lt;8020ae08&gt;] =
[&lt;80206000&gt;]=20
[&lt;802d64e4&gt;] [&lt;802a83fc&gt;] [&lt;8020b570&gt;] =
[&lt;8020ae08&gt;]=20
[&lt;8<BR>02d64e4&gt;] [&lt;802d64e4&gt;] [&lt;802a83fc&gt;] =
[&lt;8020b570&gt;]=20
[&lt;8020ae08&gt;] [&lt;802d64e4&gt;] [&lt;802d64e4&gt;] =
[&lt;802a83fc&gt;]=20
[&lt;8020b570&gt;] [&lt;802<BR>0ae08&gt;] [&lt;802d64e4&gt;] =
[&lt;802d64e4&gt;]=20
[&lt;802a83fc&gt;] [&lt;8020b570&gt;] [&lt;8020ae08&gt;] =
[&lt;802d64e4&gt;]=20
[&lt;802d64e4&gt;] [&lt;802a83fc&gt;] [&lt;802a8<BR>3b4&gt;] =
[&lt;8020b570&gt;]=20
[&lt;8021f148&gt;] [&lt;8020ae08&gt;] [&lt;802d64e4&gt;] =
[&lt;802d64e4&gt;]=20
[&lt;8021eb24&gt;] [&lt;8021eb24&gt;] [&lt;802a83fc&gt;] =
[&lt;802a83b<BR>4&gt;]=20
[&lt;802a8ad4&gt;]<BR>Code:Unaligned memory access at 8020b780, address=20
80f930b5, PID -2142680720 (&nbsp;)<BR>Kernel unaligned instruction =
access in=20
unaligned.c:do_ade, line 428:<BR>$0 : 00000000 3000fc00 00000001 =
3000fc00=20
80392130 00000001 00000001 0000168d<BR>$8 : 00000000 00000000 80439ef0 =
00000000=20
00000000 803aa52b fffffffe 80439ea7<BR>$16: 80f930b5 fffffffd 00000020 =
00008da9=20
ff000000 00ff0000 80fa2000 a0f40000<BR>$24: ffffffff=20
00000010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
8043a000 80439fe8 80fa228c 8020b748<BR>epc&nbsp; : 8020b784<BR>Status:=20
3000fc00<BR>Cause : 0000e010<BR>Process &nbsp; (pid: -2142680720,=20
stackpage=3D8043a000)<BR>Stack: 80343bec 00000001 00000001 0000167c =
8043a068=20
80344be4<BR>Call Trace: [&lt;80343bec&gt;] [&lt;80344be4&gt;]<BR>Code:=20
10400008&nbsp; 00000000&nbsp; 8e060000 &lt;00001021&gt; 1040fff2&nbsp;=20
2405003c&nbsp; 3c048034&nbsp; 0c08534c&nbsp; 24843bf4<BR>Kernel panic: =
Aiee,=20
killing interrupt handler</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>In interrupt handler - not =
syncing</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>regards</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>durai</FONT></DIV></BODY></HTML>

------=_NextPart_000_008C_01C3C025.3CC481A0--


From sjhill@realitydiluted.com Thu Dec 11 15:25:36 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 15:25:37 +0000 (GMT)
Received: from real.realitydiluted.com ([IPv6:::ffff:208.242.241.164]:58603
	"EHLO real.realitydiluted.com") by linux-mips.org with ESMTP
	id <S8225208AbTLKPZg>; Thu, 11 Dec 2003 15:25:36 +0000
Received: from localhost ([127.0.0.1] helo=realitydiluted.com)
	by real.realitydiluted.com with esmtp (Exim 3.36 #1 (Debian))
	id 1AUSgd-0001Np-00; Thu, 11 Dec 2003 09:25:07 -0600
Message-ID: <3FD88C4D.6010700@realitydiluted.com>
Date: Thu, 11 Dec 2003 10:25:01 -0500
From: "Steven J. Hill" <sjhill@realitydiluted.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3
X-Accept-Language: en
MIME-Version: 1.0
To: durai <durai@isofttech.com>
CC: uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI>
In-Reply-To: <008f01c3bff7$252e3b40$0a05a8c0@DURAI>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <sjhill@realitydiluted.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3738
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sjhill@realitydiluted.com
Precedence: bulk
X-list: linux-mips

durai wrote:
>
> I am working on a wireless lan driver in mips platform. When i 
> transmit/receive the data at 11mbps, it is working smoothly. when i 
> change the tx speed to 54mbps, the system crashes at schedule() 
> function. I am not able to trace from where the crash occurs. where 
> could be the problem?
>

Dear,

[ ] Troller
[*] Idiot
[*] Lamer
[ ] Waster of bandwidth
[ ] Evolutionary Dead End
[*] Clueless Newbie
[ ] AOLer
[ ] "Me-too"-er
[ ] Scientologist


You are being flamed because

[*] You did not provide kernel symbols for your kernel oops
[*] You crossposted
[ ] You are an AOLer
[ ] You posted in ALL CAPS
[ ] You posted in HTML
[ ] You are a troller
[ ] You quoted an entire message in your reply of 0 LINES
[ ] You requested warez
[ ] You flamed someone for a spelling error.
     [ ] ... and you misspelled something in the process
[*] You suck
[*] I just don't like you

To repent you must

[ ] Give up your AOL account
[ ] Go hide under a Bridge.  If you do not have a bridge, we can sell you
     one named Brooklyn
[ ] Go find a hose
[ ] Go to the top of the CN Tower and attempt to defy gravity
[*] Eat your modem
[*] See how long it takes to fall down the Grand Canyon
[*] Shove a Cinnabon into your computer.  Without replacing the case, ground
     yourself to the Power Supply and turn computer on

In closing, I would like to say

[ ] AOL sucks!
[ ] Never post again
[*] Would you like deep fried or extra crispy?
[*] Go back to your little Nintendo, assmunch.
[ ] CAPS LOCK!  It's on the left!
[ ] Die, spammer!
[*] Get a clue!
[ ] Go away!
[*] Learn to read mail archives


From ppopov@mvista.com Thu Dec 11 20:02:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 20:02:21 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:17149 "EHLO
	av.mvista.com") by linux-mips.org with ESMTP id <S8225318AbTLKUCV>;
	Thu, 11 Dec 2003 20:02:21 +0000
Received: from zeus.mvista.com (av [127.0.0.1])
	by av.mvista.com (8.9.3/8.9.3) with ESMTP id MAA28160;
	Thu, 11 Dec 2003 12:00:06 -0800
Subject: Re: [PATCH] au1k_ir - fix for 2.6
From: Pete Popov <ppopov@mvista.com>
To: jt@hpl.hp.com
Cc: Stephen Hemminger <shemminger@osdl.org>,
	Jeff Garzik <jgarzik@pobox.com>, Ralf Baechle <ralf@gnu.org>,
	Linux MIPS mailing list <linux-mips@linux-mips.org>,
	irda-users@sourceforge.net
In-Reply-To: <20031210002214.GA12272@bougret.hpl.hp.com>
References: <20031209155440.2615b9cc.shemminger@osdl.org>
	 <20031210002214.GA12272@bougret.hpl.hp.com>
Content-Type: text/plain
Organization: MontaVista Software
Message-Id: <1071173167.8789.83.camel@zeus.mvista.com>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.4 
Date: 11 Dec 2003 12:06:07 -0800
Content-Transfer-Encoding: 7bit
Return-Path: <ppopov@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3739
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ppopov@mvista.com
Precedence: bulk
X-list: linux-mips

On Tue, 2003-12-09 at 16:22, Jean Tourrilhes wrote:
> On Tue, Dec 09, 2003 at 03:54:40PM -0800, Stephen Hemminger wrote:
> > This fixes some of the issues with the Alchemy irda driver for MIPS on
> > 2.6.0-test11.  Tested with cross compile.  This driver is probably obsolete
> > but it is one of the two remaining users of dev_alloc
> > 
> > Changes:
> > 	* irqreturn_t for irq routine
> > 	* alloc_irdadev instead of dev_alloc
> > 	* should work as non module
> > 
> > Some mips build notes:
> > 	* no way to enable the device at present since drivers/net/irda/Kconfig
> > 	  expects MIPS_A1000 and arch/mips/Kconfig defines SOC_AU1000!
> > 	* include/asm-mips/timex.h does not define CLOCK_TICK_RATE for this
> > 	  that type.  Code should probably be:
> > 
> > #ifdef CONFIG_SGI_IP22
> > #define CLOCK_TICK_RATE		1000000
> > #else
> > #define CLOCK_TICK_RATE		1193182
> > #endif
> 
> 	I don't have the hardware and I'm not familiar with MIPS, so
> if the authors doesn't answer, we will merge your patch as is.

Go ahead.

Pete


From alan@lxorguk.ukuu.org.uk Thu Dec 11 23:11:59 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 23:12:00 +0000 (GMT)
Received: from crosslink-village-512-1.bc.nu ([IPv6:::ffff:81.2.110.254]:34003
	"EHLO dhcp23.swansea.linux.org.uk") by linux-mips.org with ESMTP
	id <S8225425AbTLKXL7>; Thu, 11 Dec 2003 23:11:59 +0000
Received: from dhcp23.swansea.linux.org.uk (localhost.localdomain [127.0.0.1])
	by dhcp23.swansea.linux.org.uk (8.12.10/8.12.10) with ESMTP id hBBN7cPr019860;
	Thu, 11 Dec 2003 23:07:39 GMT
Received: (from alan@localhost)
	by dhcp23.swansea.linux.org.uk (8.12.10/8.12.10/Submit) id hBBN7YQ4019858;
	Thu, 11 Dec 2003 23:07:34 GMT
X-Authentication-Warning: dhcp23.swansea.linux.org.uk: alan set sender to alan@lxorguk.ukuu.org.uk using -f
Subject: Re: Network problem in mips
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: "Steven J. Hill" <sjhill@realitydiluted.com>
Cc: durai <durai@isofttech.com>, uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
In-Reply-To: <3FD88C4D.6010700@realitydiluted.com>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI>
	 <3FD88C4D.6010700@realitydiluted.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 (1.4.5-7) 
Date: Thu, 11 Dec 2003 23:07:33 +0000
Return-Path: <alan@lxorguk.ukuu.org.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3740
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: alan@lxorguk.ukuu.org.uk
Precedence: bulk
X-list: linux-mips

On Iau, 2003-12-11 at 15:25, Steven J. Hill wrote:
> 
> Dear,
> 
> [ ] Troller
> [*] Idiot
> [*] Lamer
> [ ] Waster of bandwidth

Seems a little out of order. Not everyone immediately understands you
need the ksyms to interpret a trace


From ralf@linux-mips.org Thu Dec 11 23:31:31 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 23:31:32 +0000 (GMT)
Received: from p508B53A2.dip.t-dialin.net ([IPv6:::ffff:80.139.83.162]:56277
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225318AbTLKXbb>; Thu, 11 Dec 2003 23:31:31 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBBNV7oK024761;
	Fri, 12 Dec 2003 00:31:07 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBBNUwQh024758;
	Fri, 12 Dec 2003 00:30:58 +0100
Date: Fri, 12 Dec 2003 00:30:58 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "Steven J. Hill" <sjhill@realitydiluted.com>,
	durai <durai@isofttech.com>,
	uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
Message-ID: <20031211233058.GB20373@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com> <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3741
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Thu, Dec 11, 2003 at 11:07:33PM +0000, Alan Cox wrote:

> > Dear,
> > 
> > [ ] Troller
> > [*] Idiot
> > [*] Lamer
> > [ ] Waster of bandwidth
> 
> Seems a little out of order. Not everyone immediately understands you
> need the ksyms to interpret a trace

Guess that should be mentioned in the FAQ - anybody got a pointer to a
little how to for writing useful bug reports?

  Ralf

From macro@ds2.pg.gda.pl Thu Dec 11 23:46:26 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 11 Dec 2003 23:46:26 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:57003 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225425AbTLKXq0>; Thu, 11 Dec 2003 23:46:26 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 62A1F47607; Fri, 12 Dec 2003 00:46:23 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id 08CE72D328; Fri, 12 Dec 2003 00:46:23 +0100 (CET)
Date: Fri, 12 Dec 2003 00:46:23 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Steven J. Hill" <sjhill@realitydiluted.com>,
	durai <durai@isofttech.com>,
	uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
In-Reply-To: <20031211233058.GB20373@linux-mips.org>
Message-ID: <Pine.LNX.4.55.0312120037480.23228@jurand.ds.pg.gda.pl>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com>
 <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk>
 <20031211233058.GB20373@linux-mips.org>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3742
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

On Fri, 12 Dec 2003, Ralf Baechle wrote:

> > Seems a little out of order. Not everyone immediately understands you
> > need the ksyms to interpret a trace
> 
> Guess that should be mentioned in the FAQ - anybody got a pointer to a
> little how to for writing useful bug reports?

 Well, REPORTING-BUGS in the Linux source seems pretty good for a start.  
README provides a few hints as well, although with a little bias towards
i386.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

From durai@isofttech.com Fri Dec 12 07:44:41 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 07:44:41 +0000 (GMT)
Received: from [IPv6:::ffff:203.199.202.17] ([IPv6:::ffff:203.199.202.17]:30986
	"EHLO pub.isofttechindia.com") by linux-mips.org with ESMTP
	id <S8225351AbTLLHol>; Fri, 12 Dec 2003 07:44:41 +0000
Received: from DURAI ([192.168.0.107])
	by pub.isofttechindia.com (8.11.0/8.11.0) with SMTP id hBC7hCF30945
	for <linux-mips@linux-mips.org>; Fri, 12 Dec 2003 13:13:13 +0530
Message-ID: <001d01c3c083$be226600$0a05a8c0@DURAI>
From:	"durai" <durai@isofttech.com>
To:	"mips" <linux-mips@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com>
Subject: Re: Network problem in mips
Date:	Fri, 12 Dec 2003 13:14:14 +0530
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_001A_01C3C0B1.D6D47CA0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <durai@isofttech.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3743
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: durai@isofttech.com
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.

------=_NextPart_000_001A_01C3C0B1.D6D47CA0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello,
Sorry for the incomplete information.
My OS is uCLinux (linux kernel 2.4.10) . Whenever I start a high transfer
through the wireless interface the system crashes, sometimes it hangs
without any messages in the console. Here is the oops message.

Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 a0000000 00097fff ffffffff 80fa228c ba000000 a0f40000 00000000
$8 : 00000045 00000001 00ff0000 00ff0000 80fa228c 80f90738 00003b00 80fdd812
$16: 80fa2000 80fe8221 80fe6010 00008da9 ff000000 00ff0000 80fa2000 a0f40000
$24: 00000001 80494970                   8043a000 8043a118 80fa228c 80f930c1
epc  : 80f930c1
Status: 3000fc00
Cause : 00000010
Process   (pid: -2142680720, stackpage=8043a000)
Stack: 00000000 00000000 00000000 00000000 ff000000 80fa2000 00ff0000
00000000
       00000000 00000000 00000003 8043a1b8 80fa228c 80f9119c 00000000
00000000
       00000000 00000000 803b3b80 00010000 00000010 80390d74 00000004
00000001
       802a83fc 00000000 00000000 00000000 00000000 00000000 80fa2010
ba000000
       80fe9810 00008da5 00000000 00ff0000 80fa2000 a0f40000 8020b570
00000000
       00000000 ...
Call Trace: [<802a83fc>] [<8020b570>] [<8020ae08>] [<80206000>] [<802d64e4>]
[<802a83fc>] [<8020b570>] [<8020ae08>] [<8
02d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<802d64e4>]
[<802d64e4>] [<802a83fc>] [<8020b570>] [<802
0ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>]
[<802d64e4>] [<802d64e4>] [<802a83fc>] [<802a8
3b4>] [<8020b570>] [<8021f148>] [<8020ae08>] [<802d64e4>] [<802d64e4>]
[<8021eb24>] [<8021eb24>] [<802a83fc>] [<802a83b
4>] [<802a8ad4>]
Code:Unaligned memory access at 8020b780, address 80f930b5, PID -2142680720
( )

I have used a script "call2sym" which translates the call trace to kernel
symbols
and here is the symbols

Address         Function

802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
80206000        init_task_union
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
802a83b4        do_external
8020b570        handle_external
8021f148        do_timer
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
8021eb24        update_process_times
8021eb24        update_process_times
802a83fc        do_external
802a83b4        do_external
802a8ad4        ad6489_timerInterrupt

can anybody help me?
durai




------=_NextPart_000_001A_01C3C0B1.D6D47CA0
Content-Type: application/octet-stream;
	name="System.map"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="System.map"

ffffffff80200000 T _ftext=0A=
ffffffff80200280 T except_vec0_r4000=0A=
ffffffff802002d4 T except_vec0_r4600=0A=
ffffffff80200328 T except_vec0_nevada=0A=
ffffffff80200380 T except_vec0_r45k_bvahwbug=0A=
ffffffff802003e0 T except_vec0_r4k_250MHZhwbug=0A=
ffffffff8020043c T except_vec0_r2300=0A=
ffffffff80200480 T except_vec1_generic=0A=
ffffffff802004c0 T except_vec2_generic=0A=
ffffffff802004e8 T except_vec3_r4000=0A=
ffffffff8020051c t handle_vced=0A=
ffffffff80200548 t handle_vcei=0A=
ffffffff80200564 T except_vec3_generic=0A=
ffffffff80200588 T except_vec4=0A=
ffffffff80200590 T except_vec_ejtag_debug=0A=
ffffffff80200598 T ejtag_debug_handler=0A=
ffffffff8020074c T kernel_entry=0A=
ffffffff8020074c T stext=0A=
ffffffff8020074c T _stext=0A=
ffffffff80201000 T swapper_pg_dir=0A=
ffffffff80202000 T empty_bad_page=0A=
ffffffff80203000 T empty_bad_page_table=0A=
ffffffff80204000 T invalid_pte_table=0A=
ffffffff80206000 t dummy=0A=
ffffffff80206000 T init_task_union=0A=
ffffffff80208000 t rest_init=0A=
ffffffff8020803c t prepare_namespace=0A=
ffffffff80208064 t init=0A=
ffffffff80208260 T __compute_return_epc=0A=
ffffffff802085b0 T cpu_idle=0A=
ffffffff80208610 T exit_thread=0A=
ffffffff8020864c T flush_thread=0A=
ffffffff80208688 T copy_thread=0A=
ffffffff80208778 T dump_fpu=0A=
ffffffff802087dc T dump_thread=0A=
ffffffff802088f0 T kernel_thread=0A=
ffffffff80208958 T get_wchan=0A=
ffffffff80208a90 T copy_siginfo_to_user=0A=
ffffffff80208b90 T sys_sigsuspend=0A=
ffffffff80208bb4 t _sys_sigsuspend=0A=
ffffffff80208d34 T sys_rt_sigsuspend=0A=
ffffffff80208d58 t _sys_rt_sigsuspend=0A=
ffffffff80208ee4 T sys_sigaction=0A=
ffffffff80209038 T sys_sigaltstack=0A=
ffffffff80209070 T restore_sigcontext=0A=
ffffffff80209320 T sys_sigreturn=0A=
ffffffff80209490 T sys_rt_sigreturn=0A=
ffffffff80209624 T do_signal=0A=
ffffffff8020a5e0 T ret_from_fork=0A=
ffffffff8020a604 t tracesys_exit=0A=
ffffffff8020a614 T ret_from_exception=0A=
ffffffff8020a614 T ret_from_irq=0A=
ffffffff8020a644 t reschedule=0A=
ffffffff8020a64c T ret_from_sys_call=0A=
ffffffff8020a684 t restore_all=0A=
ffffffff8020a744 t signal_return=0A=
ffffffff8020a780 T spurious_interrupt=0A=
ffffffff8020a7a0 T handle_adel=0A=
ffffffff8020a8c0 T handle_ades=0A=
ffffffff8020a9e0 T handle_ibe=0A=
ffffffff8020ab00 T handle_dbe=0A=
ffffffff8020ac00 T handle_bp=0A=
ffffffff8020ad20 T handle_ri=0A=
ffffffff8020ae20 T handle_cpu=0A=
ffffffff8020af20 T handle_ov=0A=
ffffffff8020b020 T handle_tr=0A=
ffffffff8020b120 T handle_fpe=0A=
ffffffff8020b240 T handle_watch=0A=
ffffffff8020b360 T handle_reserved=0A=
ffffffff8020b480 T handle_external=0A=
ffffffff8020b580 T show_stack=0A=
ffffffff8020b630 T show_trace=0A=
ffffffff8020b720 T show_code=0A=
ffffffff8020b7b4 T __die=0A=
ffffffff8020b8b4 T __die_if_kernel=0A=
ffffffff8020b8e8 T __declare_dbe_table=0A=
ffffffff8020b8f0 t default_be_board_handler=0A=
ffffffff8020badc T do_ibe=0A=
ffffffff8020bb04 T do_dbe=0A=
ffffffff8020bb2c T do_ov=0A=
ffffffff8020bb84 T do_fpe=0A=
ffffffff8020bbec T do_bp=0A=
ffffffff8020bccc T do_tr=0A=
ffffffff8020bdb8 T simulate_ll=0A=
ffffffff8020bed4 T simulate_sc=0A=
ffffffff8020bff0 T do_cpu=0A=
ffffffff8020c0c0 T do_watch=0A=
ffffffff8020c0dc T do_mcheck=0A=
ffffffff8020c0f8 T do_reserved=0A=
ffffffff8020c130 T cache_parity_error=0A=
ffffffff8020c2d8 T set_except_vector=0A=
ffffffff8020c370 T ptrace_disable=0A=
ffffffff8020c378 T sys_ptrace=0A=
ffffffff8020c908 T syscall_trace=0A=
ffffffff8020c990 T sys_vm86=0A=
ffffffff8020c9a0 T sys_ioperm=0A=
ffffffff8020c9a8 T sys_iopl=0A=
ffffffff8020c9b0 T machine_restart=0A=
ffffffff8020c9d8 T machine_halt=0A=
ffffffff8020ca00 T machine_power_off=0A=
ffffffff8020ca30 T __up=0A=
ffffffff8020cab0 T __down=0A=
ffffffff8020cb98 T __down_interruptible=0A=
ffffffff8020ccb8 T __down_trylock=0A=
ffffffff8020cd40 T r3081_wait=0A=
ffffffff8020cd58 T r4k_wait=0A=
ffffffff8020cd70 T sys_pipe=0A=
ffffffff8020cdb4 T old_mmap=0A=
ffffffff8020ce90 T sys_mmap2=0A=
ffffffff8020cf60 T sys_fork=0A=
ffffffff8020cf84 t _sys_fork=0A=
ffffffff8020cfa8 T sys_vfork=0A=
ffffffff8020cfcc t _sys_vfork=0A=
ffffffff8020d080 T sys_clone=0A=
ffffffff8020d0a4 t _sys_clone=0A=
ffffffff8020d0e8 T sys_execve=0A=
ffffffff8020d164 T sys_uname=0A=
ffffffff8020d1b0 T sys_olduname=0A=
ffffffff8020d2a4 T sys_syscall=0A=
ffffffff8020d40c T bad_stack=0A=
ffffffff8020d420 T sys_sysmips=0A=
ffffffff8020d5a4 T sys_cachectl=0A=
ffffffff8020d5ac T sys_pause=0A=
ffffffff8020d5d0 T sys_ipc=0A=
ffffffff8020d800 T handle_sys=0A=
ffffffff8020d8d0 t stack_done=0A=
ffffffff8020d90c T o32_ret_from_sys_call=0A=
ffffffff8020d940 t restore_all=0A=
ffffffff8020d9a4 t signal_return=0A=
ffffffff8020d9c8 t o32_reschedule=0A=
ffffffff8020d9f8 t trace_a_syscall=0A=
ffffffff8020da68 t stackargs=0A=
ffffffff8020dac0 t bad_stack=0A=
ffffffff8020dad8 t illegal_syscall=0A=
ffffffff8020db00 T do_ade=0A=
ffffffff8020de30 t null_rtc_get_time=0A=
ffffffff8020de44 t null_rtc_set_time=0A=
ffffffff8020de4c T do_gettimeofday=0A=
ffffffff8020df44 T do_settimeofday=0A=
ffffffff8020e024 T null_gettimeoffset=0A=
ffffffff8020e02c T fixed_rate_gettimeoffset=0A=
ffffffff8020e05c T timer_interrupt=0A=
ffffffff8020e274 T ll_timer_interrupt=0A=
ffffffff8020e2e8 T to_tm=0A=
ffffffff8020e440 T no_action=0A=
ffffffff8020e448 t enable_none=0A=
ffffffff8020e450 t startup_none=0A=
ffffffff8020e458 t disable_none=0A=
ffffffff8020e460 t ack_none=0A=
ffffffff8020e488 T get_irq_list=0A=
ffffffff8020e63c T handle_IRQ_event=0A=
ffffffff8020e73c T do_IRQ=0A=
ffffffff8020e868 T request_irq=0A=
ffffffff8020e960 T free_irq=0A=
ffffffff8020ea88 T probe_irq_on=0A=
ffffffff8020ed54 T probe_irq_mask=0A=
ffffffff8020eebc T probe_irq_off=0A=
ffffffff8020f014 T setup_irq=0A=
ffffffff8020f168 T disable_irq_NOsync=0A=
ffffffff8020f220 T resume=0A=
ffffffff8020f2e0 T pci_alloc_consistent=0A=
ffffffff8020f3a0 T pci_free_consistent=0A=
ffffffff8020f3f0 T get_cpuinfo=0A=
ffffffff8020fa48 T init_irq_proc=0A=
ffffffff8020fa50 T search_exception_table=0A=
ffffffff8020fb60 T sys_cacheflush=0A=
ffffffff8020fb88 T do_check_pgt_cache=0A=
ffffffff8020fbac T show_mem=0A=
ffffffff8020fd38 T free_initmem=0A=
ffffffff8020fe64 T si_meminfo=0A=
ffffffff8020fec0 t remap_area_pages=0A=
ffffffff8020fee4 T __ioremap=0A=
ffffffff8020ff50 T iounmap=0A=
ffffffff8020ff60 T do_page_fault=0A=
ffffffff8020ffb0 T __wbflush=0A=
ffffffff8020ffcc T lx4189_clear_page=0A=
ffffffff80210000 t lx4189_copy_page=0A=
ffffffff80210098 t lx4189_flush_icache_range=0A=
ffffffff802100dc t lx4189_flush_dcache_range=0A=
ffffffff80210120 t lx4189_flush_cache_mm=0A=
ffffffff80210150 t lx4189_flush_cache_range=0A=
ffffffff80210180 t lx4189_flush_cache_page=0A=
ffffffff802101b0 t lx4189_flush_page_to_ram=0A=
ffffffff802101b8 t lx4189_flush_icache_page=0A=
ffffffff802101e8 t lx4189_flush_cache_sigtramp=0A=
ffffffff80210218 t lx4189_dma_cache_wback_inv=0A=
ffffffff80210254 T flush_tlb_all=0A=
ffffffff8021025c T flush_tlb_mm=0A=
ffffffff80210264 T flush_tlb_range=0A=
ffffffff8021026c T flush_tlb_page=0A=
ffffffff80210274 T pgd_init=0A=
ffffffff802102b4 T update_mmu_cache=0A=
ffffffff802102bc T show_regs=0A=
ffffffff802103e4 t lx4189_flush_cache_all=0A=
ffffffff80210420 T scheduling_functions_start_here=0A=
ffffffff8021043c t reschedule_idle=0A=
ffffffff80210538 t process_timeout=0A=
ffffffff80210608 T schedule_timeout=0A=
ffffffff802106f0 T schedule_tail=0A=
ffffffff8021071c T schedule=0A=
ffffffff80210cc4 T __wake_up=0A=
ffffffff80210e70 T __wake_up_sync=0A=
ffffffff80211038 T complete=0A=
ffffffff802111e8 T wait_for_completion=0A=
ffffffff80211320 T interruptible_sleep_on=0A=
ffffffff80211400 T interruptible_sleep_on_timeout=0A=
ffffffff802114f0 T sleep_on=0A=
ffffffff802115d0 T sleep_on_timeout=0A=
ffffffff802116c0 T scheduling_functions_end_here=0A=
ffffffff802116dc T sys_nice=0A=
ffffffff80211780 t setscheduler=0A=
ffffffff802119b4 T sys_sched_setscheduler=0A=
ffffffff802119dc T sys_sched_setparam=0A=
ffffffff80211a0c T sys_sched_getscheduler=0A=
ffffffff80211a98 T sys_sched_getparam=0A=
ffffffff80211b60 T sys_sched_yield=0A=
ffffffff80211bb4 T sys_sched_get_priority_max=0A=
ffffffff80211bf8 T sys_sched_get_priority_min=0A=
ffffffff80211c3c T sys_sched_rr_get_interval=0A=
ffffffff80211d70 t show_task=0A=
ffffffff80211f80 T render_sigset_t=0A=
ffffffff80212084 T show_state=0A=
ffffffff80212100 T reparent_to_init=0A=
ffffffff802122b4 T daemonize=0A=
ffffffff802123d8 T wake_up_process=0A=
ffffffff802124c0 T add_wait_queue=0A=
ffffffff80212538 T add_wait_queue_exclusive=0A=
ffffffff802125b0 T remove_wait_queue=0A=
ffffffff8021261c t get_pid=0A=
ffffffff802127fc T mm_alloc=0A=
ffffffff80212864 T mmput=0A=
ffffffff80212954 T mm_release=0A=
ffffffff80212988 T copy_fs_struct=0A=
ffffffff80212d18 t count_open_files=0A=
ffffffff80212d50 t copy_files=0A=
ffffffff8021303c T do_fork=0A=
ffffffff80213e08 T __mmdrop=0A=
ffffffff80213e70 t default_handler=0A=
ffffffff80213ef0 t lookup_exec_domain=0A=
ffffffff80213f80 T register_exec_domain=0A=
ffffffff80213fec T unregister_exec_domain=0A=
ffffffff80214044 T __set_personality=0A=
ffffffff80214214 T get_exec_domain_list=0A=
ffffffff802142c0 T sys_personality=0A=
ffffffff80214320 T panic=0A=
ffffffff80214480 T do_syslog=0A=
ffffffff802149a4 T sys_syslog=0A=
ffffffff80214a00 t __call_console_drivers=0A=
ffffffff80214a94 t _call_console_drivers=0A=
ffffffff80214b18 t call_console_drivers=0A=
ffffffff80214c9c t emit_log_char=0A=
ffffffff80214d30 T printk=0A=
ffffffff80214f94 T acquire_console_sem=0A=
ffffffff80215060 T release_console_sem=0A=
ffffffff802151d8 T console_conditional_schedule=0A=
ffffffff80215218 T console_print=0A=
ffffffff80215240 T register_console=0A=
ffffffff802154d0 T unregister_console=0A=
ffffffff80215578 T tty_write_message=0A=
ffffffff802155e0 T inter_module_register=0A=
ffffffff80215728 T inter_module_unregister=0A=
ffffffff80215820 T inter_module_get=0A=
ffffffff802158c8 T inter_module_get_request=0A=
ffffffff802158fc T inter_module_put=0A=
ffffffff80215a24 T sys_create_module=0A=
ffffffff80215bf8 T sys_init_module=0A=
ffffffff802165a0 T try_inc_mod_count=0A=
ffffffff80216634 T sys_delete_module=0A=
ffffffff802168dc t qm_modules=0A=
ffffffff80216a04 t qm_deps=0A=
ffffffff80216bb4 t qm_refs=0A=
ffffffff80216d20 t qm_symbols=0A=
ffffffff80216ec4 t qm_info=0A=
ffffffff80216f90 T sys_query_module=0A=
ffffffff80217214 T sys_get_kernel_syms=0A=
ffffffff802173f4 T find_module=0A=
ffffffff80217468 T free_module=0A=
ffffffff802175f8 T get_module_list=0A=
ffffffff80217b10 T get_ksyms_list=0A=
ffffffff80217c70 t release_task=0A=
ffffffff80217ebc T session_of_pgrp=0A=
ffffffff80217f48 t will_become_orphaned_pgrp=0A=
ffffffff80217fec T is_orphaned_pgrp=0A=
ffffffff8021800c T put_files_struct=0A=
ffffffff802181f0 T exit_files=0A=
ffffffff80218224 T put_fs_struct=0A=
ffffffff8021844c T exit_fs=0A=
ffffffff80218684 T start_lazy_tlb=0A=
ffffffff802186ec T end_lazy_tlb=0A=
ffffffff80218784 T exit_mm=0A=
ffffffff80218850 t exit_notify=0A=
ffffffff80218bac T do_exit=0A=
ffffffff802190ac T complete_and_exit=0A=
ffffffff802190d0 T sys_exit=0A=
ffffffff802190e4 T sys_wait4=0A=
ffffffff802194f4 T sys_waitpid=0A=
ffffffff80219520 t tvtojiffies=0A=
ffffffff8021957c t jiffiestotv=0A=
ffffffff802195d0 T do_getitimer=0A=
ffffffff80219698 T sys_getitimer=0A=
ffffffff802196f8 T it_real_fn=0A=
ffffffff80219760 T do_setitimer=0A=
ffffffff80219874 T sys_setitimer=0A=
ffffffff80219940 T sys_sysinfo=0A=
ffffffff80219b00 t do_normal_gettime=0A=
ffffffff80219b20 T get_fast_time=0A=
ffffffff80219b48 T sys_time=0A=
ffffffff80219b74 T sys_stime=0A=
ffffffff80219c40 T sys_gettimeofday=0A=
ffffffff80219ccc T do_sys_settimeofday=0A=
ffffffff80219dc8 T sys_settimeofday=0A=
ffffffff80219e54 T do_adjtimex=0A=
ffffffff8021a434 T sys_adjtimex=0A=
ffffffff8021a4b0 T do_softirq=0A=
ffffffff8021a658 T raise_softirq=0A=
ffffffff8021a720 T open_softirq=0A=
ffffffff8021a744 T __tasklet_schedule=0A=
ffffffff8021a820 T __tasklet_hi_schedule=0A=
ffffffff8021a8fc t tasklet_action=0A=
ffffffff8021aaa4 t tasklet_hi_action=0A=
ffffffff8021ac4c T tasklet_init=0A=
ffffffff8021ac64 T tasklet_kill=0A=
ffffffff8021ad98 t bh_action=0A=
ffffffff8021ae6c T init_bh=0A=
ffffffff8021ae9c T remove_bh=0A=
ffffffff8021aee4 T __run_task_queue=0A=
ffffffff8021afd4 t ksoftirqd=0A=
ffffffff8021b098 T cpu_raise_softirq=0A=
ffffffff8021b110 t do_resource_list=0A=
ffffffff8021b1f0 T get_resource_list=0A=
ffffffff8021b24c t __request_resource=0A=
ffffffff8021b2e8 t __release_resource=0A=
ffffffff8021b338 T request_resource=0A=
ffffffff8021b360 T release_resource=0A=
ffffffff8021b380 T check_resource=0A=
ffffffff8021b3d0 t find_resource=0A=
ffffffff8021b530 T allocate_resource=0A=
ffffffff8021b5a8 T __request_region=0A=
ffffffff8021b67c T __check_region=0A=
ffffffff8021b6c4 T __release_region=0A=
ffffffff8021b780 T do_sysctl=0A=
ffffffff8021b894 T sys_sysctl=0A=
ffffffff8021b8fc t test_perm=0A=
ffffffff8021b960 t parse_table=0A=
ffffffff8021babc T do_sysctl_strategy=0A=
ffffffff8021bc38 T register_sysctl_table=0A=
ffffffff8021bd00 T unregister_sysctl_table=0A=
ffffffff8021bd54 t register_proc_table=0A=
ffffffff8021bed8 t unregister_proc_table=0A=
ffffffff8021bfb0 t do_rw_proc=0A=
ffffffff8021c080 t proc_readsys=0A=
ffffffff8021c0b8 t proc_writesys=0A=
ffffffff8021c0f0 t proc_sys_permission=0A=
ffffffff8021c114 T proc_dostring=0A=
ffffffff8021c2f8 t proc_doutsstring=0A=
ffffffff8021c3bc t do_proc_dointvec=0A=
ffffffff8021c814 T proc_dointvec=0A=
ffffffff8021c844 T proc_dointvec_bset=0A=
ffffffff8021c8c0 T proc_dointvec_minmax=0A=
ffffffff8021ccdc t do_proc_doulongvec_minmax=0A=
ffffffff8021d148 T proc_doulongvec_minmax=0A=
ffffffff8021d178 T proc_doulongvec_ms_jiffies_minmax=0A=
ffffffff8021d1ac T proc_dointvec_jiffies=0A=
ffffffff8021d1dc T sysctl_string=0A=
ffffffff8021d33c T sysctl_intvec=0A=
ffffffff8021d404 T sysctl_jiffies=0A=
ffffffff8021d500 T sys_acct=0A=
ffffffff8021d510 T sys_capget=0A=
ffffffff8021d63c t cap_set_pg=0A=
ffffffff8021d6a0 t cap_set_all=0A=
ffffffff8021d710 T sys_capset=0A=
ffffffff8021d960 T ptrace_attach=0A=
ffffffff8021dc1c T ptrace_detach=0A=
ffffffff8021dd70 t access_mm=0A=
ffffffff8021ddc4 T access_process_vm=0A=
ffffffff8021debc T ptrace_readdata=0A=
ffffffff8021df90 T ptrace_writedata=0A=
ffffffff8021e070 T init_timervecs=0A=
ffffffff8021e0f4 T add_timer=0A=
ffffffff8021e288 T mod_timer=0A=
ffffffff8021e3f4 T del_timer=0A=
ffffffff8021e478 T tqueue_bh=0A=
ffffffff8021e4b0 T immediate_bh=0A=
ffffffff8021e4e8 t second_overflow=0A=
ffffffff8021e828 t update_wall_time_one_tick=0A=
ffffffff8021e93c t update_wall_time=0A=
ffffffff8021e9b0 T update_one_process=0A=
ffffffff8021eaf0 T update_process_times=0A=
ffffffff8021ec04 t count_active_tasks=0A=
ffffffff8021ec60 T timer_bh=0A=
ffffffff8021f09c T do_timer=0A=
ffffffff8021f1dc T sys_alarm=0A=
ffffffff8021f220 T sys_getpid=0A=
ffffffff8021f22c T sys_getppid=0A=
ffffffff8021f240 T sys_getuid=0A=
ffffffff8021f24c T sys_geteuid=0A=
ffffffff8021f258 T sys_getgid=0A=
ffffffff8021f264 T sys_getegid=0A=
ffffffff8021f270 T sys_nanosleep=0A=
ffffffff8021f460 T free_uid=0A=
ffffffff8021f508 T alloc_uid=0A=
ffffffff8021f6e0 t next_signal=0A=
ffffffff8021f750 t flush_sigqueue=0A=
ffffffff8021f818 T flush_signals=0A=
ffffffff8021f83c T exit_sighand=0A=
ffffffff8021f91c T flush_signal_handlers=0A=
ffffffff8021f98c T block_all_signals=0A=
ffffffff8021f9e4 T unblock_all_signals=0A=
ffffffff8021fa9c t collect_signal=0A=
ffffffff8021fd38 T dequeue_signal=0A=
ffffffff8021fe50 t rm_from_queue=0A=
ffffffff8021ff94 t rm_sig_from_queue=0A=
ffffffff8021ffb4 T bad_signal=0A=
ffffffff8022006c t signal_type=0A=
ffffffff802200e0 t ignored_signal=0A=
ffffffff8022014c t handle_stop_signal=0A=
ffffffff802201f4 t send_signal=0A=
ffffffff8022043c t deliver_signal=0A=
ffffffff802204d0 T send_sig_info=0A=
ffffffff802205f4 T force_sig_info=0A=
ffffffff8022074c T kill_pg_info=0A=
ffffffff802207f4 T kill_sl_info=0A=
ffffffff802208ac t kill_something_info=0A=
ffffffff802209fc T send_sig=0A=
ffffffff80220a24 T force_sig=0A=
ffffffff80220a48 T kill_pg=0A=
ffffffff80220a74 T kill_sl=0A=
ffffffff80220aa0 T kill_proc=0A=
ffffffff80220b14 t wake_up_parent=0A=
ffffffff80220b64 T do_notify_parent=0A=
ffffffff80220c30 T notify_parent=0A=
ffffffff80220c50 T sys_rt_sigprocmask=0A=
ffffffff80220f54 T do_sigpending=0A=
ffffffff80221034 T sys_rt_sigpending=0A=
ffffffff80221054 T sys_rt_sigtimedwait=0A=
ffffffff80221448 T sys_kill=0A=
ffffffff8022148c T sys_rt_sigqueueinfo=0A=
ffffffff80221540 T do_sigaction=0A=
ffffffff80221750 T do_sigaltstack=0A=
ffffffff80221868 T sys_sigpending=0A=
ffffffff80221888 T sys_sigprocmask=0A=
ffffffff80221a58 T sys_rt_sigaction=0A=
ffffffff80221b10 T sys_sgetmask=0A=
ffffffff80221b1c T sys_ssetmask=0A=
ffffffff80221bfc T kill_proc_info=0A=
ffffffff80221c68 t recalc_sigpending=0A=
ffffffff80221cd0 T notifier_chain_register=0A=
ffffffff80221d3c T notifier_chain_unregister=0A=
ffffffff80221d88 T notifier_call_chain=0A=
ffffffff80221e00 T register_reboot_notifier=0A=
ffffffff80221e2c T unregister_reboot_notifier=0A=
ffffffff80221e58 T sys_ni_syscall=0A=
ffffffff80221e60 t proc_sel=0A=
ffffffff80221f08 T sys_setpriority=0A=
ffffffff8022208c T sys_getpriority=0A=
ffffffff80222144 T sys_reboot=0A=
ffffffff8022235c t deferred_cad=0A=
ffffffff80222390 T ctrl_alt_del=0A=
ffffffff802223e0 T sys_setregid=0A=
ffffffff8022254c T sys_setgid=0A=
ffffffff80222628 t set_user=0A=
ffffffff80222760 T sys_setreuid=0A=
ffffffff802229ac T sys_setuid=0A=
ffffffff80222b54 T sys_setresuid=0A=
ffffffff80222dbc T sys_getresuid=0A=
ffffffff80222e08 T sys_setresgid=0A=
ffffffff80222f70 T sys_getresgid=0A=
ffffffff80222fbc T sys_setfsuid=0A=
ffffffff802230e8 T sys_setfsgid=0A=
ffffffff802231ac T sys_times=0A=
ffffffff802231f8 T sys_setpgid=0A=
ffffffff80223338 T sys_getpgid=0A=
ffffffff802233a0 T sys_getpgrp=0A=
ffffffff802233ac T sys_getsid=0A=
ffffffff80223414 T sys_setsid=0A=
ffffffff8022347c T sys_getgroups=0A=
ffffffff802234dc T sys_setgroups=0A=
ffffffff8022356c t supplemental_group_member=0A=
ffffffff802235a4 T in_group_p=0A=
ffffffff802235d8 T in_egroup_p=0A=
ffffffff8022360c T sys_newuname=0A=
ffffffff80223678 T sys_sethostname=0A=
ffffffff80223738 T sys_gethostname=0A=
ffffffff802237cc T sys_setdomainname=0A=
ffffffff8022388c T sys_getrlimit=0A=
ffffffff802238e4 T sys_old_getrlimit=0A=
ffffffff80223974 T sys_setrlimit=0A=
ffffffff80223a74 T getrusage=0A=
ffffffff80223c90 T sys_getrusage=0A=
ffffffff80223cd4 T sys_umask=0A=
ffffffff80223d34 T sys_prctl=0A=
ffffffff80223e20 T exec_usermodehelper=0A=
ffffffff802247c4 t ____call_usermodehelper=0A=
ffffffff8022480c t __call_usermodehelper=0A=
ffffffff80224858 T call_usermodehelper=0A=
ffffffff80224964 T dev_probe_lock=0A=
ffffffff802249ec T dev_probe_unlock=0A=
ffffffff80224a80 t need_keventd=0A=
ffffffff80224ac0 T current_is_keventd=0A=
ffffffff80224b0c T schedule_task=0A=
ffffffff80224c2c t context_thread=0A=
ffffffff80224f0c T flush_scheduled_tasks=0A=
ffffffff80224fa4 T start_context_thread=0A=
ffffffff80224fd0 T get_dma_list=0A=
ffffffff80225054 T request_dma=0A=
ffffffff802250e8 T free_dma=0A=
ffffffff802251a0 t add_page_to_hash_queue=0A=
ffffffff80225260 T __remove_inode_page=0A=
ffffffff80225368 T remove_inode_page=0A=
ffffffff802253c8 T __set_page_dirty=0A=
ffffffff8022542c T invalidate_inode_pages=0A=
ffffffff802255d4 t truncate_complete_page=0A=
ffffffff802256dc t truncate_list_pages=0A=
ffffffff80225a14 T truncate_inode_pages=0A=
ffffffff80225abc t invalidate_list_pages2=0A=
ffffffff80225f14 T invalidate_inode_pages2=0A=
ffffffff80225f68 t writeout_one_page=0A=
ffffffff80225fec T waitfor_one_page=0A=
ffffffff8022606c t do_buffer_fdatasync=0A=
ffffffff80226244 T generic_buffer_fdatasync=0A=
ffffffff80226334 T filemap_fdatasync=0A=
ffffffff80226574 T filemap_fdatawait=0A=
ffffffff80226680 T add_to_page_cache_locked=0A=
ffffffff802267b4 T add_to_page_cache=0A=
ffffffff80226900 t add_to_page_cache_unique=0A=
ffffffff80226a60 t page_cache_read=0A=
ffffffff80226ba0 T ___wait_on_page=0A=
ffffffff80226c78 t __lock_page=0A=
ffffffff80226da0 T lock_page=0A=
ffffffff80226e28 T __find_get_page=0A=
ffffffff80226ecc T __find_lock_page=0A=
ffffffff80227088 t generic_file_readahead=0A=
ffffffff802272dc T mark_page_accessed=0A=
ffffffff802273d8 T do_generic_file_read=0A=
ffffffff80227bf4 t generic_file_direct_IO=0A=
ffffffff80227f30 T file_read_actor=0A=
ffffffff80227fb4 T generic_file_read=0A=
ffffffff802281a8 t file_send_actor=0A=
ffffffff8022828c T sys_sendfile=0A=
ffffffff8022850c T generic_file_mmap=0A=
ffffffff80228520 T sys_msync=0A=
ffffffff80228528 T sys_madvise=0A=
ffffffff80228530 T sys_mincore=0A=
ffffffff80228538 T read_cache_page=0A=
ffffffff80228848 T grab_cache_page=0A=
ffffffff80228950 T generic_file_write=0A=
ffffffff802294bc T remove_suid=0A=
ffffffff80229540 T sys_mlock=0A=
ffffffff80229548 T sys_munlock=0A=
ffffffff80229550 T sys_mlockall=0A=
ffffffff80229558 T sys_munlockall=0A=
ffffffff80229560 T sys_brk=0A=
ffffffff802295e0 T do_mmap_pgoff=0A=
ffffffff802299bc T do_munmap=0A=
ffffffff80229b50 T exit_mmap=0A=
ffffffff80229ca4 T sys_munmap=0A=
ffffffff80229d10 T sys_mprotect=0A=
ffffffff80229d20 T sys_mremap=0A=
ffffffff80229d30 T alloc_pages_node=0A=
ffffffff80229d70 t __free_pages_ok=0A=
ffffffff8022a234 t rmqueue=0A=
ffffffff8022a650 T _alloc_pages=0A=
ffffffff8022a680 t balance_classzone=0A=
ffffffff8022aa20 T __alloc_pages=0A=
ffffffff8022acd8 T __get_free_pages=0A=
ffffffff8022ad20 T get_zeroed_page=0A=
ffffffff8022ad70 T __free_pages=0A=
ffffffff8022ae08 T free_pages=0A=
ffffffff8022ae44 T nr_free_pages=0A=
ffffffff8022ae98 T nr_free_buffer_pages=0A=
ffffffff8022aef0 T show_free_areas_core=0A=
ffffffff8022b08c T show_free_areas=0A=
ffffffff8022b0c0 t kmem_cache_estimate=0A=
ffffffff8022b1a0 t kmem_slab_destroy=0A=
ffffffff8022b304 T kmem_cache_create=0A=
ffffffff8022b85c t __kmem_cache_shrink=0A=
ffffffff8022b978 T kmem_cache_shrink=0A=
ffffffff8022b9e4 T kmem_cache_destroy=0A=
ffffffff8022bcb0 t kmem_cache_grow=0A=
ffffffff8022c11c T kmem_cache_alloc=0A=
ffffffff8022c314 T kmalloc=0A=
ffffffff8022c568 T kmem_cache_free=0A=
ffffffff8022c6b8 T kfree=0A=
ffffffff8022c80c T kmem_find_general_cachep=0A=
ffffffff8022c854 T kmem_cache_reap=0A=
ffffffff8022cc7c t proc_getdata=0A=
ffffffff8022d024 T slabinfo_read_proc=0A=
ffffffff8022d09c T slabinfo_write_proc=0A=
ffffffff8022d0a4 T ksize=0A=
ffffffff8022d150 T sys_swapoff=0A=
ffffffff8022d158 T get_swaparea_info=0A=
ffffffff8022d17c T is_swap_partition=0A=
ffffffff8022d184 T sys_swapon=0A=
ffffffff8022d18c T si_swapinfo=0A=
ffffffff8022d1a0 T vfree=0A=
ffffffff8022d1c0 T __vmalloc=0A=
ffffffff8022d1e4 T vread=0A=
ffffffff8022d210 t swap_out=0A=
ffffffff8022d218 t shrink_cache=0A=
ffffffff8022d9e0 t refill_inactive=0A=
ffffffff8022dd54 t shrink_caches=0A=
ffffffff8022de30 T try_to_free_pages=0A=
ffffffff8022deb8 t check_classzone_need_balance=0A=
ffffffff8022df00 t kswapd_balance_pgdat=0A=
ffffffff8022dfd8 t kswapd_balance=0A=
ffffffff8022e028 t kswapd_can_sleep_pgdat=0A=
ffffffff8022e09c t kswapd_can_sleep=0A=
ffffffff8022e0e0 T kswapd=0A=
ffffffff8022e1d0 T map_user_kiobuf=0A=
ffffffff8022e1d8 T mark_dirty_kiobuf=0A=
ffffffff8022e2ac T unmap_kiobuf=0A=
ffffffff8022e2b4 T lock_kiovec=0A=
ffffffff8022e2bc T unlock_kiovec=0A=
ffffffff8022e2c4 T vmtruncate=0A=
ffffffff8022e3f0 T remap_page_range=0A=
ffffffff8022e400 T deactivate_page_nolock=0A=
ffffffff8022e680 T deactivate_page=0A=
ffffffff8022e6a0 T activate_page_nolock=0A=
ffffffff8022e91c T activate_page=0A=
ffffffff8022e93c T lru_cache_add=0A=
ffffffff8022eab4 T __lru_cache_del=0A=
ffffffff8022edcc T lru_cache_del=0A=
ffffffff8022ee30 T __delete_from_swap_cache=0A=
ffffffff8022ee60 T delete_from_swap_cache=0A=
ffffffff8022ee90 T free_page_and_swap_cache=0A=
ffffffff8022f020 T lookup_swap_cache=0A=
ffffffff8022f058 T read_swap_cache_async=0A=
ffffffff8022f090 t int_sqrt=0A=
ffffffff8022f0d0 t badness=0A=
ffffffff8022f1d8 t select_bad_process=0A=
ffffffff8022f26c T oom_kill_task=0A=
ffffffff8022f2e4 T oom_kill=0A=
ffffffff8022f390 T vfs_statfs=0A=
ffffffff8022f410 T sys_statfs=0A=
ffffffff8022f4a8 T sys_fstatfs=0A=
ffffffff8022f540 T do_truncate=0A=
ffffffff8022f690 T sys_truncate=0A=
ffffffff8022f8f8 T sys_ftruncate=0A=
ffffffff8022fa94 T sys_truncate64=0A=
ffffffff8022fcf4 T sys_ftruncate64=0A=
ffffffff8022fe88 T sys_utime=0A=
ffffffff8022ff78 T sys_utimes=0A=
ffffffff8023006c T sys_access=0A=
ffffffff802301ac T sys_chdir=0A=
ffffffff802303ec T sys_fchdir=0A=
ffffffff8023060c T sys_chroot=0A=
ffffffff80230878 T sys_fchmod=0A=
ffffffff8023093c T sys_chmod=0A=
ffffffff802309fc t chown_common=0A=
ffffffff80230b10 T sys_chown=0A=
ffffffff80230b7c T sys_lchown=0A=
ffffffff80230be8 T sys_fchown=0A=
ffffffff80230c54 T filp_open=0A=
ffffffff80230cac T dentry_open=0A=
ffffffff80230fd4 T get_unused_fd=0A=
ffffffff802311e8 T sys_open=0A=
ffffffff8023132c T sys_creat=0A=
ffffffff80231350 T filp_close=0A=
ffffffff802313f8 T sys_close=0A=
ffffffff802314bc T sys_vhangup=0A=
ffffffff80231518 T generic_file_open=0A=
ffffffff80231570 T generic_read_dir=0A=
ffffffff80231578 T generic_file_llseek=0A=
ffffffff80231680 T no_llseek=0A=
ffffffff8023168c T default_llseek=0A=
ffffffff80231744 T sys_lseek=0A=
ffffffff802317fc T sys_llseek=0A=
ffffffff802318f8 T sys_read=0A=
ffffffff80231a58 T sys_write=0A=
ffffffff80231bb8 t do_readv_writev=0A=
ffffffff80231e80 T sys_readv=0A=
ffffffff80231f34 T sys_writev=0A=
ffffffff80231fe8 T sys_pread=0A=
ffffffff8023215c T sys_pwrite=0A=
ffffffff802322d0 T get_device_list=0A=
ffffffff80232368 t get_chrfops=0A=
ffffffff80232400 T register_chrdev=0A=
ffffffff802324a0 T unregister_chrdev=0A=
ffffffff80232518 T chrdev_open=0A=
ffffffff8023258c T kdevname=0A=
ffffffff802325d0 T cdevname=0A=
ffffffff80232634 t sock_no_open=0A=
ffffffff8023263c T init_special_inode=0A=
ffffffff80232710 T get_empty_filp=0A=
ffffffff802328a4 T init_private_file=0A=
ffffffff80232948 T fput=0A=
ffffffff80232c08 T fget=0A=
ffffffff80232ca0 T put_filp=0A=
ffffffff80232d5c T file_move=0A=
ffffffff80232da0 T fs_may_remount_ro=0A=
ffffffff80232e20 T __wait_on_buffer=0A=
ffffffff80232f98 T end_buffer_io_sync=0A=
ffffffff80233188 t write_locked_buffers=0A=
ffffffff802331e4 t write_some_buffers=0A=
ffffffff802334a4 t write_unlocked_buffers=0A=
ffffffff80233500 t wait_for_buffers=0A=
ffffffff80233694 t wait_for_locked_buffers=0A=
ffffffff802336e8 T sync_buffers=0A=
ffffffff80233760 T fsync_super=0A=
ffffffff802338bc T fsync_no_super=0A=
ffffffff802338f4 T fsync_dev=0A=
ffffffff8023393c T sync_dev=0A=
ffffffff8023395c T sys_sync=0A=
ffffffff8023397c T file_fsync=0A=
ffffffff80233ac8 T sys_fsync=0A=
ffffffff80233c4c T sys_fdatasync=0A=
ffffffff80233dd0 t __insert_into_lru_list=0A=
ffffffff80233e70 t __remove_from_lru_list=0A=
ffffffff80233f24 t __remove_from_free_list=0A=
ffffffff80233f9c t __remove_from_queues=0A=
ffffffff80233ff8 t __insert_into_queues=0A=
ffffffff8023409c t put_last_free=0A=
ffffffff80234128 T get_hash_table=0A=
ffffffff8023422c T buffer_insert_inode_queue=0A=
ffffffff80234280 T buffer_insert_inode_data_queue=0A=
ffffffff802342d4 t __remove_inode_queue=0A=
ffffffff802342fc T inode_has_buffers=0A=
ffffffff80234328 T __invalidate_buffers=0A=
ffffffff80234914 T set_blocksize=0A=
ffffffff80234cf0 t free_more_memory=0A=
ffffffff80234d30 T init_buffer=0A=
ffffffff80234d40 t end_buffer_io_async=0A=
ffffffff80235210 T fsync_inode_buffers=0A=
ffffffff80235480 T fsync_inode_data_buffers=0A=
ffffffff802356f0 T osync_inode_buffers=0A=
ffffffff80235804 T osync_inode_data_buffers=0A=
ffffffff80235918 T invalidate_inode_buffers=0A=
ffffffff802359bc T getblk=0A=
ffffffff80235be8 t balance_dirty_state=0A=
ffffffff80235c6c T balance_dirty=0A=
ffffffff80235cbc T __mark_buffer_dirty=0A=
ffffffff80235d5c T mark_buffer_dirty=0A=
ffffffff80235e04 t __refile_buffer=0A=
ffffffff80235e84 T refile_buffer=0A=
ffffffff80235ea4 T __brelse=0A=
ffffffff80235f38 T __bforget=0A=
ffffffff80236030 T bread=0A=
ffffffff802360d0 t get_unused_buffer_head=0A=
ffffffff802361a0 T set_bh_page=0A=
ffffffff8023620c t create_buffers=0A=
ffffffff802363b4 t unmap_buffer=0A=
ffffffff802366f8 T discard_bh_page=0A=
ffffffff80236848 T create_empty_buffers=0A=
ffffffff80236938 t unmap_underlying_metadata=0A=
ffffffff80236a64 t __block_write_full_page=0A=
ffffffff80236e7c t __block_prepare_write=0A=
ffffffff80237188 t __block_commit_write=0A=
ffffffff802373c0 T block_read_full_page=0A=
ffffffff80237824 T cont_prepare_write=0A=
ffffffff80237ce0 T block_prepare_write=0A=
ffffffff80237d88 T generic_commit_write=0A=
ffffffff80237e40 T block_truncate_page=0A=
ffffffff80238154 T block_write_full_page=0A=
ffffffff802383e4 T generic_block_bmap=0A=
ffffffff8023841c T generic_direct_IO=0A=
ffffffff802385cc t end_buffer_io_kiobuf=0A=
ffffffff80238780 t wait_kio=0A=
ffffffff80238844 T brw_kiovec=0A=
ffffffff80238d1c T brw_page=0A=
ffffffff80238f14 T block_symlink=0A=
ffffffff802390e0 t grow_buffers=0A=
ffffffff80239430 t sync_page_buffers=0A=
ffffffff80239564 T try_to_free_buffers=0A=
ffffffff80239724 T show_buffers=0A=
ffffffff80239758 T wakeup_bdflush=0A=
ffffffff80239784 t sync_old_buffers=0A=
ffffffff802397fc T block_sync_page=0A=
ffffffff80239834 T sys_bdflush=0A=
ffffffff80239928 T bdflush=0A=
ffffffff80239a68 T kupdate=0A=
ffffffff80239ca8 T set_buffer_async_io=0A=
ffffffff80239d10 T __mark_dirty=0A=
ffffffff80239d44 T unlock_buffer=0A=
ffffffff80239e30 t get_filesystem=0A=
ffffffff80239eb8 t put_filesystem=0A=
ffffffff80239f40 t find_filesystem=0A=
ffffffff80239fa4 T register_filesystem=0A=
ffffffff8023a024 T unregister_filesystem=0A=
ffffffff8023a07c t fs_index=0A=
ffffffff8023a124 t fs_name=0A=
ffffffff8023a1cc t fs_maxindex=0A=
ffffffff8023a1f8 T sys_sysfs=0A=
ffffffff8023a280 T get_filesystem_list=0A=
ffffffff8023a318 T get_fs_type=0A=
ffffffff8023a35c T alloc_vfsmnt=0A=
ffffffff8023a3e4 T lookup_mnt=0A=
ffffffff8023a460 t detach_mnt=0A=
ffffffff8023a4dc t attach_mnt=0A=
ffffffff8023a694 t add_vfsmnt=0A=
ffffffff8023a7ec t clone_mnt=0A=
ffffffff8023a984 t graft_tree=0A=
ffffffff8023ac3c T __mntput=0A=
ffffffff8023aca4 t mangle=0A=
ffffffff8023ad7c T get_filesystem_info=0A=
ffffffff8023b364 T drop_super=0A=
ffffffff8023b3a8 t put_super=0A=
ffffffff8023b444 T sync_supers=0A=
ffffffff8023b738 T get_super=0A=
ffffffff8023b7ec T sys_ustat=0A=
ffffffff8023b898 t alloc_super=0A=
ffffffff8023b9d4 t read_super=0A=
ffffffff8023bcbc T get_unnamed_dev=0A=
ffffffff8023bd64 T put_unnamed_dev=0A=
ffffffff8023be30 t grab_super=0A=
ffffffff8023befc t get_sb_bdev=0A=
ffffffff8023c358 t get_sb_nodev=0A=
ffffffff8023c3f8 t get_sb_single=0A=
ffffffff8023c6fc t kill_super=0A=
ffffffff8023ca08 t do_remount_sb=0A=
ffffffff8023cbe8 T may_umount=0A=
ffffffff8023cc00 t do_umount=0A=
ffffffff8023cda8 T sys_umount=0A=
ffffffff8023cf98 T sys_oldumount=0A=
ffffffff8023cfb8 t mount_is_safe=0A=
ffffffff8023cff0 t do_loopback=0A=
ffffffff8023d1f8 t do_remount=0A=
ffffffff8023d2dc T do_kern_mount=0A=
ffffffff8023d56c T kern_mount=0A=
ffffffff8023d598 t do_add_mount=0A=
ffffffff8023d7b8 t copy_mount_options=0A=
ffffffff8023d874 T do_mount=0A=
ffffffff8023d9fc T sys_mount=0A=
ffffffff8023daf4 t chroot_fs_refs=0A=
ffffffff8023df0c T sys_pivot_root=0A=
ffffffff8023e540 t blkdev_direct_IO=0A=
ffffffff8023e690 t blkdev_writepage=0A=
ffffffff8023ea54 t blkdev_readpage=0A=
ffffffff8023ee50 t __blkdev_prepare_write=0A=
ffffffff8023f100 t blkdev_prepare_write=0A=
ffffffff8023f198 t __blkdev_commit_write=0A=
ffffffff8023f3a4 t blkdev_commit_write=0A=
ffffffff8023f3d8 t block_llseek=0A=
ffffffff8023f4e4 t __block_fsync=0A=
ffffffff8023f534 t block_fsync=0A=
ffffffff8023f558 t bd_read_super=0A=
ffffffff8023f638 t init_once=0A=
ffffffff8023f6a4 t bdfind=0A=
ffffffff8023f73c T bdget=0A=
ffffffff8023f894 T bdput=0A=
ffffffff8023f9c8 T bd_acquire=0A=
ffffffff8023fae4 T bd_forget=0A=
ffffffff8023fb28 T get_blkdev_list=0A=
ffffffff8023fbb8 T get_blkfops=0A=
ffffffff8023fbe0 T register_blkdev=0A=
ffffffff8023fc90 T unregister_blkdev=0A=
ffffffff8023fd10 T check_disk_change=0A=
ffffffff8023fde0 T ioctl_by_bdev=0A=
ffffffff8023fe44 T blkdev_get=0A=
ffffffff80240040 T blkdev_open=0A=
ffffffff80240200 T blkdev_put=0A=
ffffffff80240524 T blkdev_close=0A=
ffffffff80240548 t blkdev_ioctl=0A=
ffffffff80240590 T bdevname=0A=
ffffffff80240600 t init_once=0A=
ffffffff80240660 t cdfind=0A=
ffffffff802406f8 T cdget=0A=
ffffffff802407d8 T cdput=0A=
ffffffff80240880 t cp_old_stat=0A=
ffffffff80240990 t cp_new_stat=0A=
ffffffff80240af4 T sys_stat=0A=
ffffffff80240b9c T sys_newstat=0A=
ffffffff80240c44 T sys_lstat=0A=
ffffffff80240cec T sys_newlstat=0A=
ffffffff80240d94 T sys_fstat=0A=
ffffffff80240e40 T sys_newfstat=0A=
ffffffff80240eec T sys_readlink=0A=
ffffffff80240fd4 t cp_new_stat64=0A=
ffffffff80241138 T sys_stat64=0A=
ffffffff802411e0 T sys_lstat64=0A=
ffffffff80241288 T sys_fstat64=0A=
ffffffff80241340 T register_binfmt=0A=
ffffffff802413a8 T unregister_binfmt=0A=
ffffffff802413f8 T sys_uselib=0A=
ffffffff802415bc t count=0A=
ffffffff8024160c T copy_strings=0A=
ffffffff802417b4 T copy_strings_kernel=0A=
ffffffff802417e0 T put_dirty_page=0A=
ffffffff80241814 T setup_arg_pages=0A=
ffffffff8024181c T open_exec=0A=
ffffffff80241930 T kernel_read=0A=
ffffffff802419a4 t exec_mmap=0A=
ffffffff80241b0c T flush_old_exec=0A=
ffffffff80241f14 T prepare_binprm=0A=
ffffffff80242054 T compute_creds=0A=
ffffffff80242228 T remove_arg_zero=0A=
ffffffff802422a8 T search_binary_handler=0A=
ffffffff80242544 T do_execve=0A=
ffffffff80242844 T set_binfmt=0A=
ffffffff80242964 T do_coredump=0A=
ffffffff80242b40 T pipe_wait=0A=
ffffffff80242c80 t pipe_read=0A=
ffffffff80242ffc t pipe_write=0A=
ffffffff8024342c t pipe_lseek=0A=
ffffffff80243438 t bad_pipe_r=0A=
ffffffff80243440 t bad_pipe_w=0A=
ffffffff80243448 t pipe_ioctl=0A=
ffffffff8024347c t pipe_poll=0A=
ffffffff80243514 t pipe_release=0A=
ffffffff802436b0 t pipe_read_release=0A=
ffffffff802436d4 t pipe_write_release=0A=
ffffffff802436f8 t pipe_rdwr_release=0A=
ffffffff80243728 t pipe_read_open=0A=
ffffffff80243840 t pipe_write_open=0A=
ffffffff80243958 t pipe_rdwr_open=0A=
ffffffff80243abc T pipe_new=0A=
ffffffff80243b84 t pipefs_delete_dentry=0A=
ffffffff80243b8c t get_pipe_inode=0A=
ffffffff80243c40 T do_pipe=0A=
ffffffff802440a4 t pipefs_statfs=0A=
ffffffff802440c8 t pipefs_read_super=0A=
ffffffff802441b0 T getname=0A=
ffffffff8024428c T vfs_permission=0A=
ffffffff80244428 T permission=0A=
ffffffff80244478 T get_write_access=0A=
ffffffff802444f0 T deny_write_access=0A=
ffffffff80244578 T path_release=0A=
ffffffff8024461c t cached_lookup=0A=
ffffffff802446a8 t real_lookup=0A=
ffffffff802448fc T follow_up=0A=
ffffffff80244ae0 T follow_down=0A=
ffffffff80244cac T path_walk=0A=
ffffffff80245b20 t __emul_lookup_dentry=0A=
ffffffff80245d1c T set_fs_altroot=0A=
ffffffff80245dd8 T path_init=0A=
ffffffff802461a0 T lookup_hash=0A=
ffffffff80246298 T lookup_one_len=0A=
ffffffff80246358 T __user_walk=0A=
ffffffff802463e8 T vfs_create=0A=
ffffffff80246598 T open_namei=0A=
ffffffff80246f3c t lookup_create=0A=
ffffffff80247058 T vfs_mknod=0A=
ffffffff8024726c T sys_mknod=0A=
ffffffff802474a0 T vfs_mkdir=0A=
ffffffff8024764c T sys_mkdir=0A=
ffffffff802477a8 t d_unhash=0A=
ffffffff802478a4 T vfs_rmdir=0A=
ffffffff80247ca4 T sys_rmdir=0A=
ffffffff80247eb0 T vfs_unlink=0A=
ffffffff80248130 T sys_unlink=0A=
ffffffff8024835c T vfs_symlink=0A=
ffffffff80248508 T sys_symlink=0A=
ffffffff80248684 T vfs_link=0A=
ffffffff80248874 T sys_link=0A=
ffffffff80248a44 T vfs_rename_dir=0A=
ffffffff8024942c T vfs_rename_other=0A=
ffffffff80249938 T vfs_rename=0A=
ffffffff80249a14 T sys_rename=0A=
ffffffff80249e08 T vfs_readlink=0A=
ffffffff80249e84 T vfs_follow_link=0A=
ffffffff8024a1ec t page_getlink=0A=
ffffffff8024a298 T page_readlink=0A=
ffffffff8024a30c T page_follow_link=0A=
ffffffff8024a6a0 t expand_files=0A=
ffffffff8024a724 t locate_fd=0A=
ffffffff8024a8a4 t dupfd=0A=
ffffffff8024a99c T sys_dup2=0A=
ffffffff8024ab4c T sys_dup=0A=
ffffffff8024ab88 t setfl=0A=
ffffffff8024ad70 t do_fcntl=0A=
ffffffff8024b090 T sys_fcntl=0A=
ffffffff8024b10c T sys_fcntl64=0A=
ffffffff8024b1f4 t send_sigio_to_task=0A=
ffffffff8024b32c T send_sigio=0A=
ffffffff8024b440 T fasync_helper=0A=
ffffffff8024b594 T __kill_fasync=0A=
ffffffff8024b658 T kill_fasync=0A=
ffffffff8024b680 t file_ioctl=0A=
ffffffff8024b800 T sys_ioctl=0A=
ffffffff8024ba40 T vfs_readdir=0A=
ffffffff8024bc98 T dcache_readdir=0A=
ffffffff8024be80 t fillonedir=0A=
ffffffff8024bf1c T old_readdir=0A=
ffffffff8024bf90 t filldir=0A=
ffffffff8024c074 T sys_getdents=0A=
ffffffff8024c12c t filldir64=0A=
ffffffff8024c278 T sys_getdents64=0A=
ffffffff8024c350 T poll_freewait=0A=
ffffffff8024c3d4 T __pollwait=0A=
ffffffff8024c4f0 t max_select_fd=0A=
ffffffff8024c5fc T do_select=0A=
ffffffff8024c890 t select_bits_alloc=0A=
ffffffff8024c8bc t select_bits_free=0A=
ffffffff8024c8dc T sys_select=0A=
ffffffff8024cc90 t do_pollfd=0A=
ffffffff8024cd94 t do_poll=0A=
ffffffff8024cebc T sys_poll=0A=
ffffffff8024d1c0 t wait_for_partner=0A=
ffffffff8024d220 t wake_up_partner=0A=
ffffffff8024d248 t fifo_open=0A=
ffffffff8024d6d0 t locks_alloc_lock=0A=
ffffffff8024d734 T locks_init_lock=0A=
ffffffff8024d7a4 t init_once=0A=
ffffffff8024d7d0 T locks_copy_lock=0A=
ffffffff8024d874 t flock_make_lock=0A=
ffffffff8024d908 t assign_type=0A=
ffffffff8024d934 t flock_to_posix_lock=0A=
ffffffff8024da74 t flock64_to_posix_lock=0A=
ffffffff8024dc34 t lease_alloc=0A=
ffffffff8024dd70 t locks_delete_block=0A=
ffffffff8024ddc0 t locks_insert_block=0A=
ffffffff8024de7c t locks_wake_up_blocks=0A=
ffffffff8024df68 t locks_insert_lock=0A=
ffffffff8024dfd4 t locks_delete_lock=0A=
ffffffff8024e12c t locks_conflict=0A=
ffffffff8024e190 t posix_locks_conflict=0A=
ffffffff8024e270 t flock_locks_conflict=0A=
ffffffff8024e2e0 t interruptible_sleep_on_locked=0A=
ffffffff8024e390 t locks_block_on=0A=
ffffffff8024e3d8 t locks_block_on_timeout=0A=
ffffffff8024e424 T posix_test_lock=0A=
ffffffff8024e498 t posix_locks_deadlock=0A=
ffffffff8024e534 T locks_mandatory_locked=0A=
ffffffff8024e580 T locks_mandatory_area=0A=
ffffffff8024e7dc t flock_lock_file=0A=
ffffffff8024e9f4 T posix_lock_file=0A=
ffffffff8024f070 T __get_lease=0A=
ffffffff8024f334 T lease_get_mtime=0A=
ffffffff8024f388 T fcntl_getlease=0A=
ffffffff8024f3d0 t lease_modify=0A=
ffffffff8024f484 T fcntl_setlease=0A=
ffffffff8024f7b0 T sys_flock=0A=
ffffffff8024f8a4 T fcntl_getlk=0A=
ffffffff8024fac4 T fcntl_setlk=0A=
ffffffff8024fce0 T fcntl_getlk64=0A=
ffffffff8024feb8 T fcntl_setlk64=0A=
ffffffff80250128 T locks_remove_posix=0A=
ffffffff80250324 T locks_remove_flock=0A=
ffffffff802503b8 T posix_block_lock=0A=
ffffffff802503d8 T posix_unblock_lock=0A=
ffffffff80250408 t lock_get_status=0A=
ffffffff802506d4 t move_lock_status=0A=
ffffffff80250798 T get_locks_status=0A=
ffffffff80250900 T lock_may_read=0A=
ffffffff802509e8 T lock_may_write=0A=
ffffffff80250ac0 T dput=0A=
ffffffff80250d14 T d_invalidate=0A=
ffffffff80250dc0 T dget_locked=0A=
ffffffff80250e68 T d_find_alias=0A=
ffffffff80250f44 T d_prune_aliases=0A=
ffffffff80251064 T prune_dcache=0A=
ffffffff802512a4 T shrink_dcache_sb=0A=
ffffffff802514e0 T have_submounts=0A=
ffffffff80251560 t select_parent=0A=
ffffffff80251614 T shrink_dcache_parent=0A=
ffffffff80251650 T shrink_dcache_memory=0A=
ffffffff802516a0 T d_alloc=0A=
ffffffff802518a8 T d_instantiate=0A=
ffffffff80251928 T d_alloc_root=0A=
ffffffff8025198c T d_lookup=0A=
ffffffff80251b64 T d_validate=0A=
ffffffff80251cb4 T d_delete=0A=
ffffffff80251d70 T d_rehash=0A=
ffffffff80251e1c T d_move=0A=
ffffffff80251fb0 T __d_path=0A=
ffffffff8025216c T sys_getcwd=0A=
ffffffff80252570 T is_subdir=0A=
ffffffff802525a0 T d_genocide=0A=
ffffffff802526cc T find_inode_number=0A=
ffffffff802527cc t init_buffer_head=0A=
ffffffff80252820 t destroy_inode=0A=
ffffffff80252878 t init_once=0A=
ffffffff80252968 T __mark_inode_dirty=0A=
ffffffff80252a44 t __wait_on_inode=0A=
ffffffff80252ac8 T sync_inodes_sb=0A=
ffffffff80252e70 T sync_unlocked_inodes=0A=
ffffffff80253094 t get_super_to_sync=0A=
ffffffff80253130 T sync_inodes=0A=
ffffffff802531a4 t try_to_sync_unused_inodes=0A=
ffffffff80253400 T write_inode_now=0A=
ffffffff8025378c T generic_osync_inode=0A=
ffffffff80253864 T clear_inode=0A=
ffffffff802539b4 t dispose_list=0A=
ffffffff80253a68 t invalidate_list=0A=
ffffffff80253ba4 T invalidate_inodes=0A=
ffffffff80253c4c T invalidate_device=0A=
ffffffff80253cd0 T prune_icache=0A=
ffffffff80253e98 T shrink_icache_memory=0A=
ffffffff80253ee8 t find_inode=0A=
ffffffff80253fa0 t clean_inode=0A=
ffffffff8025404c T get_empty_inode=0A=
ffffffff80254100 t get_new_inode=0A=
ffffffff802543d4 T iunique=0A=
ffffffff8025449c T igrab=0A=
ffffffff80254638 T iget4=0A=
ffffffff80254848 T insert_inode_hash=0A=
ffffffff802548b0 T remove_inode_hash=0A=
ffffffff802548d0 T iput=0A=
ffffffff80254bb8 T force_delete=0A=
ffffffff80254bd4 T bmap=0A=
ffffffff80254c18 T update_atime=0A=
ffffffff80254ca0 T inode_change_ok=0A=
ffffffff80254ed8 T inode_setattr=0A=
ffffffff80255030 t setattr_mask=0A=
ffffffff80255098 T notify_change=0A=
ffffffff802551d0 t bad_follow_link=0A=
ffffffff8025529c t return_EIO=0A=
ffffffff802552a4 T make_bad_inode=0A=
ffffffff802552dc T is_bad_inode=0A=
ffffffff80255300 T alloc_fd_array=0A=
ffffffff80255340 T free_fd_array=0A=
ffffffff802553a0 T expand_fd_array=0A=
ffffffff80255564 T alloc_fdset=0A=
ffffffff802555b0 T free_fdset=0A=
ffffffff8025561c T expand_fdset=0A=
ffffffff802558d0 T end_kio_request=0A=
ffffffff80255990 t kiobuf_init=0A=
ffffffff802559e0 T alloc_kiobuf_bhs=0A=
ffffffff80255a8c T free_kiobuf_bhs=0A=
ffffffff80255ad8 T alloc_kiovec=0A=
ffffffff80255b90 T free_kiovec=0A=
ffffffff80255c2c T expand_kiobuf=0A=
ffffffff80255ce0 T kiobuf_wait_for_io=0A=
ffffffff80255db0 t redo_inode_mask=0A=
ffffffff80255de4 T fcntl_dirnotify=0A=
ffffffff80255f9c T __inode_dir_notify=0A=
ffffffff802560b0 T sys_nfsservctl=0A=
ffffffff802560c0 T sys_quotactl=0A=
ffffffff802560d0 t load_script=0A=
ffffffff802563f0 t flat_core_dump=0A=
ffffffff80256420 t create_flat_tables=0A=
ffffffff80256520 t calc_reloc=0A=
ffffffff80256558 T old_reloc=0A=
ffffffff8025660c t load_flat_binary=0A=
ffffffff80256d48 t load_flat_library=0A=
ffffffff80256d50 T de_get=0A=
ffffffff80256db8 T de_put=0A=
ffffffff80256e90 t proc_delete_inode=0A=
ffffffff80256f68 t proc_read_inode=0A=
ffffffff80256f84 t proc_statfs=0A=
ffffffff80256fb0 t parse_options=0A=
ffffffff80257160 T proc_get_inode=0A=
ffffffff8025735c T proc_read_super=0A=
ffffffff80257460 t proc_root_lookup=0A=
ffffffff802574dc t proc_root_readdir=0A=
ffffffff80257560 t proc_fd_link=0A=
ffffffff802576ac t proc_exe_link=0A=
ffffffff802576b4 t proc_cwd_link=0A=
ffffffff80257864 t proc_root_link=0A=
ffffffff80257a14 t proc_pid_environ=0A=
ffffffff80257ad8 t proc_pid_cmdline=0A=
ffffffff80257c3c t standard_permission=0A=
ffffffff80257db4 t proc_check_root=0A=
ffffffff80258054 t proc_permission=0A=
ffffffff80258088 t pid_maps_read=0A=
ffffffff802580cc t proc_info_read=0A=
ffffffff80258264 t mem_open=0A=
ffffffff80258278 t mem_read=0A=
ffffffff80258464 t proc_pid_follow_link=0A=
ffffffff80258520 t do_proc_readlink=0A=
ffffffff80258770 t proc_pid_readlink=0A=
ffffffff802588d0 t proc_readfd=0A=
ffffffff80258bd8 t proc_base_readdir=0A=
ffffffff80258dd0 t task_dumpable=0A=
ffffffff80258df4 t proc_pid_make_inode=0A=
ffffffff80258f60 t pid_fd_revalidate=0A=
ffffffff80258f68 t pid_base_revalidate=0A=
ffffffff80258fb8 t pid_delete_dentry=0A=
ffffffff80258fc0 t proc_lookupfd=0A=
ffffffff80259258 t proc_base_lookup=0A=
ffffffff802594c8 t proc_self_readlink=0A=
ffffffff80259528 t proc_self_follow_link=0A=
ffffffff80259568 T proc_pid_lookup=0A=
ffffffff80259820 T proc_pid_delete_inode=0A=
ffffffff80259870 t get_pid_list=0A=
ffffffff802598cc T proc_pid_readdir=0A=
ffffffff80259a70 T proc_match=0A=
ffffffff80259acc t proc_file_read=0A=
ffffffff80259cdc t proc_file_write=0A=
ffffffff80259d34 t proc_file_lseek=0A=
ffffffff80259dd8 t xlate_proc_name=0A=
ffffffff80259e8c t make_inode_number=0A=
ffffffff80259f94 t proc_readlink=0A=
ffffffff80259fc8 t proc_follow_link=0A=
ffffffff80259ffc t proc_delete_dentry=0A=
ffffffff8025a004 T proc_lookup=0A=
ffffffff8025a0fc T proc_readdir=0A=
ffffffff8025a2f4 t proc_register=0A=
ffffffff8025a3e8 t proc_kill_inodes=0A=
ffffffff8025a4f0 t proc_create=0A=
ffffffff8025a5d8 T proc_symlink=0A=
ffffffff8025a680 T proc_mknod=0A=
ffffffff8025a6e4 T proc_mkdir=0A=
ffffffff8025a74c T create_proc_entry=0A=
ffffffff8025a804 T free_proc_entry=0A=
ffffffff8025a870 T remove_proc_entry=0A=
ffffffff8025aa30 t collect_sigign_sigcatch=0A=
ffffffff8025aafc T proc_pid_status=0A=
ffffffff8025b070 T proc_pid_stat=0A=
ffffffff8025b3b4 T proc_pid_statm=0A=
ffffffff8025b5a4 T proc_pid_read_maps=0A=
ffffffff8025b5b0 t kmsg_open=0A=
ffffffff8025b5d8 t kmsg_release=0A=
ffffffff8025b600 t kmsg_read=0A=
ffffffff8025b620 t kmsg_poll=0A=
ffffffff8025b670 t tty_drivers_read_proc=0A=
ffffffff8025b8e8 t tty_ldiscs_read_proc=0A=
ffffffff8025ba20 T proc_tty_register_driver=0A=
ffffffff8025bab8 T proc_tty_unregister_driver=0A=
ffffffff8025bb00 t proc_calc_metrics=0A=
ffffffff8025bb48 t loadavg_read_proc=0A=
ffffffff8025bc74 t uptime_read_proc=0A=
ffffffff8025bd6c t meminfo_read_proc=0A=
ffffffff8025c020 t version_read_proc=0A=
ffffffff8025c0b4 t cpuinfo_read_proc=0A=
ffffffff8025c124 t modules_read_proc=0A=
ffffffff8025c194 t ksyms_read_proc=0A=
ffffffff8025c1d8 t kstat_read_proc=0A=
ffffffff8025c4dc t devices_read_proc=0A=
ffffffff8025c54c t partitions_read_proc=0A=
ffffffff8025c590 t interrupts_read_proc=0A=
ffffffff8025c600 t filesystems_read_proc=0A=
ffffffff8025c670 t dma_read_proc=0A=
ffffffff8025c6e0 t ioports_read_proc=0A=
ffffffff8025c760 t cmdline_read_proc=0A=
ffffffff8025c7e8 t locks_read_proc=0A=
ffffffff8025c82c t mounts_read_proc=0A=
ffffffff8025c89c t execdomains_read_proc=0A=
ffffffff8025c90c t swaps_read_proc=0A=
ffffffff8025c97c t memory_read_proc=0A=
ffffffff8025c9fc t read_profile=0A=
ffffffff8025cb0c t write_profile=0A=
ffffffff8025cb50 t open_kcore=0A=
ffffffff8025cb88 t get_kcore_size=0A=
ffffffff8025cbac t notesize=0A=
ffffffff8025cbfc t storenote=0A=
ffffffff8025ccf8 t elf_kcore_store_hdr=0A=
ffffffff8025cf68 t read_kcore=0A=
ffffffff8025d200 T disk_name=0A=
ffffffff8025d458 T add_gd_partition=0A=
ffffffff8025d500 T get_ptable_blocksize=0A=
ffffffff8025d5e0 t check_partition=0A=
ffffffff8025d704 T devfs_register_partitions=0A=
ffffffff8025d70c T register_disk=0A=
ffffffff8025d740 T grok_partitions=0A=
ffffffff8025d850 t partition_name=0A=
ffffffff8025d870 t extended_partition=0A=
ffffffff8025ddac T msdos_partition=0A=
ffffffff8025e1d0 T ext2_get_group_desc=0A=
ffffffff8025e2b4 t read_block_bitmap=0A=
ffffffff8025e3a4 t __load_block_bitmap=0A=
ffffffff8025e5b0 T ext2_free_blocks=0A=
ffffffff8025ec08 T ext2_new_block=0A=
ffffffff8025fbfc T ext2_count_free_blocks=0A=
ffffffff8025fc34 T ext2_group_sparse=0A=
ffffffff8025fd4c T ext2_bg_has_super=0A=
ffffffff8025fd98 T ext2_bg_num_gdb=0A=
ffffffff8025fdf0 T ext2_count_free=0A=
ffffffff8025fe60 t ext2_commit_chunk=0A=
ffffffff8025ff18 t ext2_check_page=0A=
ffffffff80260324 t ext2_get_page=0A=
ffffffff802603e8 t ext2_readdir=0A=
ffffffff802606d4 T ext2_find_entry=0A=
ffffffff80260868 T ext2_dotdot=0A=
ffffffff802608cc T ext2_inode_by_name=0A=
ffffffff80260938 T ext2_set_link=0A=
ffffffff80260b40 T ext2_add_link=0A=
ffffffff80260f00 T ext2_delete_entry=0A=
ffffffff8026112c T ext2_make_empty=0A=
ffffffff802613c0 T ext2_empty_dir=0A=
ffffffff80261550 t ext2_file_lseek=0A=
ffffffff80261664 t ext2_release_file=0A=
ffffffff80261698 t ext2_open_file=0A=
ffffffff802616f0 T ext2_sync_file=0A=
ffffffff80261714 T ext2_fsync_inode=0A=
ffffffff80261790 t read_inode_bitmap=0A=
ffffffff80261884 t load_inode_bitmap=0A=
ffffffff80261ac0 T ext2_free_inode=0A=
ffffffff80261eb0 T ext2_new_inode=0A=
ffffffff80262868 T ext2_count_free_inodes=0A=
ffffffff802628a0 T ext2_put_inode=0A=
ffffffff802628c0 T ext2_delete_inode=0A=
ffffffff8026298c T ext2_discard_prealloc=0A=
ffffffff802629c8 t ext2_alloc_block=0A=
ffffffff80262a88 t ext2_block_to_path=0A=
ffffffff80262ba0 t ext2_get_branch=0A=
ffffffff80262cf0 t ext2_alloc_branch=0A=
ffffffff802630b4 t ext2_get_block=0A=
ffffffff802636fc t ext2_writepage=0A=
ffffffff80263720 t ext2_readpage=0A=
ffffffff80263748 t ext2_prepare_write=0A=
ffffffff80263778 t ext2_bmap=0A=
ffffffff8026379c t ext2_direct_IO=0A=
ffffffff802637cc t ext2_find_shared=0A=
ffffffff80263990 t ext2_free_branches=0A=
ffffffff80263be4 T ext2_truncate=0A=
ffffffff80264118 T ext2_read_inode=0A=
ffffffff80264920 t ext2_update_inode=0A=
ffffffff802650e0 T ext2_write_inode=0A=
ffffffff80265100 T ext2_sync_inode=0A=
ffffffff80265120 T ext2_notify_change=0A=
ffffffff80265340 T ext2_ioctl=0A=
ffffffff802655f0 t ext2_lookup=0A=
ffffffff8026567c t ext2_create=0A=
ffffffff8026574c t ext2_mknod=0A=
ffffffff80265814 t ext2_symlink=0A=
ffffffff802659a8 t ext2_link=0A=
ffffffff80265ad4 t ext2_mkdir=0A=
ffffffff80265c2c t ext2_unlink=0A=
ffffffff80265cb4 t ext2_rmdir=0A=
ffffffff80265d60 t ext2_rename=0A=
ffffffff80265fd0 T ext2_error=0A=
ffffffff80266188 T ext2_panic=0A=
ffffffff8026625c T ext2_warning=0A=
ffffffff802662d4 T ext2_update_dynamic_rev=0A=
ffffffff80266360 T ext2_put_super=0A=
ffffffff80266498 t parse_options=0A=
ffffffff80266ca8 t ext2_setup_super=0A=
ffffffff80266f88 t ext2_check_descriptors=0A=
ffffffff802671b8 t ext2_max_size=0A=
ffffffff80267318 T ext2_read_super=0A=
ffffffff80267da8 t ext2_commit_super=0A=
ffffffff80267e08 T ext2_write_super=0A=
ffffffff80267ec0 T ext2_remount=0A=
ffffffff80268090 T ext2_statfs=0A=
ffffffff802682a0 t ext2_readlink=0A=
ffffffff802682c4 t ext2_follow_link=0A=
ffffffff802682f0 t nfs_read_inode=0A=
ffffffff802683cc t nfs_write_inode=0A=
ffffffff80268400 t nfs_delete_inode=0A=
ffffffff80268480 t nfs_clear_inode=0A=
ffffffff802684b0 t nfs_put_super=0A=
ffffffff80268534 t nfs_umount_begin=0A=
ffffffff80268564 t nfs_get_root=0A=
ffffffff802685e0 T nfs_read_super=0A=
ffffffff802690b4 t nfs_statfs=0A=
ffffffff80269300 T nfs_zap_caches=0A=
ffffffff802693cc t nfs_invalidate_inode=0A=
ffffffff8026940c t nfs_fill_inode=0A=
ffffffff802696fc t nfs_find_actor=0A=
ffffffff80269778 T nfs_inode_is_stale=0A=
ffffffff80269820 T nfs_fhget=0A=
ffffffff802698a4 t __nfs_fhget=0A=
ffffffff802699a0 T nfs_notify_change=0A=
ffffffff80269b64 T nfs_wait_on_inode=0A=
ffffffff80269d68 T nfs_revalidate=0A=
ffffffff80269dd0 T nfs_open=0A=
ffffffff80269ea0 T nfs_release=0A=
ffffffff80269f0c T __nfs_revalidate_inode=0A=
ffffffff8026a188 T __nfs_refresh_inode=0A=
ffffffff8026a630 t nfs_file_flush=0A=
ffffffff8026a6e4 t nfs_file_read=0A=
ffffffff8026a7d8 t nfs_file_mmap=0A=
ffffffff8026a8a4 t nfs_fsync=0A=
ffffffff8026a92c t nfs_prepare_write=0A=
ffffffff8026a94c t nfs_commit_write=0A=
ffffffff8026a9f8 t nfs_sync_page=0A=
ffffffff8026aa54 t nfs_file_write=0A=
ffffffff8026ab54 T nfs_lock=0A=
ffffffff8026af00 t nfs_readdata_release=0A=
ffffffff8026af2c t nfs_readpage_sync=0A=
ffffffff8026b2b8 t nfs_find_read=0A=
ffffffff8026b30c t nfs_readpage_async=0A=
ffffffff8026b5f0 t nfs_read_rpcsetup=0A=
ffffffff8026b724 t nfs_async_read_error=0A=
ffffffff8026b950 t nfs_pagein_one=0A=
ffffffff8026bab8 t nfs_pagein_list=0A=
ffffffff8026bb64 t nfs_scan_read_timeout=0A=
ffffffff8026bbdc t nfs_scan_read=0A=
ffffffff8026bc5c T nfs_pagein_inode=0A=
ffffffff8026bce4 T nfs_pagein_timeout=0A=
ffffffff8026bd60 t nfs_readpage_result=0A=
ffffffff8026c0e8 T nfs_readpage=0A=
ffffffff8026c2f4 T nfs_init_readpagecache=0A=
ffffffff8026c33c T nfs_destroy_readpagecache=0A=
ffffffff8026c380 t nfs_writedata_release=0A=
ffffffff8026c3ac t nfs_writepage_sync=0A=
ffffffff8026c7e0 t nfs_writepage_async=0A=
ffffffff8026c96c T nfs_writepage=0A=
ffffffff8026cb68 t region_locked=0A=
ffffffff8026ccb0 t nfs_find_request=0A=
ffffffff8026cd04 T nfs_list_add_request=0A=
ffffffff8026cdf0 T nfs_list_remove_request=0A=
ffffffff8026ce6c T nfs_create_request=0A=
ffffffff8026d228 T nfs_release_request=0A=
ffffffff8026d528 t nfs_wait_on_request=0A=
ffffffff8026d6b4 t nfs_wait_on_requests=0A=
ffffffff8026d7c8 T nfs_scan_list_timeout=0A=
ffffffff8026d900 t nfs_scan_dirty_timeout=0A=
ffffffff8026d978 t nfs_scan_commit_timeout=0A=
ffffffff8026d9f0 T nfs_scan_list=0A=
ffffffff8026db68 t nfs_scan_dirty=0A=
ffffffff8026dbe4 t nfs_scan_commit=0A=
ffffffff8026dc60 T nfs_coalesce_requests=0A=
ffffffff8026dd54 t nfs_update_request=0A=
ffffffff8026e270 t nfs_strategy=0A=
ffffffff8026e370 T nfs_flush_incompatible=0A=
ffffffff8026e42c T nfs_updatepage=0A=
ffffffff8026e770 t nfs_write_rpcsetup=0A=
ffffffff8026e8a8 t nfs_flush_one=0A=
ffffffff8026eb98 t nfs_flush_list=0A=
ffffffff8026ed7c t nfs_writeback_done=0A=
ffffffff8026f458 t nfs_commit_rpcsetup=0A=
ffffffff8026f5c0 t nfs_commit_list=0A=
ffffffff8026f83c t nfs_commit_done=0A=
ffffffff8026fd28 T nfs_flush_file=0A=
ffffffff8026fdb8 T nfs_flush_timeout=0A=
ffffffff8026fe44 T nfs_commit_file=0A=
ffffffff8026fec8 T nfs_commit_timeout=0A=
ffffffff8026ff6c T nfs_sync_file=0A=
ffffffff80270044 T nfs_init_nfspagecache=0A=
ffffffff802700c4 T nfs_destroy_nfspagecache=0A=
ffffffff80270130 t nfs_readdir_filler=0A=
ffffffff802704a4 t nfs_do_filldir=0A=
ffffffff80270648 t nfs_readdir=0A=
ffffffff80270bc8 t nfs_lookup_revalidate=0A=
ffffffff80270e60 t nfs_dentry_delete=0A=
ffffffff80270ebc t nfs_dentry_iput=0A=
ffffffff80270efc t nfs_lookup=0A=
ffffffff80271008 t nfs_instantiate=0A=
ffffffff8027105c t nfs_create=0A=
ffffffff80271170 t nfs_mknod=0A=
ffffffff80271290 t nfs_mkdir=0A=
ffffffff802713a4 t nfs_rmdir=0A=
ffffffff80271440 t nfs_sillyrename=0A=
ffffffff80271668 t nfs_safe_remove=0A=
ffffffff80271818 t nfs_unlink=0A=
ffffffff802718c0 t nfs_symlink=0A=
ffffffff80271a80 t nfs_link=0A=
ffffffff80271b8c t nfs_rename=0A=
ffffffff80271de8 T nfs_permission=0A=
ffffffff80271f90 t nfs_symlink_filler=0A=
ffffffff802721cc t nfs_getlink=0A=
ffffffff8027224c t nfs_readlink=0A=
ffffffff802722c4 t nfs_follow_link=0A=
ffffffff80272320 t nfs_proc_get_root=0A=
ffffffff802723cc t nfs_proc_getattr=0A=
ffffffff80272474 t nfs_proc_setattr=0A=
ffffffff80272528 t nfs_proc_lookup=0A=
ffffffff80272610 t nfs_proc_readlink=0A=
ffffffff802726d0 t nfs_proc_read=0A=
ffffffff80272830 t nfs_proc_write=0A=
ffffffff802729b0 t nfs_proc_create=0A=
ffffffff80272a9c t nfs_proc_mknod=0A=
ffffffff80272c70 t nfs_proc_remove=0A=
ffffffff80272d48 t nfs_proc_unlink_setup=0A=
ffffffff80272dc8 t nfs_proc_unlink_done=0A=
ffffffff80272e4c t nfs_proc_rename=0A=
ffffffff80272f38 t nfs_proc_link=0A=
ffffffff80273008 t nfs_proc_symlink=0A=
ffffffff802730f8 t nfs_proc_mkdir=0A=
ffffffff802731e8 t nfs_proc_rmdir=0A=
ffffffff802732b0 t nfs_proc_readdir=0A=
ffffffff8027338c t nfs_proc_statfs=0A=
ffffffff80273450 t nfs_xdr_enc_void=0A=
ffffffff8027346c t nfs_xdr_fhandle=0A=
ffffffff80273508 t nfs_xdr_sattrargs=0A=
ffffffff802736a4 t nfs_xdr_diropargs=0A=
ffffffff80273770 t nfs_xdr_readargs=0A=
ffffffff8027390c t nfs_xdr_readres=0A=
ffffffff80273ba8 t nfs_xdr_writeargs=0A=
ffffffff80273d2c t nfs_xdr_createargs=0A=
ffffffff80273ef8 t nfs_xdr_renameargs=0A=
ffffffff80274068 t nfs_xdr_linkargs=0A=
ffffffff802741bc t nfs_xdr_symlinkargs=0A=
ffffffff80274398 t nfs_xdr_readdirargs=0A=
ffffffff802744bc t nfs_xdr_readdirres=0A=
ffffffff802745dc T nfs_decode_dirent=0A=
ffffffff802746ac t nfs_xdr_dec_void=0A=
ffffffff802746b4 t nfs_xdr_stat=0A=
ffffffff802746e4 t nfs_xdr_attrstat=0A=
ffffffff80274894 t nfs_xdr_diropres=0A=
ffffffff80274ae4 t nfs_xdr_readlinkargs=0A=
ffffffff80274be4 t nfs_xdr_readlinkres=0A=
ffffffff80274c44 t nfs_xdr_writeres=0A=
ffffffff80274c74 t nfs_xdr_statfsres=0A=
ffffffff80274da0 T nfs_stat_to_errno=0A=
ffffffff80274e30 T nfs_reqlist_init=0A=
ffffffff80274f0c T nfs_reqlist_exit=0A=
ffffffff80274ff4 T nfs_reqlist_alloc=0A=
ffffffff80275078 T nfs_reqlist_free=0A=
ffffffff802750b4 T nfs_wake_flushd=0A=
ffffffff802750dc t inode_append_flushd=0A=
ffffffff80275194 T inode_remove_flushd=0A=
ffffffff8027522c T inode_schedule_scan=0A=
ffffffff802752e4 t nfs_flushd=0A=
ffffffff80275524 t nfs_flushd_exit=0A=
ffffffff80275570 t nfs_put_unlinkdata=0A=
ffffffff80275600 t nfs_async_unlink_init=0A=
ffffffff802756c0 t nfs_async_unlink_done=0A=
ffffffff80275754 t nfs_async_unlink_release=0A=
ffffffff80275778 T nfs_async_unlink=0A=
ffffffff80275918 T nfs_complete_unlink=0A=
ffffffff80275a20 t nfs3_proc_get_root=0A=
ffffffff80275acc t nfs3_proc_getattr=0A=
ffffffff80275b74 t nfs3_proc_setattr=0A=
ffffffff80275c3c t nfs3_proc_lookup=0A=
ffffffff80275db8 t nfs3_proc_access=0A=
ffffffff80275f70 t nfs3_proc_readlink=0A=
ffffffff80276074 t nfs3_proc_read=0A=
ffffffff802761d4 t nfs3_proc_write=0A=
ffffffff80276360 t nfs3_proc_create=0A=
ffffffff8027662c t nfs3_proc_remove=0A=
ffffffff80276738 t nfs3_proc_unlink_setup=0A=
ffffffff802767c4 t nfs3_proc_unlink_done=0A=
ffffffff80276824 t nfs3_proc_rename=0A=
ffffffff80276994 t nfs3_proc_link=0A=
ffffffff80276ae8 t nfs3_proc_symlink=0A=
ffffffff80276c30 t nfs3_proc_mkdir=0A=
ffffffff80276db0 t nfs3_proc_rmdir=0A=
ffffffff80276eb0 t nfs3_proc_readdir=0A=
ffffffff8027709c t nfs3_proc_mknod=0A=
ffffffff80277258 t nfs3_proc_statfs=0A=
ffffffff80277350 t nfs3_xdr_enc_void=0A=
ffffffff8027736c t nfs3_xdr_fhandle=0A=
ffffffff802773e8 t nfs3_xdr_sattrargs=0A=
ffffffff80277618 t nfs3_xdr_diropargs=0A=
ffffffff802776a8 t nfs3_xdr_accessargs=0A=
ffffffff80277738 t nfs3_xdr_readargs=0A=
ffffffff80277890 t nfs3_xdr_writeargs=0A=
ffffffff802779d0 t nfs3_xdr_createargs=0A=
ffffffff80277c18 t nfs3_xdr_mkdirargs=0A=
ffffffff80277e20 t nfs3_xdr_symlinkargs=0A=
ffffffff80278038 t nfs3_xdr_mknodargs=0A=
ffffffff80278284 t nfs3_xdr_renameargs=0A=
ffffffff80278354 t nfs3_xdr_linkargs=0A=
ffffffff80278420 t nfs3_xdr_readdirargs=0A=
ffffffff8027856c t nfs3_xdr_readdirres=0A=
ffffffff8027896c T nfs3_decode_dirent=0A=
ffffffff80278dc4 t nfs3_xdr_commitargs=0A=
ffffffff80278e6c t nfs3_xdr_dec_void=0A=
ffffffff80278e74 t nfs3_xdr_attrstat=0A=
ffffffff802790c0 t nfs3_xdr_wccstat=0A=
ffffffff802793cc t nfs3_xdr_lookupres=0A=
ffffffff80279890 t nfs3_xdr_accessres=0A=
ffffffff80279af8 t nfs3_xdr_readlinkargs=0A=
ffffffff80279be4 t nfs3_xdr_readlinkres=0A=
ffffffff80279ed8 t nfs3_xdr_readres=0A=
ffffffff8027a228 t nfs3_xdr_writeres=0A=
ffffffff8027a58c t nfs3_xdr_createres=0A=
ffffffff8027ad34 t nfs3_xdr_renameres=0A=
ffffffff8027b304 t nfs3_xdr_linkres=0A=
ffffffff8027b814 t nfs3_xdr_fsstatres=0A=
ffffffff8027bb84 t nfs3_xdr_fsinfores=0A=
ffffffff8027be68 t nfs3_xdr_pathconfres=0A=
ffffffff8027c168 t nfs3_xdr_commitres=0A=
ffffffff8027c4b0 T nlmclnt_block=0A=
ffffffff8027c5d0 T nlmclnt_grant=0A=
ffffffff8027c6c8 T nlmclnt_recovery=0A=
ffffffff8027c7b4 t reclaimer=0A=
ffffffff8027c950 T nlmclnt_setgrantargs=0A=
ffffffff8027ca30 T nlmclnt_freegrantargs=0A=
ffffffff8027ca60 T nlmclnt_proc=0A=
ffffffff8027cfe8 T nlmclnt_alloc_call=0A=
ffffffff8027d084 T nlmclnt_call=0A=
ffffffff8027d2d8 T nlmsvc_async_call=0A=
ffffffff8027d3a4 T nlmclnt_async_call=0A=
ffffffff8027d4e8 t nlmclnt_test=0A=
ffffffff8027d56c t nlmclnt_insert_lock_callback=0A=
ffffffff8027d590 t nlmclnt_remove_lock_callback=0A=
ffffffff8027d5cc t nlmclnt_lock=0A=
ffffffff8027d6e4 T nlmclnt_reclaim=0A=
ffffffff8027d848 t nlmclnt_unlock=0A=
ffffffff8027d8dc t nlmclnt_unlock_callback=0A=
ffffffff8027d9ac T nlmclnt_cancel=0A=
ffffffff8027dc9c t nlmclnt_cancel_callback=0A=
ffffffff8027ddf0 t nlm_stat_to_errno=0A=
ffffffff8027de70 T nlmclnt_lookup_host=0A=
ffffffff8027dea4 T nlmsvc_lookup_host=0A=
ffffffff8027ded4 T nlm_lookup_host=0A=
ffffffff8027e30c T nlm_bind_host=0A=
ffffffff8027e60c T nlm_rebind_host=0A=
ffffffff8027e690 T nlm_get_host=0A=
ffffffff8027e714 T nlm_release_host=0A=
ffffffff8027e784 T nlm_shutdown_hosts=0A=
ffffffff8027e9ec t nlm_gc_hosts=0A=
ffffffff8027ec10 t lockd=0A=
ffffffff8027f09c T lockd_up=0A=
ffffffff8027f308 T lockd_down=0A=
ffffffff8027f570 t nlmsvc_insert_block=0A=
ffffffff8027f67c t nlmsvc_remove_block=0A=
ffffffff8027f6e4 t nlmsvc_lookup_block=0A=
ffffffff8027f8d0 t nlmsvc_delete_block=0A=
ffffffff8027fa6c T nlmsvc_traverse_blocks=0A=
ffffffff8027fc1c T nlmsvc_lock=0A=
ffffffff80280118 T nlmsvc_testlock=0A=
ffffffff80280248 T nlmsvc_unlock=0A=
ffffffff80280300 T nlmsvc_cancel_blocked=0A=
ffffffff80280480 t nlmsvc_notify_blocked=0A=
ffffffff802805ac t nlmsvc_grant_blocked=0A=
ffffffff80280898 t nlmsvc_grant_callback=0A=
ffffffff80280a20 T nlmsvc_grant_reply=0A=
ffffffff80280d14 T nlmsvc_retry_blocked=0A=
ffffffff80280e70 T nlmsvc_share_file=0A=
ffffffff80280fc8 T nlmsvc_unshare_file=0A=
ffffffff8028108c T nlmsvc_traverse_shares=0A=
ffffffff80281170 t cast_to_nlm=0A=
ffffffff80281190 t nlmsvc_retrieve_args=0A=
ffffffff802812c4 t nlmsvc_proc_null=0A=
ffffffff802812fc t nlmsvc_proc_test=0A=
ffffffff80281414 t nlmsvc_proc_lock=0A=
ffffffff80281540 t nlmsvc_proc_cancel=0A=
ffffffff80281650 t nlmsvc_proc_unlock=0A=
ffffffff80281760 t nlmsvc_proc_granted=0A=
ffffffff80281808 t nlmsvc_proc_test_msg=0A=
ffffffff80281878 t nlmsvc_proc_lock_msg=0A=
ffffffff802818e8 t nlmsvc_proc_cancel_msg=0A=
ffffffff80281958 t nlmsvc_proc_unlock_msg=0A=
ffffffff802819c8 t nlmsvc_proc_granted_msg=0A=
ffffffff80281a38 t nlmsvc_proc_share=0A=
ffffffff80281b5c t nlmsvc_proc_unshare=0A=
ffffffff80281c70 t nlmsvc_proc_nm_lock=0A=
ffffffff80281cdc t nlmsvc_proc_free_all=0A=
ffffffff80281d24 t nlmsvc_proc_sm_notify=0A=
ffffffff80281e74 t nlmsvc_callback=0A=
ffffffff80281f60 t nlmsvc_callback_exit=0A=
ffffffff80281fd0 T nlm_lookup_file=0A=
ffffffff80282428 t nlm_traverse_locks=0A=
ffffffff80282594 t nlm_traverse_files=0A=
ffffffff80282880 T nlm_release_file=0A=
ffffffff80282ad0 T nlmsvc_mark_resources=0A=
ffffffff80282b14 T nlmsvc_free_host_resources=0A=
ffffffff80282b78 T nlmsvc_invalidate_client=0A=
ffffffff80282bf0 t nsm_mon_unmon=0A=
ffffffff80282ccc T nsm_monitor=0A=
ffffffff80282d70 T nsm_unmonitor=0A=
ffffffff80282e04 t nsm_create=0A=
ffffffff80282eb8 t xdr_error=0A=
ffffffff80282ec0 t xdr_encode_mon=0A=
ffffffff8028300c t xdr_decode_stat_res=0A=
ffffffff80283064 t xdr_decode_stat=0A=
ffffffff80283080 t nlm_encode_lock=0A=
ffffffff80283308 t nlm_encode_testres=0A=
ffffffff802834e0 T nlmsvc_decode_testargs=0A=
ffffffff80283770 T nlmsvc_encode_testres=0A=
ffffffff802837cc T nlmsvc_decode_lockargs=0A=
ffffffff80283a88 T nlmsvc_decode_cancargs=0A=
ffffffff80283d20 T nlmsvc_decode_unlockargs=0A=
ffffffff80283f94 T nlmsvc_decode_shareargs=0A=
ffffffff802841a4 T nlmsvc_encode_shareres=0A=
ffffffff80284248 T nlmsvc_encode_res=0A=
ffffffff802842e8 T nlmsvc_decode_notify=0A=
ffffffff80284364 T nlmsvc_decode_reboot=0A=
ffffffff802843ec T nlmsvc_decode_res=0A=
ffffffff802844c4 T nlmsvc_decode_void=0A=
ffffffff802844e8 T nlmsvc_encode_void=0A=
ffffffff80284510 t nlmclt_encode_void=0A=
ffffffff8028452c t nlmclt_decode_void=0A=
ffffffff80284534 t nlmclt_encode_testargs=0A=
ffffffff802845f8 t nlmclt_decode_testres=0A=
ffffffff80284768 t nlmclt_encode_lockargs=0A=
ffffffff80284854 t nlmclt_encode_cancargs=0A=
ffffffff80284924 t nlmclt_encode_unlockargs=0A=
ffffffff802849d8 t nlmclt_encode_res=0A=
ffffffff80284a70 t nlmclt_encode_testres=0A=
ffffffff80284ac4 t nlmclt_decode_res=0A=
ffffffff80284b74 T nlm_procname=0A=
ffffffff80284bc0 t nlm4_decode_cookie=0A=
ffffffff80284c4c t nlm4_encode_cookie=0A=
ffffffff80284ca8 t nlm4_decode_fh=0A=
ffffffff80284d4c t nlm4_encode_fh=0A=
ffffffff80284dcc t nlm4_decode_oh=0A=
ffffffff80284dec t nlm4_encode_oh=0A=
ffffffff80284e0c t nlm4_decode_lock=0A=
ffffffff80284f88 t nlm4_encode_lock=0A=
ffffffff80285174 t nlm4_encode_testres=0A=
ffffffff80285404 t xdr_argsize_check=0A=
ffffffff80285428 t xdr_ressize_check=0A=
ffffffff80285450 T nlm4svc_decode_testargs=0A=
ffffffff802854d4 T nlm4svc_encode_testres=0A=
ffffffff8028551c T nlm4svc_decode_lockargs=0A=
ffffffff802855c8 T nlm4svc_decode_cancargs=0A=
ffffffff80285658 T nlm4svc_decode_unlockargs=0A=
ffffffff802856c4 T nlm4svc_decode_shareargs=0A=
ffffffff802857a8 T nlm4svc_encode_shareres=0A=
ffffffff8028580c T nlm4svc_encode_res=0A=
ffffffff8028586c T nlm4svc_decode_notify=0A=
ffffffff802858d4 T nlm4svc_decode_reboot=0A=
ffffffff80285948 T nlm4svc_decode_res=0A=
ffffffff802859a8 T nlm4svc_decode_void=0A=
ffffffff802859c8 T nlm4svc_encode_void=0A=
ffffffff802859e8 t nlm4clt_encode_void=0A=
ffffffff80285a04 t nlm4clt_decode_void=0A=
ffffffff80285a0c t nlm4clt_encode_testargs=0A=
ffffffff80285a94 t nlm4clt_decode_testres=0A=
ffffffff80285c14 t nlm4clt_encode_lockargs=0A=
ffffffff80285cd0 t nlm4clt_encode_cancargs=0A=
ffffffff80285d70 t nlm4clt_encode_unlockargs=0A=
ffffffff80285de4 t nlm4clt_encode_res=0A=
ffffffff80285e50 t nlm4clt_encode_testres=0A=
ffffffff80285ea4 t nlm4clt_decode_res=0A=
ffffffff80285ef0 t nlm4svc_retrieve_args=0A=
ffffffff80286040 t nlm4svc_proc_null=0A=
ffffffff80286078 t nlm4svc_proc_test=0A=
ffffffff80286180 t nlm4svc_proc_lock=0A=
ffffffff802862a0 t nlm4svc_proc_cancel=0A=
ffffffff802863a4 t nlm4svc_proc_unlock=0A=
ffffffff802864a8 t nlm4svc_proc_granted=0A=
ffffffff80286550 t nlm4svc_proc_test_msg=0A=
ffffffff802865c0 t nlm4svc_proc_lock_msg=0A=
ffffffff80286630 t nlm4svc_proc_cancel_msg=0A=
ffffffff802866a0 t nlm4svc_proc_unlock_msg=0A=
ffffffff80286710 t nlm4svc_proc_granted_msg=0A=
ffffffff80286780 t nlm4svc_proc_share=0A=
ffffffff80286898 t nlm4svc_proc_unshare=0A=
ffffffff802869a0 t nlm4svc_proc_nm_lock=0A=
ffffffff80286a0c t nlm4svc_proc_free_all=0A=
ffffffff80286a54 t nlm4svc_proc_sm_notify=0A=
ffffffff80286ba4 t nlm4svc_callback=0A=
ffffffff80286ca0 t nlm4svc_callback_exit=0A=
ffffffff80286d10 T jffs2_compress=0A=
ffffffff80286d84 T jffs2_decompress=0A=
ffffffff80286e80 T init_rubin=0A=
ffffffff80286ebc T encode=0A=
ffffffff80286ff4 T end_rubin=0A=
ffffffff80287050 T init_decode=0A=
ffffffff802870b0 T decode=0A=
ffffffff802871ec t out_byte=0A=
ffffffff802872f8 t in_byte=0A=
ffffffff8028736c T rubin_do_compress=0A=
ffffffff80287480 T dynrubin_compress=0A=
ffffffff80287758 T rubin_do_decompress=0A=
ffffffff802877f8 T rubinmips_decompress=0A=
ffffffff80287830 T dynrubin_decompress=0A=
ffffffff802878a0 T rtime_compress=0A=
ffffffff80287a20 T rtime_decompress=0A=
ffffffff80287b30 T init_pushpull=0A=
ffffffff80287b48 T pushbit=0A=
ffffffff80287c04 T pushedbits=0A=
ffffffff80287c10 T pullbit=0A=
ffffffff80287c40 T pulledbits=0A=
ffffffff80287c50 t zalloc=0A=
ffffffff80287c80 t zfree=0A=
ffffffff80287ca0 T zlib_compress=0A=
ffffffff80287e40 T zlib_decompress=0A=
ffffffff80287f20 T deflateInit_=0A=
ffffffff80287f58 T deflateInit2_=0A=
ffffffff80288214 T deflateSetDictionary=0A=
ffffffff80288390 T deflateReset=0A=
ffffffff8028844c T deflateParams=0A=
ffffffff802885cc t putShortMSB=0A=
ffffffff80288600 t flush_pending=0A=
ffffffff802886c4 T deflate=0A=
ffffffff80288a4c T deflateEnd=0A=
ffffffff80288b74 T deflateCopy=0A=
ffffffff80288df0 T deflateOutputPending=0A=
ffffffff80288e1c t read_buf=0A=
ffffffff80288ec4 t lm_init=0A=
ffffffff80288fac t longest_match=0A=
ffffffff802891dc t fill_window=0A=
ffffffff802893d8 t deflate_stored=0A=
ffffffff802895d0 t deflate_fast=0A=
ffffffff80289948 t deflate_slow=0A=
ffffffff80289ddc t tr_static_init=0A=
ffffffff8028a110 T _tr_init=0A=
ffffffff8028a18c t init_block=0A=
ffffffff8028a1f4 t pqdownheap=0A=
ffffffff8028a330 t gen_bitlen=0A=
ffffffff8028a674 t gen_codes=0A=
ffffffff8028a71c t build_tree=0A=
ffffffff8028aa30 t scan_tree=0A=
ffffffff8028ab5c t send_tree=0A=
ffffffff8028b158 t build_bl_tree=0A=
ffffffff8028b21c t send_all_trees=0A=
ffffffff8028b530 T _tr_stored_block=0A=
ffffffff8028b618 T _tr_stored_type_only=0A=
ffffffff8028b6b8 T _tr_align=0A=
ffffffff8028b9a0 T _tr_flush_block=0A=
ffffffff8028bc64 T _tr_tally=0A=
ffffffff8028be5c t compress_block=0A=
ffffffff8028c318 t set_data_type=0A=
ffffffff8028c39c t bi_reverse=0A=
ffffffff8028c3c0 t bi_flush=0A=
ffffffff8028c45c t bi_windup=0A=
ffffffff8028c4e0 t copy_block=0A=
ffffffff8028c5b8 T inflateReset=0A=
ffffffff8028c620 T inflateEnd=0A=
ffffffff8028c6a0 T inflateInit2_=0A=
ffffffff8028c7b8 T inflateInit_=0A=
ffffffff8028c7e4 T inflate=0A=
ffffffff8028cdac T inflateSetDictionary=0A=
ffffffff8028ce84 T inflateIncomp=0A=
ffffffff8028cec4 T inflateSync=0A=
ffffffff8028d018 T inflate_blocks_reset=0A=
ffffffff8028d0f8 T inflate_blocks_new=0A=
ffffffff8028d1bc T inflate_blocks=0A=
ffffffff8028de58 T inflate_blocks_free=0A=
ffffffff8028deb8 T inflate_set_dictionary=0A=
ffffffff8028defc T inflate_addhistory=0A=
ffffffff8028e050 T inflate_packet_flush=0A=
ffffffff8028e070 t huft_build=0A=
ffffffff8028e680 T inflate_trees_bits=0A=
ffffffff8028e730 T inflate_trees_dynamic=0A=
ffffffff8028e8fc t falloc=0A=
ffffffff8028e920 T inflate_trees_fixed=0A=
ffffffff8028eb20 T inflate_trees_free=0A=
ffffffff8028eba0 T inflate_codes_new=0A=
ffffffff8028ec18 T inflate_codes=0A=
ffffffff8028f448 T inflate_codes_free=0A=
ffffffff8028f474 T inflate_flush=0A=
ffffffff8028f60c T inflate_fast=0A=
ffffffff8028fa0c T zlibVersion=0A=
ffffffff8028fa18 T adler32=0A=
ffffffff8028fbc0 t jffs2_lookup=0A=
ffffffff8028fe04 t jffs2_readdir=0A=
ffffffff80290074 t jffs2_create=0A=
ffffffff8029065c t jffs2_do_unlink=0A=
ffffffff80290b30 t jffs2_unlink=0A=
ffffffff80290b50 t jffs2_do_link=0A=
ffffffff80290ff4 t jffs2_link=0A=
ffffffff802910a8 t jffs2_symlink=0A=
ffffffff80291758 t jffs2_mkdir=0A=
ffffffff80291d28 t jffs2_rmdir=0A=
ffffffff80291d80 t jffs2_mknod=0A=
ffffffff8029244c t jffs2_rename=0A=
ffffffff80292670 T jffs2_null_fsync=0A=
ffffffff80292678 T jffs2_setattr=0A=
ffffffff80292dc8 T jffs2_do_readpage_nolock=0A=
ffffffff802931d4 T jffs2_do_readpage_unlock=0A=
ffffffff802932ac T jffs2_readpage=0A=
ffffffff802933e4 T jffs2_prepare_write=0A=
ffffffff8029381c T jffs2_commit_write=0A=
ffffffff80293f30 T jffs2_ioctl=0A=
ffffffff80293f40 T jffs2_add_fd_to_list=0A=
ffffffff80294088 T jffs2_add_tn_to_list=0A=
ffffffff802940ec T jffs2_get_inode_nodes=0A=
ffffffff802945e0 T jffs2_get_ino_cache=0A=
ffffffff80294628 T jffs2_add_ino_cache=0A=
ffffffff80294690 T jffs2_del_ino_cache=0A=
ffffffff80294708 T jffs2_free_ino_caches=0A=
ffffffff80294784 T jffs2_free_raw_node_refs=0A=
ffffffff80294850 T jffs2_free_tmp_dnode_info_list=0A=
ffffffff802948a0 T jffs2_free_full_dirent_list=0A=
ffffffff802948d8 T jffs2_destroy_slab_caches=0A=
ffffffff802949b0 T jffs2_alloc_full_dirent=0A=
ffffffff802949d4 T jffs2_free_full_dirent=0A=
ffffffff802949f4 T jffs2_alloc_full_dnode=0A=
ffffffff80294a1c T jffs2_free_full_dnode=0A=
ffffffff80294a48 T jffs2_alloc_raw_dirent=0A=
ffffffff80294a70 T jffs2_free_raw_dirent=0A=
ffffffff80294a9c T jffs2_alloc_raw_inode=0A=
ffffffff80294ac4 T jffs2_free_raw_inode=0A=
ffffffff80294af0 T jffs2_alloc_tmp_dnode_info=0A=
ffffffff80294b18 T jffs2_free_tmp_dnode_info=0A=
ffffffff80294b44 T jffs2_alloc_raw_node_ref=0A=
ffffffff80294b6c T jffs2_free_raw_node_ref=0A=
ffffffff80294b98 T jffs2_alloc_node_frag=0A=
ffffffff80294bc0 T jffs2_free_node_frag=0A=
ffffffff80294bec T jffs2_alloc_inode_cache=0A=
ffffffff80294c14 T jffs2_free_inode_cache=0A=
ffffffff80294c40 T jffs2_read_dnode=0A=
ffffffff80295000 T jffs2_reserve_space=0A=
ffffffff802953a8 T jffs2_reserve_space_gc=0A=
ffffffff80295480 t jffs2_do_reserve_space=0A=
ffffffff802956f8 T jffs2_add_physical_node_ref=0A=
ffffffff80295a58 T jffs2_complete_reservation=0A=
ffffffff80295ae8 T jffs2_mark_node_obsolete=0A=
ffffffff80295ff0 T jffs2_add_full_dnode_to_inode=0A=
ffffffff80296010 t jffs2_obsolete_node_frag=0A=
ffffffff80296088 T jffs2_add_full_dnode_to_fraglist=0A=
ffffffff80296354 T jffs2_truncate_fraglist=0A=
ffffffff802963fc T jffs2_read_inode=0A=
ffffffff80296a5c T jffs2_clear_inode=0A=
ffffffff80296b80 t jffs2_statfs=0A=
ffffffff80296fec t jffs2_read_super=0A=
ffffffff802974bc T jffs2_put_super=0A=
ffffffff80297594 T jffs2_write_super=0A=
ffffffff802975e0 T jffs2_new_inode=0A=
ffffffff8029784c t mtd_fake_writev=0A=
ffffffff80297948 t writecheck=0A=
ffffffff80297a88 T jffs2_write_dnode=0A=
ffffffff80297d04 T jffs2_write_dirent=0A=
ffffffff80298040 T jffs2_scan_medium=0A=
ffffffff802982fc t jffs2_scan_eraseblock=0A=
ffffffff80298ad0 t jffs2_scan_empty=0A=
ffffffff80298cfc t jffs2_scan_make_ino_cache=0A=
ffffffff80298dd8 t jffs2_scan_inode_node=0A=
ffffffff80299428 t jffs2_scan_dirent_node=0A=
ffffffff80299960 t jffs2_find_gc_block=0A=
ffffffff80299a70 T jffs2_garbage_collect_pass=0A=
ffffffff8029a2b8 t jffs2_garbage_collect_metadata=0A=
ffffffff8029a5f0 t jffs2_garbage_collect_dirent=0A=
ffffffff8029a810 t jffs2_garbage_collect_deletion_dirent=0A=
ffffffff8029a8c8 t jffs2_garbage_collect_hole=0A=
ffffffff8029ade4 t jffs2_garbage_collect_dnode=0A=
ffffffff8029b220 t jffs2_getlink=0A=
ffffffff8029b2f4 T jffs2_readlink=0A=
ffffffff8029b370 T jffs2_follow_link=0A=
ffffffff8029b3d0 T jffs2_build_filesystem=0A=
ffffffff8029b560 T jffs2_build_inode_pass1=0A=
ffffffff8029b7a4 T jffs2_build_remove_unlinked_inode=0A=
ffffffff8029b900 T jffs2_erase_block=0A=
ffffffff8029bbd4 T jffs2_erase_pending_blocks=0A=
ffffffff8029bd90 t jffs2_erase_callback=0A=
ffffffff8029bee8 t jffs2_free_all_node_refs=0A=
ffffffff8029c01c T jffs2_erase_pending_trigger=0A=
ffffffff8029c028 T jffs2_mark_erased_blocks=0A=
ffffffff8029c680 T jffs2_garbage_collect_trigger=0A=
ffffffff8029c718 T jffs2_start_garbage_collect_thread=0A=
ffffffff8029c89c T jffs2_stop_garbage_collect_thread=0A=
ffffffff8029c994 t jffs2_garbage_collect_thread=0A=
ffffffff8029cd1c t thread_should_wake=0A=
ffffffff8029cd60 T sem_exit=0A=
ffffffff8029cd68 T sys_semget=0A=
ffffffff8029cd70 T sys_semop=0A=
ffffffff8029cd78 T sys_semctl=0A=
ffffffff8029cd80 T sys_msgget=0A=
ffffffff8029cd88 T sys_msgsnd=0A=
ffffffff8029cd90 T sys_msgrcv=0A=
ffffffff8029cd98 T sys_msgctl=0A=
ffffffff8029cda0 T sys_shmget=0A=
ffffffff8029cda8 T sys_shmat=0A=
ffffffff8029cdb0 T sys_shmdt=0A=
ffffffff8029cdb8 T sys_shmctl=0A=
ffffffff8029cdc0 t isJumpInstruction=0A=
ffffffff8029cdfc t emulateBranch=0A=
ffffffff8029cf30 t computeBranchAddress=0A=
ffffffff8029cfc0 T do_ri=0A=
ffffffff8029d320 T __mulsi3=0A=
ffffffff8029d348 T __muldi3=0A=
ffffffff8029d3b8 T get_mult_hi=0A=
ffffffff8029d438 T get_umult_hi=0A=
ffffffff8029d4a0 T __udivsi3=0A=
ffffffff8029d4f4 T __divsi3=0A=
ffffffff8029d570 T __umodsi3=0A=
ffffffff8029d5c4 T __modsi3=0A=
ffffffff8029d630 t isBranchInstr=0A=
ffffffff8029d6d4 t mips_get_word=0A=
ffffffff8029d708 t mips_get_dword=0A=
ffffffff8029d744 t mips_put_word=0A=
ffffffff8029d778 t mips_put_dword=0A=
ffffffff8029d7b4 t cop1Emulate=0A=
ffffffff8029e048 T do_dsemulret=0A=
ffffffff8029e060 t mips_dsemul=0A=
ffffffff8029e144 t fpemu_dp_recip=0A=
ffffffff8029e18c t fpemu_dp_rsqrt=0A=
ffffffff8029e1e8 t fpemu_sp_recip=0A=
ffffffff8029e228 t fpemu_sp_rsqrt=0A=
ffffffff8029e27c t fpemu_dp_madd=0A=
ffffffff8029e2e8 t fpemu_dp_msub=0A=
ffffffff8029e354 t fpemu_dp_nmadd=0A=
ffffffff8029e3d0 t fpemu_dp_nmsub=0A=
ffffffff8029e44c t fpemu_sp_madd=0A=
ffffffff8029e4b0 t fpemu_sp_msub=0A=
ffffffff8029e514 t fpemu_sp_nmadd=0A=
ffffffff8029e590 t fpemu_sp_nmsub=0A=
ffffffff8029e60c t fpux_emu=0A=
ffffffff8029eb6c t fpu_emu=0A=
ffffffff8029f560 T fpu_emulator_cop1Handler=0A=
ffffffff8029f6a0 T ieee754dp_floor=0A=
ffffffff8029f74c T ieee754dp_ceil=0A=
ffffffff8029f7f8 T ieee754dp_trunc=0A=
ffffffff8029f850 T ieee754dp_dump=0A=
ffffffff8029fb90 T ieee754sp_dump=0A=
ffffffff8029fe30 T ieee754dp_class=0A=
ffffffff8029fea8 T ieee754dp_isnan=0A=
ffffffff8029fed0 T ieee754dp_issnan=0A=
ffffffff8029ff1c T ieee754dp_xcpt=0A=
ffffffff8029ffac T ieee754dp_nanxcpt=0A=
ffffffff802a00f0 T ieee754dp_bestnan=0A=
ffffffff802a0150 T ieee754dp_format=0A=
ffffffff802a0610 T ieee754sp_class=0A=
ffffffff802a0668 T ieee754sp_isnan=0A=
ffffffff802a068c T ieee754sp_issnan=0A=
ffffffff802a06c0 T ieee754sp_xcpt=0A=
ffffffff802a073c T ieee754sp_nanxcpt=0A=
ffffffff802a0844 T ieee754sp_bestnan=0A=
ffffffff802a0874 T ieee754sp_format=0A=
ffffffff802a0c10 T ieee754si_xcpt=0A=
ffffffff802a0c84 T ieee754di_xcpt=0A=
ffffffff802a0d00 T ieee754_xcpt=0A=
ffffffff802a0d40 T ieee754dp_frexp=0A=
ffffffff802a0ee0 T ieee754dp_modf=0A=
ffffffff802a1250 T ieee754dp_div=0A=
ffffffff802a1910 T ieee754dp_mul=0A=
ffffffff802a2080 T ieee754dp_sub=0A=
ffffffff802a2870 T ieee754dp_add=0A=
ffffffff802a3020 T ieee754dp_fsp=0A=
ffffffff802a3260 T ieee754dp_cmp=0A=
ffffffff802a3400 T ieee754dp_logb=0A=
ffffffff802a35a0 T ieee754dp_scalb=0A=
ffffffff802a379c T ieee754dp_ldexp=0A=
ffffffff802a37e0 T ieee754dp_finite=0A=
ffffffff802a37fc T ieee754dp_copysign=0A=
ffffffff802a384c T ieee754dp_neg=0A=
ffffffff802a3900 T ieee754dp_abs=0A=
ffffffff802a39b0 T ieee754dp_tint=0A=
ffffffff802a3cb8 T ieee754dp_tuns=0A=
ffffffff802a3d60 T ieee754dp_fint=0A=
ffffffff802a3f14 T ieee754dp_funs=0A=
ffffffff802a3f90 T ieee754dp_tlong=0A=
ffffffff802a44f4 T ieee754dp_tulong=0A=
ffffffff802a45a0 T ieee754dp_flong=0A=
ffffffff802a4858 T ieee754dp_fulong=0A=
ffffffff802a48f0 T ieee754sp_frexp=0A=
ffffffff802a4a30 T ieee754sp_modf=0A=
ffffffff802a4c30 T ieee754sp_div=0A=
ffffffff802a5160 T ieee754sp_mul=0A=
ffffffff802a55f0 T ieee754sp_sub=0A=
ffffffff802a5af0 T ieee754sp_add=0A=
ffffffff802a5f70 T ieee754sp_fdp=0A=
ffffffff802a6240 T ieee754sp_cmp=0A=
ffffffff802a6390 T ieee754sp_logb=0A=
ffffffff802a64e0 T ieee754sp_scalb=0A=
ffffffff802a6670 T ieee754sp_ldexp=0A=
ffffffff802a66b0 T ieee754sp_finite=0A=
ffffffff802a66c4 T ieee754sp_copysign=0A=
ffffffff802a6704 T ieee754sp_neg=0A=
ffffffff802a67a0 T ieee754sp_abs=0A=
ffffffff802a6830 T ieee754sp_tint=0A=
ffffffff802a6a90 T ieee754sp_tuns=0A=
ffffffff802a6b00 T ieee754sp_fint=0A=
ffffffff802a6c84 T ieee754sp_funs=0A=
ffffffff802a6d10 T ieee754sp_tlong=0A=
ffffffff802a7008 T ieee754sp_tulong=0A=
ffffffff802a7080 T ieee754sp_flong=0A=
ffffffff802a7308 T ieee754sp_fulong=0A=
ffffffff802a73a0 T ieee754dp_sqrt=0A=
ffffffff802a79c0 T ieee754sp_sqrt=0A=
ffffffff802a7bd0 T fpu_emulator_init_fpu=0A=
ffffffff802a7c34 T fpu_emulator_save_context=0A=
ffffffff802a7ca0 T fpu_emulator_restore_context=0A=
ffffffff802a7d10 T ad6489_int_demux=0A=
ffffffff802a7d48 t ad6489_cpe_int=0A=
ffffffff802a7d58 t ad6489_wpe_int=0A=
ffffffff802a7d60 t ad6489_spe_int=0A=
ffffffff802a7d70 t noInt=0A=
ffffffff802a7e18 t set_prio_reg=0A=
ffffffff802a7f98 T enable_irq=0A=
ffffffff802a7fb8 T disable_irq=0A=
ffffffff802a7fdc T ad6489_register_irq=0A=
ffffffff802a8260 T init_IRQ=0A=
ffffffff802a8304 T do_external=0A=
ffffffff802a8460 t putChar=0A=
ffffffff802a84c4 t getChar=0A=
ffffffff802a8508 T ad6489_uart_write=0A=
ffffffff802a85cc T ad6489_uart_wait=0A=
ffffffff802a8630 T ad6489_uart_device=0A=
ffffffff802a8648 T ad6489_uart_setup=0A=
ffffffff802a86ec T ad6489_uart_read=0A=
ffffffff802a8798 T ad6489_uart_unblank=0A=
ffffffff802a87a0 T ad6489_serialInterrupt=0A=
ffffffff802a87c4 t debugInit=0A=
ffffffff802a8834 T putDebugChar=0A=
ffffffff802a8890 T getDebugChar=0A=
ffffffff802a88e0 t ad6489_restart=0A=
ffffffff802a88fc t ad6489_halt=0A=
ffffffff802a8918 T ad6489_setup=0A=
ffffffff802a8990 T ad6489_startTimer=0A=
ffffffff802a8a90 T ad6489_timerInterrupt=0A=
ffffffff802a8b14 T ad6489_getTimeOffset=0A=
ffffffff802a8b20 T wait=0A=
ffffffff802a8b30 T autoClockInit=0A=
ffffffff802a8bf0 T autoClockRead=0A=
ffffffff802a8c40 t ad6489_pci_read_config_dword=0A=
ffffffff802a8cec t ad6489_pci_write_config_dword=0A=
ffffffff802a8d94 t ad6489_pci_read_config_word=0A=
ffffffff802a8e08 t ad6489_pci_read_config_byte=0A=
ffffffff802a8e98 t ad6489_pci_write_config_word=0A=
ffffffff802a8f3c t ad6489_pci_write_config_byte=0A=
ffffffff802a8fec t print_pci_details=0A=
ffffffff802a91ac T pcibios_setup=0A=
ffffffff802a91b4 T pcibios_enable_resources=0A=
ffffffff802a91bc T pcibios_enable_device=0A=
ffffffff802a91dc T pcibios_update_resource=0A=
ffffffff802a92c8 T pcibios_align_resource=0A=
ffffffff802a9368 T ad6489_pciInterrupt=0A=
ffffffff802a93c0 t do_write_mem=0A=
ffffffff802a9430 t read_mem=0A=
ffffffff802a94d8 t write_mem=0A=
ffffffff802a9544 t mmap_mem=0A=
ffffffff802a954c t read_kmem=0A=
ffffffff802a96b0 t write_kmem=0A=
ffffffff802a9710 t read_port=0A=
ffffffff802a97a8 t write_port=0A=
ffffffff802a9838 t read_null=0A=
ffffffff802a9840 t write_null=0A=
ffffffff802a9848 t read_zero=0A=
ffffffff802a98b8 t mmap_zero=0A=
ffffffff802a98c0 t write_full=0A=
ffffffff802a98c8 t null_lseek=0A=
ffffffff802a98dc t memory_lseek=0A=
ffffffff802a9948 t open_port=0A=
ffffffff802a9980 t memory_open=0A=
ffffffff802a9a90 t alloc_tty_struct=0A=
ffffffff802a9ad4 t _tty_make_name=0A=
ffffffff802a9b50 T tty_name=0A=
ffffffff802a9b80 t check_tty_count=0A=
ffffffff802a9c58 T tty_register_ldisc=0A=
ffffffff802a9d0c t tty_set_ldisc=0A=
ffffffff802a9fbc T get_tty_driver=0A=
ffffffff802aa030 T tty_check_change=0A=
ffffffff802aa0c4 t hung_up_tty_read=0A=
ffffffff802aa0d8 t hung_up_tty_write=0A=
ffffffff802aa0f0 t hung_up_tty_poll=0A=
ffffffff802aa0f8 t hung_up_tty_ioctl=0A=
ffffffff802aa114 T do_tty_hangup=0A=
ffffffff802aa4fc T tty_hangup=0A=
ffffffff802aa51c T tty_vhangup=0A=
ffffffff802aa53c T tty_hung_up_p=0A=
ffffffff802aa554 T disassociate_ctty=0A=
ffffffff802aa668 T wait_for_keypress=0A=
ffffffff802aa6a0 T stop_tty=0A=
ffffffff802aa72c T start_tty=0A=
ffffffff802aa804 t tty_read=0A=
ffffffff802aa938 t tty_write=0A=
ffffffff802aac58 t down_tty_sem=0A=
ffffffff802aace0 t up_tty_sem=0A=
ffffffff802aad68 t init_dev=0A=
ffffffff802ab370 t release_mem=0A=
ffffffff802ab498 t release_dev=0A=
ffffffff802abb70 t tty_open=0A=
ffffffff802abea0 t tty_release=0A=
ffffffff802abec4 t tty_poll=0A=
ffffffff802abf8c t tty_fasync=0A=
ffffffff802ac0e8 t tiocsti=0A=
ffffffff802ac184 t tiocgwinsz=0A=
ffffffff802ac1c0 t tiocswinsz=0A=
ffffffff802ac2b0 t tioccons=0A=
ffffffff802ac350 t fionbio=0A=
ffffffff802ac394 t tiocsctty=0A=
ffffffff802ac490 t tiocgpgrp=0A=
ffffffff802ac4c0 t tiocspgrp=0A=
ffffffff802ac578 t tiocgsid=0A=
ffffffff802ac5b0 t tiocttygstruct=0A=
ffffffff802ac5ec t tiocsetd=0A=
ffffffff802ac61c t send_break=0A=
ffffffff802ac698 T tty_ioctl=0A=
ffffffff802acc78 t __do_SAK=0A=
ffffffff802acdd4 T do_SAK=0A=
ffffffff802ace08 t flush_to_ldisc=0A=
ffffffff802acfdc T tty_get_baud_rate=0A=
ffffffff802ad0c0 T tty_flip_buffer_push=0A=
ffffffff802ad1cc t initialize_tty_struct=0A=
ffffffff802ad324 T tty_default_put_char=0A=
ffffffff802ad358 T tty_register_devfs=0A=
ffffffff802ad360 T tty_unregister_devfs=0A=
ffffffff802ad368 T tty_register_driver=0A=
ffffffff802ad470 T tty_unregister_driver=0A=
ffffffff802ad61c T tty_paranoia_check=0A=
ffffffff802ad690 t check_unthrottle=0A=
ffffffff802ad738 t reset_buffer_flags=0A=
ffffffff802ad7dc T n_tty_flush_buffer=0A=
ffffffff802ad83c T n_tty_chars_in_buffer=0A=
ffffffff802ad8dc t opost=0A=
ffffffff802adb04 t opost_block=0A=
ffffffff802add54 t echo_char=0A=
ffffffff802ade04 t eraser=0A=
ffffffff802ae3a4 t n_tty_receive_room=0A=
ffffffff802ae3ec t n_tty_receive_buf=0A=
ffffffff802af7c4 T is_ignored=0A=
ffffffff802af814 t n_tty_set_termios=0A=
ffffffff802b01b4 t n_tty_close=0A=
ffffffff802b01f4 t n_tty_open=0A=
ffffffff802b02a8 t read_chan=0A=
ffffffff802b0ee8 t write_chan=0A=
ffffffff802b113c t normal_poll=0A=
ffffffff802b12f0 T tty_wait_until_sent=0A=
ffffffff802b13dc t unset_locked_termios=0A=
ffffffff802b1508 t change_termios=0A=
ffffffff802b1790 t set_termios=0A=
ffffffff802b194c t get_termio=0A=
ffffffff802b19e0 t inq_canon=0A=
ffffffff802b1a70 t get_sgflags=0A=
ffffffff802b1ac8 t get_sgttyb=0A=
ffffffff802b1b34 t set_sgflags=0A=
ffffffff802b1bd8 t set_sgttyb=0A=
ffffffff802b1cb8 t get_ltchars=0A=
ffffffff802b1d38 t set_ltchars=0A=
ffffffff802b1ddc T send_prio_char=0A=
ffffffff802b1e6c T n_tty_ioctl=0A=
ffffffff802b2410 T raw_open=0A=
ffffffff802b2730 T raw_release=0A=
ffffffff802b28bc T raw_ctl_ioctl=0A=
ffffffff802b2cac T raw_read=0A=
ffffffff802b2ce4 T raw_write=0A=
ffffffff802b2d1c t rw_raw_dev=0A=
ffffffff802b3170 t pty_close=0A=
ffffffff802b3328 t pty_unthrottle=0A=
ffffffff802b33f0 t pty_write=0A=
ffffffff802b3640 t pty_write_room=0A=
ffffffff802b3694 t pty_chars_in_buffer=0A=
ffffffff802b3708 t pty_set_lock=0A=
ffffffff802b37e8 t pty_bsd_ioctl=0A=
ffffffff802b3834 t pty_flush_buffer=0A=
ffffffff802b38b0 t pty_open=0A=
ffffffff802b3a38 t pty_set_termios=0A=
ffffffff802b3a70 t misc_read_proc=0A=
ffffffff802b3b94 t misc_open=0A=
ffffffff802b4058 T misc_register=0A=
ffffffff802b430c T misc_deregister=0A=
ffffffff802b44a0 t create_entropy_store=0A=
ffffffff802b45f4 t clear_entropy_store=0A=
ffffffff802b4630 t add_entropy_words=0A=
ffffffff802b475c t credit_entropy_store=0A=
ffffffff802b4798 T batch_entropy_store=0A=
ffffffff802b4910 t batch_entropy_process=0A=
ffffffff802b4a44 T random_add_entropy=0A=
ffffffff802b4a64 t add_timer_randomness=0A=
ffffffff802b4b5c T add_keyboard_randomness=0A=
ffffffff802b4ba0 T add_mouse_randomness=0A=
ffffffff802b4bcc T add_interrupt_randomness=0A=
ffffffff802b4c14 T add_blkdev_randomness=0A=
ffffffff802b4c88 t SHATransform=0A=
ffffffff802b4e24 t extract_entropy=0A=
ffffffff802b5178 T get_random_bytes=0A=
ffffffff802b51ec t init_std_data=0A=
ffffffff802b52bc T rand_initialize_irq=0A=
ffffffff802b532c T rand_initialize_blkdev=0A=
ffffffff802b539c t random_read=0A=
ffffffff802b551c t urandom_read=0A=
ffffffff802b5544 t random_poll=0A=
ffffffff802b55ec t random_write=0A=
ffffffff802b56e4 t random_ioctl=0A=
ffffffff802b5a6c T generate_random_uuid=0A=
ffffffff802b5ab4 t free_entropy_store=0A=
ffffffff802b5af4 t change_poolsize=0A=
ffffffff802b5b84 t proc_do_poolsize=0A=
ffffffff802b5c0c t poolsize_strategy=0A=
ffffffff802b5cbc t proc_do_uuid=0A=
ffffffff802b5e08 t uuid_strategy=0A=
ffffffff802b5ed0 t sysctl_init_random=0A=
ffffffff802b5f10 t halfMD4Transform=0A=
ffffffff802b631c T secure_tcp_sequence_number=0A=
ffffffff802b6420 T secure_ip_id=0A=
ffffffff802b6490 t serial_in=0A=
ffffffff802b64dc t serial_out=0A=
ffffffff802b6520 T serial_icr_write=0A=
ffffffff802b656c T serial_icr_read=0A=
ffffffff802b65dc t rs_stop=0A=
ffffffff802b66a0 t rs_start=0A=
ffffffff802b6788 t rs_sched_event=0A=
ffffffff802b68fc t receive_chars=0A=
ffffffff802b6bcc t transmit_chars=0A=
ffffffff802b6d48 t check_modem_status=0A=
ffffffff802b6f04 t rs_interrupt=0A=
ffffffff802b7018 T rs_interrupt_single=0A=
ffffffff802b711c t do_serial_bh=0A=
ffffffff802b7154 t do_softint=0A=
ffffffff802b7224 t rs_timer=0A=
ffffffff802b7420 t figure_IRQ_timeout=0A=
ffffffff802b749c t enable_rsa=0A=
ffffffff802b7548 t disable_rsa=0A=
ffffffff802b7608 t startup=0A=
ffffffff802b7ec0 t shutdown=0A=
ffffffff802b82e8 t change_speed=0A=
ffffffff802b89dc t rs_put_char=0A=
ffffffff802b8ab4 t rs_flush_chars=0A=
ffffffff802b8b70 t rs_write=0A=
ffffffff802b8f3c t rs_write_room=0A=
ffffffff802b8f5c t rs_chars_in_buffer=0A=
ffffffff802b8f7c t rs_flush_buffer=0A=
ffffffff802b902c t rs_send_xchar=0A=
ffffffff802b906c t rs_throttle=0A=
ffffffff802b913c t rs_unthrottle=0A=
ffffffff802b9224 t get_serial_info=0A=
ffffffff802b9324 t set_serial_info=0A=
ffffffff802b98d0 t get_lsr_info=0A=
ffffffff802b99d4 t get_modem_info=0A=
ffffffff802b9ae4 t set_modem_info=0A=
ffffffff802b9d88 t do_autoconfig=0A=
ffffffff802b9e6c t rs_break=0A=
ffffffff802b9f2c t rs_ioctl=0A=
ffffffff802ba4a4 t rs_set_termios=0A=
ffffffff802ba69c t rs_close=0A=
ffffffff802ba9f4 t rs_wait_until_sent=0A=
ffffffff802bab04 t rs_hangup=0A=
ffffffff802bab88 t block_til_ready=0A=
ffffffff802baf50 t get_async_struct=0A=
ffffffff802bb0c8 t rs_open=0A=
ffffffff802bb38c T rs_read_proc=0A=
ffffffff802bb7ec t show_serial_version=0A=
ffffffff802bb840 t detect_uart_irq=0A=
ffffffff802bbaa0 t size_fifo=0A=
ffffffff802bbc64 t autoconfig_startech_uarts=0A=
ffffffff802bbe84 t autoconfig=0A=
ffffffff802bc438 t get_pci_port=0A=
ffffffff802bc6cc t get_pci_irq=0A=
ffffffff802bc72c T register_serial=0A=
ffffffff802bcae8 T unregister_serial=0A=
ffffffff802bcbd4 t serial_console_write=0A=
ffffffff802bce80 t serial_console_wait_key=0A=
ffffffff802bcf14 t serial_console_device=0A=
ffffffff802bcf30 t __blk_cleanup_queue=0A=
ffffffff802bcfb4 T blk_cleanup_queue=0A=
ffffffff802bd038 T blk_queue_headactive=0A=
ffffffff802bd040 T blk_queue_make_request=0A=
ffffffff802bd048 t ll_back_merge_fn=0A=
ffffffff802bd09c t ll_front_merge_fn=0A=
ffffffff802bd0ec t ll_merge_requests_fn=0A=
ffffffff802bd13c t generic_plug_device=0A=
ffffffff802bd23c T generic_unplug_device=0A=
ffffffff802bd2d0 t blk_init_free_list=0A=
ffffffff802bd3d4 T blk_init_queue=0A=
ffffffff802bd4a8 t __get_request_wait=0A=
ffffffff802bd5c0 T is_read_only=0A=
ffffffff802bd60c T set_device_ro=0A=
ffffffff802bd6a0 t attempt_merge=0A=
ffffffff802bd86c t __make_request=0A=
ffffffff802be1d4 T generic_make_request=0A=
ffffffff802be41c T submit_bh=0A=
ffffffff802be538 T ll_rw_block=0A=
ffffffff802be918 T end_that_request_first=0A=
ffffffff802bea2c T end_that_request_last=0A=
ffffffff802beb1c T blk_get_queue=0A=
ffffffff802beb90 T blkdev_release_request=0A=
ffffffff802bec64 T drive_stat_acct=0A=
ffffffff802bed80 T blk_refill_freelist=0A=
ffffffff802bedf0 T add_partition=0A=
ffffffff802befc4 T del_partition=0A=
ffffffff802bf124 T blkpg_ioctl=0A=
ffffffff802bf234 T blk_ioctl=0A=
ffffffff802bf630 T add_gendisk=0A=
ffffffff802bf650 T del_gendisk=0A=
ffffffff802bf6b4 T get_gendisk=0A=
ffffffff802bf6f0 T get_partition_list=0A=
ffffffff802bf860 T elevator_linus_merge=0A=
ffffffff802bfa04 T elevator_linus_merge_cleanup=0A=
ffffffff802bfa3c T elevator_linus_merge_req=0A=
ffffffff802bfa60 T elevator_noop_merge=0A=
ffffffff802bfb38 T elevator_noop_merge_cleanup=0A=
ffffffff802bfb40 T elevator_noop_merge_req=0A=
ffffffff802bfb48 T blkelvget_ioctl=0A=
ffffffff802bfb9c T blkelvset_ioctl=0A=
ffffffff802bfc14 T elevator_init=0A=
ffffffff802bfc60 T bh_rq_in_between=0A=
ffffffff802bfcf0 t ramdisk_readpage=0A=
ffffffff802bfe30 t ramdisk_writepage=0A=
ffffffff802bff4c t ramdisk_prepare_write=0A=
ffffffff802c003c t ramdisk_commit_write=0A=
ffffffff802c0044 t rd_blkdev_pagecache_IO=0A=
ffffffff802c032c t rd_make_request=0A=
ffffffff802c03ec t rd_ioctl=0A=
ffffffff802c0694 t rd_open=0A=
ffffffff802c072c t rd_release=0A=
ffffffff802c0734 t huft_build=0A=
ffffffff802c0d08 t huft_free=0A=
ffffffff802c0d4c t inflate_codes=0A=
ffffffff802c1354 t inflate_stored=0A=
ffffffff802c15d8 t inflate_fixed=0A=
ffffffff802c177c t inflate_dynamic=0A=
ffffffff802c2008 t inflate_block=0A=
ffffffff802c21b8 t inflate=0A=
ffffffff802c22a4 t makecrc=0A=
ffffffff802c235c t gunzip=0A=
ffffffff802c2d10 t ad6489_wpe_xmit=0A=
ffffffff802c2d40 t ad6489_wpe_open=0A=
ffffffff802c2d68 t ad6489_wpe_close=0A=
ffffffff802c2d90 T ad6489_wpe_int=0A=
ffffffff802c2dc8 t kickstart_wpe=0A=
ffffffff802c2e14 t ad6489_wpe_ipc_handshake=0A=
ffffffff802c2f04 t ad6489_wpe_ioctl=0A=
ffffffff802c31dc T ad6489_wpe_probe=0A=
ffffffff802c3290 T printMessage=0A=
ffffffff802c32c8 T ipcInitialize=0A=
ffffffff802c3330 T ipcInitDone=0A=
ffffffff802c3370 T ipcInitCheck=0A=
ffffffff802c3394 T ipcSendEvent=0A=
ffffffff802c3568 T ipcRegisterHandler=0A=
ffffffff802c3608 T ipcDeliverEvents=0A=
ffffffff802c36d0 T ipcThread=0A=
ffffffff802c3724 T ipcServerStart=0A=
ffffffff802c37a0 t alloc_netdev=0A=
ffffffff802c385c t init_alloc_dev=0A=
ffffffff802c38e0 t init_netdev=0A=
ffffffff802c39f4 T init_etherdev=0A=
ffffffff802c3a24 T alloc_etherdev=0A=
ffffffff802c3a54 t eth_mac_addr=0A=
ffffffff802c3a9c t eth_change_mtu=0A=
ffffffff802c3abc T ether_setup=0A=
ffffffff802c3b70 T register_netdev=0A=
ffffffff802c3c18 T unregister_netdev=0A=
ffffffff802c3c50 t loopback_xmit=0A=
ffffffff802c3e4c t get_stats=0A=
ffffffff802c3e60 T autoirq_setup=0A=
ffffffff802c3e84 T autoirq_report=0A=
ffffffff802c3ed0 T pci_find_slot=0A=
ffffffff802c3f30 T pci_find_subsys=0A=
ffffffff802c3fec T pci_find_device=0A=
ffffffff802c4014 T pci_find_class=0A=
ffffffff802c4074 T pci_find_capability=0A=
ffffffff802c41a8 T pci_find_parent_resource=0A=
ffffffff802c4254 T pci_set_power_state=0A=
ffffffff802c43ec T pci_save_state=0A=
ffffffff802c444c T pci_restore_state=0A=
ffffffff802c4500 T pci_enable_device=0A=
ffffffff802c4538 T pci_disable_device=0A=
ffffffff802c458c T pci_enable_wake=0A=
ffffffff802c4700 T pci_get_interrupt_pin=0A=
ffffffff802c47b4 T pci_release_regions=0A=
ffffffff802c49bc T pci_request_regions=0A=
ffffffff802c4cec T pci_match_device=0A=
ffffffff802c4dcc t pci_announce_device=0A=
ffffffff802c4e70 T pci_register_driver=0A=
ffffffff802c4f14 T pci_unregister_driver=0A=
ffffffff802c4fb4 T pci_dev_driver=0A=
ffffffff802c500c T pci_read_config_byte=0A=
ffffffff802c508c T pci_read_config_word=0A=
ffffffff802c5120 T pci_read_config_dword=0A=
ffffffff802c51b4 T pci_write_config_byte=0A=
ffffffff802c5238 T pci_write_config_word=0A=
ffffffff802c52d0 T pci_write_config_dword=0A=
ffffffff802c5364 T pci_set_master=0A=
ffffffff802c53b8 T pci_set_dma_mask=0A=
ffffffff802c53dc t pci_size=0A=
ffffffff802c53f0 t pci_read_bases=0A=
ffffffff802c57ec t pci_read_irq=0A=
ffffffff802c583c T pci_setup_device=0A=
ffffffff802c59fc T pci_pool_create=0A=
ffffffff802c5b34 t pool_alloc_page=0A=
ffffffff802c5c10 t pool_free_page=0A=
ffffffff802c5c9c T pci_pool_destroy=0A=
ffffffff802c5dd4 T pci_pool_alloc=0A=
ffffffff802c6084 t pool_find_page=0A=
ffffffff802c6124 T pci_pool_free=0A=
ffffffff802c62e0 t pci_do_fixups=0A=
ffffffff802c639c T pci_fixup_device=0A=
ffffffff802c63f0 T pcibios_present=0A=
ffffffff802c640c T pcibios_find_class=0A=
ffffffff802c64ac T pcibios_find_device=0A=
ffffffff802c655c T pcibios_read_config_byte=0A=
ffffffff802c65b4 T pcibios_read_config_word=0A=
ffffffff802c660c T pcibios_read_config_dword=0A=
ffffffff802c6664 T pcibios_write_config_byte=0A=
ffffffff802c66bc T pcibios_write_config_word=0A=
ffffffff802c6714 T pcibios_write_config_dword=0A=
ffffffff802c6770 T pci_class_name=0A=
ffffffff802c6780 t proc_bus_pci_lseek=0A=
ffffffff802c682c t proc_bus_pci_read=0A=
ffffffff802c6a8c t proc_bus_pci_write=0A=
ffffffff802c6c8c t proc_bus_pci_ioctl=0A=
ffffffff802c6ca4 t get_pci_dev_info=0A=
ffffffff802c6ef8 T pci_proc_attach_device=0A=
ffffffff802c6fd0 T pci_proc_detach_device=0A=
ffffffff802c702c t sprint_dev_config=0A=
ffffffff802c7358 t pci_read_proc=0A=
ffffffff802c7480 t pci_assign_bus_resource=0A=
ffffffff802c75a8 T pci_assign_resource=0A=
ffffffff802c76e0 T sys_pciconfig_read=0A=
ffffffff802c78c4 T sys_pciconfig_write=0A=
ffffffff802c7a10 T register_mtd_chip_driver=0A=
ffffffff802c7a3c T unregister_mtd_chip_driver=0A=
ffffffff802c7a60 t get_mtd_chip_driver=0A=
ffffffff802c7b00 T do_map_probe=0A=
ffffffff802c7bd0 T cfi_probe=0A=
ffffffff802c7c90 t cfi_send_cmd=0A=
ffffffff802c7dec t cfi_check_qry_or_id=0A=
ffffffff802c81bc t cfi_qry_mode=0A=
ffffffff802c8520 t cfi_probe_chip_1=0A=
ffffffff802c8d08 t cfi_probe_chip=0A=
ffffffff802c8e3c t cfi_probe_new_chip=0A=
ffffffff802c9008 t cfi_cfi_probe=0A=
ffffffff802c9588 t cfi_cmdset_unknown=0A=
ffffffff802c9aa0 t check_cmd_set=0A=
ffffffff802c9b70 T cfi_jedec_lookup=0A=
ffffffff802c9cb4 T cfi_jedec_setup=0A=
ffffffff802c9e20 T cfi_cmdset_0002=0A=
ffffffff802caa7c t cfi_amdstd_setup=0A=
ffffffff802caf04 t cfi_amdstd_read=0A=
ffffffff802cb17c t do_write_oneword=0A=
ffffffff802cbb90 t cfi_amdstd_write=0A=
ffffffff802cc714 t cfi_amdstd_erase_varsize=0A=
ffffffff802cd428 t cfi_amdstd_erase_onesize=0A=
ffffffff802cdfdc t cfi_amdstd_sync=0A=
ffffffff802ce214 t cfi_amdstd_suspend=0A=
ffffffff802ce3d8 t cfi_amdstd_resume=0A=
ffffffff802ce5d0 t cfi_amdstd_destroy=0A=
ffffffff802ce610 t ad6489_read8=0A=
ffffffff802ce628 t ad6489_read16=0A=
ffffffff802ce640 t ad6489_read32=0A=
ffffffff802ce658 t ad6489_copy_from=0A=
ffffffff802ce684 t ad6489_write8=0A=
ffffffff802ce698 t ad6489_write16=0A=
ffffffff802ce6ac t ad6489_write32=0A=
ffffffff802ce6c0 t ad6489_copy_to=0A=
ffffffff802ce6f0 t ad6489_reboot_notifier=0A=
ffffffff802ce6f8 t get_mtd_named=0A=
ffffffff802ce83c t ad6489_erasecallback=0A=
ffffffff802ce864 T flash_eraseconfig=0A=
ffffffff802cea6c t ad6489_point=0A=
ffffffff802ceaa0 T add_mtd_device=0A=
ffffffff802cec84 T del_mtd_device=0A=
ffffffff802cee74 T register_mtd_user=0A=
ffffffff802cefd4 T unregister_mtd_user=0A=
ffffffff802cf1d4 T __get_mtd_device=0A=
ffffffff802cf350 t mtd_read_proc=0A=
ffffffff802cf570 t part_read=0A=
ffffffff802cf654 t part_write=0A=
ffffffff802cf74c t part_point=0A=
ffffffff802cf830 t part_writev=0A=
ffffffff802cf8bc t part_readv=0A=
ffffffff802cf918 t part_erase=0A=
ffffffff802cf984 t part_lock=0A=
ffffffff802cfa28 t part_unlock=0A=
ffffffff802cfacc t part_sync=0A=
ffffffff802cfafc t part_suspend=0A=
ffffffff802cfb2c t part_resume=0A=
ffffffff802cfb5c T del_mtd_partitions=0A=
ffffffff802cfbf4 T add_mtd_partitions=0A=
ffffffff802d00c0 t mtd_lseek=0A=
ffffffff802d01c4 t mtd_open=0A=
ffffffff802d0314 t mtd_close=0A=
ffffffff802d03d4 t mtd_read=0A=
ffffffff802d0594 t mtd_write=0A=
ffffffff802d0778 t mtd_erase_callback=0A=
ffffffff802d07a0 t mtd_ioctl=0A=
ffffffff802d0d10 t erase_callback=0A=
ffffffff802d0d38 t erase_write=0A=
ffffffff802d0eb8 t write_cached_data=0A=
ffffffff802d0f10 t do_cached_write=0A=
ffffffff802d10bc t do_cached_read=0A=
ffffffff802d11dc t mtdblock_open=0A=
ffffffff802d1510 t mtdblock_release=0A=
ffffffff802d1728 t handle_mtdblock_request=0A=
ffffffff802d1a6c T mtdblock_thread=0A=
ffffffff802d1d10 t mtdblock_request=0A=
ffffffff802d1d3c t mtdblock_ioctl=0A=
ffffffff802d1f60 T move_addr_to_kernel=0A=
ffffffff802d1fc4 T move_addr_to_user=0A=
ffffffff802d203c t sockfs_statfs=0A=
ffffffff802d2060 t sockfs_read_super=0A=
ffffffff802d2140 t sockfs_delete_dentry=0A=
ffffffff802d2148 t sock_map_fd=0A=
ffffffff802d23d8 T sockfd_lookup=0A=
ffffffff802d2488 T sock_alloc=0A=
ffffffff802d253c t sock_no_open=0A=
ffffffff802d2544 T sock_release=0A=
ffffffff802d25e0 T sock_sendmsg=0A=
ffffffff802d26cc T sock_recvmsg=0A=
ffffffff802d2804 t sock_lseek=0A=
ffffffff802d2810 t sock_read=0A=
ffffffff802d288c t sock_write=0A=
ffffffff802d2920 t sock_sendpage=0A=
ffffffff802d2994 T sock_readv_writev=0A=
ffffffff802d2a1c t sock_readv=0A=
ffffffff802d2a80 t sock_writev=0A=
ffffffff802d2ae4 t sock_ioctl=0A=
ffffffff802d2b1c t sock_poll=0A=
ffffffff802d2b60 t sock_mmap=0A=
ffffffff802d2ba4 t sock_close=0A=
ffffffff802d2bf4 t sock_fasync=0A=
ffffffff802d2ef4 T sock_wake_async=0A=
ffffffff802d3008 T sock_create=0A=
ffffffff802d3150 T sys_socket=0A=
ffffffff802d31a8 T sys_socketpair=0A=
ffffffff802d32e8 T sys_bind=0A=
ffffffff802d3374 T sys_listen=0A=
ffffffff802d33e0 T sys_accept=0A=
ffffffff802d3508 T sys_connect=0A=
ffffffff802d3598 T sys_getsockname=0A=
ffffffff802d362c T sys_getpeername=0A=
ffffffff802d36c0 T sys_sendto=0A=
ffffffff802d37b4 T sys_send=0A=
ffffffff802d37d8 T sys_recvfrom=0A=
ffffffff802d38dc T sys_recv=0A=
ffffffff802d3900 T sys_setsockopt=0A=
ffffffff802d39c8 T sys_getsockopt=0A=
ffffffff802d3a80 T sys_shutdown=0A=
ffffffff802d3ae8 T sys_sendmsg=0A=
ffffffff802d3ce4 T sys_recvmsg=0A=
ffffffff802d3ec8 T sock_fcntl=0A=
ffffffff802d3f14 T sys_socketcall=0A=
ffffffff802d4114 T sock_register=0A=
ffffffff802d4180 T sock_unregister=0A=
ffffffff802d41a8 T socket_get_info=0A=
ffffffff802d4270 t sock_set_timeout=0A=
ffffffff802d4338 T sock_setsockopt=0A=
ffffffff802d49d0 T sock_getsockopt=0A=
ffffffff802d4e94 T sk_alloc=0A=
ffffffff802d4f14 T sk_free=0A=
ffffffff802d4f7c T sock_wfree=0A=
ffffffff802d5080 T sock_rfree=0A=
ffffffff802d50e8 T sock_wmalloc=0A=
ffffffff802d5210 T sock_rmalloc=0A=
ffffffff802d52e0 T sock_kmalloc=0A=
ffffffff802d5400 T sock_kfree_s=0A=
ffffffff802d548c t sock_wait_for_wmem=0A=
ffffffff802d5620 T sock_alloc_send_skb=0A=
ffffffff802d58d4 T __lock_sock=0A=
ffffffff802d59b0 T __release_sock=0A=
ffffffff802d5a18 T sklist_remove_socket=0A=
ffffffff802d5b20 T sklist_insert_socket=0A=
ffffffff802d5be8 t sklist_destroy_timer=0A=
ffffffff802d5c0c T sklist_destroy_socket=0A=
ffffffff802d5e14 T sock_no_release=0A=
ffffffff802d5e1c T sock_no_bind=0A=
ffffffff802d5e24 T sock_no_connect=0A=
ffffffff802d5e2c T sock_no_socketpair=0A=
ffffffff802d5e34 T sock_no_accept=0A=
ffffffff802d5e3c T sock_no_getname=0A=
ffffffff802d5e44 T sock_no_poll=0A=
ffffffff802d5e4c T sock_no_ioctl=0A=
ffffffff802d5e54 T sock_no_listen=0A=
ffffffff802d5e5c T sock_no_shutdown=0A=
ffffffff802d5e64 T sock_no_setsockopt=0A=
ffffffff802d5e6c T sock_no_getsockopt=0A=
ffffffff802d5e74 T sock_no_fcntl=0A=
ffffffff802d5f00 T sock_no_sendmsg=0A=
ffffffff802d5f08 T sock_no_recvmsg=0A=
ffffffff802d5f10 T sock_no_mmap=0A=
ffffffff802d5f18 T sock_no_sendpage=0A=
ffffffff802d5f84 T sock_def_wakeup=0A=
ffffffff802d5fc4 T sock_def_error_report=0A=
ffffffff802d6038 T sock_def_readable=0A=
ffffffff802d60ac T sock_def_write_space=0A=
ffffffff802d6174 T sock_def_destruct=0A=
ffffffff802d61a4 T sock_init_data=0A=
ffffffff802d62b0 T skb_over_panic=0A=
ffffffff802d6310 T skb_under_panic=0A=
ffffffff802d6370 T alloc_skb=0A=
ffffffff802d65fc t skb_drop_fraglist=0A=
ffffffff802d66b4 t skb_clone_fraglist=0A=
ffffffff802d673c t skb_release_data=0A=
ffffffff802d6854 T kfree_skbmem=0A=
ffffffff802d691c T __kfree_skb=0A=
ffffffff802d6a6c T skb_clone=0A=
ffffffff802d6d3c t copy_skb_header=0A=
ffffffff802d6e70 T skb_copy=0A=
ffffffff802d6fb0 T skb_linearize=0A=
ffffffff802d714c T pskb_copy=0A=
ffffffff802d7378 T pskb_expand_head=0A=
ffffffff802d76a4 T skb_realloc_headroom=0A=
ffffffff802d77ac T skb_copy_expand=0A=
ffffffff802d78c8 T ___pskb_trim=0A=
ffffffff802d7b00 T __pskb_pull_tail=0A=
ffffffff802d7f90 T skb_copy_bits=0A=
ffffffff802d818c T skb_checksum=0A=
ffffffff802d8438 T skb_copy_and_csum_bits=0A=
ffffffff802d8718 T skb_copy_and_csum_dev=0A=
ffffffff802d8828 t skb_headerinit=0A=
ffffffff802d8890 T verify_iovec=0A=
ffffffff802d897c T memcpy_toiovec=0A=
ffffffff802d8a18 T memcpy_tokerneliovec=0A=
ffffffff802d8aac T memcpy_fromiovec=0A=
ffffffff802d8b48 T memcpy_fromiovecend=0A=
ffffffff802d8c08 T csum_partial_copy_fromiovecend=0A=
ffffffff802d8e40 t wait_for_packet=0A=
ffffffff802d8ff0 T skb_recv_datagram=0A=
ffffffff802d9230 T skb_free_datagram=0A=
ffffffff802d92c4 T skb_copy_datagram=0A=
ffffffff802d92ec T skb_copy_datagram_iovec=0A=
ffffffff802d94f0 T skb_copy_and_csum_datagram=0A=
ffffffff802d9868 T skb_copy_and_csum_datagram_iovec=0A=
ffffffff802d99c8 T datagram_poll=0A=
ffffffff802d9b40 t scm_fp_copy=0A=
ffffffff802d9c50 T __scm_destroy=0A=
ffffffff802d9ccc T __scm_send=0A=
ffffffff802d9f84 T put_cmsg=0A=
ffffffff802da080 T scm_detach_fds=0A=
ffffffff802da31c T scm_fp_dup=0A=
ffffffff802da430 T dev_add_pack=0A=
ffffffff802da4ec T dev_remove_pack=0A=
ffffffff802da618 T netdev_boot_setup_add=0A=
ffffffff802da6f8 T netdev_boot_setup_check=0A=
ffffffff802da7dc T __dev_get_by_name=0A=
ffffffff802da854 T dev_get_by_name=0A=
ffffffff802da8d8 T dev_get=0A=
ffffffff802da8fc T __dev_get_by_index=0A=
ffffffff802da940 T dev_get_by_index=0A=
ffffffff802da9c4 T dev_getbyhwaddr=0A=
ffffffff802dab38 T dev_alloc_name=0A=
ffffffff802dabcc T dev_alloc=0A=
ffffffff802dac58 T netdev_state_change=0A=
ffffffff802dacac t default_rebuild_header=0A=
ffffffff802dad64 T dev_open=0A=
ffffffff802daf14 T dev_close=0A=
ffffffff802db078 T register_netdevice_notifier=0A=
ffffffff802db0a0 T unregister_netdevice_notifier=0A=
ffffffff802db0c8 T dev_queue_xmit_nit=0A=
ffffffff802db1f0 T skb_checksum_help=0A=
ffffffff802db308 T dev_queue_xmit=0A=
ffffffff802db788 t get_sample_stats=0A=
ffffffff802db820 T netif_rx=0A=
ffffffff802dbaa4 t deliver_to_old_ones=0A=
ffffffff802dbc64 t net_tx_action=0A=
ffffffff802dbe08 T net_call_rx_atomic=0A=
ffffffff802dbe70 t net_rx_action=0A=
ffffffff802dc424 T register_gifconf=0A=
ffffffff802dc44c t dev_ifname=0A=
ffffffff802dc4f0 t dev_ifconf=0A=
ffffffff802dc62c t sprintf_stats=0A=
ffffffff802dc790 t dev_get_info=0A=
ffffffff802dc87c t dev_proc_stats=0A=
ffffffff802dc980 t sprintf_wireless_stats=0A=
ffffffff802dca74 t dev_get_wireless_info=0A=
ffffffff802dcb60 T netdev_set_master=0A=
ffffffff802dcdf8 T dev_set_promiscuity=0A=
ffffffff802dce80 T dev_set_allmulti=0A=
ffffffff802dced4 T dev_change_flags=0A=
ffffffff802dd034 t dev_ifsioc=0A=
ffffffff802dd4e4 T dev_ioctl=0A=
ffffffff802dd970 T dev_new_index=0A=
ffffffff802dd9d4 T register_netdevice=0A=
ffffffff802ddc0c T netdev_finish_unregister=0A=
ffffffff802ddcec T unregister_netdevice=0A=
ffffffff802de010 t __dev_mc_upload=0A=
ffffffff802de06c T dev_mc_upload=0A=
ffffffff802de0d4 T dev_mc_delete=0A=
ffffffff802de258 T dev_mc_add=0A=
ffffffff802de44c T dev_mc_discard=0A=
ffffffff802de528 t dev_mc_read_proc=0A=
ffffffff802de760 t dst_run_gc=0A=
ffffffff802de858 t dst_discard=0A=
ffffffff802de8e8 t dst_blackhole=0A=
ffffffff802de978 T dst_alloc=0A=
ffffffff802deae8 T __dst_free=0A=
ffffffff802debf8 T dst_destroy=0A=
ffffffff802dee78 t dst_dev_event=0A=
ffffffff802df170 t neigh_blackhole=0A=
ffffffff802df200 T neigh_rand_reach_time=0A=
ffffffff802df238 t neigh_forced_gc=0A=
ffffffff802df3f8 t neigh_del_timer=0A=
ffffffff802df4a8 t pneigh_queue_purge=0A=
ffffffff802df640 T neigh_ifdown=0A=
ffffffff802df954 t neigh_alloc=0A=
ffffffff802dfaac T neigh_lookup=0A=
ffffffff802dfc00 T neigh_create=0A=
ffffffff802dff78 T pneigh_lookup=0A=
ffffffff802e0184 T pneigh_delete=0A=
ffffffff802e02d8 t pneigh_ifdown=0A=
ffffffff802e03c0 T neigh_destroy=0A=
ffffffff802e072c t neigh_suspect=0A=
ffffffff802e0774 t neigh_connect=0A=
ffffffff802e07bc t neigh_sync=0A=
ffffffff802e086c t neigh_periodic_timer=0A=
ffffffff802e0a74 t neigh_timer_handler=0A=
ffffffff802e0dcc T __neigh_event_send=0A=
ffffffff802e1248 T neigh_update=0A=
ffffffff802e1738 T neigh_event_ns=0A=
ffffffff802e1810 t neigh_hh_init=0A=
ffffffff802e19ec T neigh_compat_output=0A=
ffffffff802e1ad0 T neigh_resolve_output=0A=
ffffffff802e1db8 T neigh_connected_output=0A=
ffffffff802e1f6c t neigh_proxy_process=0A=
ffffffff802e217c T pneigh_enqueue=0A=
ffffffff802e23a8 T neigh_parms_alloc=0A=
ffffffff802e24e4 T neigh_parms_release=0A=
ffffffff802e25f0 T neigh_table_init=0A=
ffffffff802e26f4 T neigh_table_clear=0A=
ffffffff802e27a8 T neigh_delete=0A=
ffffffff802e2a1c T neigh_add=0A=
ffffffff802e2d6c t neigh_fill_info=0A=
ffffffff802e30e4 t neigh_dump_table=0A=
ffffffff802e3294 T neigh_dump_info=0A=
ffffffff802e3360 T neigh_sysctl_register=0A=
ffffffff802e3540 T neigh_sysctl_unregister=0A=
ffffffff802e3590 T rtnl_lock=0A=
ffffffff802e3618 T rtnl_unlock=0A=
ffffffff802e36d4 T rtattr_parse=0A=
ffffffff802e37c4 T __rta_fill=0A=
ffffffff802e38ac T rtnetlink_send=0A=
ffffffff802e3998 T rtnetlink_put_metrics=0A=
ffffffff802e3b24 t rtnetlink_fill_ifinfo=0A=
ffffffff802e3fbc T rtnetlink_dump_ifinfo=0A=
ffffffff802e4064 T rtnetlink_dump_all=0A=
ffffffff802e415c T rtmsg_ifinfo=0A=
ffffffff802e4278 t rtnetlink_done=0A=
ffffffff802e4280 t rtnetlink_rcv=0A=
ffffffff802e49e4 t rtnetlink_event=0A=
ffffffff802e4a70 T net_random=0A=
ffffffff802e4ab0 T net_srandom=0A=
ffffffff802e4ae0 T net_ratelimit=0A=
ffffffff802e4c20 T eth_header=0A=
ffffffff802e4d40 T eth_rebuild_header=0A=
ffffffff802e4db0 T eth_type_trans=0A=
ffffffff802e4ec8 T eth_header_parse=0A=
ffffffff802e4f08 T eth_header_cache=0A=
ffffffff802e4f90 T eth_header_cache_update=0A=
ffffffff802e4fc0 t p8023_datalink_header=0A=
ffffffff802e5004 T make_8023_client=0A=
ffffffff802e5054 T destroy_8023_client=0A=
ffffffff802e5080 T qdisc_restart=0A=
ffffffff802e523c t dev_watchdog=0A=
ffffffff802e53cc t dev_watchdog_init=0A=
ffffffff802e53e8 T __netdev_watchdog_up=0A=
ffffffff802e54a4 t dev_watchdog_up=0A=
ffffffff802e550c t dev_watchdog_down=0A=
ffffffff802e55e0 t noop_enqueue=0A=
ffffffff802e5670 t noop_dequeue=0A=
ffffffff802e5678 t noop_requeue=0A=
ffffffff802e5730 t pfifo_fast_enqueue=0A=
ffffffff802e584c t pfifo_fast_dequeue=0A=
ffffffff802e58bc t pfifo_fast_requeue=0A=
ffffffff802e5920 t pfifo_fast_reset=0A=
ffffffff802e5a80 t pfifo_fast_init=0A=
ffffffff802e5aa8 T qdisc_create_dflt=0A=
ffffffff802e5b7c T qdisc_reset=0A=
ffffffff802e5bb4 T qdisc_destroy=0A=
ffffffff802e5c8c T dev_activate=0A=
ffffffff802e5d7c T dev_deactivate=0A=
ffffffff802e5e38 T dev_init_scheduler=0A=
ffffffff802e5ec8 T dev_shutdown=0A=
ffffffff802e5f90 T in_ntoa=0A=
ffffffff802e5fe4 T in_aton=0A=
ffffffff802e6090 t rt_cache_get_info=0A=
ffffffff802e6344 t rt_cache_stat_get_info=0A=
ffffffff802e6460 t rt_check_expire=0A=
ffffffff802e6674 t rt_run_flush=0A=
ffffffff802e6784 T rt_cache_flush=0A=
ffffffff802e690c t rt_garbage_collect=0A=
ffffffff802e6d9c t rt_intern_hash=0A=
ffffffff802e7260 T rt_bind_peer=0A=
ffffffff802e73e0 t ip_select_fb_ident=0A=
ffffffff802e746c T __ip_select_ident=0A=
ffffffff802e7554 t rt_del=0A=
ffffffff802e769c T ip_rt_redirect=0A=
ffffffff802e7fa8 t ipv4_negative_advice=0A=
ffffffff802e80c4 T ip_rt_send_redirect=0A=
ffffffff802e829c t ip_error=0A=
ffffffff802e83f0 T ip_rt_frag_needed=0A=
ffffffff802e86b8 T ip_rt_update_pmtu=0A=
ffffffff802e8750 t ipv4_dst_check=0A=
ffffffff802e87b8 t ipv4_dst_reroute=0A=
ffffffff802e87c0 t ipv4_dst_destroy=0A=
ffffffff802e88c8 t ipv4_link_failure=0A=
ffffffff802e8930 t ip_rt_bug=0A=
ffffffff802e8a28 T ip_rt_get_source=0A=
ffffffff802e8bb0 t rt_set_nexthop=0A=
ffffffff802e8cf8 t ip_route_input_mc=0A=
ffffffff802e911c T ip_route_input_slow=0A=
ffffffff802e99e4 T ip_route_input=0A=
ffffffff802e9c10 T ip_route_output_slow=0A=
ffffffff802ea8a8 T ip_route_output_key=0A=
ffffffff802eab10 t rt_fill_info=0A=
ffffffff802eb050 T inet_rtm_getroute=0A=
ffffffff802eb3a0 T ip_rt_dump=0A=
ffffffff802eb708 T ip_rt_multicast_event=0A=
ffffffff802eb728 t ipv4_sysctl_rtcache_flush=0A=
ffffffff802eb768 t ipv4_sysctl_rtcache_flush_strategy=0A=
ffffffff802eb7b0 t unlink_from_unused=0A=
ffffffff802eb858 t peer_avl_rebalance=0A=
ffffffff802eb9b8 t unlink_from_pool=0A=
ffffffff802ebd20 t cleanup_once=0A=
ffffffff802ebe98 T inet_getpeer=0A=
ffffffff802ec20c t peer_check_expire=0A=
ffffffff802ec340 t fold_prot_inuse=0A=
ffffffff802ec35c T afinet_get_info=0A=
ffffffff802ec4b4 t fold_field=0A=
ffffffff802ec4ec T snmp_get_info=0A=
ffffffff802ec728 T netstat_get_info=0A=
ffffffff802ec830 T inet_add_protocol=0A=
ffffffff802ec92c T inet_del_protocol=0A=
ffffffff802ecad0 T ip_call_ra_chain=0A=
ffffffff802ecbf0 t ip_run_ipprot=0A=
ffffffff802ecca4 T ip_local_deliver=0A=
ffffffff802ecf5c T ip_rcv=0A=
ffffffff802ed660 t ip_frag_destroy=0A=
ffffffff802ed840 t ip_evictor=0A=
ffffffff802edb28 t ip_expire=0A=
ffffffff802eddcc t ip_frag_intern=0A=
ffffffff802edf10 t ip_frag_create=0A=
ffffffff802ee04c t ip_frag_queue=0A=
ffffffff802ee644 t ip_frag_reasm=0A=
ffffffff802eebf8 T ip_defrag=0A=
ffffffff802eeec0 T ip_forward=0A=
ffffffff802ef210 T ip_options_build=0A=
ffffffff802ef45c T ip_options_echo=0A=
ffffffff802ef870 T ip_options_fragment=0A=
ffffffff802ef958 T ip_options_compile=0A=
ffffffff802f0010 T ip_options_undo=0A=
ffffffff802f0168 T ip_options_get=0A=
ffffffff802f02ac T ip_forward_options=0A=
ffffffff802f0490 T ip_options_rcv_srr=0A=
ffffffff802f0750 t ip_dev_loopback_xmit=0A=
ffffffff802f0800 T ip_build_and_send_pkt=0A=
ffffffff802f0ad4 T ip_mc_output=0A=
ffffffff802f0e44 T ip_output=0A=
ffffffff802f1094 T ip_queue_xmit=0A=
ffffffff802f1910 t ip_build_xmit_slow=0A=
ffffffff802f1f8c T ip_build_xmit=0A=
ffffffff802f249c T ip_fragment=0A=
ffffffff802f2a90 t ip_reply_glue_bits=0A=
ffffffff802f2ba0 T ip_send_reply=0A=
ffffffff802f2d58 T ip_send_check=0A=
ffffffff802f2de0 T ip_finish_output=0A=
ffffffff802f3010 t ip_cmsg_recv_pktinfo=0A=
ffffffff802f3084 t ip_cmsg_recv_ttl=0A=
ffffffff802f30c0 t ip_cmsg_recv_tos=0A=
ffffffff802f30f4 t ip_cmsg_recv_opts=0A=
ffffffff802f313c T ip_cmsg_recv_retopts=0A=
ffffffff802f31bc T ip_cmsg_recv=0A=
ffffffff802f3280 T ip_cmsg_send=0A=
ffffffff802f33c8 T ip_ra_control=0A=
ffffffff802f3694 T ip_icmp_error=0A=
ffffffff802f3960 T ip_local_error=0A=
ffffffff802f3c74 T ip_recv_error=0A=
ffffffff802f3fbc T ip_setsockopt=0A=
ffffffff802f4930 T ip_getsockopt=0A=
ffffffff802f5110 T tcp_mem_schedule=0A=
ffffffff802f5448 T __tcp_mem_reclaim=0A=
ffffffff802f5510 T tcp_rfree=0A=
ffffffff802f5588 T tcp_poll=0A=
ffffffff802f57bc T tcp_write_space=0A=
ffffffff802f58c4 T tcp_ioctl=0A=
ffffffff802f5b44 T tcp_listen_start=0A=
ffffffff802f5d7c t tcp_listen_stop=0A=
ffffffff802f6168 t wait_for_tcp_connect=0A=
ffffffff802f63e0 t wait_for_tcp_memory=0A=
ffffffff802f67a8 t tcp_error=0A=
ffffffff802f6854 T do_tcp_sendpages=0A=
ffffffff802f7778 T tcp_sendpage=0A=
ffffffff802f7904 T tcp_sendmsg=0A=
ffffffff802f8ecc t tcp_recv_urg=0A=
ffffffff802f8fe0 t cleanup_rbuf=0A=
ffffffff802f9158 t tcp_data_wait=0A=
ffffffff802f9380 t tcp_prequeue_process=0A=
ffffffff802f9470 T tcp_recvmsg=0A=
ffffffff802f9e94 t tcp_close_state=0A=
ffffffff802f9fbc T tcp_shutdown=0A=
ffffffff802fa014 T tcp_destroy_sock=0A=
ffffffff802fa444 T tcp_close=0A=
ffffffff802fae20 T tcp_disconnect=0A=
ffffffff802fb2f0 t wait_for_connect=0A=
ffffffff802fb4e0 T tcp_accept=0A=
ffffffff802fb754 T tcp_setsockopt=0A=
ffffffff802fc11c T tcp_getsockopt=0A=
ffffffff802fc590 t tcp_incr_quickack=0A=
ffffffff802fc5e4 T tcp_enter_quickack_mode=0A=
ffffffff802fc614 t tcp_fixup_sndbuf=0A=
ffffffff802fc658 t __tcp_grow_window=0A=
ffffffff802fc6f4 t tcp_fixup_rcvbuf=0A=
ffffffff802fc774 t tcp_init_buffer_space=0A=
ffffffff802fc8b4 t tcp_clamp_window=0A=
ffffffff802fc9fc t tcp_event_data_recv=0A=
ffffffff802fcc98 T tcp_update_metrics=0A=
ffffffff802fcf48 T tcp_init_cwnd=0A=
ffffffff802fcfc0 t tcp_init_metrics=0A=
ffffffff802fd18c t tcp_update_reordering=0A=
ffffffff802fd224 t tcp_sacktag_write_queue=0A=
ffffffff802fd840 T tcp_clear_retrans=0A=
ffffffff802fd860 T tcp_enter_loss=0A=
ffffffff802fda78 t tcp_check_sack_reneging=0A=
ffffffff802fdbdc t tcp_time_to_recover=0A=
ffffffff802fde48 t tcp_check_reno_reordering=0A=
ffffffff802fdeac t tcp_add_reno_sack=0A=
ffffffff802fdf20 t tcp_remove_reno_sacks=0A=
ffffffff802fdfb8 t tcp_mark_head_lost=0A=
ffffffff802fe0dc t tcp_update_scoreboard=0A=
ffffffff802fe25c t tcp_cwnd_down=0A=
ffffffff802fe2d0 t tcp_undo_cwr=0A=
ffffffff802fe374 t tcp_try_undo_recovery=0A=
ffffffff802fe4ac t tcp_try_undo_dsack=0A=
ffffffff802fe510 t tcp_try_undo_partial=0A=
ffffffff802fe638 t tcp_try_undo_loss=0A=
ffffffff802fe760 t tcp_try_to_open=0A=
ffffffff802fe8b4 t tcp_fastretrans_alert=0A=
ffffffff802fee34 t tcp_ack_saw_tstamp=0A=
ffffffff802fef78 t tcp_ack_no_tstamp=0A=
ffffffff802ff0b4 t tcp_clean_rtx_queue=0A=
ffffffff802ff4f4 t tcp_ack_probe=0A=
ffffffff802ff618 t tcp_ack_update_window=0A=
ffffffff802ff758 t tcp_ack=0A=
ffffffff802ffb10 T tcp_parse_options=0A=
ffffffff802ffdd8 t tcp_disordered_ack=0A=
ffffffff802ffeac t tcp_reset=0A=
ffffffff80300008 t tcp_fin=0A=
ffffffff803002fc t tcp_send_dupack=0A=
ffffffff8030042c t tcp_sack_maybe_coalesce=0A=
ffffffff8030054c t tcp_sack_new_ofo_skb=0A=
ffffffff803006c0 t tcp_sack_remove=0A=
ffffffff803007e4 t tcp_ofo_queue=0A=
ffffffff80300ae0 t tcp_data_queue=0A=
ffffffff8030185c t tcp_collapse=0A=
ffffffff80301d44 t tcp_collapse_ofo_queue=0A=
ffffffff80301e14 t tcp_prune_queue=0A=
ffffffff80302090 T tcp_cwnd_application_limited=0A=
ffffffff80302150 t tcp_new_space=0A=
ffffffff8030224c t __tcp_data_snd_check=0A=
ffffffff803023a8 t tcp_check_urg=0A=
ffffffff8030255c t tcp_copy_to_iovec=0A=
ffffffff803026a0 t __tcp_checksum_complete_user=0A=
ffffffff8030277c T tcp_rcv_established=0A=
ffffffff80303170 t tcp_rcv_synsent_state_process=0A=
ffffffff80303774 T tcp_rcv_state_process=0A=
ffffffff80304410 t tcp_advertise_mss=0A=
ffffffff80304448 t tcp_cwnd_restart=0A=
ffffffff8030450c T tcp_transmit_skb=0A=
ffffffff80304b2c T tcp_send_skb=0A=
ffffffff80304e24 T tcp_push_one=0A=
ffffffff80304fc4 t skb_split=0A=
ffffffff803052bc t tcp_fragment=0A=
ffffffff80305694 T tcp_sync_mss=0A=
ffffffff80305718 T tcp_write_xmit=0A=
ffffffff80305b00 T __tcp_select_window=0A=
ffffffff80305c20 t tcp_retrans_try_collapse=0A=
ffffffff80305f68 T tcp_simple_retransmit=0A=
ffffffff8030614c T tcp_retransmit_skb=0A=
ffffffff803064b0 T tcp_xmit_retransmit_queue=0A=
ffffffff803069e4 T tcp_send_fin=0A=
ffffffff80306d90 T tcp_send_active_reset=0A=
ffffffff80306e64 T tcp_send_synack=0A=
ffffffff80307010 T tcp_make_synack=0A=
ffffffff80307518 T tcp_connect=0A=
ffffffff80307b48 T tcp_send_delayed_ack=0A=
ffffffff80307c94 T tcp_send_ack=0A=
ffffffff80307dd8 t tcp_xmit_probe_skb=0A=
ffffffff80307e84 T tcp_write_wakeup=0A=
ffffffff80308148 T tcp_send_probe0=0A=
ffffffff803082e0 T tcp_init_xmit_timers=0A=
ffffffff80308338 T tcp_clear_xmit_timers=0A=
ffffffff803084d8 t tcp_write_err=0A=
ffffffff803085f0 t tcp_out_of_resources=0A=
ffffffff80308800 t tcp_orphan_retries=0A=
ffffffff8030882c t tcp_write_timeout=0A=
ffffffff803089a4 t tcp_delack_timer=0A=
ffffffff80308cd4 t tcp_probe_timer=0A=
ffffffff80308dc8 t tcp_retransmit_timer=0A=
ffffffff8030929c t tcp_write_timer=0A=
ffffffff803094b4 t tcp_synack_timer=0A=
ffffffff8030971c T tcp_delete_keepalive_timer=0A=
ffffffff803097b4 T tcp_reset_keepalive_timer=0A=
ffffffff80309848 T tcp_set_keepalive=0A=
ffffffff803098b4 t tcp_keepalive_timer=0A=
ffffffff80309c10 T tcp_bucket_create=0A=
ffffffff80309c8c t tcp_v4_get_port=0A=
ffffffff80309fe8 T tcp_put_port=0A=
ffffffff8030a0c8 T tcp_listen_wlock=0A=
ffffffff8030a1c4 t tcp_v4_hash=0A=
ffffffff8030a34c T tcp_unhash=0A=
ffffffff8030a45c t __tcp_v4_lookup_listener=0A=
ffffffff8030a4e8 t tcp_v4_check_established=0A=
ffffffff8030a8d8 T tcp_v4_hash_connecting=0A=
ffffffff8030aab8 T tcp_v4_connect=0A=
ffffffff8030afb4 t tcp_v4_search_req=0A=
ffffffff8030b0a0 t tcp_v4_synq_add=0A=
ffffffff8030b150 T tcp_v4_err=0A=
ffffffff8030bab8 T tcp_v4_send_check=0A=
ffffffff8030bbd8 t tcp_v4_send_reset=0A=
ffffffff8030bd8c t tcp_v4_send_ack=0A=
ffffffff8030bf18 t tcp_v4_timewait_ack=0A=
ffffffff8030bfcc t tcp_v4_or_send_ack=0A=
ffffffff8030c00c t tcp_v4_route_req=0A=
ffffffff8030c188 t tcp_v4_send_synack=0A=
ffffffff8030c2fc t tcp_v4_or_free=0A=
ffffffff8030c32c T tcp_v4_conn_request=0A=
ffffffff8030c83c T tcp_v4_syn_recv_sock=0A=
ffffffff8030cba4 t tcp_v4_hnd_req=0A=
ffffffff8030ce30 t tcp_v4_checksum_init=0A=
ffffffff8030cff4 T tcp_v4_do_rcv=0A=
ffffffff8030d1cc T tcp_v4_rcv=0A=
ffffffff8030dc40 t __tcp_v4_rehash=0A=
ffffffff8030dc90 t tcp_v4_reselect_saddr=0A=
ffffffff8030df24 T tcp_v4_rebuild_header=0A=
ffffffff8030e124 t v4_addr2sockaddr=0A=
ffffffff8030e144 T tcp_v4_remember_stamp=0A=
ffffffff8030e320 T tcp_v4_tw_remember_stamp=0A=
ffffffff8030e498 t tcp_v4_init_sock=0A=
ffffffff8030e5d8 t tcp_v4_destroy_sock=0A=
ffffffff8030e8cc t get_openreq=0A=
ffffffff8030e964 t get_tcp_sock=0A=
ffffffff8030eaec t get_timewait_sock=0A=
ffffffff8030eb88 T tcp_get_info=0A=
ffffffff8030f1f4 T tcp_v4_lookup_listener=0A=
ffffffff8030f2e8 T __tcp_put_port=0A=
ffffffff8030f380 T tcp_inherit_port=0A=
ffffffff8030f414 T tcp_v4_lookup=0A=
ffffffff8030f700 T tcp_timewait_kill=0A=
ffffffff8030f854 T tcp_timewait_state_process=0A=
ffffffff8030fd30 t __tcp_tw_hashdance=0A=
ffffffff8030fea4 T tcp_time_wait=0A=
ffffffff803101e8 t tcp_twkill=0A=
ffffffff8031036c T tcp_tw_deschedule=0A=
ffffffff80310458 T tcp_tw_schedule=0A=
ffffffff803106b4 t tcp_twcal_tick=0A=
ffffffff803108c0 T tcp_create_openreq_child=0A=
ffffffff80310d14 T tcp_check_req=0A=
ffffffff80311170 T tcp_child_process=0A=
ffffffff803112b0 t raw_v4_hash=0A=
ffffffff803113c4 t raw_v4_unhash=0A=
ffffffff803114d0 T __raw_v4_lookup=0A=
ffffffff8031154c T raw_v4_input=0A=
ffffffff803116cc T raw_err=0A=
ffffffff8031181c t raw_rcv_skb=0A=
ffffffff80311a38 T raw_rcv=0A=
ffffffff80311ab4 t raw_getfrag=0A=
ffffffff80311ae0 t raw_getrawfrag=0A=
ffffffff80311c18 t raw_sendmsg=0A=
ffffffff8031201c t raw_close=0A=
ffffffff80312050 t raw_bind=0A=
ffffffff8031216c T raw_recvmsg=0A=
ffffffff803122f8 t raw_init=0A=
ffffffff80312314 t raw_seticmpfilter=0A=
ffffffff8031235c t raw_geticmpfilter=0A=
ffffffff803123cc t raw_setsockopt=0A=
ffffffff80312428 t raw_getsockopt=0A=
ffffffff80312484 t raw_ioctl=0A=
ffffffff8031251c t get_raw_sock=0A=
ffffffff803125d8 T raw_get_info=0A=
ffffffff80312730 t udp_v4_get_port=0A=
ffffffff80312ae0 t udp_v4_hash=0A=
ffffffff80312b10 t udp_v4_unhash=0A=
ffffffff80312c20 T udp_v4_lookup_longway=0A=
ffffffff80312cf8 T udp_err=0A=
ffffffff80312f68 t udp_check=0A=
ffffffff80312fbc t udp_getfrag=0A=
ffffffff803130f4 t udp_getfrag_nosum=0A=
ffffffff8031317c T udp_sendmsg=0A=
ffffffff80313800 T udp_ioctl=0A=
ffffffff803138a0 T udp_recvmsg=0A=
ffffffff80313bec T udp_connect=0A=
ffffffff80313f4c T udp_disconnect=0A=
ffffffff80314034 t udp_close=0A=
ffffffff80314054 t udp_queue_rcv_skb=0A=
ffffffff80314264 t udp_v4_mcast_deliver=0A=
ffffffff803144b8 t udp_checksum_init=0A=
ffffffff803145b0 T udp_rcv=0A=
ffffffff803149ac t get_udp_sock=0A=
ffffffff80314a6c T udp_get_info=0A=
ffffffff80314bbc T udp_v4_lookup=0A=
ffffffff80314c50 T arp_mc_map=0A=
ffffffff80314d20 t arp_hash=0A=
ffffffff80314d50 t arp_constructor=0A=
ffffffff80314fb0 t arp_error_report=0A=
ffffffff80315080 t arp_solicit=0A=
ffffffff803151fc t arp_filter=0A=
ffffffff8031531c t arp_set_predefined=0A=
ffffffff803153d0 T arp_find=0A=
ffffffff803156b4 T arp_bind_neighbour=0A=
ffffffff80315768 T arp_send=0A=
ffffffff80315a48 t parp_redo=0A=
ffffffff80315a6c T arp_rcv=0A=
ffffffff803162c8 T arp_req_set=0A=
ffffffff80316588 t arp_state_to_flags=0A=
ffffffff803165b0 t arp_req_get=0A=
ffffffff8031671c T arp_req_delete=0A=
ffffffff8031693c T arp_ioctl=0A=
ffffffff80316b88 t arp_get_info=0A=
ffffffff80316fc0 T arp_ifdown=0A=
ffffffff80316ff0 t icmp_xmit_lock_bh=0A=
ffffffff80317000 t icmp_xmit_unlock_bh=0A=
ffffffff80317010 T xrlim_allow=0A=
ffffffff803170a8 t icmp_out_count=0A=
ffffffff80317118 t icmp_glue_bits=0A=
ffffffff803171d4 t icmp_reply=0A=
ffffffff80317434 T icmp_send=0A=
ffffffff80317958 t icmp_unreach=0A=
ffffffff80317cb4 t icmp_redirect=0A=
ffffffff80317d90 t icmp_echo=0A=
ffffffff80317dfc t icmp_timestamp=0A=
ffffffff80317f10 t icmp_address=0A=
ffffffff80317f18 t icmp_address_reply=0A=
ffffffff8031818c t icmp_discard=0A=
ffffffff80318194 T icmp_rcv=0A=
ffffffff80318440 t inet_alloc_ifa=0A=
ffffffff8031849c T in_dev_finish_destroy=0A=
ffffffff803185b4 T inetdev_init=0A=
ffffffff803188f0 t inetdev_destroy=0A=
ffffffff80318bb8 T inet_addr_onlink=0A=
ffffffff80318c24 t inet_del_ifa=0A=
ffffffff80319018 t inet_insert_ifa=0A=
ffffffff8031944c t inet_set_ifa=0A=
ffffffff803196d8 T inetdev_by_index=0A=
ffffffff80319774 T inet_ifa_byprefix=0A=
ffffffff80319904 T inet_rtm_deladdr=0A=
ffffffff80319b98 T inet_rtm_newaddr=0A=
ffffffff80319f90 T devinet_ioctl=0A=
ffffffff8031a6b0 t inet_gifconf=0A=
ffffffff8031a7cc T inet_select_addr=0A=
ffffffff8031a910 T register_inetaddr_notifier=0A=
ffffffff8031a93c T unregister_inetaddr_notifier=0A=
ffffffff8031a968 t inetdev_event=0A=
ffffffff8031ad04 t inet_fill_ifaddr=0A=
ffffffff8031b040 t inet_dump_ifaddr=0A=
ffffffff8031b14c t rtmsg_ifa=0A=
ffffffff8031b290 T inet_forward_change=0A=
ffffffff8031b2fc t devinet_sysctl_forward=0A=
ffffffff8031b3a0 t devinet_sysctl_register=0A=
ffffffff8031b510 t devinet_sysctl_unregister=0A=
ffffffff8031b560 T inet_sock_destruct=0A=
ffffffff8031b87c T inet_sock_release=0A=
ffffffff8031b9a0 T inet_setsockopt=0A=
ffffffff8031b9d8 T inet_getsockopt=0A=
ffffffff8031ba10 t inet_autobind=0A=
ffffffff8031bbe4 T inet_listen=0A=
ffffffff8031bd78 t inet_create=0A=
ffffffff8031c064 T inet_release=0A=
ffffffff8031c0ec t inet_bind=0A=
ffffffff8031c42c T inet_dgram_connect=0A=
ffffffff8031c4cc t inet_wait_for_connect=0A=
ffffffff8031c6a0 T inet_stream_connect=0A=
ffffffff8031ca04 T inet_accept=0A=
ffffffff8031cbec t inet_getname=0A=
ffffffff8031cc78 T inet_recvmsg=0A=
ffffffff8031cce4 T inet_sendmsg=0A=
ffffffff8031cd54 T inet_shutdown=0A=
ffffffff8031cf94 t inet_ioctl=0A=
ffffffff8031d254 T inet_register_protosw=0A=
ffffffff8031d3a4 T inet_unregister_protosw=0A=
ffffffff8031d450 t ip_ma_put=0A=
ffffffff8031d544 t ip_mc_filter_add=0A=
ffffffff8031d590 t ip_mc_filter_del=0A=
ffffffff8031d5dc t igmp_group_dropped=0A=
ffffffff8031d618 t igmp_group_added=0A=
ffffffff8031d654 T ip_mc_inc_group=0A=
ffffffff8031d8d0 T ip_mc_dec_group=0A=
ffffffff8031dadc T ip_mc_down=0A=
ffffffff8031dc30 T ip_mc_up=0A=
ffffffff8031dd88 T ip_mc_destroy_dev=0A=
ffffffff8031df84 t ip_mc_find_dev=0A=
ffffffff8031e110 T ip_mc_join_group=0A=
ffffffff8031e420 T ip_mc_leave_group=0A=
ffffffff8031e5b4 T ip_mc_drop_socket=0A=
ffffffff8031e6cc T ip_check_mc=0A=
ffffffff8031e710 t ipv4_sysctl_forward=0A=
ffffffff8031e788 t ipv4_sysctl_forward_strategy=0A=
ffffffff8031e7f0 T fib_flush=0A=
ffffffff8031e854 t fib_get_procinfo=0A=
ffffffff8031e950 T ip_dev_find=0A=
ffffffff8031eac8 T inet_addr_type=0A=
ffffffff8031ebf4 T fib_validate_source=0A=
ffffffff8031ef94 T ip_rt_ioctl=0A=
ffffffff8031f148 t inet_check_attr=0A=
ffffffff8031f1a8 T inet_rtm_delroute=0A=
ffffffff8031f250 T inet_rtm_newroute=0A=
ffffffff8031f2f8 T inet_dump_fib=0A=
ffffffff8031f428 t fib_magic=0A=
ffffffff8031f584 t fib_add_ifaddr=0A=
ffffffff8031f720 t fib_del_ifaddr=0A=
ffffffff8031f904 t fib_disable_ip=0A=
ffffffff8031f954 t fib_inetaddr_event=0A=
ffffffff8031f9f0 t fib_netdev_event=0A=
ffffffff8031fab0 T free_fib_info=0A=
ffffffff8031fbb0 T fib_release_info=0A=
ffffffff8031fcac T ip_fib_check_default=0A=
ffffffff8031fd3c T fib_nh_match=0A=
ffffffff8031fdd8 t fib_check_nh=0A=
ffffffff80320220 T fib_create_info=0A=
ffffffff803207bc T fib_semantic_match=0A=
ffffffff803208e8 T __fib_res_prefsrc=0A=
ffffffff8032091c T fib_dump_info=0A=
ffffffff80320ca0 T fib_convert_rtentry=0A=
ffffffff803210f8 T fib_sync_down=0A=
ffffffff803211d0 t fib_flag_trans=0A=
ffffffff8032120c T fib_node_get_info=0A=
ffffffff80321320 t fn_free_node=0A=
ffffffff8032135c t fn_new_zone=0A=
ffffffff80321530 t fn_hash_lookup=0A=
ffffffff80321690 t fib_detect_death=0A=
ffffffff803217d0 t fn_hash_select_default=0A=
ffffffff80321b1c t fn_hash_insert=0A=
ffffffff80322074 t fn_hash_delete=0A=
ffffffff803223c8 t fn_hash_flush=0A=
ffffffff80322548 t fn_hash_get_info=0A=
ffffffff80322688 t fn_hash_dump=0A=
ffffffff803228a8 t rtmsg_fib=0A=
ffffffff80322ac0 t unix_mkname=0A=
ffffffff80322b78 t __unix_remove_socket=0A=
ffffffff80322c48 t __unix_insert_socket=0A=
ffffffff80322d14 t __unix_find_socket_byname=0A=
ffffffff80322da0 t unix_find_socket_byinode=0A=
ffffffff80322e5c t unix_write_space=0A=
ffffffff80322eec t unix_dgram_disconnected=0A=
ffffffff80323080 t unix_sock_destructor=0A=
ffffffff80323310 t unix_release_sock=0A=
ffffffff80323714 t unix_listen=0A=
ffffffff803237d4 t unix_create1=0A=
ffffffff80323930 t unix_create=0A=
ffffffff803239cc t unix_release=0A=
ffffffff80323a10 t unix_autobind=0A=
ffffffff80323c84 t unix_find_other=0A=
ffffffff80323e70 t unix_bind=0A=
ffffffff803243cc t unix_dgram_connect=0A=
ffffffff803245c8 t unix_wait_for_peer=0A=
ffffffff80324690 t unix_stream_connect=0A=
ffffffff80324d90 t unix_socketpair=0A=
ffffffff80324eb0 t unix_accept=0A=
ffffffff80324fbc t unix_getname=0A=
ffffffff8032516c t unix_detach_fds=0A=
ffffffff803251e8 t unix_destruct_fds=0A=
ffffffff80325250 t unix_attach_fds=0A=
ffffffff803252d4 t unix_dgram_sendmsg=0A=
ffffffff80325948 t unix_stream_sendmsg=0A=
ffffffff80325e88 t unix_copy_addr=0A=
ffffffff80325ed8 t unix_dgram_recvmsg=0A=
ffffffff80326054 t unix_stream_data_wait=0A=
ffffffff803261e8 t unix_stream_recvmsg=0A=
ffffffff803268d0 t unix_shutdown=0A=
ffffffff80326abc t unix_ioctl=0A=
ffffffff80326b5c t unix_poll=0A=
ffffffff80326c14 t unix_read_proc=0A=
ffffffff80326e50 T unix_inflight=0A=
ffffffff80326f6c T unix_notinflight=0A=
ffffffff80327088 T unix_gc=0A=
ffffffff80327730 T unix_sysctl_register=0A=
ffffffff8032775c T unix_sysctl_unregister=0A=
ffffffff80327790 t netlink_sock_destruct=0A=
ffffffff803279bc t netlink_table_grab=0A=
ffffffff80327ac0 t netlink_insert=0A=
ffffffff80327c40 t netlink_remove=0A=
ffffffff80327d68 t netlink_create=0A=
ffffffff80327ec4 t netlink_release=0A=
ffffffff80328194 t netlink_autobind=0A=
ffffffff803282f4 t netlink_bind=0A=
ffffffff803283f4 t netlink_connect=0A=
ffffffff803284e8 t netlink_getname=0A=
ffffffff80328558 t netlink_overrun=0A=
ffffffff803285f0 T netlink_unicast=0A=
ffffffff80328c3c T netlink_broadcast=0A=
ffffffff803291f8 T netlink_set_err=0A=
ffffffff803292b8 t netlink_sendmsg=0A=
ffffffff80329604 t netlink_recvmsg=0A=
ffffffff80329820 T netlink_data_ready=0A=
ffffffff8032990c T netlink_kernel_create=0A=
ffffffff803299b4 t netlink_destroy_callback=0A=
ffffffff80329a64 t netlink_dump=0A=
ffffffff80329dac T netlink_dump_start=0A=
ffffffff80329ff4 T netlink_ack=0A=
ffffffff8032a140 T netlink_attach=0A=
ffffffff8032a1f0 T netlink_detach=0A=
ffffffff8032a274 T netlink_post=0A=
ffffffff8032a3b0 t netlink_read_proc=0A=
ffffffff8032a540 t netlink_poll=0A=
ffffffff8032a5b8 t netlink_write=0A=
ffffffff8032a620 t netlink_read=0A=
ffffffff8032a6a0 t netlink_lseek=0A=
ffffffff8032a6ac t netlink_open=0A=
ffffffff8032a7c0 t netlink_release=0A=
ffffffff8032a820 t netlink_ioctl=0A=
ffffffff8032a840 T packet_sock_destruct=0A=
ffffffff8032a940 t packet_rcv_spkt=0A=
ffffffff8032ac54 t packet_sendmsg_spkt=0A=
ffffffff8032afa8 t packet_rcv=0A=
ffffffff8032b388 t packet_sendmsg=0A=
ffffffff8032b75c t packet_release=0A=
ffffffff8032baf0 t packet_do_bind=0A=
ffffffff8032bd84 t packet_bind_spkt=0A=
ffffffff8032be88 t packet_bind=0A=
ffffffff8032bf9c t packet_create=0A=
ffffffff8032c2b0 t packet_recvmsg=0A=
ffffffff8032c418 t packet_getname_spkt=0A=
ffffffff8032c52c t packet_getname=0A=
ffffffff8032c660 t packet_dev_mc=0A=
ffffffff8032c704 t packet_dev_mclist=0A=
ffffffff8032c770 t packet_mc_add=0A=
ffffffff8032c8f8 t packet_mc_drop=0A=
ffffffff8032ca68 t packet_flush_mclist=0A=
ffffffff8032cb84 t packet_setsockopt=0A=
ffffffff8032cc2c T packet_getsockopt=0A=
ffffffff8032cd60 t packet_notifier=0A=
ffffffff8032cf90 t packet_ioctl=0A=
ffffffff8032d354 t packet_read_proc=0A=
ffffffff8032d4f0 T rpc_create_client=0A=
ffffffff8032d6e8 T rpc_shutdown_client=0A=
ffffffff8032d7c8 T rpc_destroy_client=0A=
ffffffff8032d854 T rpc_release_client=0A=
ffffffff8032d928 t rpc_default_callback=0A=
ffffffff8032d930 T rpc_clnt_sigmask=0A=
ffffffff8032da78 T rpc_clnt_sigunmask=0A=
ffffffff8032db4c T rpc_call_sync=0A=
ffffffff8032dc3c T rpc_call_async=0A=
ffffffff8032dd24 T rpc_call_setup=0A=
ffffffff8032de08 T rpc_restart_call=0A=
ffffffff8032de88 t call_reserve=0A=
ffffffff8032df78 t call_reserveresult=0A=
ffffffff8032e0f4 t call_allocate=0A=
ffffffff8032e218 t call_encode=0A=
ffffffff8032e368 t call_bind=0A=
ffffffff8032e408 t call_reconnect=0A=
ffffffff8032e4bc t child_reconnect=0A=
ffffffff8032e508 t child_reconnect_status=0A=
ffffffff8032e530 t call_transmit=0A=
ffffffff8032e5d8 t call_status=0A=
ffffffff8032e794 t call_timeout=0A=
ffffffff8032e9c8 t call_decode=0A=
ffffffff8032ec18 t call_refresh=0A=
ffffffff8032ec94 t call_refreshresult=0A=
ffffffff8032ed04 t call_header=0A=
ffffffff8032ed98 t call_verify=0A=
ffffffff8032f080 t xprt_lock_write=0A=
ffffffff8032f178 t xprt_release_write=0A=
ffffffff8032f1f4 t xprt_recvmsg=0A=
ffffffff8032f360 t xprt_adjust_cwnd=0A=
ffffffff8032f4fc T xprt_adjust_timeout=0A=
ffffffff8032f624 t xprt_close=0A=
ffffffff8032f6bc t xprt_disconnect=0A=
ffffffff8032f768 T xprt_reconnect=0A=
ffffffff8032faf0 t xprt_reconn_status=0A=
ffffffff8032fb5c t csum_partial_copy_to_page_cache=0A=
ffffffff8032fcd4 t udp_data_ready=0A=
ffffffff8033000c t tcp_input_record=0A=
ffffffff8033061c T xprt_tcp_pending=0A=
ffffffff803306a0 t xprt_remove_pending=0A=
ffffffff80330730 T __rpciod_tcp_dispatcher=0A=
ffffffff80330880 t tcp_data_ready=0A=
ffffffff80330a7c t tcp_state_change=0A=
ffffffff80330c3c t tcp_write_space=0A=
ffffffff80330df8 t udp_write_space=0A=
ffffffff80330f2c t xprt_timer=0A=
ffffffff80330fc8 T xprt_transmit=0A=
ffffffff803310e8 t do_xprt_transmit=0A=
ffffffff803315b8 T xprt_receive=0A=
ffffffff80331640 T xprt_reserve=0A=
ffffffff803317a0 t xprt_reserve_status=0A=
ffffffff80331878 t xprt_request_init=0A=
ffffffff8033198c T xprt_release=0A=
ffffffff80331ae4 T xprt_default_timeout=0A=
ffffffff80331b24 T xprt_set_timeout=0A=
ffffffff80331b8c t xprt_setup=0A=
ffffffff80331e00 t xprt_bind_socket=0A=
ffffffff80331f70 t xprt_create_socket=0A=
ffffffff803320ec T xprt_create_proto=0A=
ffffffff80332194 T xprt_shutdown=0A=
ffffffff803321f8 T xprt_clear_backlog=0A=
ffffffff80332258 T xprt_destroy=0A=
ffffffff803322c0 t rpc_run_timer=0A=
ffffffff80332374 T rpc_add_timer=0A=
ffffffff8033249c T rpc_add_wait_queue=0A=
ffffffff80332604 T rpc_remove_wait_queue=0A=
ffffffff803326fc T rpciod_wake_up=0A=
ffffffff80332754 t __rpc_sleep_on=0A=
ffffffff80332ab4 T rpc_sleep_on=0A=
ffffffff80332b1c T rpc_sleep_locked=0A=
ffffffff80332b98 t __rpc_wake_up_task=0A=
ffffffff80333044 t __rpc_default_timer=0A=
ffffffff80333098 T rpc_wake_up_task=0A=
ffffffff8033311c T rpc_wake_up_next=0A=
ffffffff803331d8 T rpc_wake_up=0A=
ffffffff80333274 T rpc_wake_up_status=0A=
ffffffff80333318 T __rpc_lock_task=0A=
ffffffff80333350 T rpc_unlock_task=0A=
ffffffff803333ec T rpc_delay=0A=
ffffffff80333428 t __rpc_atrun=0A=
ffffffff80333448 t __rpc_execute=0A=
ffffffff80333898 T rpc_execute=0A=
ffffffff80333988 t __rpc_schedule=0A=
ffffffff80333bdc T rpc_allocate=0A=
ffffffff80333d64 T rpc_free=0A=
ffffffff80333df4 t rpc_default_free_task=0A=
ffffffff80333e40 T rpc_new_task=0A=
ffffffff803340cc T rpc_release_task=0A=
ffffffff80334354 t rpc_child_exit=0A=
ffffffff80334404 T rpc_new_child=0A=
ffffffff8033445c T rpc_run_child=0A=
ffffffff8033481c T rpc_killall_tasks=0A=
ffffffff803348c8 t rpciod=0A=
ffffffff80334ccc t rpciod_killall=0A=
ffffffff80334e10 T rpciod_up=0A=
ffffffff80335044 T rpciod_down=0A=
ffffffff8033534c T rpc_show_tasks=0A=
ffffffff80335430 T rpc_init_task=0A=
ffffffff803355e0 T rpcauth_register=0A=
ffffffff8033562c T rpcauth_unregister=0A=
ffffffff80335678 T rpcauth_create=0A=
ffffffff803356d8 T rpcauth_destroy=0A=
ffffffff80335708 T rpcauth_init_credcache=0A=
ffffffff8033574c T rpcauth_free_credcache=0A=
ffffffff80335880 t rpcauth_gc_credcache=0A=
ffffffff80335a14 T rpcauth_insert_credcache=0A=
ffffffff80335a9c t rpcauth_lookup_credcache=0A=
ffffffff80335bb0 t rpcauth_remove_credcache=0A=
ffffffff80335c08 T rpcauth_lookupcred=0A=
ffffffff80335c6c T rpcauth_bindcred=0A=
ffffffff80335cf0 T rpcauth_matchcred=0A=
ffffffff80335d60 T rpcauth_holdcred=0A=
ffffffff80335e24 T put_rpccred=0A=
ffffffff80335f80 T rpcauth_unbindcred=0A=
ffffffff80335ff4 T rpcauth_marshcred=0A=
ffffffff80336084 T rpcauth_checkverf=0A=
ffffffff8033610c T rpcauth_refreshcred=0A=
ffffffff80336190 T rpcauth_invalcred=0A=
ffffffff8033620c T rpcauth_uptodatecred=0A=
ffffffff80336240 t nul_create=0A=
ffffffff803362d0 t nul_destroy=0A=
ffffffff80336324 t nul_create_cred=0A=
ffffffff80336374 t nul_destroy_cred=0A=
ffffffff80336394 t nul_match=0A=
ffffffff8033639c t nul_marshal=0A=
ffffffff803363c0 t nul_refresh=0A=
ffffffff803363cc t nul_validate=0A=
ffffffff80336430 t unx_create=0A=
ffffffff803364bc t unx_destroy=0A=
ffffffff80336510 t unx_create_cred=0A=
ffffffff8033662c T authunix_fake_cred=0A=
ffffffff803366d0 t unx_destroy_cred=0A=
ffffffff803366f0 t unx_match=0A=
ffffffff803367fc t unx_marshal=0A=
ffffffff80336980 t unx_refresh=0A=
ffffffff803369a4 t unx_validate=0A=
ffffffff80336a30 T svc_create=0A=
ffffffff80336ae0 T svc_destroy=0A=
ffffffff80336b90 T svc_init_buffer=0A=
ffffffff80336c00 T svc_release_buffer=0A=
ffffffff80336c30 T svc_create_thread=0A=
ffffffff80336d24 T svc_exit_thread=0A=
ffffffff80336da0 T svc_register=0A=
ffffffff80336f6c T svc_process=0A=
ffffffff803375e0 t svc_sock_enqueue=0A=
ffffffff803377b0 T svc_wake_up=0A=
ffffffff8033785c t svc_sendto=0A=
ffffffff80337954 t svc_recv_available=0A=
ffffffff803379a8 t svc_recvfrom=0A=
ffffffff80337aa8 t svc_udp_data_ready=0A=
ffffffff80337b94 t svc_udp_recvfrom=0A=
ffffffff80338068 t svc_udp_sendto=0A=
ffffffff803380f4 t svc_udp_init=0A=
ffffffff80338124 t svc_tcp_listen_data_ready=0A=
ffffffff8033822c t svc_tcp_state_change=0A=
ffffffff80338320 t svc_tcp_data_ready=0A=
ffffffff80338400 t svc_tcp_accept=0A=
ffffffff803386b8 t svc_tcp_recvfrom=0A=
ffffffff80338dcc t svc_tcp_sendto=0A=
ffffffff80338e60 t svc_tcp_init=0A=
ffffffff80338f30 T svc_recv=0A=
ffffffff80339550 T svc_drop=0A=
ffffffff803396fc T svc_send=0A=
ffffffff80339950 t svc_setup_socket=0A=
ffffffff80339b4c t svc_create_socket=0A=
ffffffff80339cdc T svc_delete_socket=0A=
ffffffff80339ec4 T svc_makesock=0A=
ffffffff80339f40 T svc_authenticate=0A=
ffffffff8033a00c T svc_auth_register=0A=
ffffffff8033a048 T svc_auth_unregister=0A=
ffffffff8033a068 t svcauth_null=0A=
ffffffff8033a1ac t svcauth_unix=0A=
ffffffff8033a330 T rpc_getport=0A=
ffffffff8033a490 t pmap_getport_done=0A=
ffffffff8033a548 T rpc_register=0A=
ffffffff8033a694 t pmap_create=0A=
ffffffff8033a738 t xdr_error=0A=
ffffffff8033a740 t xdr_encode_mapping=0A=
ffffffff8033a7f4 t xdr_decode_port=0A=
ffffffff8033a808 t xdr_decode_bool=0A=
ffffffff8033a820 T xdr_encode_netobj=0A=
ffffffff8033a898 T xdr_decode_netobj_fixed=0A=
ffffffff8033a8f4 T xdr_decode_netobj=0A=
ffffffff8033a92c T xdr_encode_array=0A=
ffffffff8033a97c T xdr_encode_string=0A=
ffffffff8033a9c0 T xdr_decode_string=0A=
ffffffff8033aa58 T xdr_decode_string_inplace=0A=
ffffffff8033aa90 T xdr_shift_iovec=0A=
ffffffff8033ab54 T xdr_zero_iovec=0A=
ffffffff8033ac00 T rpc_proc_read=0A=
ffffffff8033add4 T svc_proc_read=0A=
ffffffff8033afb8 T rpc_proc_register=0A=
ffffffff8033b050 T rpc_proc_unregister=0A=
ffffffff8033b078 T svc_proc_register=0A=
ffffffff8033b110 T svc_proc_unregister=0A=
ffffffff8033b138 T rpc_proc_init=0A=
ffffffff8033b1a8 T rpc_proc_exit=0A=
ffffffff8033b210 T rpc_register_sysctl=0A=
ffffffff8033b274 T rpc_unregister_sysctl=0A=
ffffffff8033b2ac t proc_dodebug=0A=
ffffffff8033b560 t small_csumcpy=0A=
ffffffff8033b620 T csum_partial=0A=
ffffffff8033b63c t hword_align=0A=
ffffffff8033b660 t word_align=0A=
ffffffff8033b684 t dword_align=0A=
ffffffff8033b6b4 t qword_align=0A=
ffffffff8033b6e8 t oword_align=0A=
ffffffff8033b73c t begin_movement=0A=
ffffffff8033b744 t move_128bytes=0A=
ffffffff8033b958 t move_64bytes=0A=
ffffffff8033ba64 t move_32bytes=0A=
ffffffff8033baec t do_end_words=0A=
ffffffff8033baf4 t end_words=0A=
ffffffff8033bb10 t maybe_end_cruft=0A=
ffffffff8033bb14 t small_memcpy=0A=
ffffffff8033bb24 t end_bytes=0A=
ffffffff8033bb34 t out=0A=
ffffffff8033bb40 T csum_partial_copy=0A=
ffffffff8033bb9c T csum_partial_copy_from_user=0A=
ffffffff8033bc30 t shouldnt_happen=0A=
ffffffff8033bc80 T memcpy=0A=
ffffffff8033bc84 T __copy_user=0A=
ffffffff8033bc84 t __memcpy=0A=
ffffffff8033bca0 t can_align=0A=
ffffffff8033bcb0 t hword_align=0A=
ffffffff8033bcd0 t word_align=0A=
ffffffff8033bcf0 t dword_align=0A=
ffffffff8033bd1c t qword_align=0A=
ffffffff8033bd44 t oword_align=0A=
ffffffff8033bd7c t begin_movement=0A=
ffffffff8033bd84 t move_128bytes=0A=
ffffffff8033be9c t move_64bytes=0A=
ffffffff8033bf2c t move_32bytes=0A=
ffffffff8033bf78 t do_end_words=0A=
ffffffff8033bf80 t end_words=0A=
ffffffff8033bf98 t maybe_end_cruft=0A=
ffffffff8033bf9c t small_memcpy=0A=
ffffffff8033bfa4 t end_bytes=0A=
ffffffff8033bfbc t out=0A=
ffffffff8033bfc4 t memcpy_u_src=0A=
ffffffff8033c018 t u_qword_align=0A=
ffffffff8033c048 t u_oword_align=0A=
ffffffff8033c090 t u_begin_movement=0A=
ffffffff8033c098 t u_move_128bytes=0A=
ffffffff8033c230 t u_move_64bytes=0A=
ffffffff8033c300 t u_move_32bytes=0A=
ffffffff8033c36c t u_do_end_words=0A=
ffffffff8033c374 t u_end_words=0A=
ffffffff8033c390 t u_maybe_end_cruft=0A=
ffffffff8033c394 t u_cannot_optimize=0A=
ffffffff8033c39c t u_end_bytes=0A=
ffffffff8033c3c0 T memmove=0A=
ffffffff8033c3e0 T __rmemcpy=0A=
ffffffff8033c3f4 t r_end_bytes=0A=
ffffffff8033c40c t r_out=0A=
ffffffff8033c414 t r_end_bytes_up=0A=
ffffffff8033c434 t l_fixup=0A=
ffffffff8033c450 t s_fixup=0A=
ffffffff8033c460 T memset=0A=
ffffffff8033c47c T __bzero=0A=
ffffffff8033c4fc t memset_partial=0A=
ffffffff8033c568 t small_memset=0A=
ffffffff8033c584 t first_fixup=0A=
ffffffff8033c58c t fwd_fixup=0A=
ffffffff8033c5a0 t partial_fixup=0A=
ffffffff8033c5b4 t last_fixup=0A=
ffffffff8033c5c0 T __strlen_user_asm=0A=
ffffffff8033c5c0 T __strlen_user_nocheck_asm=0A=
ffffffff8033c5dc t fault=0A=
ffffffff8033c5f0 T __strncpy_from_user_asm=0A=
ffffffff8033c5f0 T __strncpy_from_user_nocheck_asm=0A=
ffffffff8033c62c t fault=0A=
ffffffff8033c640 T __strnlen_user_asm=0A=
ffffffff8033c640 T __strnlen_user_nocheck_asm=0A=
ffffffff8033c668 t fault=0A=
ffffffff8033c670 T strnicmp=0A=
ffffffff8033c70c T strcat=0A=
ffffffff8033c758 T strncat=0A=
ffffffff8033c7b8 T strchr=0A=
ffffffff8033c7ec T strrchr=0A=
ffffffff8033c848 T strlen=0A=
ffffffff8033c878 T strnlen=0A=
ffffffff8033c8b8 T strspn=0A=
ffffffff8033c938 T strpbrk=0A=
ffffffff8033c99c T strtok=0A=
ffffffff8033ca44 T strsep=0A=
ffffffff8033ca9c T memcmp=0A=
ffffffff8033cadc T strstr=0A=
ffffffff8033cb74 T memchr=0A=
ffffffff8033cbb0 T simple_strtoul=0A=
ffffffff8033cd08 T simple_strtol=0A=
ffffffff8033cd4c T simple_strtoull=0A=
ffffffff8033cf00 T simple_strtoll=0A=
ffffffff8033cf50 t skip_atoi=0A=
ffffffff8033cfe8 t number=0A=
ffffffff8033d5b0 T vsnprintf=0A=
ffffffff8033dc14 T snprintf=0A=
ffffffff8033dc3c T vsprintf=0A=
ffffffff8033dc68 T sprintf=0A=
ffffffff8033dc94 T vsscanf=0A=
ffffffff8033e1bc T sscanf=0A=
ffffffff8033e1f0 T get_option=0A=
ffffffff8033e284 T get_options=0A=
ffffffff8033e308 T memparse=0A=
ffffffff8033e3c0 T bust_spinlocks=0A=
ffffffff8033e430 T init_rwsem=0A=
ffffffff8033e444 T __down_read=0A=
ffffffff8033e4f8 T __down_write=0A=
ffffffff8033e5a4 T __up_read=0A=
ffffffff8033e60c T __up_write=0A=
ffffffff803434f4 t tvecs=0A=
ffffffff80351800 t border=0A=
ffffffff803518e8 t cplens=0A=
ffffffff80351964 t cplext=0A=
ffffffff803519e0 t cpdist=0A=
ffffffff80351a58 t cpdext=0A=
ffffffff80351ca0 T crc32_table=0A=
ffffffff80355a74 t ieee_rm=0A=
ffffffff80355a78 t fpucondbit=0A=
ffffffff80355d28 t cmptab=0A=
ffffffff803560f0 T ieee754_cname=0A=
ffffffff80356140 T __ieee754dp_spcvals=0A=
ffffffff803561c8 T __ieee754sp_spcvals=0A=
ffffffff80356210 t rtnames=0A=
ffffffff803569e0 t knan=0A=
ffffffff803569e8 t table=0A=
ffffffff80356a90 t knan=0A=
ffffffff8035762c t list.1170=0A=
ffffffff80357874 t badmagic.1137=0A=
ffffffff803578ac t badtty.1138=0A=
ffffffff80358608 t twist_table.1029=0A=
ffffffff80359df8 t border=0A=
ffffffff80359e44 t cplens=0A=
ffffffff80359e84 t cplext=0A=
ffffffff80359ec4 t cpdist=0A=
ffffffff80359f00 t cpdext=0A=
ffffffff80359f3c t mask_bits=0A=
ffffffff80359f60 t lbits=0A=
ffffffff80359f64 t dbits=0A=
ffffffff80359fa0 t p.1092=0A=
ffffffff8035c5a8 t jedec_table=0A=
ffffffff8035fc28 t rtm_min=0A=
ffffffff8035fc48 t rta_max=0A=
ffffffff8036046c t prio2band=0A=
ffffffff80363bf8 T timer_bug_msg=0A=
ffffffff8036c864 ? __kstrtab_mips_machtype=0A=
ffffffff8036c874 ? __kstrtab_EISA_bus=0A=
ffffffff8036c880 ? __kstrtab_pci_alloc_consistent=0A=
ffffffff8036c898 ? __kstrtab_pci_free_consistent=0A=
ffffffff8036c8ac ? __kstrtab_memcmp=0A=
ffffffff8036c8b4 ? __kstrtab_memset=0A=
ffffffff8036c8bc ? __kstrtab_memcpy=0A=
ffffffff8036c8c4 ? __kstrtab_memmove=0A=
ffffffff8036c8cc ? __kstrtab_simple_strtol=0A=
ffffffff8036c8dc ? __kstrtab_strcat=0A=
ffffffff8036c8e4 ? __kstrtab_strchr=0A=
ffffffff8036c8ec ? __kstrtab_strlen=0A=
ffffffff8036c8f4 ? __kstrtab_strpbrk=0A=
ffffffff8036c8fc ? __kstrtab_strncat=0A=
ffffffff8036c904 ? __kstrtab_strnlen=0A=
ffffffff8036c90c ? __kstrtab_strrchr=0A=
ffffffff8036c914 ? __kstrtab_strstr=0A=
ffffffff8036c91c ? __kstrtab_strtok=0A=
ffffffff8036c924 ? __kstrtab__clear_page=0A=
ffffffff8036c930 ? __kstrtab_enable_irq=0A=
ffffffff8036c93c ? __kstrtab_disable_irq=0A=
ffffffff8036c948 ? __kstrtab_kernel_thread=0A=
ffffffff8036c958 ? __kstrtab___copy_user=0A=
ffffffff8036c964 ? __kstrtab___bzero=0A=
ffffffff8036c96c ? __kstrtab___strncpy_from_user_nocheck_asm=0A=
ffffffff8036c98c ? __kstrtab___strncpy_from_user_asm=0A=
ffffffff8036c9a4 ? __kstrtab___strlen_user_nocheck_asm=0A=
ffffffff8036c9c0 ? __kstrtab___strlen_user_asm=0A=
ffffffff8036c9d4 ? __kstrtab___strnlen_user_nocheck_asm=0A=
ffffffff8036c9f0 ? __kstrtab___strnlen_user_asm=0A=
ffffffff8036ca04 ? __kstrtab_csum_partial_copy=0A=
ffffffff8036ca18 ? __kstrtab__flush_page_to_ram=0A=
ffffffff8036ca2c ? __kstrtab__flush_cache_all=0A=
ffffffff8036ca40 ? __kstrtab__dma_cache_wback_inv=0A=
ffffffff8036ca58 ? __kstrtab__dma_cache_inv=0A=
ffffffff8036ca68 ? __kstrtab_invalid_pte_table=0A=
ffffffff8036ca7c ? __kstrtab___down=0A=
ffffffff8036ca84 ? __kstrtab___down_interruptible=0A=
ffffffff8036ca9c ? __kstrtab___down_trylock=0A=
ffffffff8036caac ? __kstrtab___up=0A=
ffffffff8036cab4 ? __kstrtab_mips_io_port_base=0A=
ffffffff8036cac8 ? __kstrtab_get_wchan=0A=
ffffffff8036cad4 ? __kstrtab_flush_tlb_page=0A=
ffffffff8036cae4 ? __kstrtab___ioremap=0A=
ffffffff8036caf0 ? __kstrtab_iounmap=0A=
ffffffff8036caf8 ? __kstrtab_register_exec_domain=0A=
ffffffff8036cb10 ? __kstrtab_unregister_exec_domain=0A=
ffffffff8036cb28 ? __kstrtab___set_personality=0A=
ffffffff8036cb3c ? __kstrtab_abi_defhandler_coff=0A=
ffffffff8036cb50 ? __kstrtab_abi_defhandler_elf=0A=
ffffffff8036cb64 ? __kstrtab_abi_defhandler_lcall7=0A=
ffffffff8036cb7c ? __kstrtab_abi_defhandler_libcso=0A=
ffffffff8036cb94 ? __kstrtab_abi_traceflg=0A=
ffffffff8036cba4 ? __kstrtab_abi_fake_utsname=0A=
ffffffff8036cbb8 ? __kstrtab_printk=0A=
ffffffff8036cbc0 ? __kstrtab_acquire_console_sem=0A=
ffffffff8036cbd4 ? __kstrtab_console_print=0A=
ffffffff8036cbe4 ? __kstrtab_register_console=0A=
ffffffff8036cbf8 ? __kstrtab_unregister_console=0A=
ffffffff8036cc0c ? __kstrtab_dequeue_signal=0A=
ffffffff8036cc1c ? __kstrtab_flush_signals=0A=
ffffffff8036cc2c ? __kstrtab_force_sig=0A=
ffffffff8036cc38 ? __kstrtab_force_sig_info=0A=
ffffffff8036cc48 ? __kstrtab_kill_pg=0A=
ffffffff8036cc50 ? __kstrtab_kill_pg_info=0A=
ffffffff8036cc60 ? __kstrtab_kill_proc=0A=
ffffffff8036cc6c ? __kstrtab_kill_proc_info=0A=
ffffffff8036cc7c ? __kstrtab_kill_sl=0A=
ffffffff8036cc84 ? __kstrtab_kill_sl_info=0A=
ffffffff8036cc94 ? __kstrtab_notify_parent=0A=
ffffffff8036cca4 ? __kstrtab_recalc_sigpending=0A=
ffffffff8036ccb8 ? __kstrtab_send_sig=0A=
ffffffff8036ccc4 ? __kstrtab_send_sig_info=0A=
ffffffff8036ccd4 ? __kstrtab_block_all_signals=0A=
ffffffff8036cce8 ? __kstrtab_unblock_all_signals=0A=
ffffffff8036ccfc ? __kstrtab_notifier_chain_register=0A=
ffffffff8036cd14 ? __kstrtab_notifier_chain_unregister=0A=
ffffffff8036cd30 ? __kstrtab_notifier_call_chain=0A=
ffffffff8036cd44 ? __kstrtab_register_reboot_notifier=0A=
ffffffff8036cd60 ? __kstrtab_unregister_reboot_notifier=0A=
ffffffff8036cd7c ? __kstrtab_in_group_p=0A=
ffffffff8036cd88 ? __kstrtab_in_egroup_p=0A=
ffffffff8036cd94 ? __kstrtab_exec_usermodehelper=0A=
ffffffff8036cda8 ? __kstrtab_call_usermodehelper=0A=
ffffffff8036cdbc ? __kstrtab_schedule_task=0A=
ffffffff8036cdcc ? __kstrtab_flush_scheduled_tasks=0A=
ffffffff8036cde4 ? __kstrtab_inter_module_register=0A=
ffffffff8036cdfc ? __kstrtab_inter_module_unregister=0A=
ffffffff8036ce14 ? __kstrtab_inter_module_get=0A=
ffffffff8036ce28 ? __kstrtab_inter_module_get_request=0A=
ffffffff8036ce44 ? __kstrtab_inter_module_put=0A=
ffffffff8036ce58 ? __kstrtab_try_inc_mod_count=0A=
ffffffff8036ce6c ? __kstrtab_do_mmap_pgoff=0A=
ffffffff8036ce7c ? __kstrtab_do_munmap=0A=
ffffffff8036ce88 ? __kstrtab_exit_mm=0A=
ffffffff8036ce90 ? __kstrtab_exit_files=0A=
ffffffff8036ce9c ? __kstrtab_exit_fs=0A=
ffffffff8036cea4 ? __kstrtab_exit_sighand=0A=
ffffffff8036ceb4 ? __kstrtab__alloc_pages=0A=
ffffffff8036cec4 ? __kstrtab___alloc_pages=0A=
ffffffff8036ced4 ? __kstrtab_alloc_pages_node=0A=
ffffffff8036cee8 ? __kstrtab___get_free_pages=0A=
ffffffff8036cefc ? __kstrtab_get_zeroed_page=0A=
ffffffff8036cf0c ? __kstrtab___free_pages=0A=
ffffffff8036cf1c ? __kstrtab_free_pages=0A=
ffffffff8036cf28 ? __kstrtab_num_physpages=0A=
ffffffff8036cf38 ? __kstrtab_kmem_find_general_cachep=0A=
ffffffff8036cf54 ? __kstrtab_kmem_cache_create=0A=
ffffffff8036cf68 ? __kstrtab_kmem_cache_destroy=0A=
ffffffff8036cf7c ? __kstrtab_kmem_cache_shrink=0A=
ffffffff8036cf90 ? __kstrtab_kmem_cache_alloc=0A=
ffffffff8036cfa4 ? __kstrtab_kmem_cache_free=0A=
ffffffff8036cfb4 ? __kstrtab_kmalloc=0A=
ffffffff8036cfbc ? __kstrtab_kfree=0A=
ffffffff8036cfc4 ? __kstrtab_ksize=0A=
ffffffff8036cfcc ? __kstrtab_vfree=0A=
ffffffff8036cfd4 ? __kstrtab___vmalloc=0A=
ffffffff8036cfe0 ? __kstrtab_mem_map=0A=
ffffffff8036cfe8 ? __kstrtab_remap_page_range=0A=
ffffffff8036cffc ? __kstrtab_max_mapnr=0A=
ffffffff8036d008 ? __kstrtab_high_memory=0A=
ffffffff8036d014 ? __kstrtab_vmtruncate=0A=
ffffffff8036d020 ? __kstrtab_init_mm=0A=
ffffffff8036d028 ? __kstrtab_deactivate_page=0A=
ffffffff8036d038 ? __kstrtab_def_blk_fops=0A=
ffffffff8036d048 ? __kstrtab_update_atime=0A=
ffffffff8036d058 ? __kstrtab_get_fs_type=0A=
ffffffff8036d064 ? __kstrtab_get_super=0A=
ffffffff8036d070 ? __kstrtab_drop_super=0A=
ffffffff8036d07c ? __kstrtab_getname=0A=
ffffffff8036d084 ? __kstrtab_names_cachep=0A=
ffffffff8036d094 ? __kstrtab_fput=0A=
ffffffff8036d09c ? __kstrtab_fget=0A=
ffffffff8036d0a4 ? __kstrtab_igrab=0A=
ffffffff8036d0ac ? __kstrtab_iunique=0A=
ffffffff8036d0b4 ? __kstrtab_iget4=0A=
ffffffff8036d0bc ? __kstrtab_iput=0A=
ffffffff8036d0c4 ? __kstrtab_force_delete=0A=
ffffffff8036d0d4 ? __kstrtab_follow_up=0A=
ffffffff8036d0e0 ? __kstrtab_follow_down=0A=
ffffffff8036d0ec ? __kstrtab_lookup_mnt=0A=
ffffffff8036d0f8 ? __kstrtab_path_init=0A=
ffffffff8036d104 ? __kstrtab_path_walk=0A=
ffffffff8036d110 ? __kstrtab_path_release=0A=
ffffffff8036d120 ? __kstrtab___user_walk=0A=
ffffffff8036d12c ? __kstrtab_lookup_one_len=0A=
ffffffff8036d13c ? __kstrtab_lookup_hash=0A=
ffffffff8036d148 ? __kstrtab_sys_close=0A=
ffffffff8036d154 ? __kstrtab_dcache_lock=0A=
ffffffff8036d160 ? __kstrtab_d_alloc_root=0A=
ffffffff8036d170 ? __kstrtab_d_delete=0A=
ffffffff8036d17c ? __kstrtab_dget_locked=0A=
ffffffff8036d188 ? __kstrtab_d_validate=0A=
ffffffff8036d194 ? __kstrtab_d_rehash=0A=
ffffffff8036d1a0 ? __kstrtab_d_invalidate=0A=
ffffffff8036d1b0 ? __kstrtab_d_move=0A=
ffffffff8036d1b8 ? __kstrtab_d_instantiate=0A=
ffffffff8036d1c8 ? __kstrtab_d_alloc=0A=
ffffffff8036d1d0 ? __kstrtab_d_lookup=0A=
ffffffff8036d1dc ? __kstrtab___d_path=0A=
ffffffff8036d1e8 ? __kstrtab_mark_buffer_dirty=0A=
ffffffff8036d1fc ? __kstrtab_set_buffer_async_io=0A=
ffffffff8036d210 ? __kstrtab___mark_buffer_dirty=0A=
ffffffff8036d224 ? __kstrtab___mark_inode_dirty=0A=
ffffffff8036d238 ? __kstrtab_get_empty_filp=0A=
ffffffff8036d248 ? __kstrtab_init_private_file=0A=
ffffffff8036d25c ? __kstrtab_filp_open=0A=
ffffffff8036d268 ? __kstrtab_filp_close=0A=
ffffffff8036d274 ? __kstrtab_put_filp=0A=
ffffffff8036d280 ? __kstrtab_files_lock=0A=
ffffffff8036d28c ? __kstrtab_check_disk_change=0A=
ffffffff8036d2a0 ? __kstrtab___invalidate_buffers=0A=
ffffffff8036d2b8 ? __kstrtab_invalidate_inodes=0A=
ffffffff8036d2cc ? __kstrtab_invalidate_device=0A=
ffffffff8036d2e0 ? __kstrtab_invalidate_inode_pages=0A=
ffffffff8036d2f8 ? __kstrtab_truncate_inode_pages=0A=
ffffffff8036d310 ? __kstrtab_fsync_dev=0A=
ffffffff8036d31c ? __kstrtab_fsync_no_super=0A=
ffffffff8036d32c ? __kstrtab_permission=0A=
ffffffff8036d338 ? __kstrtab_vfs_permission=0A=
ffffffff8036d348 ? __kstrtab_inode_setattr=0A=
ffffffff8036d358 ? __kstrtab_inode_change_ok=0A=
ffffffff8036d368 ? __kstrtab_write_inode_now=0A=
ffffffff8036d378 ? __kstrtab_notify_change=0A=
ffffffff8036d388 ? __kstrtab_set_blocksize=0A=
ffffffff8036d398 ? __kstrtab_getblk=0A=
ffffffff8036d3a0 ? __kstrtab_cdget=0A=
ffffffff8036d3a8 ? __kstrtab_cdput=0A=
ffffffff8036d3b0 ? __kstrtab_bdget=0A=
ffffffff8036d3b8 ? __kstrtab_bdput=0A=
ffffffff8036d3c0 ? __kstrtab_bread=0A=
ffffffff8036d3c8 ? __kstrtab___brelse=0A=
ffffffff8036d3d4 ? __kstrtab___bforget=0A=
ffffffff8036d3e0 ? __kstrtab_ll_rw_block=0A=
ffffffff8036d3ec ? __kstrtab_submit_bh=0A=
ffffffff8036d3f8 ? __kstrtab_unlock_buffer=0A=
ffffffff8036d408 ? __kstrtab___wait_on_buffer=0A=
ffffffff8036d41c ? __kstrtab____wait_on_page=0A=
ffffffff8036d42c ? __kstrtab_block_write_full_page=0A=
ffffffff8036d444 ? __kstrtab_block_read_full_page=0A=
ffffffff8036d45c ? __kstrtab_block_prepare_write=0A=
ffffffff8036d470 ? __kstrtab_block_sync_page=0A=
ffffffff8036d480 ? __kstrtab_cont_prepare_write=0A=
ffffffff8036d494 ? __kstrtab_generic_commit_write=0A=
ffffffff8036d4ac ? __kstrtab_block_truncate_page=0A=
ffffffff8036d4c0 ? __kstrtab_generic_block_bmap=0A=
ffffffff8036d4d4 ? __kstrtab_waitfor_one_page=0A=
ffffffff8036d4e8 ? __kstrtab_generic_file_read=0A=
ffffffff8036d4fc ? __kstrtab_do_generic_file_read=0A=
ffffffff8036d514 ? __kstrtab_generic_file_write=0A=
ffffffff8036d528 ? __kstrtab_generic_direct_IO=0A=
ffffffff8036d53c ? __kstrtab_generic_file_mmap=0A=
ffffffff8036d550 ? __kstrtab_generic_ro_fops=0A=
ffffffff8036d560 ? __kstrtab_generic_buffer_fdatasync=0A=
ffffffff8036d57c ? __kstrtab_page_hash_bits=0A=
ffffffff8036d58c ? __kstrtab_page_hash_table=0A=
ffffffff8036d59c ? __kstrtab_file_lock_list=0A=
ffffffff8036d5ac ? __kstrtab_locks_init_lock=0A=
ffffffff8036d5bc ? __kstrtab_locks_copy_lock=0A=
ffffffff8036d5cc ? __kstrtab_posix_lock_file=0A=
ffffffff8036d5dc ? __kstrtab_posix_test_lock=0A=
ffffffff8036d5ec ? __kstrtab_posix_block_lock=0A=
ffffffff8036d600 ? __kstrtab_posix_unblock_lock=0A=
ffffffff8036d614 ? __kstrtab_locks_mandatory_area=0A=
ffffffff8036d62c ? __kstrtab_dput=0A=
ffffffff8036d634 ? __kstrtab_have_submounts=0A=
ffffffff8036d644 ? __kstrtab_d_find_alias=0A=
ffffffff8036d654 ? __kstrtab_d_prune_aliases=0A=
ffffffff8036d664 ? __kstrtab_prune_dcache=0A=
ffffffff8036d674 ? __kstrtab_shrink_dcache_sb=0A=
ffffffff8036d688 ? __kstrtab_shrink_dcache_parent=0A=
ffffffff8036d6a0 ? __kstrtab_find_inode_number=0A=
ffffffff8036d6b4 ? __kstrtab_is_subdir=0A=
ffffffff8036d6c0 ? __kstrtab_get_unused_fd=0A=
ffffffff8036d6d0 ? __kstrtab_vfs_create=0A=
ffffffff8036d6dc ? __kstrtab_vfs_mkdir=0A=
ffffffff8036d6e8 ? __kstrtab_vfs_mknod=0A=
ffffffff8036d6f4 ? __kstrtab_vfs_symlink=0A=
ffffffff8036d700 ? __kstrtab_vfs_link=0A=
ffffffff8036d70c ? __kstrtab_vfs_rmdir=0A=
ffffffff8036d718 ? __kstrtab_vfs_unlink=0A=
ffffffff8036d724 ? __kstrtab_vfs_rename=0A=
ffffffff8036d730 ? __kstrtab_vfs_statfs=0A=
ffffffff8036d73c ? __kstrtab_generic_read_dir=0A=
ffffffff8036d750 ? __kstrtab_generic_file_llseek=0A=
ffffffff8036d764 ? __kstrtab_no_llseek=0A=
ffffffff8036d770 ? __kstrtab___pollwait=0A=
ffffffff8036d77c ? __kstrtab_poll_freewait=0A=
ffffffff8036d78c ? __kstrtab_ROOT_DEV=0A=
ffffffff8036d798 ? __kstrtab___find_get_page=0A=
ffffffff8036d7a8 ? __kstrtab___find_lock_page=0A=
ffffffff8036d7bc ? __kstrtab_grab_cache_page=0A=
ffffffff8036d7cc ? __kstrtab_read_cache_page=0A=
ffffffff8036d7dc ? __kstrtab_vfs_readlink=0A=
ffffffff8036d7ec ? __kstrtab_vfs_follow_link=0A=
ffffffff8036d7fc ? __kstrtab_page_readlink=0A=
ffffffff8036d80c ? __kstrtab_page_follow_link=0A=
ffffffff8036d820 ? __kstrtab_page_symlink_inode_operations=0A=
ffffffff8036d840 ? __kstrtab_block_symlink=0A=
ffffffff8036d850 ? __kstrtab_vfs_readdir=0A=
ffffffff8036d85c ? __kstrtab___get_lease=0A=
ffffffff8036d868 ? __kstrtab_lease_get_mtime=0A=
ffffffff8036d878 ? __kstrtab_lock_may_read=0A=
ffffffff8036d888 ? __kstrtab_lock_may_write=0A=
ffffffff8036d898 ? __kstrtab_dcache_readdir=0A=
ffffffff8036d8a8 ? __kstrtab_default_llseek=0A=
ffffffff8036d8b8 ? __kstrtab_dentry_open=0A=
ffffffff8036d8c4 ? __kstrtab_lock_page=0A=
ffffffff8036d8d0 ? __kstrtab_register_chrdev=0A=
ffffffff8036d8e0 ? __kstrtab_unregister_chrdev=0A=
ffffffff8036d8f4 ? __kstrtab_register_blkdev=0A=
ffffffff8036d904 ? __kstrtab_unregister_blkdev=0A=
ffffffff8036d918 ? __kstrtab_tty_register_driver=0A=
ffffffff8036d92c ? __kstrtab_tty_unregister_driver=0A=
ffffffff8036d944 ? __kstrtab_tty_std_termios=0A=
ffffffff8036d954 ? __kstrtab_blksize_size=0A=
ffffffff8036d964 ? __kstrtab_hardsect_size=0A=
ffffffff8036d974 ? __kstrtab_blk_size=0A=
ffffffff8036d980 ? __kstrtab_blk_dev=0A=
ffffffff8036d988 ? __kstrtab_is_read_only=0A=
ffffffff8036d998 ? __kstrtab_set_device_ro=0A=
ffffffff8036d9a8 ? __kstrtab_bmap=0A=
ffffffff8036d9b0 ? __kstrtab_sync_dev=0A=
ffffffff8036d9bc ? __kstrtab_devfs_register_partitions=0A=
ffffffff8036d9d8 ? __kstrtab_blkdev_open=0A=
ffffffff8036d9e4 ? __kstrtab_blkdev_get=0A=
ffffffff8036d9f0 ? __kstrtab_blkdev_put=0A=
ffffffff8036d9fc ? __kstrtab_ioctl_by_bdev=0A=
ffffffff8036da0c ? __kstrtab_grok_partitions=0A=
ffffffff8036da1c ? __kstrtab_register_disk=0A=
ffffffff8036da2c ? __kstrtab_tq_disk=0A=
ffffffff8036da34 ? __kstrtab_init_buffer=0A=
ffffffff8036da40 ? __kstrtab_refile_buffer=0A=
ffffffff8036da50 ? __kstrtab_max_sectors=0A=
ffffffff8036da5c ? __kstrtab_max_readahead=0A=
ffffffff8036da6c ? __kstrtab_tty_hangup=0A=
ffffffff8036da78 ? __kstrtab_tty_wait_until_sent=0A=
ffffffff8036da8c ? __kstrtab_tty_check_change=0A=
ffffffff8036daa0 ? __kstrtab_tty_hung_up_p=0A=
ffffffff8036dab0 ? __kstrtab_tty_flip_buffer_push=0A=
ffffffff8036dac8 ? __kstrtab_tty_get_baud_rate=0A=
ffffffff8036dadc ? __kstrtab_do_SAK=0A=
ffffffff8036dae4 ? __kstrtab_register_filesystem=0A=
ffffffff8036daf8 ? __kstrtab_unregister_filesystem=0A=
ffffffff8036db10 ? __kstrtab_kern_mount=0A=
ffffffff8036db1c ? __kstrtab___mntput=0A=
ffffffff8036db28 ? __kstrtab_may_umount=0A=
ffffffff8036db34 ? __kstrtab_register_binfmt=0A=
ffffffff8036db44 ? __kstrtab_unregister_binfmt=0A=
ffffffff8036db58 ? __kstrtab_search_binary_handler=0A=
ffffffff8036db70 ? __kstrtab_prepare_binprm=0A=
ffffffff8036db80 ? __kstrtab_compute_creds=0A=
ffffffff8036db90 ? __kstrtab_set_binfmt=0A=
ffffffff8036db9c ? __kstrtab_register_sysctl_table=0A=
ffffffff8036dbb4 ? __kstrtab_unregister_sysctl_table=0A=
ffffffff8036dbcc ? __kstrtab_sysctl_string=0A=
ffffffff8036dbdc ? __kstrtab_sysctl_intvec=0A=
ffffffff8036dbec ? __kstrtab_sysctl_jiffies=0A=
ffffffff8036dbfc ? __kstrtab_proc_dostring=0A=
ffffffff8036dc0c ? __kstrtab_proc_dointvec=0A=
ffffffff8036dc1c ? __kstrtab_proc_dointvec_jiffies=0A=
ffffffff8036dc34 ? __kstrtab_proc_dointvec_minmax=0A=
ffffffff8036dc4c ? __kstrtab_proc_doulongvec_ms_jiffies_minmax=0A=
ffffffff8036dc70 ? __kstrtab_proc_doulongvec_minmax=0A=
ffffffff8036dc88 ? __kstrtab_add_timer=0A=
ffffffff8036dc94 ? __kstrtab_del_timer=0A=
ffffffff8036dca0 ? __kstrtab_request_irq=0A=
ffffffff8036dcac ? __kstrtab_free_irq=0A=
ffffffff8036dcb8 ? __kstrtab_irq_stat=0A=
ffffffff8036dcc4 ? __kstrtab_add_wait_queue=0A=
ffffffff8036dcd4 ? __kstrtab_add_wait_queue_exclusive=0A=
ffffffff8036dcf0 ? __kstrtab_remove_wait_queue=0A=
ffffffff8036dd04 ? __kstrtab_wait_for_completion=0A=
ffffffff8036dd18 ? __kstrtab_complete=0A=
ffffffff8036dd24 ? __kstrtab_probe_irq_on=0A=
ffffffff8036dd34 ? __kstrtab_probe_irq_off=0A=
ffffffff8036dd44 ? __kstrtab_mod_timer=0A=
ffffffff8036dd50 ? __kstrtab_tq_timer=0A=
ffffffff8036dd5c ? __kstrtab_tq_immediate=0A=
ffffffff8036dd6c ? __kstrtab_alloc_kiovec=0A=
ffffffff8036dd7c ? __kstrtab_free_kiovec=0A=
ffffffff8036dd88 ? __kstrtab_expand_kiobuf=0A=
ffffffff8036dd98 ? __kstrtab_map_user_kiobuf=0A=
ffffffff8036dda8 ? __kstrtab_unmap_kiobuf=0A=
ffffffff8036ddb8 ? __kstrtab_lock_kiovec=0A=
ffffffff8036ddc4 ? __kstrtab_unlock_kiovec=0A=
ffffffff8036ddd4 ? __kstrtab_brw_kiovec=0A=
ffffffff8036dde0 ? __kstrtab_kiobuf_wait_for_io=0A=
ffffffff8036ddf4 ? __kstrtab_request_dma=0A=
ffffffff8036de00 ? __kstrtab_free_dma=0A=
ffffffff8036de0c ? __kstrtab_dma_spin_lock=0A=
ffffffff8036de1c ? __kstrtab_request_resource=0A=
ffffffff8036de30 ? __kstrtab_release_resource=0A=
ffffffff8036de44 ? __kstrtab_allocate_resource=0A=
ffffffff8036de58 ? __kstrtab_check_resource=0A=
ffffffff8036de68 ? __kstrtab___request_region=0A=
ffffffff8036de7c ? __kstrtab___check_region=0A=
ffffffff8036de8c ? __kstrtab___release_region=0A=
ffffffff8036dea0 ? __kstrtab_ioport_resource=0A=
ffffffff8036deb0 ? __kstrtab_iomem_resource=0A=
ffffffff8036dec0 ? __kstrtab_complete_and_exit=0A=
ffffffff8036ded4 ? __kstrtab___wake_up=0A=
ffffffff8036dee0 ? __kstrtab___wake_up_sync=0A=
ffffffff8036def0 ? __kstrtab_wake_up_process=0A=
ffffffff8036df00 ? __kstrtab_sleep_on=0A=
ffffffff8036df0c ? __kstrtab_sleep_on_timeout=0A=
ffffffff8036df20 ? __kstrtab_interruptible_sleep_on=0A=
ffffffff8036df38 ? __kstrtab_interruptible_sleep_on_timeout=0A=
ffffffff8036df58 ? __kstrtab_schedule=0A=
ffffffff8036df64 ? __kstrtab_schedule_timeout=0A=
ffffffff8036df78 ? __kstrtab_jiffies=0A=
ffffffff8036df80 ? __kstrtab_xtime=0A=
ffffffff8036df88 ? __kstrtab_do_gettimeofday=0A=
ffffffff8036df98 ? __kstrtab_do_settimeofday=0A=
ffffffff8036dfa8 ? __kstrtab_loops_per_jiffy=0A=
ffffffff8036dfb8 ? __kstrtab_kstat=0A=
ffffffff8036dfc0 ? __kstrtab_nr_running=0A=
ffffffff8036dfcc ? __kstrtab_panic=0A=
ffffffff8036dfd4 ? __kstrtab_sprintf=0A=
ffffffff8036dfdc ? __kstrtab_snprintf=0A=
ffffffff8036dfe8 ? __kstrtab_sscanf=0A=
ffffffff8036dff0 ? __kstrtab_vsprintf=0A=
ffffffff8036dffc ? __kstrtab_vsnprintf=0A=
ffffffff8036e008 ? __kstrtab_vsscanf=0A=
ffffffff8036e010 ? __kstrtab_kdevname=0A=
ffffffff8036e01c ? __kstrtab_bdevname=0A=
ffffffff8036e028 ? __kstrtab_cdevname=0A=
ffffffff8036e034 ? __kstrtab_simple_strtoul=0A=
ffffffff8036e044 ? __kstrtab_system_utsname=0A=
ffffffff8036e054 ? __kstrtab_uts_sem=0A=
ffffffff8036e05c ? __kstrtab_machine_restart=0A=
ffffffff8036e06c ? __kstrtab_machine_halt=0A=
ffffffff8036e07c ? __kstrtab_machine_power_off=0A=
ffffffff8036e090 ? __kstrtab__ctype=0A=
ffffffff8036e098 ? __kstrtab_secure_tcp_sequence_number=0A=
ffffffff8036e0b4 ? __kstrtab_get_random_bytes=0A=
ffffffff8036e0c8 ? __kstrtab_securebits=0A=
ffffffff8036e0d4 ? __kstrtab_cap_bset=0A=
ffffffff8036e0e0 ? __kstrtab_reparent_to_init=0A=
ffffffff8036e0f4 ? __kstrtab_daemonize=0A=
ffffffff8036e100 ? __kstrtab_csum_partial=0A=
ffffffff8036e110 ? __kstrtab_do_execve=0A=
ffffffff8036e11c ? __kstrtab_flush_old_exec=0A=
ffffffff8036e12c ? __kstrtab_kernel_read=0A=
ffffffff8036e138 ? __kstrtab_open_exec=0A=
ffffffff8036e144 ? __kstrtab_si_meminfo=0A=
ffffffff8036e150 ? __kstrtab_sys_tz=0A=
ffffffff8036e158 ? __kstrtab_file_fsync=0A=
ffffffff8036e164 ? __kstrtab_fsync_inode_buffers=0A=
ffffffff8036e178 ? __kstrtab_fsync_inode_data_buffers=0A=
ffffffff8036e194 ? __kstrtab_clear_inode=0A=
ffffffff8036e1a0 ? __kstrtab_nr_async_pages=0A=
ffffffff8036e1b0 ? __kstrtab____strtok=0A=
ffffffff8036e1bc ? __kstrtab_init_special_inode=0A=
ffffffff8036e1d0 ? __kstrtab_read_ahead=0A=
ffffffff8036e1dc ? __kstrtab_get_hash_table=0A=
ffffffff8036e1ec ? __kstrtab_get_empty_inode=0A=
ffffffff8036e1fc ? __kstrtab_insert_inode_hash=0A=
ffffffff8036e210 ? __kstrtab_remove_inode_hash=0A=
ffffffff8036e224 ? __kstrtab_buffer_insert_inode_queue=0A=
ffffffff8036e240 ? __kstrtab_make_bad_inode=0A=
ffffffff8036e250 ? __kstrtab_is_bad_inode=0A=
ffffffff8036e260 ? __kstrtab_event=0A=
ffffffff8036e268 ? __kstrtab_brw_page=0A=
ffffffff8036e274 ? __kstrtab_fs_overflowuid=0A=
ffffffff8036e284 ? __kstrtab_fs_overflowgid=0A=
ffffffff8036e294 ? __kstrtab_fasync_helper=0A=
ffffffff8036e2a4 ? __kstrtab_kill_fasync=0A=
ffffffff8036e2b0 ? __kstrtab_disk_name=0A=
ffffffff8036e2bc ? __kstrtab_get_write_access=0A=
ffffffff8036e2d0 ? __kstrtab_get_fast_time=0A=
ffffffff8036e2e0 ? __kstrtab_strnicmp=0A=
ffffffff8036e2ec ? __kstrtab_strspn=0A=
ffffffff8036e2f4 ? __kstrtab_strsep=0A=
ffffffff8036e2fc ? __kstrtab_tasklet_hi_vec=0A=
ffffffff8036e30c ? __kstrtab_tasklet_vec=0A=
ffffffff8036e318 ? __kstrtab_bh_task_vec=0A=
ffffffff8036e324 ? __kstrtab_init_bh=0A=
ffffffff8036e32c ? __kstrtab_remove_bh=0A=
ffffffff8036e338 ? __kstrtab_tasklet_init=0A=
ffffffff8036e348 ? __kstrtab_tasklet_kill=0A=
ffffffff8036e358 ? __kstrtab___run_task_queue=0A=
ffffffff8036e36c ? __kstrtab_do_softirq=0A=
ffffffff8036e378 ? __kstrtab_raise_softirq=0A=
ffffffff8036e388 ? __kstrtab_cpu_raise_softirq=0A=
ffffffff8036e39c ? __kstrtab___tasklet_schedule=0A=
ffffffff8036e3b0 ? __kstrtab___tasklet_hi_schedule=0A=
ffffffff8036e3c8 ? __kstrtab_init_task_union=0A=
ffffffff8036e3d8 ? __kstrtab_tasklist_lock=0A=
ffffffff8036e3e8 ? __kstrtab_pidhash=0A=
ffffffff8036e3f0 ? __kstrtab___mulsi3=0A=
ffffffff8036e3fc ? __kstrtab___muldi3=0A=
ffffffff8036e408 ? __kstrtab_get_mult_hi=0A=
ffffffff8036e414 ? __kstrtab_get_umult_hi=0A=
ffffffff8036e424 ? __kstrtab___udivsi3=0A=
ffffffff8036e430 ? __kstrtab___divsi3=0A=
ffffffff8036e43c ? __kstrtab___umodsi3=0A=
ffffffff8036e448 ? __kstrtab___modsi3=0A=
ffffffff8036e454 ? __kstrtab_generic_file_open=0A=
ffffffff8036e468 ? __kstrtab_bh_cachep=0A=
ffffffff8036e474 ? __kstrtab_proc_sys_root=0A=
ffffffff8036e484 ? __kstrtab_proc_symlink=0A=
ffffffff8036e494 ? __kstrtab_proc_mknod=0A=
ffffffff8036e4a0 ? __kstrtab_proc_mkdir=0A=
ffffffff8036e4ac ? __kstrtab_create_proc_entry=0A=
ffffffff8036e4c0 ? __kstrtab_remove_proc_entry=0A=
ffffffff8036e4d4 ? __kstrtab_proc_root=0A=
ffffffff8036e4e0 ? __kstrtab_proc_root_fs=0A=
ffffffff8036e4f0 ? __kstrtab_proc_net=0A=
ffffffff8036e4fc ? __kstrtab_proc_bus=0A=
ffffffff8036e508 ? __kstrtab_proc_root_driver=0A=
ffffffff8036e51c ? __kstrtab_lockd_up=0A=
ffffffff8036e528 ? __kstrtab_lockd_down=0A=
ffffffff8036e534 ? __kstrtab_nlmclnt_proc=0A=
ffffffff8036e544 ? __kstrtab_nlmsvc_invalidate_client=0A=
ffffffff8036e560 ? __kstrtab_nlmsvc_ops=0A=
ffffffff8036e56c ? __kstrtab_nlmsvc_grace_period=0A=
ffffffff8036e580 ? __kstrtab_nlmsvc_timeout=0A=
ffffffff8036e590 ? __kstrtab_tty_register_ldisc=0A=
ffffffff8036e5a4 ? __kstrtab_tty_register_devfs=0A=
ffffffff8036e5b8 ? __kstrtab_tty_unregister_devfs=0A=
ffffffff8036e5d0 ? __kstrtab_n_tty_ioctl=0A=
ffffffff8036e5dc ? __kstrtab_misc_register=0A=
ffffffff8036e5ec ? __kstrtab_misc_deregister=0A=
ffffffff8036e5fc ? __kstrtab_random_add_entropy=0A=
ffffffff8036e610 ? __kstrtab_add_keyboard_randomness=0A=
ffffffff8036e628 ? __kstrtab_add_mouse_randomness=0A=
ffffffff8036e640 ? __kstrtab_add_interrupt_randomness=0A=
ffffffff8036e65c ? __kstrtab_add_blkdev_randomness=0A=
ffffffff8036e674 ? __kstrtab_batch_entropy_store=0A=
ffffffff8036e688 ? __kstrtab_register_serial=0A=
ffffffff8036e698 ? __kstrtab_unregister_serial=0A=
ffffffff8036e6ac ? __kstrtab_io_request_lock=0A=
ffffffff8036e6bc ? __kstrtab_end_that_request_first=0A=
ffffffff8036e6d4 ? __kstrtab_end_that_request_last=0A=
ffffffff8036e6ec ? __kstrtab_blk_init_queue=0A=
ffffffff8036e6fc ? __kstrtab_blk_get_queue=0A=
ffffffff8036e70c ? __kstrtab_blk_cleanup_queue=0A=
ffffffff8036e720 ? __kstrtab_blk_queue_headactive=0A=
ffffffff8036e738 ? __kstrtab_blk_queue_make_request=0A=
ffffffff8036e750 ? __kstrtab_generic_make_request=0A=
ffffffff8036e768 ? __kstrtab_blkdev_release_request=0A=
ffffffff8036e780 ? __kstrtab_generic_unplug_device=0A=
ffffffff8036e798 ? __kstrtab_blk_ioctl=0A=
ffffffff8036e7a4 ? __kstrtab_gendisk_head=0A=
ffffffff8036e7b4 ? __kstrtab_add_gendisk=0A=
ffffffff8036e7c0 ? __kstrtab_del_gendisk=0A=
ffffffff8036e7cc ? __kstrtab_get_gendisk=0A=
ffffffff8036e7d8 ? __kstrtab_init_etherdev=0A=
ffffffff8036e7e8 ? __kstrtab_alloc_etherdev=0A=
ffffffff8036e7f8 ? __kstrtab_ether_setup=0A=
ffffffff8036e804 ? __kstrtab_register_netdev=0A=
ffffffff8036e814 ? __kstrtab_unregister_netdev=0A=
ffffffff8036e828 ? __kstrtab_autoirq_setup=0A=
ffffffff8036e838 ? __kstrtab_autoirq_report=0A=
ffffffff8036e848 ? __kstrtab_pci_read_config_byte=0A=
ffffffff8036e860 ? __kstrtab_pci_read_config_word=0A=
ffffffff8036e878 ? __kstrtab_pci_read_config_dword=0A=
ffffffff8036e890 ? __kstrtab_pci_write_config_byte=0A=
ffffffff8036e8a8 ? __kstrtab_pci_write_config_word=0A=
ffffffff8036e8c0 ? __kstrtab_pci_write_config_dword=0A=
ffffffff8036e8d8 ? __kstrtab_pci_devices=0A=
ffffffff8036e8e4 ? __kstrtab_pci_root_buses=0A=
ffffffff8036e8f4 ? __kstrtab_pci_enable_device=0A=
ffffffff8036e908 ? __kstrtab_pci_disable_device=0A=
ffffffff8036e91c ? __kstrtab_pci_find_capability=0A=
ffffffff8036e930 ? __kstrtab_pci_release_regions=0A=
ffffffff8036e944 ? __kstrtab_pci_request_regions=0A=
ffffffff8036e958 ? __kstrtab_pci_find_class=0A=
ffffffff8036e968 ? __kstrtab_pci_find_device=0A=
ffffffff8036e978 ? __kstrtab_pci_find_slot=0A=
ffffffff8036e988 ? __kstrtab_pci_find_subsys=0A=
ffffffff8036e998 ? __kstrtab_pci_set_master=0A=
ffffffff8036e9a8 ? __kstrtab_pci_set_dma_mask=0A=
ffffffff8036e9bc ? __kstrtab_pci_assign_resource=0A=
ffffffff8036e9d0 ? __kstrtab_pci_register_driver=0A=
ffffffff8036e9e4 ? __kstrtab_pci_unregister_driver=0A=
ffffffff8036e9fc ? __kstrtab_pci_dev_driver=0A=
ffffffff8036ea0c ? __kstrtab_pci_match_device=0A=
ffffffff8036ea20 ? __kstrtab_pci_find_parent_resource=0A=
ffffffff8036ea3c ? __kstrtab_pci_set_power_state=0A=
ffffffff8036ea50 ? __kstrtab_pci_save_state=0A=
ffffffff8036ea60 ? __kstrtab_pci_restore_state=0A=
ffffffff8036ea74 ? __kstrtab_pci_enable_wake=0A=
ffffffff8036ea84 ? __kstrtab_pcibios_present=0A=
ffffffff8036ea94 ? __kstrtab_pcibios_read_config_byte=0A=
ffffffff8036eab0 ? __kstrtab_pcibios_read_config_word=0A=
ffffffff8036eacc ? __kstrtab_pcibios_read_config_dword=0A=
ffffffff8036eae8 ? __kstrtab_pcibios_write_config_byte=0A=
ffffffff8036eb04 ? __kstrtab_pcibios_write_config_word=0A=
ffffffff8036eb20 ? __kstrtab_pcibios_write_config_dword=0A=
ffffffff8036eb3c ? __kstrtab_pcibios_find_class=0A=
ffffffff8036eb50 ? __kstrtab_pcibios_find_device=0A=
ffffffff8036eb64 ? __kstrtab_isa_dma_bridge_buggy=0A=
ffffffff8036eb7c ? __kstrtab_pci_pci_problems=0A=
ffffffff8036eb90 ? __kstrtab_pci_pool_create=0A=
ffffffff8036eba0 ? __kstrtab_pci_pool_destroy=0A=
ffffffff8036ebb4 ? __kstrtab_pci_pool_alloc=0A=
ffffffff8036ebc4 ? __kstrtab_pci_pool_free=0A=
ffffffff8036ebd4 ? __kstrtab_register_mtd_chip_driver=0A=
ffffffff8036ebf0 ? __kstrtab_unregister_mtd_chip_driver=0A=
ffffffff8036ec0c ? __kstrtab_do_map_probe=0A=
ffffffff8036ec1c ? __kstrtab_add_mtd_device=0A=
ffffffff8036ec2c ? __kstrtab_del_mtd_device=0A=
ffffffff8036ec3c ? __kstrtab___get_mtd_device=0A=
ffffffff8036ec50 ? __kstrtab_register_mtd_user=0A=
ffffffff8036ec64 ? __kstrtab_unregister_mtd_user=0A=
ffffffff8036ec78 ? __kstrtab_add_mtd_partitions=0A=
ffffffff8036ec8c ? __kstrtab_del_mtd_partitions=0A=
ffffffff8036eca0 ? __kstrtab_rpc_allocate=0A=
ffffffff8036ecb0 ? __kstrtab_rpc_free=0A=
ffffffff8036ecbc ? __kstrtab_rpc_execute=0A=
ffffffff8036ecc8 ? __kstrtab_rpc_init_task=0A=
ffffffff8036ecd8 ? __kstrtab_rpc_sleep_on=0A=
ffffffff8036ece8 ? __kstrtab_rpc_wake_up_next=0A=
ffffffff8036ecfc ? __kstrtab_rpc_wake_up_task=0A=
ffffffff8036ed10 ? __kstrtab_rpc_new_child=0A=
ffffffff8036ed20 ? __kstrtab_rpc_run_child=0A=
ffffffff8036ed30 ? __kstrtab_rpciod_down=0A=
ffffffff8036ed3c ? __kstrtab_rpciod_up=0A=
ffffffff8036ed48 ? __kstrtab_rpc_new_task=0A=
ffffffff8036ed58 ? __kstrtab_rpc_wake_up_status=0A=
ffffffff8036ed6c ? __kstrtab_rpc_release_task=0A=
ffffffff8036ed80 ? __kstrtab_rpc_create_client=0A=
ffffffff8036ed94 ? __kstrtab_rpc_destroy_client=0A=
ffffffff8036eda8 ? __kstrtab_rpc_shutdown_client=0A=
ffffffff8036edbc ? __kstrtab_rpc_killall_tasks=0A=
ffffffff8036edd0 ? __kstrtab_rpc_call_sync=0A=
ffffffff8036ede0 ? __kstrtab_rpc_call_async=0A=
ffffffff8036edf0 ? __kstrtab_rpc_call_setup=0A=
ffffffff8036ee00 ? __kstrtab_rpc_clnt_sigmask=0A=
ffffffff8036ee14 ? __kstrtab_rpc_clnt_sigunmask=0A=
ffffffff8036ee28 ? __kstrtab_rpc_delay=0A=
ffffffff8036ee34 ? __kstrtab_rpc_restart_call=0A=
ffffffff8036ee48 ? __kstrtab_xprt_create_proto=0A=
ffffffff8036ee5c ? __kstrtab_xprt_destroy=0A=
ffffffff8036ee6c ? __kstrtab_xprt_set_timeout=0A=
ffffffff8036ee80 ? __kstrtab_rpcauth_register=0A=
ffffffff8036ee94 ? __kstrtab_rpcauth_unregister=0A=
ffffffff8036eea8 ? __kstrtab_rpcauth_init_credcache=0A=
ffffffff8036eec0 ? __kstrtab_rpcauth_free_credcache=0A=
ffffffff8036eed8 ? __kstrtab_rpcauth_insert_credcache=0A=
ffffffff8036eef4 ? __kstrtab_rpcauth_lookupcred=0A=
ffffffff8036ef08 ? __kstrtab_rpcauth_bindcred=0A=
ffffffff8036ef1c ? __kstrtab_rpcauth_matchcred=0A=
ffffffff8036ef30 ? __kstrtab_put_rpccred=0A=
ffffffff8036ef3c ? __kstrtab_svc_create=0A=
ffffffff8036ef48 ? __kstrtab_svc_create_thread=0A=
ffffffff8036ef5c ? __kstrtab_svc_exit_thread=0A=
ffffffff8036ef6c ? __kstrtab_svc_destroy=0A=
ffffffff8036ef78 ? __kstrtab_svc_drop=0A=
ffffffff8036ef84 ? __kstrtab_svc_process=0A=
ffffffff8036ef90 ? __kstrtab_svc_recv=0A=
ffffffff8036ef9c ? __kstrtab_svc_wake_up=0A=
ffffffff8036efa8 ? __kstrtab_svc_makesock=0A=
ffffffff8036efb8 ? __kstrtab_rpc_proc_register=0A=
ffffffff8036efcc ? __kstrtab_rpc_proc_unregister=0A=
ffffffff8036efe0 ? __kstrtab_rpc_proc_read=0A=
ffffffff8036eff0 ? __kstrtab_svc_proc_register=0A=
ffffffff8036f004 ? __kstrtab_svc_proc_unregister=0A=
ffffffff8036f018 ? __kstrtab_svc_proc_read=0A=
ffffffff8036f028 ? __kstrtab_xdr_encode_array=0A=
ffffffff8036f03c ? __kstrtab_xdr_encode_string=0A=
ffffffff8036f050 ? __kstrtab_xdr_decode_string=0A=
ffffffff8036f064 ? __kstrtab_xdr_decode_string_inplace=0A=
ffffffff8036f080 ? __kstrtab_xdr_decode_netobj=0A=
ffffffff8036f094 ? __kstrtab_xdr_encode_netobj=0A=
ffffffff8036f0a8 ? __kstrtab_xdr_shift_iovec=0A=
ffffffff8036f0b8 ? __kstrtab_xdr_zero_iovec=0A=
ffffffff8036f0c8 ? __kstrtab_rpc_debug=0A=
ffffffff8036f0d4 ? __kstrtab_nfs_debug=0A=
ffffffff8036f0e0 ? __kstrtab_nfsd_debug=0A=
ffffffff8036f0ec ? __kstrtab_nlm_debug=0A=
ffffffff8036f0f8 ? __kstrtab_skb_over_panic=0A=
ffffffff8036f108 ? __kstrtab_skb_under_panic=0A=
ffffffff8036f118 ? __kstrtab_sock_register=0A=
ffffffff8036f128 ? __kstrtab_sock_unregister=0A=
ffffffff8036f138 ? __kstrtab___lock_sock=0A=
ffffffff8036f144 ? __kstrtab___release_sock=0A=
ffffffff8036f154 ? __kstrtab_memcpy_fromiovec=0A=
ffffffff8036f168 ? __kstrtab_memcpy_tokerneliovec=0A=
ffffffff8036f180 ? __kstrtab_sock_create=0A=
ffffffff8036f18c ? __kstrtab_sock_alloc=0A=
ffffffff8036f198 ? __kstrtab_sock_release=0A=
ffffffff8036f1a8 ? __kstrtab_sock_setsockopt=0A=
ffffffff8036f1b8 ? __kstrtab_sock_getsockopt=0A=
ffffffff8036f1c8 ? __kstrtab_sock_sendmsg=0A=
ffffffff8036f1d8 ? __kstrtab_sock_recvmsg=0A=
ffffffff8036f1e8 ? __kstrtab_sk_alloc=0A=
ffffffff8036f1f4 ? __kstrtab_sk_free=0A=
ffffffff8036f1fc ? __kstrtab_sock_wake_async=0A=
ffffffff8036f20c ? __kstrtab_sock_alloc_send_skb=0A=
ffffffff8036f220 ? __kstrtab_sock_init_data=0A=
ffffffff8036f230 ? __kstrtab_sock_no_release=0A=
ffffffff8036f240 ? __kstrtab_sock_no_bind=0A=
ffffffff8036f250 ? __kstrtab_sock_no_connect=0A=
ffffffff8036f260 ? __kstrtab_sock_no_socketpair=0A=
ffffffff8036f274 ? __kstrtab_sock_no_accept=0A=
ffffffff8036f284 ? __kstrtab_sock_no_getname=0A=
ffffffff8036f294 ? __kstrtab_sock_no_poll=0A=
ffffffff8036f2a4 ? __kstrtab_sock_no_ioctl=0A=
ffffffff8036f2b4 ? __kstrtab_sock_no_listen=0A=
ffffffff8036f2c4 ? __kstrtab_sock_no_shutdown=0A=
ffffffff8036f2d8 ? __kstrtab_sock_no_getsockopt=0A=
ffffffff8036f2ec ? __kstrtab_sock_no_setsockopt=0A=
ffffffff8036f300 ? __kstrtab_sock_no_sendmsg=0A=
ffffffff8036f310 ? __kstrtab_sock_no_recvmsg=0A=
ffffffff8036f320 ? __kstrtab_sock_no_mmap=0A=
ffffffff8036f330 ? __kstrtab_sock_no_sendpage=0A=
ffffffff8036f344 ? __kstrtab_sock_rfree=0A=
ffffffff8036f350 ? __kstrtab_sock_wfree=0A=
ffffffff8036f35c ? __kstrtab_sock_wmalloc=0A=
ffffffff8036f36c ? __kstrtab_sock_rmalloc=0A=
ffffffff8036f37c ? __kstrtab_skb_linearize=0A=
ffffffff8036f38c ? __kstrtab_skb_checksum=0A=
ffffffff8036f39c ? __kstrtab_skb_checksum_help=0A=
ffffffff8036f3b0 ? __kstrtab_skb_recv_datagram=0A=
ffffffff8036f3c4 ? __kstrtab_skb_free_datagram=0A=
ffffffff8036f3d8 ? __kstrtab_skb_copy_datagram=0A=
ffffffff8036f3ec ? __kstrtab_skb_copy_datagram_iovec=0A=
ffffffff8036f404 ? __kstrtab_skb_copy_and_csum_datagram_iovec=0A=
ffffffff8036f428 ? __kstrtab_skb_copy_bits=0A=
ffffffff8036f438 ? __kstrtab_skb_copy_and_csum_bits=0A=
ffffffff8036f450 ? __kstrtab_skb_copy_and_csum_dev=0A=
ffffffff8036f468 ? __kstrtab_skb_copy_expand=0A=
ffffffff8036f478 ? __kstrtab____pskb_trim=0A=
ffffffff8036f488 ? __kstrtab___pskb_pull_tail=0A=
ffffffff8036f49c ? __kstrtab_pskb_expand_head=0A=
ffffffff8036f4b0 ? __kstrtab_pskb_copy=0A=
ffffffff8036f4bc ? __kstrtab_skb_realloc_headroom=0A=
ffffffff8036f4d4 ? __kstrtab_datagram_poll=0A=
ffffffff8036f4e4 ? __kstrtab_put_cmsg=0A=
ffffffff8036f4f0 ? __kstrtab_sock_kmalloc=0A=
ffffffff8036f500 ? __kstrtab_sock_kfree_s=0A=
ffffffff8036f510 ? __kstrtab_neigh_table_init=0A=
ffffffff8036f524 ? __kstrtab_neigh_table_clear=0A=
ffffffff8036f538 ? __kstrtab_neigh_resolve_output=0A=
ffffffff8036f550 ? __kstrtab_neigh_connected_output=0A=
ffffffff8036f568 ? __kstrtab_neigh_update=0A=
ffffffff8036f578 ? __kstrtab_neigh_create=0A=
ffffffff8036f588 ? __kstrtab_neigh_lookup=0A=
ffffffff8036f598 ? __kstrtab___neigh_event_send=0A=
ffffffff8036f5ac ? __kstrtab_neigh_event_ns=0A=
ffffffff8036f5bc ? __kstrtab_neigh_ifdown=0A=
ffffffff8036f5cc ? __kstrtab_neigh_sysctl_register=0A=
ffffffff8036f5e4 ? __kstrtab_pneigh_lookup=0A=
ffffffff8036f5f4 ? __kstrtab_pneigh_enqueue=0A=
ffffffff8036f604 ? __kstrtab_neigh_destroy=0A=
ffffffff8036f614 ? __kstrtab_neigh_parms_alloc=0A=
ffffffff8036f628 ? __kstrtab_neigh_parms_release=0A=
ffffffff8036f63c ? __kstrtab_neigh_rand_reach_time=0A=
ffffffff8036f654 ? __kstrtab_neigh_compat_output=0A=
ffffffff8036f668 ? __kstrtab_dst_alloc=0A=
ffffffff8036f674 ? __kstrtab___dst_free=0A=
ffffffff8036f680 ? __kstrtab_dst_destroy=0A=
ffffffff8036f68c ? __kstrtab_net_ratelimit=0A=
ffffffff8036f69c ? __kstrtab_net_random=0A=
ffffffff8036f6a8 ? __kstrtab_net_srandom=0A=
ffffffff8036f6b4 ? __kstrtab___scm_destroy=0A=
ffffffff8036f6c4 ? __kstrtab___scm_send=0A=
ffffffff8036f6d0 ? __kstrtab_scm_fp_dup=0A=
ffffffff8036f6dc ? __kstrtab_files_stat=0A=
ffffffff8036f6e8 ? __kstrtab_memcpy_toiovec=0A=
ffffffff8036f6f8 ? __kstrtab_sklist_destroy_socket=0A=
ffffffff8036f710 ? __kstrtab_sklist_insert_socket=0A=
ffffffff8036f728 ? __kstrtab_scm_detach_fds=0A=
ffffffff8036f738 ? __kstrtab_inetdev_lock=0A=
ffffffff8036f748 ? __kstrtab_inet_add_protocol=0A=
ffffffff8036f75c ? __kstrtab_inet_del_protocol=0A=
ffffffff8036f770 ? __kstrtab_inet_register_protosw=0A=
ffffffff8036f788 ? __kstrtab_inet_unregister_protosw=0A=
ffffffff8036f7a0 ? __kstrtab_ip_route_output_key=0A=
ffffffff8036f7b4 ? __kstrtab_ip_route_input=0A=
ffffffff8036f7c4 ? __kstrtab_icmp_send=0A=
ffffffff8036f7d0 ? __kstrtab_ip_options_compile=0A=
ffffffff8036f7e4 ? __kstrtab_ip_options_undo=0A=
ffffffff8036f7f4 ? __kstrtab_arp_send=0A=
ffffffff8036f800 ? __kstrtab_arp_broken_ops=0A=
ffffffff8036f810 ? __kstrtab___ip_select_ident=0A=
ffffffff8036f824 ? __kstrtab_ip_send_check=0A=
ffffffff8036f834 ? __kstrtab_ip_fragment=0A=
ffffffff8036f840 ? __kstrtab_inet_family_ops=0A=
ffffffff8036f850 ? __kstrtab_in_aton=0A=
ffffffff8036f858 ? __kstrtab_ip_mc_inc_group=0A=
ffffffff8036f868 ? __kstrtab_ip_mc_dec_group=0A=
ffffffff8036f878 ? __kstrtab_ip_finish_output=0A=
ffffffff8036f88c ? __kstrtab_inet_stream_ops=0A=
ffffffff8036f89c ? __kstrtab_inet_dgram_ops=0A=
ffffffff8036f8ac ? __kstrtab_ip_cmsg_recv=0A=
ffffffff8036f8bc ? __kstrtab_inet_addr_type=0A=
ffffffff8036f8cc ? __kstrtab_inet_select_addr=0A=
ffffffff8036f8e0 ? __kstrtab_ip_dev_find=0A=
ffffffff8036f8ec ? __kstrtab_inetdev_by_index=0A=
ffffffff8036f900 ? __kstrtab_in_dev_finish_destroy=0A=
ffffffff8036f918 ? __kstrtab_ip_defrag=0A=
ffffffff8036f924 ? __kstrtab_ip_rt_ioctl=0A=
ffffffff8036f930 ? __kstrtab_devinet_ioctl=0A=
ffffffff8036f940 ? __kstrtab_register_inetaddr_notifier=0A=
ffffffff8036f95c ? __kstrtab_unregister_inetaddr_notifier=0A=
ffffffff8036f97c ? __kstrtab_ip_statistics=0A=
ffffffff8036f98c ? __kstrtab_netlink_set_err=0A=
ffffffff8036f99c ? __kstrtab_netlink_broadcast=0A=
ffffffff8036f9b0 ? __kstrtab_netlink_unicast=0A=
ffffffff8036f9c0 ? __kstrtab_netlink_kernel_create=0A=
ffffffff8036f9d8 ? __kstrtab_netlink_dump_start=0A=
ffffffff8036f9ec ? __kstrtab_netlink_ack=0A=
ffffffff8036f9f8 ? __kstrtab_netlink_attach=0A=
ffffffff8036fa08 ? __kstrtab_netlink_detach=0A=
ffffffff8036fa18 ? __kstrtab_netlink_post=0A=
ffffffff8036fa28 ? __kstrtab_rtattr_parse=0A=
ffffffff8036fa38 ? __kstrtab_rtnetlink_links=0A=
ffffffff8036fa48 ? __kstrtab___rta_fill=0A=
ffffffff8036fa54 ? __kstrtab_rtnetlink_dump_ifinfo=0A=
ffffffff8036fa6c ? __kstrtab_rtnetlink_put_metrics=0A=
ffffffff8036fa84 ? __kstrtab_rtnl=0A=
ffffffff8036fa8c ? __kstrtab_neigh_delete=0A=
ffffffff8036fa9c ? __kstrtab_neigh_add=0A=
ffffffff8036faa8 ? __kstrtab_neigh_dump_info=0A=
ffffffff8036fab8 ? __kstrtab_dev_set_allmulti=0A=
ffffffff8036facc ? __kstrtab_dev_set_promiscuity=0A=
ffffffff8036fae0 ? __kstrtab_sklist_remove_socket=0A=
ffffffff8036faf8 ? __kstrtab_rtnl_sem=0A=
ffffffff8036fb04 ? __kstrtab_rtnl_lock=0A=
ffffffff8036fb10 ? __kstrtab_rtnl_unlock=0A=
ffffffff8036fb1c ? __kstrtab_ipv4_config=0A=
ffffffff8036fb28 ? __kstrtab_dev_open=0A=
ffffffff8036fb34 ? __kstrtab_in_ntoa=0A=
ffffffff8036fb3c ? __kstrtab_xrlim_allow=0A=
ffffffff8036fb48 ? __kstrtab_ip_rcv=0A=
ffffffff8036fb50 ? __kstrtab_arp_rcv=0A=
ffffffff8036fb58 ? __kstrtab_arp_tbl=0A=
ffffffff8036fb60 ? __kstrtab_arp_find=0A=
ffffffff8036fb6c ? __kstrtab_register_netdevice_notifier=0A=
ffffffff8036fb88 ? __kstrtab_unregister_netdevice_notifier=0A=
ffffffff8036fba8 ? __kstrtab_loopback_dev=0A=
ffffffff8036fbb8 ? __kstrtab_register_netdevice=0A=
ffffffff8036fbcc ? __kstrtab_unregister_netdevice=0A=
ffffffff8036fbe4 ? __kstrtab_netdev_state_change=0A=
ffffffff8036fbf8 ? __kstrtab_dev_new_index=0A=
ffffffff8036fc08 ? __kstrtab_dev_get_by_index=0A=
ffffffff8036fc1c ? __kstrtab___dev_get_by_index=0A=
ffffffff8036fc30 ? __kstrtab_dev_get_by_name=0A=
ffffffff8036fc40 ? __kstrtab___dev_get_by_name=0A=
ffffffff8036fc54 ? __kstrtab_netdev_finish_unregister=0A=
ffffffff8036fc70 ? __kstrtab_netdev_set_master=0A=
ffffffff8036fc84 ? __kstrtab_eth_type_trans=0A=
ffffffff8036fc94 ? __kstrtab_alloc_skb=0A=
ffffffff8036fca0 ? __kstrtab___kfree_skb=0A=
ffffffff8036fcac ? __kstrtab_skb_clone=0A=
ffffffff8036fcb8 ? __kstrtab_skb_copy=0A=
ffffffff8036fcc4 ? __kstrtab_netif_rx=0A=
ffffffff8036fcd0 ? __kstrtab_dev_add_pack=0A=
ffffffff8036fce0 ? __kstrtab_dev_remove_pack=0A=
ffffffff8036fcf0 ? __kstrtab_dev_get=0A=
ffffffff8036fcf8 ? __kstrtab_dev_alloc=0A=
ffffffff8036fd04 ? __kstrtab_dev_alloc_name=0A=
ffffffff8036fd14 ? __kstrtab___netdev_watchdog_up=0A=
ffffffff8036fd2c ? __kstrtab_dev_ioctl=0A=
ffffffff8036fd38 ? __kstrtab_dev_queue_xmit=0A=
ffffffff8036fd48 ? __kstrtab_dev_base=0A=
ffffffff8036fd54 ? __kstrtab_dev_base_lock=0A=
ffffffff8036fd64 ? __kstrtab_dev_close=0A=
ffffffff8036fd70 ? __kstrtab_dev_mc_add=0A=
ffffffff8036fd7c ? __kstrtab_dev_mc_delete=0A=
ffffffff8036fd8c ? __kstrtab_dev_mc_upload=0A=
ffffffff8036fd9c ? __kstrtab___kill_fasync=0A=
ffffffff8036fdac ? __kstrtab_if_port_text=0A=
ffffffff8036fdbc ? __kstrtab_sysctl_wmem_max=0A=
ffffffff8036fdcc ? __kstrtab_sysctl_rmem_max=0A=
ffffffff8036fddc ? __kstrtab_sysctl_ip_default_ttl=0A=
ffffffff8036fdf4 ? __kstrtab_qdisc_destroy=0A=
ffffffff8036fe04 ? __kstrtab_qdisc_reset=0A=
ffffffff8036fe10 ? __kstrtab_qdisc_restart=0A=
ffffffff8036fe20 ? __kstrtab_qdisc_create_dflt=0A=
ffffffff8036fe34 ? __kstrtab_noop_qdisc=0A=
ffffffff8036fe40 ? __kstrtab_qdisc_tree_lock=0A=
ffffffff8036fe50 ? __kstrtab_register_gifconf=0A=
ffffffff8036fe64 ? __kstrtab_net_call_rx_atomic=0A=
ffffffff8036fe78 ? __kstrtab_softnet_data=0A=
ffffffff8036fe88 ? __kstrtab_memparse=0A=
ffffffff8036fe94 ? __kstrtab_get_option=0A=
ffffffff8036fea0 ? __kstrtab_get_options=0A=
ffffffff8036feac ? __kstrtab_init_rwsem=0A=
ffffffff8036feb8 ? __kstrtab___down_read=0A=
ffffffff8036fec4 ? __kstrtab___down_write=0A=
ffffffff8036fed4 ? __kstrtab___up_read=0A=
ffffffff8036fee0 ? __kstrtab___up_write=0A=
ffffffff8036fef0 A __start___ex_table=0A=
ffffffff80371ac8 A __start___dbe_table=0A=
ffffffff80371ac8 A __start___ksymtab=0A=
ffffffff80371ac8 A __stop___dbe_table=0A=
ffffffff80371ac8 A __stop___ex_table=0A=
ffffffff80371ac8 ? __ksymtab_mips_machtype=0A=
ffffffff80371ad0 ? __ksymtab_EISA_bus=0A=
ffffffff80371ad8 ? __ksymtab_pci_alloc_consistent=0A=
ffffffff80371ae0 ? __ksymtab_pci_free_consistent=0A=
ffffffff80371ae8 ? __ksymtab_memcmp=0A=
ffffffff80371af0 ? __ksymtab_memset=0A=
ffffffff80371af8 ? __ksymtab_memcpy=0A=
ffffffff80371b00 ? __ksymtab_memmove=0A=
ffffffff80371b08 ? __ksymtab_simple_strtol=0A=
ffffffff80371b10 ? __ksymtab_strcat=0A=
ffffffff80371b18 ? __ksymtab_strchr=0A=
ffffffff80371b20 ? __ksymtab_strlen=0A=
ffffffff80371b28 ? __ksymtab_strpbrk=0A=
ffffffff80371b30 ? __ksymtab_strncat=0A=
ffffffff80371b38 ? __ksymtab_strnlen=0A=
ffffffff80371b40 ? __ksymtab_strrchr=0A=
ffffffff80371b48 ? __ksymtab_strstr=0A=
ffffffff80371b50 ? __ksymtab_strtok=0A=
ffffffff80371b58 ? __ksymtab__clear_page=0A=
ffffffff80371b60 ? __ksymtab_enable_irq=0A=
ffffffff80371b68 ? __ksymtab_disable_irq=0A=
ffffffff80371b70 ? __ksymtab_kernel_thread=0A=
ffffffff80371b78 ? __ksymtab___copy_user=0A=
ffffffff80371b80 ? __ksymtab___bzero=0A=
ffffffff80371b88 ? __ksymtab___strncpy_from_user_nocheck_asm=0A=
ffffffff80371b90 ? __ksymtab___strncpy_from_user_asm=0A=
ffffffff80371b98 ? __ksymtab___strlen_user_nocheck_asm=0A=
ffffffff80371ba0 ? __ksymtab___strlen_user_asm=0A=
ffffffff80371ba8 ? __ksymtab___strnlen_user_nocheck_asm=0A=
ffffffff80371bb0 ? __ksymtab___strnlen_user_asm=0A=
ffffffff80371bb8 ? __ksymtab_csum_partial_copy=0A=
ffffffff80371bc0 ? __ksymtab__flush_page_to_ram=0A=
ffffffff80371bc8 ? __ksymtab__flush_cache_all=0A=
ffffffff80371bd0 ? __ksymtab__dma_cache_wback_inv=0A=
ffffffff80371bd8 ? __ksymtab__dma_cache_inv=0A=
ffffffff80371be0 ? __ksymtab_invalid_pte_table=0A=
ffffffff80371be8 ? __ksymtab___down=0A=
ffffffff80371bf0 ? __ksymtab___down_interruptible=0A=
ffffffff80371bf8 ? __ksymtab___down_trylock=0A=
ffffffff80371c00 ? __ksymtab___up=0A=
ffffffff80371c08 ? __ksymtab_mips_io_port_base=0A=
ffffffff80371c10 ? __ksymtab_get_wchan=0A=
ffffffff80371c18 ? __ksymtab_flush_tlb_page=0A=
ffffffff80371c20 ? __ksymtab___ioremap=0A=
ffffffff80371c28 ? __ksymtab_iounmap=0A=
ffffffff80371c30 ? __ksymtab_register_exec_domain=0A=
ffffffff80371c38 ? __ksymtab_unregister_exec_domain=0A=
ffffffff80371c40 ? __ksymtab___set_personality=0A=
ffffffff80371c48 ? __ksymtab_abi_defhandler_coff=0A=
ffffffff80371c50 ? __ksymtab_abi_defhandler_elf=0A=
ffffffff80371c58 ? __ksymtab_abi_defhandler_lcall7=0A=
ffffffff80371c60 ? __ksymtab_abi_defhandler_libcso=0A=
ffffffff80371c68 ? __ksymtab_abi_traceflg=0A=
ffffffff80371c70 ? __ksymtab_abi_fake_utsname=0A=
ffffffff80371c78 ? __ksymtab_printk=0A=
ffffffff80371c80 ? __ksymtab_acquire_console_sem=0A=
ffffffff80371c88 ? __ksymtab_console_print=0A=
ffffffff80371c90 ? __ksymtab_register_console=0A=
ffffffff80371c98 ? __ksymtab_unregister_console=0A=
ffffffff80371ca0 ? __ksymtab_dequeue_signal=0A=
ffffffff80371ca8 ? __ksymtab_flush_signals=0A=
ffffffff80371cb0 ? __ksymtab_force_sig=0A=
ffffffff80371cb8 ? __ksymtab_force_sig_info=0A=
ffffffff80371cc0 ? __ksymtab_kill_pg=0A=
ffffffff80371cc8 ? __ksymtab_kill_pg_info=0A=
ffffffff80371cd0 ? __ksymtab_kill_proc=0A=
ffffffff80371cd8 ? __ksymtab_kill_proc_info=0A=
ffffffff80371ce0 ? __ksymtab_kill_sl=0A=
ffffffff80371ce8 ? __ksymtab_kill_sl_info=0A=
ffffffff80371cf0 ? __ksymtab_notify_parent=0A=
ffffffff80371cf8 ? __ksymtab_recalc_sigpending=0A=
ffffffff80371d00 ? __ksymtab_send_sig=0A=
ffffffff80371d08 ? __ksymtab_send_sig_info=0A=
ffffffff80371d10 ? __ksymtab_block_all_signals=0A=
ffffffff80371d18 ? __ksymtab_unblock_all_signals=0A=
ffffffff80371d20 ? __ksymtab_notifier_chain_register=0A=
ffffffff80371d28 ? __ksymtab_notifier_chain_unregister=0A=
ffffffff80371d30 ? __ksymtab_notifier_call_chain=0A=
ffffffff80371d38 ? __ksymtab_register_reboot_notifier=0A=
ffffffff80371d40 ? __ksymtab_unregister_reboot_notifier=0A=
ffffffff80371d48 ? __ksymtab_in_group_p=0A=
ffffffff80371d50 ? __ksymtab_in_egroup_p=0A=
ffffffff80371d58 ? __ksymtab_exec_usermodehelper=0A=
ffffffff80371d60 ? __ksymtab_call_usermodehelper=0A=
ffffffff80371d68 ? __ksymtab_schedule_task=0A=
ffffffff80371d70 ? __ksymtab_flush_scheduled_tasks=0A=
ffffffff80371d78 ? __ksymtab_inter_module_register=0A=
ffffffff80371d80 ? __ksymtab_inter_module_unregister=0A=
ffffffff80371d88 ? __ksymtab_inter_module_get=0A=
ffffffff80371d90 ? __ksymtab_inter_module_get_request=0A=
ffffffff80371d98 ? __ksymtab_inter_module_put=0A=
ffffffff80371da0 ? __ksymtab_try_inc_mod_count=0A=
ffffffff80371da8 ? __ksymtab_do_mmap_pgoff=0A=
ffffffff80371db0 ? __ksymtab_do_munmap=0A=
ffffffff80371db8 ? __ksymtab_exit_mm=0A=
ffffffff80371dc0 ? __ksymtab_exit_files=0A=
ffffffff80371dc8 ? __ksymtab_exit_fs=0A=
ffffffff80371dd0 ? __ksymtab_exit_sighand=0A=
ffffffff80371dd8 ? __ksymtab__alloc_pages=0A=
ffffffff80371de0 ? __ksymtab___alloc_pages=0A=
ffffffff80371de8 ? __ksymtab_alloc_pages_node=0A=
ffffffff80371df0 ? __ksymtab___get_free_pages=0A=
ffffffff80371df8 ? __ksymtab_get_zeroed_page=0A=
ffffffff80371e00 ? __ksymtab___free_pages=0A=
ffffffff80371e08 ? __ksymtab_free_pages=0A=
ffffffff80371e10 ? __ksymtab_num_physpages=0A=
ffffffff80371e18 ? __ksymtab_kmem_find_general_cachep=0A=
ffffffff80371e20 ? __ksymtab_kmem_cache_create=0A=
ffffffff80371e28 ? __ksymtab_kmem_cache_destroy=0A=
ffffffff80371e30 ? __ksymtab_kmem_cache_shrink=0A=
ffffffff80371e38 ? __ksymtab_kmem_cache_alloc=0A=
ffffffff80371e40 ? __ksymtab_kmem_cache_free=0A=
ffffffff80371e48 ? __ksymtab_kmalloc=0A=
ffffffff80371e50 ? __ksymtab_kfree=0A=
ffffffff80371e58 ? __ksymtab_ksize=0A=
ffffffff80371e60 ? __ksymtab_vfree=0A=
ffffffff80371e68 ? __ksymtab___vmalloc=0A=
ffffffff80371e70 ? __ksymtab_mem_map=0A=
ffffffff80371e78 ? __ksymtab_remap_page_range=0A=
ffffffff80371e80 ? __ksymtab_max_mapnr=0A=
ffffffff80371e88 ? __ksymtab_high_memory=0A=
ffffffff80371e90 ? __ksymtab_vmtruncate=0A=
ffffffff80371e98 ? __ksymtab_init_mm=0A=
ffffffff80371ea0 ? __ksymtab_deactivate_page=0A=
ffffffff80371ea8 ? __ksymtab_def_blk_fops=0A=
ffffffff80371eb0 ? __ksymtab_update_atime=0A=
ffffffff80371eb8 ? __ksymtab_get_fs_type=0A=
ffffffff80371ec0 ? __ksymtab_get_super=0A=
ffffffff80371ec8 ? __ksymtab_drop_super=0A=
ffffffff80371ed0 ? __ksymtab_getname=0A=
ffffffff80371ed8 ? __ksymtab_names_cachep=0A=
ffffffff80371ee0 ? __ksymtab_fput=0A=
ffffffff80371ee8 ? __ksymtab_fget=0A=
ffffffff80371ef0 ? __ksymtab_igrab=0A=
ffffffff80371ef8 ? __ksymtab_iunique=0A=
ffffffff80371f00 ? __ksymtab_iget4=0A=
ffffffff80371f08 ? __ksymtab_iput=0A=
ffffffff80371f10 ? __ksymtab_force_delete=0A=
ffffffff80371f18 ? __ksymtab_follow_up=0A=
ffffffff80371f20 ? __ksymtab_follow_down=0A=
ffffffff80371f28 ? __ksymtab_lookup_mnt=0A=
ffffffff80371f30 ? __ksymtab_path_init=0A=
ffffffff80371f38 ? __ksymtab_path_walk=0A=
ffffffff80371f40 ? __ksymtab_path_release=0A=
ffffffff80371f48 ? __ksymtab___user_walk=0A=
ffffffff80371f50 ? __ksymtab_lookup_one_len=0A=
ffffffff80371f58 ? __ksymtab_lookup_hash=0A=
ffffffff80371f60 ? __ksymtab_sys_close=0A=
ffffffff80371f68 ? __ksymtab_dcache_lock=0A=
ffffffff80371f70 ? __ksymtab_d_alloc_root=0A=
ffffffff80371f78 ? __ksymtab_d_delete=0A=
ffffffff80371f80 ? __ksymtab_dget_locked=0A=
ffffffff80371f88 ? __ksymtab_d_validate=0A=
ffffffff80371f90 ? __ksymtab_d_rehash=0A=
ffffffff80371f98 ? __ksymtab_d_invalidate=0A=
ffffffff80371fa0 ? __ksymtab_d_move=0A=
ffffffff80371fa8 ? __ksymtab_d_instantiate=0A=
ffffffff80371fb0 ? __ksymtab_d_alloc=0A=
ffffffff80371fb8 ? __ksymtab_d_lookup=0A=
ffffffff80371fc0 ? __ksymtab___d_path=0A=
ffffffff80371fc8 ? __ksymtab_mark_buffer_dirty=0A=
ffffffff80371fd0 ? __ksymtab_set_buffer_async_io=0A=
ffffffff80371fd8 ? __ksymtab___mark_buffer_dirty=0A=
ffffffff80371fe0 ? __ksymtab___mark_inode_dirty=0A=
ffffffff80371fe8 ? __ksymtab_get_empty_filp=0A=
ffffffff80371ff0 ? __ksymtab_init_private_file=0A=
ffffffff80371ff8 ? __ksymtab_filp_open=0A=
ffffffff80372000 ? __ksymtab_filp_close=0A=
ffffffff80372008 ? __ksymtab_put_filp=0A=
ffffffff80372010 ? __ksymtab_files_lock=0A=
ffffffff80372018 ? __ksymtab_check_disk_change=0A=
ffffffff80372020 ? __ksymtab___invalidate_buffers=0A=
ffffffff80372028 ? __ksymtab_invalidate_inodes=0A=
ffffffff80372030 ? __ksymtab_invalidate_device=0A=
ffffffff80372038 ? __ksymtab_invalidate_inode_pages=0A=
ffffffff80372040 ? __ksymtab_truncate_inode_pages=0A=
ffffffff80372048 ? __ksymtab_fsync_dev=0A=
ffffffff80372050 ? __ksymtab_fsync_no_super=0A=
ffffffff80372058 ? __ksymtab_permission=0A=
ffffffff80372060 ? __ksymtab_vfs_permission=0A=
ffffffff80372068 ? __ksymtab_inode_setattr=0A=
ffffffff80372070 ? __ksymtab_inode_change_ok=0A=
ffffffff80372078 ? __ksymtab_write_inode_now=0A=
ffffffff80372080 ? __ksymtab_notify_change=0A=
ffffffff80372088 ? __ksymtab_set_blocksize=0A=
ffffffff80372090 ? __ksymtab_getblk=0A=
ffffffff80372098 ? __ksymtab_cdget=0A=
ffffffff803720a0 ? __ksymtab_cdput=0A=
ffffffff803720a8 ? __ksymtab_bdget=0A=
ffffffff803720b0 ? __ksymtab_bdput=0A=
ffffffff803720b8 ? __ksymtab_bread=0A=
ffffffff803720c0 ? __ksymtab___brelse=0A=
ffffffff803720c8 ? __ksymtab___bforget=0A=
ffffffff803720d0 ? __ksymtab_ll_rw_block=0A=
ffffffff803720d8 ? __ksymtab_submit_bh=0A=
ffffffff803720e0 ? __ksymtab_unlock_buffer=0A=
ffffffff803720e8 ? __ksymtab___wait_on_buffer=0A=
ffffffff803720f0 ? __ksymtab____wait_on_page=0A=
ffffffff803720f8 ? __ksymtab_block_write_full_page=0A=
ffffffff80372100 ? __ksymtab_block_read_full_page=0A=
ffffffff80372108 ? __ksymtab_block_prepare_write=0A=
ffffffff80372110 ? __ksymtab_block_sync_page=0A=
ffffffff80372118 ? __ksymtab_cont_prepare_write=0A=
ffffffff80372120 ? __ksymtab_generic_commit_write=0A=
ffffffff80372128 ? __ksymtab_block_truncate_page=0A=
ffffffff80372130 ? __ksymtab_generic_block_bmap=0A=
ffffffff80372138 ? __ksymtab_waitfor_one_page=0A=
ffffffff80372140 ? __ksymtab_generic_file_read=0A=
ffffffff80372148 ? __ksymtab_do_generic_file_read=0A=
ffffffff80372150 ? __ksymtab_generic_file_write=0A=
ffffffff80372158 ? __ksymtab_generic_direct_IO=0A=
ffffffff80372160 ? __ksymtab_generic_file_mmap=0A=
ffffffff80372168 ? __ksymtab_generic_ro_fops=0A=
ffffffff80372170 ? __ksymtab_generic_buffer_fdatasync=0A=
ffffffff80372178 ? __ksymtab_page_hash_bits=0A=
ffffffff80372180 ? __ksymtab_page_hash_table=0A=
ffffffff80372188 ? __ksymtab_file_lock_list=0A=
ffffffff80372190 ? __ksymtab_locks_init_lock=0A=
ffffffff80372198 ? __ksymtab_locks_copy_lock=0A=
ffffffff803721a0 ? __ksymtab_posix_lock_file=0A=
ffffffff803721a8 ? __ksymtab_posix_test_lock=0A=
ffffffff803721b0 ? __ksymtab_posix_block_lock=0A=
ffffffff803721b8 ? __ksymtab_posix_unblock_lock=0A=
ffffffff803721c0 ? __ksymtab_locks_mandatory_area=0A=
ffffffff803721c8 ? __ksymtab_dput=0A=
ffffffff803721d0 ? __ksymtab_have_submounts=0A=
ffffffff803721d8 ? __ksymtab_d_find_alias=0A=
ffffffff803721e0 ? __ksymtab_d_prune_aliases=0A=
ffffffff803721e8 ? __ksymtab_prune_dcache=0A=
ffffffff803721f0 ? __ksymtab_shrink_dcache_sb=0A=
ffffffff803721f8 ? __ksymtab_shrink_dcache_parent=0A=
ffffffff80372200 ? __ksymtab_find_inode_number=0A=
ffffffff80372208 ? __ksymtab_is_subdir=0A=
ffffffff80372210 ? __ksymtab_get_unused_fd=0A=
ffffffff80372218 ? __ksymtab_vfs_create=0A=
ffffffff80372220 ? __ksymtab_vfs_mkdir=0A=
ffffffff80372228 ? __ksymtab_vfs_mknod=0A=
ffffffff80372230 ? __ksymtab_vfs_symlink=0A=
ffffffff80372238 ? __ksymtab_vfs_link=0A=
ffffffff80372240 ? __ksymtab_vfs_rmdir=0A=
ffffffff80372248 ? __ksymtab_vfs_unlink=0A=
ffffffff80372250 ? __ksymtab_vfs_rename=0A=
ffffffff80372258 ? __ksymtab_vfs_statfs=0A=
ffffffff80372260 ? __ksymtab_generic_read_dir=0A=
ffffffff80372268 ? __ksymtab_generic_file_llseek=0A=
ffffffff80372270 ? __ksymtab_no_llseek=0A=
ffffffff80372278 ? __ksymtab___pollwait=0A=
ffffffff80372280 ? __ksymtab_poll_freewait=0A=
ffffffff80372288 ? __ksymtab_ROOT_DEV=0A=
ffffffff80372290 ? __ksymtab___find_get_page=0A=
ffffffff80372298 ? __ksymtab___find_lock_page=0A=
ffffffff803722a0 ? __ksymtab_grab_cache_page=0A=
ffffffff803722a8 ? __ksymtab_read_cache_page=0A=
ffffffff803722b0 ? __ksymtab_vfs_readlink=0A=
ffffffff803722b8 ? __ksymtab_vfs_follow_link=0A=
ffffffff803722c0 ? __ksymtab_page_readlink=0A=
ffffffff803722c8 ? __ksymtab_page_follow_link=0A=
ffffffff803722d0 ? __ksymtab_page_symlink_inode_operations=0A=
ffffffff803722d8 ? __ksymtab_block_symlink=0A=
ffffffff803722e0 ? __ksymtab_vfs_readdir=0A=
ffffffff803722e8 ? __ksymtab___get_lease=0A=
ffffffff803722f0 ? __ksymtab_lease_get_mtime=0A=
ffffffff803722f8 ? __ksymtab_lock_may_read=0A=
ffffffff80372300 ? __ksymtab_lock_may_write=0A=
ffffffff80372308 ? __ksymtab_dcache_readdir=0A=
ffffffff80372310 ? __ksymtab_default_llseek=0A=
ffffffff80372318 ? __ksymtab_dentry_open=0A=
ffffffff80372320 ? __ksymtab_lock_page=0A=
ffffffff80372328 ? __ksymtab_register_chrdev=0A=
ffffffff80372330 ? __ksymtab_unregister_chrdev=0A=
ffffffff80372338 ? __ksymtab_register_blkdev=0A=
ffffffff80372340 ? __ksymtab_unregister_blkdev=0A=
ffffffff80372348 ? __ksymtab_tty_register_driver=0A=
ffffffff80372350 ? __ksymtab_tty_unregister_driver=0A=
ffffffff80372358 ? __ksymtab_tty_std_termios=0A=
ffffffff80372360 ? __ksymtab_blksize_size=0A=
ffffffff80372368 ? __ksymtab_hardsect_size=0A=
ffffffff80372370 ? __ksymtab_blk_size=0A=
ffffffff80372378 ? __ksymtab_blk_dev=0A=
ffffffff80372380 ? __ksymtab_is_read_only=0A=
ffffffff80372388 ? __ksymtab_set_device_ro=0A=
ffffffff80372390 ? __ksymtab_bmap=0A=
ffffffff80372398 ? __ksymtab_sync_dev=0A=
ffffffff803723a0 ? __ksymtab_devfs_register_partitions=0A=
ffffffff803723a8 ? __ksymtab_blkdev_open=0A=
ffffffff803723b0 ? __ksymtab_blkdev_get=0A=
ffffffff803723b8 ? __ksymtab_blkdev_put=0A=
ffffffff803723c0 ? __ksymtab_ioctl_by_bdev=0A=
ffffffff803723c8 ? __ksymtab_grok_partitions=0A=
ffffffff803723d0 ? __ksymtab_register_disk=0A=
ffffffff803723d8 ? __ksymtab_tq_disk=0A=
ffffffff803723e0 ? __ksymtab_init_buffer=0A=
ffffffff803723e8 ? __ksymtab_refile_buffer=0A=
ffffffff803723f0 ? __ksymtab_max_sectors=0A=
ffffffff803723f8 ? __ksymtab_max_readahead=0A=
ffffffff80372400 ? __ksymtab_tty_hangup=0A=
ffffffff80372408 ? __ksymtab_tty_wait_until_sent=0A=
ffffffff80372410 ? __ksymtab_tty_check_change=0A=
ffffffff80372418 ? __ksymtab_tty_hung_up_p=0A=
ffffffff80372420 ? __ksymtab_tty_flip_buffer_push=0A=
ffffffff80372428 ? __ksymtab_tty_get_baud_rate=0A=
ffffffff80372430 ? __ksymtab_do_SAK=0A=
ffffffff80372438 ? __ksymtab_register_filesystem=0A=
ffffffff80372440 ? __ksymtab_unregister_filesystem=0A=
ffffffff80372448 ? __ksymtab_kern_mount=0A=
ffffffff80372450 ? __ksymtab___mntput=0A=
ffffffff80372458 ? __ksymtab_may_umount=0A=
ffffffff80372460 ? __ksymtab_register_binfmt=0A=
ffffffff80372468 ? __ksymtab_unregister_binfmt=0A=
ffffffff80372470 ? __ksymtab_search_binary_handler=0A=
ffffffff80372478 ? __ksymtab_prepare_binprm=0A=
ffffffff80372480 ? __ksymtab_compute_creds=0A=
ffffffff80372488 ? __ksymtab_set_binfmt=0A=
ffffffff80372490 ? __ksymtab_register_sysctl_table=0A=
ffffffff80372498 ? __ksymtab_unregister_sysctl_table=0A=
ffffffff803724a0 ? __ksymtab_sysctl_string=0A=
ffffffff803724a8 ? __ksymtab_sysctl_intvec=0A=
ffffffff803724b0 ? __ksymtab_sysctl_jiffies=0A=
ffffffff803724b8 ? __ksymtab_proc_dostring=0A=
ffffffff803724c0 ? __ksymtab_proc_dointvec=0A=
ffffffff803724c8 ? __ksymtab_proc_dointvec_jiffies=0A=
ffffffff803724d0 ? __ksymtab_proc_dointvec_minmax=0A=
ffffffff803724d8 ? __ksymtab_proc_doulongvec_ms_jiffies_minmax=0A=
ffffffff803724e0 ? __ksymtab_proc_doulongvec_minmax=0A=
ffffffff803724e8 ? __ksymtab_add_timer=0A=
ffffffff803724f0 ? __ksymtab_del_timer=0A=
ffffffff803724f8 ? __ksymtab_request_irq=0A=
ffffffff80372500 ? __ksymtab_free_irq=0A=
ffffffff80372508 ? __ksymtab_irq_stat=0A=
ffffffff80372510 ? __ksymtab_add_wait_queue=0A=
ffffffff80372518 ? __ksymtab_add_wait_queue_exclusive=0A=
ffffffff80372520 ? __ksymtab_remove_wait_queue=0A=
ffffffff80372528 ? __ksymtab_wait_for_completion=0A=
ffffffff80372530 ? __ksymtab_complete=0A=
ffffffff80372538 ? __ksymtab_probe_irq_on=0A=
ffffffff80372540 ? __ksymtab_probe_irq_off=0A=
ffffffff80372548 ? __ksymtab_mod_timer=0A=
ffffffff80372550 ? __ksymtab_tq_timer=0A=
ffffffff80372558 ? __ksymtab_tq_immediate=0A=
ffffffff80372560 ? __ksymtab_alloc_kiovec=0A=
ffffffff80372568 ? __ksymtab_free_kiovec=0A=
ffffffff80372570 ? __ksymtab_expand_kiobuf=0A=
ffffffff80372578 ? __ksymtab_map_user_kiobuf=0A=
ffffffff80372580 ? __ksymtab_unmap_kiobuf=0A=
ffffffff80372588 ? __ksymtab_lock_kiovec=0A=
ffffffff80372590 ? __ksymtab_unlock_kiovec=0A=
ffffffff80372598 ? __ksymtab_brw_kiovec=0A=
ffffffff803725a0 ? __ksymtab_kiobuf_wait_for_io=0A=
ffffffff803725a8 ? __ksymtab_request_dma=0A=
ffffffff803725b0 ? __ksymtab_free_dma=0A=
ffffffff803725b8 ? __ksymtab_dma_spin_lock=0A=
ffffffff803725c0 ? __ksymtab_request_resource=0A=
ffffffff803725c8 ? __ksymtab_release_resource=0A=
ffffffff803725d0 ? __ksymtab_allocate_resource=0A=
ffffffff803725d8 ? __ksymtab_check_resource=0A=
ffffffff803725e0 ? __ksymtab___request_region=0A=
ffffffff803725e8 ? __ksymtab___check_region=0A=
ffffffff803725f0 ? __ksymtab___release_region=0A=
ffffffff803725f8 ? __ksymtab_ioport_resource=0A=
ffffffff80372600 ? __ksymtab_iomem_resource=0A=
ffffffff80372608 ? __ksymtab_complete_and_exit=0A=
ffffffff80372610 ? __ksymtab___wake_up=0A=
ffffffff80372618 ? __ksymtab___wake_up_sync=0A=
ffffffff80372620 ? __ksymtab_wake_up_process=0A=
ffffffff80372628 ? __ksymtab_sleep_on=0A=
ffffffff80372630 ? __ksymtab_sleep_on_timeout=0A=
ffffffff80372638 ? __ksymtab_interruptible_sleep_on=0A=
ffffffff80372640 ? __ksymtab_interruptible_sleep_on_timeout=0A=
ffffffff80372648 ? __ksymtab_schedule=0A=
ffffffff80372650 ? __ksymtab_schedule_timeout=0A=
ffffffff80372658 ? __ksymtab_jiffies=0A=
ffffffff80372660 ? __ksymtab_xtime=0A=
ffffffff80372668 ? __ksymtab_do_gettimeofday=0A=
ffffffff80372670 ? __ksymtab_do_settimeofday=0A=
ffffffff80372678 ? __ksymtab_loops_per_jiffy=0A=
ffffffff80372680 ? __ksymtab_kstat=0A=
ffffffff80372688 ? __ksymtab_nr_running=0A=
ffffffff80372690 ? __ksymtab_panic=0A=
ffffffff80372698 ? __ksymtab_sprintf=0A=
ffffffff803726a0 ? __ksymtab_snprintf=0A=
ffffffff803726a8 ? __ksymtab_sscanf=0A=
ffffffff803726b0 ? __ksymtab_vsprintf=0A=
ffffffff803726b8 ? __ksymtab_vsnprintf=0A=
ffffffff803726c0 ? __ksymtab_vsscanf=0A=
ffffffff803726c8 ? __ksymtab_kdevname=0A=
ffffffff803726d0 ? __ksymtab_bdevname=0A=
ffffffff803726d8 ? __ksymtab_cdevname=0A=
ffffffff803726e0 ? __ksymtab_simple_strtoul=0A=
ffffffff803726e8 ? __ksymtab_system_utsname=0A=
ffffffff803726f0 ? __ksymtab_uts_sem=0A=
ffffffff803726f8 ? __ksymtab_machine_restart=0A=
ffffffff80372700 ? __ksymtab_machine_halt=0A=
ffffffff80372708 ? __ksymtab_machine_power_off=0A=
ffffffff80372710 ? __ksymtab__ctype=0A=
ffffffff80372718 ? __ksymtab_secure_tcp_sequence_number=0A=
ffffffff80372720 ? __ksymtab_get_random_bytes=0A=
ffffffff80372728 ? __ksymtab_securebits=0A=
ffffffff80372730 ? __ksymtab_cap_bset=0A=
ffffffff80372738 ? __ksymtab_reparent_to_init=0A=
ffffffff80372740 ? __ksymtab_daemonize=0A=
ffffffff80372748 ? __ksymtab_csum_partial=0A=
ffffffff80372750 ? __ksymtab_do_execve=0A=
ffffffff80372758 ? __ksymtab_flush_old_exec=0A=
ffffffff80372760 ? __ksymtab_kernel_read=0A=
ffffffff80372768 ? __ksymtab_open_exec=0A=
ffffffff80372770 ? __ksymtab_si_meminfo=0A=
ffffffff80372778 ? __ksymtab_sys_tz=0A=
ffffffff80372780 ? __ksymtab_file_fsync=0A=
ffffffff80372788 ? __ksymtab_fsync_inode_buffers=0A=
ffffffff80372790 ? __ksymtab_fsync_inode_data_buffers=0A=
ffffffff80372798 ? __ksymtab_clear_inode=0A=
ffffffff803727a0 ? __ksymtab_nr_async_pages=0A=
ffffffff803727a8 ? __ksymtab____strtok=0A=
ffffffff803727b0 ? __ksymtab_init_special_inode=0A=
ffffffff803727b8 ? __ksymtab_read_ahead=0A=
ffffffff803727c0 ? __ksymtab_get_hash_table=0A=
ffffffff803727c8 ? __ksymtab_get_empty_inode=0A=
ffffffff803727d0 ? __ksymtab_insert_inode_hash=0A=
ffffffff803727d8 ? __ksymtab_remove_inode_hash=0A=
ffffffff803727e0 ? __ksymtab_buffer_insert_inode_queue=0A=
ffffffff803727e8 ? __ksymtab_make_bad_inode=0A=
ffffffff803727f0 ? __ksymtab_is_bad_inode=0A=
ffffffff803727f8 ? __ksymtab_event=0A=
ffffffff80372800 ? __ksymtab_brw_page=0A=
ffffffff80372808 ? __ksymtab_fs_overflowuid=0A=
ffffffff80372810 ? __ksymtab_fs_overflowgid=0A=
ffffffff80372818 ? __ksymtab_fasync_helper=0A=
ffffffff80372820 ? __ksymtab_kill_fasync=0A=
ffffffff80372828 ? __ksymtab_disk_name=0A=
ffffffff80372830 ? __ksymtab_get_write_access=0A=
ffffffff80372838 ? __ksymtab_get_fast_time=0A=
ffffffff80372840 ? __ksymtab_strnicmp=0A=
ffffffff80372848 ? __ksymtab_strspn=0A=
ffffffff80372850 ? __ksymtab_strsep=0A=
ffffffff80372858 ? __ksymtab_tasklet_hi_vec=0A=
ffffffff80372860 ? __ksymtab_tasklet_vec=0A=
ffffffff80372868 ? __ksymtab_bh_task_vec=0A=
ffffffff80372870 ? __ksymtab_init_bh=0A=
ffffffff80372878 ? __ksymtab_remove_bh=0A=
ffffffff80372880 ? __ksymtab_tasklet_init=0A=
ffffffff80372888 ? __ksymtab_tasklet_kill=0A=
ffffffff80372890 ? __ksymtab___run_task_queue=0A=
ffffffff80372898 ? __ksymtab_do_softirq=0A=
ffffffff803728a0 ? __ksymtab_raise_softirq=0A=
ffffffff803728a8 ? __ksymtab_cpu_raise_softirq=0A=
ffffffff803728b0 ? __ksymtab___tasklet_schedule=0A=
ffffffff803728b8 ? __ksymtab___tasklet_hi_schedule=0A=
ffffffff803728c0 ? __ksymtab_init_task_union=0A=
ffffffff803728c8 ? __ksymtab_tasklist_lock=0A=
ffffffff803728d0 ? __ksymtab_pidhash=0A=
ffffffff803728d8 ? __ksymtab___mulsi3=0A=
ffffffff803728e0 ? __ksymtab___muldi3=0A=
ffffffff803728e8 ? __ksymtab_get_mult_hi=0A=
ffffffff803728f0 ? __ksymtab_get_umult_hi=0A=
ffffffff803728f8 ? __ksymtab___udivsi3=0A=
ffffffff80372900 ? __ksymtab___divsi3=0A=
ffffffff80372908 ? __ksymtab___umodsi3=0A=
ffffffff80372910 ? __ksymtab___modsi3=0A=
ffffffff80372918 ? __ksymtab_generic_file_open=0A=
ffffffff80372920 ? __ksymtab_bh_cachep=0A=
ffffffff80372928 ? __ksymtab_proc_sys_root=0A=
ffffffff80372930 ? __ksymtab_proc_symlink=0A=
ffffffff80372938 ? __ksymtab_proc_mknod=0A=
ffffffff80372940 ? __ksymtab_proc_mkdir=0A=
ffffffff80372948 ? __ksymtab_create_proc_entry=0A=
ffffffff80372950 ? __ksymtab_remove_proc_entry=0A=
ffffffff80372958 ? __ksymtab_proc_root=0A=
ffffffff80372960 ? __ksymtab_proc_root_fs=0A=
ffffffff80372968 ? __ksymtab_proc_net=0A=
ffffffff80372970 ? __ksymtab_proc_bus=0A=
ffffffff80372978 ? __ksymtab_proc_root_driver=0A=
ffffffff80372980 ? __ksymtab_lockd_up=0A=
ffffffff80372988 ? __ksymtab_lockd_down=0A=
ffffffff80372990 ? __ksymtab_nlmclnt_proc=0A=
ffffffff80372998 ? __ksymtab_nlmsvc_invalidate_client=0A=
ffffffff803729a0 ? __ksymtab_nlmsvc_ops=0A=
ffffffff803729a8 ? __ksymtab_nlmsvc_grace_period=0A=
ffffffff803729b0 ? __ksymtab_nlmsvc_timeout=0A=
ffffffff803729b8 ? __ksymtab_tty_register_ldisc=0A=
ffffffff803729c0 ? __ksymtab_tty_register_devfs=0A=
ffffffff803729c8 ? __ksymtab_tty_unregister_devfs=0A=
ffffffff803729d0 ? __ksymtab_n_tty_ioctl=0A=
ffffffff803729d8 ? __ksymtab_misc_register=0A=
ffffffff803729e0 ? __ksymtab_misc_deregister=0A=
ffffffff803729e8 ? __ksymtab_random_add_entropy=0A=
ffffffff803729f0 ? __ksymtab_add_keyboard_randomness=0A=
ffffffff803729f8 ? __ksymtab_add_mouse_randomness=0A=
ffffffff80372a00 ? __ksymtab_add_interrupt_randomness=0A=
ffffffff80372a08 ? __ksymtab_add_blkdev_randomness=0A=
ffffffff80372a10 ? __ksymtab_batch_entropy_store=0A=
ffffffff80372a18 ? __ksymtab_register_serial=0A=
ffffffff80372a20 ? __ksymtab_unregister_serial=0A=
ffffffff80372a28 ? __ksymtab_io_request_lock=0A=
ffffffff80372a30 ? __ksymtab_end_that_request_first=0A=
ffffffff80372a38 ? __ksymtab_end_that_request_last=0A=
ffffffff80372a40 ? __ksymtab_blk_init_queue=0A=
ffffffff80372a48 ? __ksymtab_blk_get_queue=0A=
ffffffff80372a50 ? __ksymtab_blk_cleanup_queue=0A=
ffffffff80372a58 ? __ksymtab_blk_queue_headactive=0A=
ffffffff80372a60 ? __ksymtab_blk_queue_make_request=0A=
ffffffff80372a68 ? __ksymtab_generic_make_request=0A=
ffffffff80372a70 ? __ksymtab_blkdev_release_request=0A=
ffffffff80372a78 ? __ksymtab_generic_unplug_device=0A=
ffffffff80372a80 ? __ksymtab_blk_ioctl=0A=
ffffffff80372a88 ? __ksymtab_gendisk_head=0A=
ffffffff80372a90 ? __ksymtab_add_gendisk=0A=
ffffffff80372a98 ? __ksymtab_del_gendisk=0A=
ffffffff80372aa0 ? __ksymtab_get_gendisk=0A=
ffffffff80372aa8 ? __ksymtab_init_etherdev=0A=
ffffffff80372ab0 ? __ksymtab_alloc_etherdev=0A=
ffffffff80372ab8 ? __ksymtab_ether_setup=0A=
ffffffff80372ac0 ? __ksymtab_register_netdev=0A=
ffffffff80372ac8 ? __ksymtab_unregister_netdev=0A=
ffffffff80372ad0 ? __ksymtab_autoirq_setup=0A=
ffffffff80372ad8 ? __ksymtab_autoirq_report=0A=
ffffffff80372ae0 ? __ksymtab_pci_read_config_byte=0A=
ffffffff80372ae8 ? __ksymtab_pci_read_config_word=0A=
ffffffff80372af0 ? __ksymtab_pci_read_config_dword=0A=
ffffffff80372af8 ? __ksymtab_pci_write_config_byte=0A=
ffffffff80372b00 ? __ksymtab_pci_write_config_word=0A=
ffffffff80372b08 ? __ksymtab_pci_write_config_dword=0A=
ffffffff80372b10 ? __ksymtab_pci_devices=0A=
ffffffff80372b18 ? __ksymtab_pci_root_buses=0A=
ffffffff80372b20 ? __ksymtab_pci_enable_device=0A=
ffffffff80372b28 ? __ksymtab_pci_disable_device=0A=
ffffffff80372b30 ? __ksymtab_pci_find_capability=0A=
ffffffff80372b38 ? __ksymtab_pci_release_regions=0A=
ffffffff80372b40 ? __ksymtab_pci_request_regions=0A=
ffffffff80372b48 ? __ksymtab_pci_find_class=0A=
ffffffff80372b50 ? __ksymtab_pci_find_device=0A=
ffffffff80372b58 ? __ksymtab_pci_find_slot=0A=
ffffffff80372b60 ? __ksymtab_pci_find_subsys=0A=
ffffffff80372b68 ? __ksymtab_pci_set_master=0A=
ffffffff80372b70 ? __ksymtab_pci_set_dma_mask=0A=
ffffffff80372b78 ? __ksymtab_pci_assign_resource=0A=
ffffffff80372b80 ? __ksymtab_pci_register_driver=0A=
ffffffff80372b88 ? __ksymtab_pci_unregister_driver=0A=
ffffffff80372b90 ? __ksymtab_pci_dev_driver=0A=
ffffffff80372b98 ? __ksymtab_pci_match_device=0A=
ffffffff80372ba0 ? __ksymtab_pci_find_parent_resource=0A=
ffffffff80372ba8 ? __ksymtab_pci_set_power_state=0A=
ffffffff80372bb0 ? __ksymtab_pci_save_state=0A=
ffffffff80372bb8 ? __ksymtab_pci_restore_state=0A=
ffffffff80372bc0 ? __ksymtab_pci_enable_wake=0A=
ffffffff80372bc8 ? __ksymtab_pcibios_present=0A=
ffffffff80372bd0 ? __ksymtab_pcibios_read_config_byte=0A=
ffffffff80372bd8 ? __ksymtab_pcibios_read_config_word=0A=
ffffffff80372be0 ? __ksymtab_pcibios_read_config_dword=0A=
ffffffff80372be8 ? __ksymtab_pcibios_write_config_byte=0A=
ffffffff80372bf0 ? __ksymtab_pcibios_write_config_word=0A=
ffffffff80372bf8 ? __ksymtab_pcibios_write_config_dword=0A=
ffffffff80372c00 ? __ksymtab_pcibios_find_class=0A=
ffffffff80372c08 ? __ksymtab_pcibios_find_device=0A=
ffffffff80372c10 ? __ksymtab_isa_dma_bridge_buggy=0A=
ffffffff80372c18 ? __ksymtab_pci_pci_problems=0A=
ffffffff80372c20 ? __ksymtab_pci_pool_create=0A=
ffffffff80372c28 ? __ksymtab_pci_pool_destroy=0A=
ffffffff80372c30 ? __ksymtab_pci_pool_alloc=0A=
ffffffff80372c38 ? __ksymtab_pci_pool_free=0A=
ffffffff80372c40 ? __ksymtab_register_mtd_chip_driver=0A=
ffffffff80372c48 ? __ksymtab_unregister_mtd_chip_driver=0A=
ffffffff80372c50 ? __ksymtab_do_map_probe=0A=
ffffffff80372c58 ? __ksymtab_add_mtd_device=0A=
ffffffff80372c60 ? __ksymtab_del_mtd_device=0A=
ffffffff80372c68 ? __ksymtab___get_mtd_device=0A=
ffffffff80372c70 ? __ksymtab_register_mtd_user=0A=
ffffffff80372c78 ? __ksymtab_unregister_mtd_user=0A=
ffffffff80372c80 ? __ksymtab_add_mtd_partitions=0A=
ffffffff80372c88 ? __ksymtab_del_mtd_partitions=0A=
ffffffff80372c90 ? __ksymtab_rpc_allocate=0A=
ffffffff80372c98 ? __ksymtab_rpc_free=0A=
ffffffff80372ca0 ? __ksymtab_rpc_execute=0A=
ffffffff80372ca8 ? __ksymtab_rpc_init_task=0A=
ffffffff80372cb0 ? __ksymtab_rpc_sleep_on=0A=
ffffffff80372cb8 ? __ksymtab_rpc_wake_up_next=0A=
ffffffff80372cc0 ? __ksymtab_rpc_wake_up_task=0A=
ffffffff80372cc8 ? __ksymtab_rpc_new_child=0A=
ffffffff80372cd0 ? __ksymtab_rpc_run_child=0A=
ffffffff80372cd8 ? __ksymtab_rpciod_down=0A=
ffffffff80372ce0 ? __ksymtab_rpciod_up=0A=
ffffffff80372ce8 ? __ksymtab_rpc_new_task=0A=
ffffffff80372cf0 ? __ksymtab_rpc_wake_up_status=0A=
ffffffff80372cf8 ? __ksymtab_rpc_release_task=0A=
ffffffff80372d00 ? __ksymtab_rpc_create_client=0A=
ffffffff80372d08 ? __ksymtab_rpc_destroy_client=0A=
ffffffff80372d10 ? __ksymtab_rpc_shutdown_client=0A=
ffffffff80372d18 ? __ksymtab_rpc_killall_tasks=0A=
ffffffff80372d20 ? __ksymtab_rpc_call_sync=0A=
ffffffff80372d28 ? __ksymtab_rpc_call_async=0A=
ffffffff80372d30 ? __ksymtab_rpc_call_setup=0A=
ffffffff80372d38 ? __ksymtab_rpc_clnt_sigmask=0A=
ffffffff80372d40 ? __ksymtab_rpc_clnt_sigunmask=0A=
ffffffff80372d48 ? __ksymtab_rpc_delay=0A=
ffffffff80372d50 ? __ksymtab_rpc_restart_call=0A=
ffffffff80372d58 ? __ksymtab_xprt_create_proto=0A=
ffffffff80372d60 ? __ksymtab_xprt_destroy=0A=
ffffffff80372d68 ? __ksymtab_xprt_set_timeout=0A=
ffffffff80372d70 ? __ksymtab_rpcauth_register=0A=
ffffffff80372d78 ? __ksymtab_rpcauth_unregister=0A=
ffffffff80372d80 ? __ksymtab_rpcauth_init_credcache=0A=
ffffffff80372d88 ? __ksymtab_rpcauth_free_credcache=0A=
ffffffff80372d90 ? __ksymtab_rpcauth_insert_credcache=0A=
ffffffff80372d98 ? __ksymtab_rpcauth_lookupcred=0A=
ffffffff80372da0 ? __ksymtab_rpcauth_bindcred=0A=
ffffffff80372da8 ? __ksymtab_rpcauth_matchcred=0A=
ffffffff80372db0 ? __ksymtab_put_rpccred=0A=
ffffffff80372db8 ? __ksymtab_svc_create=0A=
ffffffff80372dc0 ? __ksymtab_svc_create_thread=0A=
ffffffff80372dc8 ? __ksymtab_svc_exit_thread=0A=
ffffffff80372dd0 ? __ksymtab_svc_destroy=0A=
ffffffff80372dd8 ? __ksymtab_svc_drop=0A=
ffffffff80372de0 ? __ksymtab_svc_process=0A=
ffffffff80372de8 ? __ksymtab_svc_recv=0A=
ffffffff80372df0 ? __ksymtab_svc_wake_up=0A=
ffffffff80372df8 ? __ksymtab_svc_makesock=0A=
ffffffff80372e00 ? __ksymtab_rpc_proc_register=0A=
ffffffff80372e08 ? __ksymtab_rpc_proc_unregister=0A=
ffffffff80372e10 ? __ksymtab_rpc_proc_read=0A=
ffffffff80372e18 ? __ksymtab_svc_proc_register=0A=
ffffffff80372e20 ? __ksymtab_svc_proc_unregister=0A=
ffffffff80372e28 ? __ksymtab_svc_proc_read=0A=
ffffffff80372e30 ? __ksymtab_xdr_encode_array=0A=
ffffffff80372e38 ? __ksymtab_xdr_encode_string=0A=
ffffffff80372e40 ? __ksymtab_xdr_decode_string=0A=
ffffffff80372e48 ? __ksymtab_xdr_decode_string_inplace=0A=
ffffffff80372e50 ? __ksymtab_xdr_decode_netobj=0A=
ffffffff80372e58 ? __ksymtab_xdr_encode_netobj=0A=
ffffffff80372e60 ? __ksymtab_xdr_shift_iovec=0A=
ffffffff80372e68 ? __ksymtab_xdr_zero_iovec=0A=
ffffffff80372e70 ? __ksymtab_rpc_debug=0A=
ffffffff80372e78 ? __ksymtab_nfs_debug=0A=
ffffffff80372e80 ? __ksymtab_nfsd_debug=0A=
ffffffff80372e88 ? __ksymtab_nlm_debug=0A=
ffffffff80372e90 ? __ksymtab_skb_over_panic=0A=
ffffffff80372e98 ? __ksymtab_skb_under_panic=0A=
ffffffff80372ea0 ? __ksymtab_sock_register=0A=
ffffffff80372ea8 ? __ksymtab_sock_unregister=0A=
ffffffff80372eb0 ? __ksymtab___lock_sock=0A=
ffffffff80372eb8 ? __ksymtab___release_sock=0A=
ffffffff80372ec0 ? __ksymtab_memcpy_fromiovec=0A=
ffffffff80372ec8 ? __ksymtab_memcpy_tokerneliovec=0A=
ffffffff80372ed0 ? __ksymtab_sock_create=0A=
ffffffff80372ed8 ? __ksymtab_sock_alloc=0A=
ffffffff80372ee0 ? __ksymtab_sock_release=0A=
ffffffff80372ee8 ? __ksymtab_sock_setsockopt=0A=
ffffffff80372ef0 ? __ksymtab_sock_getsockopt=0A=
ffffffff80372ef8 ? __ksymtab_sock_sendmsg=0A=
ffffffff80372f00 ? __ksymtab_sock_recvmsg=0A=
ffffffff80372f08 ? __ksymtab_sk_alloc=0A=
ffffffff80372f10 ? __ksymtab_sk_free=0A=
ffffffff80372f18 ? __ksymtab_sock_wake_async=0A=
ffffffff80372f20 ? __ksymtab_sock_alloc_send_skb=0A=
ffffffff80372f28 ? __ksymtab_sock_init_data=0A=
ffffffff80372f30 ? __ksymtab_sock_no_release=0A=
ffffffff80372f38 ? __ksymtab_sock_no_bind=0A=
ffffffff80372f40 ? __ksymtab_sock_no_connect=0A=
ffffffff80372f48 ? __ksymtab_sock_no_socketpair=0A=
ffffffff80372f50 ? __ksymtab_sock_no_accept=0A=
ffffffff80372f58 ? __ksymtab_sock_no_getname=0A=
ffffffff80372f60 ? __ksymtab_sock_no_poll=0A=
ffffffff80372f68 ? __ksymtab_sock_no_ioctl=0A=
ffffffff80372f70 ? __ksymtab_sock_no_listen=0A=
ffffffff80372f78 ? __ksymtab_sock_no_shutdown=0A=
ffffffff80372f80 ? __ksymtab_sock_no_getsockopt=0A=
ffffffff80372f88 ? __ksymtab_sock_no_setsockopt=0A=
ffffffff80372f90 ? __ksymtab_sock_no_sendmsg=0A=
ffffffff80372f98 ? __ksymtab_sock_no_recvmsg=0A=
ffffffff80372fa0 ? __ksymtab_sock_no_mmap=0A=
ffffffff80372fa8 ? __ksymtab_sock_no_sendpage=0A=
ffffffff80372fb0 ? __ksymtab_sock_rfree=0A=
ffffffff80372fb8 ? __ksymtab_sock_wfree=0A=
ffffffff80372fc0 ? __ksymtab_sock_wmalloc=0A=
ffffffff80372fc8 ? __ksymtab_sock_rmalloc=0A=
ffffffff80372fd0 ? __ksymtab_skb_linearize=0A=
ffffffff80372fd8 ? __ksymtab_skb_checksum=0A=
ffffffff80372fe0 ? __ksymtab_skb_checksum_help=0A=
ffffffff80372fe8 ? __ksymtab_skb_recv_datagram=0A=
ffffffff80372ff0 ? __ksymtab_skb_free_datagram=0A=
ffffffff80372ff8 ? __ksymtab_skb_copy_datagram=0A=
ffffffff80373000 ? __ksymtab_skb_copy_datagram_iovec=0A=
ffffffff80373008 ? __ksymtab_skb_copy_and_csum_datagram_iovec=0A=
ffffffff80373010 ? __ksymtab_skb_copy_bits=0A=
ffffffff80373018 ? __ksymtab_skb_copy_and_csum_bits=0A=
ffffffff80373020 ? __ksymtab_skb_copy_and_csum_dev=0A=
ffffffff80373028 ? __ksymtab_skb_copy_expand=0A=
ffffffff80373030 ? __ksymtab____pskb_trim=0A=
ffffffff80373038 ? __ksymtab___pskb_pull_tail=0A=
ffffffff80373040 ? __ksymtab_pskb_expand_head=0A=
ffffffff80373048 ? __ksymtab_pskb_copy=0A=
ffffffff80373050 ? __ksymtab_skb_realloc_headroom=0A=
ffffffff80373058 ? __ksymtab_datagram_poll=0A=
ffffffff80373060 ? __ksymtab_put_cmsg=0A=
ffffffff80373068 ? __ksymtab_sock_kmalloc=0A=
ffffffff80373070 ? __ksymtab_sock_kfree_s=0A=
ffffffff80373078 ? __ksymtab_neigh_table_init=0A=
ffffffff80373080 ? __ksymtab_neigh_table_clear=0A=
ffffffff80373088 ? __ksymtab_neigh_resolve_output=0A=
ffffffff80373090 ? __ksymtab_neigh_connected_output=0A=
ffffffff80373098 ? __ksymtab_neigh_update=0A=
ffffffff803730a0 ? __ksymtab_neigh_create=0A=
ffffffff803730a8 ? __ksymtab_neigh_lookup=0A=
ffffffff803730b0 ? __ksymtab___neigh_event_send=0A=
ffffffff803730b8 ? __ksymtab_neigh_event_ns=0A=
ffffffff803730c0 ? __ksymtab_neigh_ifdown=0A=
ffffffff803730c8 ? __ksymtab_neigh_sysctl_register=0A=
ffffffff803730d0 ? __ksymtab_pneigh_lookup=0A=
ffffffff803730d8 ? __ksymtab_pneigh_enqueue=0A=
ffffffff803730e0 ? __ksymtab_neigh_destroy=0A=
ffffffff803730e8 ? __ksymtab_neigh_parms_alloc=0A=
ffffffff803730f0 ? __ksymtab_neigh_parms_release=0A=
ffffffff803730f8 ? __ksymtab_neigh_rand_reach_time=0A=
ffffffff80373100 ? __ksymtab_neigh_compat_output=0A=
ffffffff80373108 ? __ksymtab_dst_alloc=0A=
ffffffff80373110 ? __ksymtab___dst_free=0A=
ffffffff80373118 ? __ksymtab_dst_destroy=0A=
ffffffff80373120 ? __ksymtab_net_ratelimit=0A=
ffffffff80373128 ? __ksymtab_net_random=0A=
ffffffff80373130 ? __ksymtab_net_srandom=0A=
ffffffff80373138 ? __ksymtab___scm_destroy=0A=
ffffffff80373140 ? __ksymtab___scm_send=0A=
ffffffff80373148 ? __ksymtab_scm_fp_dup=0A=
ffffffff80373150 ? __ksymtab_files_stat=0A=
ffffffff80373158 ? __ksymtab_memcpy_toiovec=0A=
ffffffff80373160 ? __ksymtab_sklist_destroy_socket=0A=
ffffffff80373168 ? __ksymtab_sklist_insert_socket=0A=
ffffffff80373170 ? __ksymtab_scm_detach_fds=0A=
ffffffff80373178 ? __ksymtab_inetdev_lock=0A=
ffffffff80373180 ? __ksymtab_inet_add_protocol=0A=
ffffffff80373188 ? __ksymtab_inet_del_protocol=0A=
ffffffff80373190 ? __ksymtab_inet_register_protosw=0A=
ffffffff80373198 ? __ksymtab_inet_unregister_protosw=0A=
ffffffff803731a0 ? __ksymtab_ip_route_output_key=0A=
ffffffff803731a8 ? __ksymtab_ip_route_input=0A=
ffffffff803731b0 ? __ksymtab_icmp_send=0A=
ffffffff803731b8 ? __ksymtab_ip_options_compile=0A=
ffffffff803731c0 ? __ksymtab_ip_options_undo=0A=
ffffffff803731c8 ? __ksymtab_arp_send=0A=
ffffffff803731d0 ? __ksymtab_arp_broken_ops=0A=
ffffffff803731d8 ? __ksymtab___ip_select_ident=0A=
ffffffff803731e0 ? __ksymtab_ip_send_check=0A=
ffffffff803731e8 ? __ksymtab_ip_fragment=0A=
ffffffff803731f0 ? __ksymtab_inet_family_ops=0A=
ffffffff803731f8 ? __ksymtab_in_aton=0A=
ffffffff80373200 ? __ksymtab_ip_mc_inc_group=0A=
ffffffff80373208 ? __ksymtab_ip_mc_dec_group=0A=
ffffffff80373210 ? __ksymtab_ip_finish_output=0A=
ffffffff80373218 ? __ksymtab_inet_stream_ops=0A=
ffffffff80373220 ? __ksymtab_inet_dgram_ops=0A=
ffffffff80373228 ? __ksymtab_ip_cmsg_recv=0A=
ffffffff80373230 ? __ksymtab_inet_addr_type=0A=
ffffffff80373238 ? __ksymtab_inet_select_addr=0A=
ffffffff80373240 ? __ksymtab_ip_dev_find=0A=
ffffffff80373248 ? __ksymtab_inetdev_by_index=0A=
ffffffff80373250 ? __ksymtab_in_dev_finish_destroy=0A=
ffffffff80373258 ? __ksymtab_ip_defrag=0A=
ffffffff80373260 ? __ksymtab_ip_rt_ioctl=0A=
ffffffff80373268 ? __ksymtab_devinet_ioctl=0A=
ffffffff80373270 ? __ksymtab_register_inetaddr_notifier=0A=
ffffffff80373278 ? __ksymtab_unregister_inetaddr_notifier=0A=
ffffffff80373280 ? __ksymtab_ip_statistics=0A=
ffffffff80373288 ? __ksymtab_netlink_set_err=0A=
ffffffff80373290 ? __ksymtab_netlink_broadcast=0A=
ffffffff80373298 ? __ksymtab_netlink_unicast=0A=
ffffffff803732a0 ? __ksymtab_netlink_kernel_create=0A=
ffffffff803732a8 ? __ksymtab_netlink_dump_start=0A=
ffffffff803732b0 ? __ksymtab_netlink_ack=0A=
ffffffff803732b8 ? __ksymtab_netlink_attach=0A=
ffffffff803732c0 ? __ksymtab_netlink_detach=0A=
ffffffff803732c8 ? __ksymtab_netlink_post=0A=
ffffffff803732d0 ? __ksymtab_rtattr_parse=0A=
ffffffff803732d8 ? __ksymtab_rtnetlink_links=0A=
ffffffff803732e0 ? __ksymtab___rta_fill=0A=
ffffffff803732e8 ? __ksymtab_rtnetlink_dump_ifinfo=0A=
ffffffff803732f0 ? __ksymtab_rtnetlink_put_metrics=0A=
ffffffff803732f8 ? __ksymtab_rtnl=0A=
ffffffff80373300 ? __ksymtab_neigh_delete=0A=
ffffffff80373308 ? __ksymtab_neigh_add=0A=
ffffffff80373310 ? __ksymtab_neigh_dump_info=0A=
ffffffff80373318 ? __ksymtab_dev_set_allmulti=0A=
ffffffff80373320 ? __ksymtab_dev_set_promiscuity=0A=
ffffffff80373328 ? __ksymtab_sklist_remove_socket=0A=
ffffffff80373330 ? __ksymtab_rtnl_sem=0A=
ffffffff80373338 ? __ksymtab_rtnl_lock=0A=
ffffffff80373340 ? __ksymtab_rtnl_unlock=0A=
ffffffff80373348 ? __ksymtab_ipv4_config=0A=
ffffffff80373350 ? __ksymtab_dev_open=0A=
ffffffff80373358 ? __ksymtab_in_ntoa=0A=
ffffffff80373360 ? __ksymtab_xrlim_allow=0A=
ffffffff80373368 ? __ksymtab_ip_rcv=0A=
ffffffff80373370 ? __ksymtab_arp_rcv=0A=
ffffffff80373378 ? __ksymtab_arp_tbl=0A=
ffffffff80373380 ? __ksymtab_arp_find=0A=
ffffffff80373388 ? __ksymtab_register_netdevice_notifier=0A=
ffffffff80373390 ? __ksymtab_unregister_netdevice_notifier=0A=
ffffffff80373398 ? __ksymtab_loopback_dev=0A=
ffffffff803733a0 ? __ksymtab_register_netdevice=0A=
ffffffff803733a8 ? __ksymtab_unregister_netdevice=0A=
ffffffff803733b0 ? __ksymtab_netdev_state_change=0A=
ffffffff803733b8 ? __ksymtab_dev_new_index=0A=
ffffffff803733c0 ? __ksymtab_dev_get_by_index=0A=
ffffffff803733c8 ? __ksymtab___dev_get_by_index=0A=
ffffffff803733d0 ? __ksymtab_dev_get_by_name=0A=
ffffffff803733d8 ? __ksymtab___dev_get_by_name=0A=
ffffffff803733e0 ? __ksymtab_netdev_finish_unregister=0A=
ffffffff803733e8 ? __ksymtab_netdev_set_master=0A=
ffffffff803733f0 ? __ksymtab_eth_type_trans=0A=
ffffffff803733f8 ? __ksymtab_alloc_skb=0A=
ffffffff80373400 ? __ksymtab___kfree_skb=0A=
ffffffff80373408 ? __ksymtab_skb_clone=0A=
ffffffff80373410 ? __ksymtab_skb_copy=0A=
ffffffff80373418 ? __ksymtab_netif_rx=0A=
ffffffff80373420 ? __ksymtab_dev_add_pack=0A=
ffffffff80373428 ? __ksymtab_dev_remove_pack=0A=
ffffffff80373430 ? __ksymtab_dev_get=0A=
ffffffff80373438 ? __ksymtab_dev_alloc=0A=
ffffffff80373440 ? __ksymtab_dev_alloc_name=0A=
ffffffff80373448 ? __ksymtab___netdev_watchdog_up=0A=
ffffffff80373450 ? __ksymtab_dev_ioctl=0A=
ffffffff80373458 ? __ksymtab_dev_queue_xmit=0A=
ffffffff80373460 ? __ksymtab_dev_base=0A=
ffffffff80373468 ? __ksymtab_dev_base_lock=0A=
ffffffff80373470 ? __ksymtab_dev_close=0A=
ffffffff80373478 ? __ksymtab_dev_mc_add=0A=
ffffffff80373480 ? __ksymtab_dev_mc_delete=0A=
ffffffff80373488 ? __ksymtab_dev_mc_upload=0A=
ffffffff80373490 ? __ksymtab___kill_fasync=0A=
ffffffff80373498 ? __ksymtab_if_port_text=0A=
ffffffff803734a0 ? __ksymtab_sysctl_wmem_max=0A=
ffffffff803734a8 ? __ksymtab_sysctl_rmem_max=0A=
ffffffff803734b0 ? __ksymtab_sysctl_ip_default_ttl=0A=
ffffffff803734b8 ? __ksymtab_qdisc_destroy=0A=
ffffffff803734c0 ? __ksymtab_qdisc_reset=0A=
ffffffff803734c8 ? __ksymtab_qdisc_restart=0A=
ffffffff803734d0 ? __ksymtab_qdisc_create_dflt=0A=
ffffffff803734d8 ? __ksymtab_noop_qdisc=0A=
ffffffff803734e0 ? __ksymtab_qdisc_tree_lock=0A=
ffffffff803734e8 ? __ksymtab_register_gifconf=0A=
ffffffff803734f0 ? __ksymtab_net_call_rx_atomic=0A=
ffffffff803734f8 ? __ksymtab_softnet_data=0A=
ffffffff80373500 ? __ksymtab_memparse=0A=
ffffffff80373508 ? __ksymtab_get_option=0A=
ffffffff80373510 ? __ksymtab_get_options=0A=
ffffffff80373518 ? __ksymtab_init_rwsem=0A=
ffffffff80373520 ? __ksymtab___down_read=0A=
ffffffff80373528 ? __ksymtab___down_write=0A=
ffffffff80373530 ? __ksymtab___up_read=0A=
ffffffff80373538 ? __ksymtab___up_write=0A=
ffffffff80373540 A _etext=0A=
ffffffff80373540 A __stop___ksymtab=0A=
ffffffff80374000 A __init_begin=0A=
ffffffff80374000 t check_bugs=0A=
ffffffff80374098 t profile_setup=0A=
ffffffff803740d8 T name_to_kdev_t=0A=
ffffffff803741ec t root_dev_setup=0A=
ffffffff80374318 t checksetup=0A=
ffffffff803743d0 T calibrate_delay=0A=
ffffffff80374524 t readonly=0A=
ffffffff80374558 t readwrite=0A=
ffffffff80374590 t debug_kernel=0A=
ffffffff803745b8 t quiet_kernel=0A=
ffffffff803745e0 t parse_options=0A=
ffffffff803747dc T start_kernel=0A=
ffffffff80374944 t do_initcalls=0A=
ffffffff8037499c t do_basic_setup=0A=
ffffffff803749e0 T trap_init=0A=
ffffffff80374da0 T init_arch=0A=
ffffffff8037523c T add_memory_region=0A=
ffffffff803752f8 t print_memory_map=0A=
ffffffff80375424 T setup_arch=0A=
ffffffff803757ec T time_init=0A=
ffffffff80375924 T init_generic_irq=0A=
ffffffff80375964 T paging_init=0A=
ffffffff803759dc T mem_init=0A=
ffffffff80375cf8 T loadmmu=0A=
ffffffff80375d4c T lx4189_cache_size=0A=
ffffffff80375d7c T lx4189_cache_lsize=0A=
ffffffff80375d84 t lx4189_probe_cache=0A=
ffffffff80375d8c T ld_mmu_lx4189=0A=
ffffffff80375eb8 T init_idle=0A=
ffffffff80375f70 T sched_init=0A=
ffffffff80376058 T fork_init=0A=
ffffffff8037608c T proc_caches_init=0A=
ffffffff803761c0 t abi_register_sysctl=0A=
ffffffff803761e8 t panic_setup=0A=
ffffffff80376214 t console_setup=0A=
ffffffff803763f8 t CONSOLE_setup=0A=
ffffffff80376464 T init_modules=0A=
ffffffff803764ac T softirq_init=0A=
ffffffff80376534 t spawn_ksoftirqd=0A=
ffffffff803765e0 t reserve_setup=0A=
ffffffff803766c8 T sysctl_init=0A=
ffffffff803766fc t uid_cache_init=0A=
ffffffff80376784 T signals_init=0A=
ffffffff803767d8 T bootmem_bootmap_pages=0A=
ffffffff803767ec t init_bootmem_core=0A=
ffffffff80376870 t reserve_bootmem_core=0A=
ffffffff80376a3c t free_bootmem_core=0A=
ffffffff80376bb8 t __alloc_bootmem_core=0A=
ffffffff80376f98 t free_all_bootmem_core=0A=
ffffffff803771cc T init_bootmem_node=0A=
ffffffff803771ec T reserve_bootmem_node=0A=
ffffffff80377210 T free_bootmem_node=0A=
ffffffff80377234 T free_all_bootmem_node=0A=
ffffffff80377254 T init_bootmem=0A=
ffffffff80377294 T reserve_bootmem=0A=
ffffffff803772c4 T free_bootmem=0A=
ffffffff803772f4 T free_all_bootmem=0A=
ffffffff8037731c T __alloc_bootmem=0A=
ffffffff803773b0 T __alloc_bootmem_node=0A=
ffffffff803773fc T page_cache_init=0A=
ffffffff80377504 T free_area_init_node=0A=
ffffffff80377548 T free_area_init_core=0A=
ffffffff80377acc T free_area_init=0A=
ffffffff80377b0c t setup_mem_frac=0A=
ffffffff80377bb4 T kmem_cache_init=0A=
ffffffff80377c78 T kmem_cache_sizes_init=0A=
ffffffff80377dcc T kmem_cpucache_init=0A=
ffffffff80377dd4 t kswapd_init=0A=
ffffffff80377e18 T swap_setup=0A=
ffffffff80377e70 T buffer_init=0A=
ffffffff80377fd8 t bdflush_init=0A=
ffffffff80378040 T mount_root=0A=
ffffffff8037863c T mnt_init=0A=
ffffffff80378780 T bdev_cache_init=0A=
ffffffff80378850 T cdev_cache_init=0A=
ffffffff803788cc t init_pipe_fs=0A=
ffffffff80378948 t fasync_init=0A=
ffffffff8037899c t filelock_init=0A=
ffffffff803789f8 t dcache_init=0A=
ffffffff80378b4c T vfs_caches_init=0A=
ffffffff80378c48 T inode_init=0A=
ffffffff80378db4 t dnotify_init=0A=
ffffffff80378e08 t init_script_binfmt=0A=
ffffffff80378e2c t init_flat_binfmt=0A=
ffffffff80378e50 T proc_root_init=0A=
ffffffff80378f3c T proc_tty_init=0A=
ffffffff80378ffc T proc_misc_init=0A=
ffffffff80379194 t init_ext2_fs=0A=
ffffffff803791b8 t init_nfs_fs=0A=
ffffffff80379208 T jffs2_create_slab_caches=0A=
ffffffff80379364 t init_jffs2_fs=0A=
ffffffff803793e4 t pcibios_fixup_irqs=0A=
ffffffff80379448 T ad6489_pci_fixup=0A=
ffffffff80379660 T ad6489_pcibios_reinit=0A=
ffffffff803796e4 T pcibios_init=0A=
ffffffff8037980c T pcibios_fixup_bus=0A=
ffffffff80379814 T pcibios_update_irq=0A=
ffffffff80379838 T pcibios_fixup_pbus_ranges=0A=
ffffffff80379840 T pcibios_assign_all_busses=0A=
ffffffff80379848 T memory_devfs_register=0A=
ffffffff80379864 T chr_dev_init=0A=
ffffffff803798cc T console_init=0A=
ffffffff80379a08 T tty_init=0A=
ffffffff80379b24 t raw_init=0A=
ffffffff80379b94 T pty_init=0A=
ffffffff80379ec4 T misc_init=0A=
ffffffff80379f40 t batch_entropy_init=0A=
ffffffff80379fec T rand_initialize=0A=
ffffffff8037a118 t printk_pnp_dev_id=0A=
ffffffff8037a198 t start_pci_pnp_board=0A=
ffffffff8037a42c t pci_plx9050_fn=0A=
ffffffff8037a504 t pci_siig10x_fn=0A=
ffffffff8037a584 t pci_siig20x_fn=0A=
ffffffff8037a618 t pci_inteli960ni_fn=0A=
ffffffff8037a67c t pci_timedia_fn=0A=
ffffffff8037a71c t pci_xircom_fn=0A=
ffffffff8037a744 t serial_pci_guess_board=0A=
ffffffff8037a7ec t serial_init_one=0A=
ffffffff8037a8ac t probe_serial_pci=0A=
ffffffff8037a910 t rs_init=0A=
ffffffff8037af88 T early_serial_setup=0A=
ffffffff8037b150 t serial_console_setup=0A=
ffffffff8037b4a0 T serial_console_init=0A=
ffffffff8037b4c4 T blk_dev_init=0A=
ffffffff8037b5dc T device_init=0A=
ffffffff8037b618 t ramdisk_start_setup=0A=
ffffffff8037b644 t load_ramdisk=0A=
ffffffff8037b674 t prompt_ramdisk=0A=
ffffffff8037b6a4 t ramdisk_size=0A=
ffffffff8037b6d0 t ramdisk_size2=0A=
ffffffff8037b6f0 t ramdisk_blocksize=0A=
ffffffff8037b71c T rd_init=0A=
ffffffff8037b8d4 t identify_ramdisk_image=0A=
ffffffff8037bbb4 t rd_load_image=0A=
ffffffff8037c0dc t rd_load_disk=0A=
ffffffff8037c164 T rd_load=0A=
ffffffff8037c184 T rd_load_secondary=0A=
ffffffff8037c1a4 t malloc=0A=
ffffffff8037c1c4 t free=0A=
ffffffff8037c1e4 t gzip_mark=0A=
ffffffff8037c1ec t gzip_release=0A=
ffffffff8037c1f4 t fill_inbuf=0A=
ffffffff8037c278 t flush_window=0A=
ffffffff8037c344 t error=0A=
ffffffff8037c374 t crd_load=0A=
ffffffff8037c474 t probe_list=0A=
ffffffff8037c51c t ethif_probe=0A=
ffffffff8037c620 t network_probe=0A=
ffffffff8037c674 t network_ldisc_init=0A=
ffffffff8037c67c t special_device_init=0A=
ffffffff8037c684 T net_device_init=0A=
ffffffff8037c6b4 T loopback_init=0A=
ffffffff8037c780 T pci_read_bridge_bases=0A=
ffffffff8037ca50 t pci_alloc_bus=0A=
ffffffff8037caac t pci_add_new_bus=0A=
ffffffff8037cb60 t pci_scan_bridge=0A=
ffffffff8037cd4c t pci_scan_device=0A=
ffffffff8037ce60 T pci_scan_slot=0A=
ffffffff8037cf88 t pci_do_scan_bus=0A=
ffffffff8037d07c T pci_bus_exists=0A=
ffffffff8037d0f8 T pci_alloc_primary_bus=0A=
ffffffff8037d184 T pci_scan_bus=0A=
ffffffff8037d1e0 T pci_init=0A=
ffffffff8037d238 t pci_setup=0A=
ffffffff8037d2d8 t quirk_passive_release=0A=
ffffffff8037d364 t quirk_isa_dma_hangs=0A=
ffffffff8037d3a4 t quirk_nopcipci=0A=
ffffffff8037d3f4 t quirk_triton=0A=
ffffffff8037d444 t quirk_vialatency=0A=
ffffffff8037d508 t quirk_viaetbf=0A=
ffffffff8037d558 t quirk_vsfx=0A=
ffffffff8037d5a8 t quirk_natoma=0A=
ffffffff8037d5f8 t quirk_s3_64M=0A=
ffffffff8037d63c t quirk_io_region=0A=
ffffffff8037d6c8 t quirk_ali7101_acpi=0A=
ffffffff8037d72c t quirk_piix4_acpi=0A=
ffffffff8037d79c t quirk_vt82c586_acpi=0A=
ffffffff8037d808 t quirk_vt82c686_acpi=0A=
ffffffff8037d88c t quirk_via_acpi=0A=
ffffffff8037d8e4 t quirk_via_irqpic=0A=
ffffffff8037d978 t quirk_piix3_usb=0A=
ffffffff8037d9c0 t quirk_vt82c598_id=0A=
ffffffff8037d9fc t quirk_cardbus_legacy=0A=
ffffffff8037da30 T pci_name_device=0A=
ffffffff8037da38 t pci_proc_init=0A=
ffffffff8037db14 T pci_claim_resource=0A=
ffffffff8037dbcc T pdev_sort_resources=0A=
ffffffff8037dd38 T pdev_enable_device=0A=
ffffffff8037de98 t cfi_probe_init=0A=
ffffffff8037debc t cfi_amdstd_init=0A=
ffffffff8037deec t ad6489_probe=0A=
ffffffff8037dfd4 T ad6489_mtd_init=0A=
ffffffff8037e180 t init_mtd=0A=
ffffffff8037e1cc t init_mtdchar=0A=
ffffffff8037e218 T init_mtdblock=0A=
ffffffff8037e2f4 T sock_init=0A=
ffffffff8037e384 T sk_init=0A=
ffffffff8037e430 T skb_init=0A=
ffffffff8037e4ac T netdev_boot_setup=0A=
ffffffff8037e594 T net_dev_init=0A=
ffffffff8037e950 T dev_mcast_init=0A=
ffffffff8037e998 T dst_init=0A=
ffffffff8037e9bc T rtnetlink_init=0A=
ffffffff8037ea2c T ip_rt_init=0A=
ffffffff8037ecd4 T inet_initpeers=0A=
ffffffff8037edd4 T ip_init=0A=
ffffffff8037ee08 T tcp_init=0A=
ffffffff8037f24c T tcp_v4_init=0A=
ffffffff8037f340 T arp_init=0A=
ffffffff8037f3c8 T icmp_init=0A=
ffffffff8037f4e0 T devinet_init=0A=
ffffffff8037f550 t inet_init=0A=
ffffffff8037f7b0 T ip_fib_init=0A=
ffffffff8037f830 T fib_hash_init=0A=
ffffffff8037f918 t af_unix_init=0A=
ffffffff8037f980 t netlink_proto_init=0A=
ffffffff8037f9d4 t make_devfs_entries=0A=
ffffffff8037f9dc T init_netlink=0A=
ffffffff8037faa8 t packet_init=0A=
ffffffff8037fb08 d __setup_str_profile_setup=0A=
ffffffff8037fb14 d root_dev_names=0A=
ffffffff8037fd34 d __setup_str_root_dev_setup=0A=
ffffffff8037fd3c d __setup_str_readonly=0A=
ffffffff8037fd40 d __setup_str_readwrite=0A=
ffffffff8037fd44 d __setup_str_debug_kernel=0A=
ffffffff8037fd4c d __setup_str_quiet_kernel=0A=
ffffffff8037fd54 d __setup_str_panic_setup=0A=
ffffffff8037fd5c d __setup_str_CONSOLE_setup=0A=
ffffffff8037fd68 d __setup_str_console_setup=0A=
ffffffff8037fd74 d __setup_str_reserve_setup=0A=
ffffffff8037fd80 d zone_balance_ratio=0A=
ffffffff8037fd8c d zone_balance_min=0A=
ffffffff8037fd98 d zone_balance_max=0A=
ffffffff8037fda4 d __setup_str_setup_mem_frac=0A=
ffffffff8037fdb0 d startup.1438=0A=
ffffffff8037fdc0 d serial_options=0A=
ffffffff8037fdec d pci_boards=0A=
ffffffff80380348 d serial_pci_tbl=0A=
ffffffff80380ec4 d __setup_str_ramdisk_start_setup=0A=
ffffffff80380ed4 d __setup_str_load_ramdisk=0A=
ffffffff80380ee4 d __setup_str_prompt_ramdisk=0A=
ffffffff80380ef4 d __setup_str_ramdisk_size=0A=
ffffffff80380f00 d __setup_str_ramdisk_size2=0A=
ffffffff80380f10 d __setup_str_ramdisk_blocksize=0A=
ffffffff80380f24 d eisa_probes=0A=
ffffffff80380f2c d mca_probes=0A=
ffffffff80380f34 d isa_probes=0A=
ffffffff80380f3c d parport_probes=0A=
ffffffff80380f44 d m68k_probes=0A=
ffffffff80380f4c d sgi_probes=0A=
ffffffff80380f54 d mips_probes=0A=
ffffffff80380f5c d pci_probes=0A=
ffffffff80380f64 d __setup_str_pci_setup=0A=
ffffffff80380f6c d pci_fixups=0A=
ffffffff80381134 d __setup_str_netdev_boot_setup=0A=
ffffffff8038113c d __setup_str_netdev_boot_setup=0A=
ffffffff80381144 d banner=0A=
ffffffff80381180 A __setup_start=0A=
ffffffff80381180 ? __setup_profile_setup=0A=
ffffffff80381188 ? __setup_root_dev_setup=0A=
ffffffff80381190 ? __setup_readonly=0A=
ffffffff80381198 ? __setup_readwrite=0A=
ffffffff803811a0 ? __setup_debug_kernel=0A=
ffffffff803811a8 ? __setup_quiet_kernel=0A=
ffffffff803811b0 ? __setup_panic_setup=0A=
ffffffff803811b8 ? __setup_CONSOLE_setup=0A=
ffffffff803811c0 ? __setup_console_setup=0A=
ffffffff803811c8 ? __setup_reserve_setup=0A=
ffffffff803811d0 ? __setup_setup_mem_frac=0A=
ffffffff803811d8 ? __setup_ramdisk_start_setup=0A=
ffffffff803811e0 ? __setup_load_ramdisk=0A=
ffffffff803811e8 ? __setup_prompt_ramdisk=0A=
ffffffff803811f0 ? __setup_ramdisk_size=0A=
ffffffff803811f8 ? __setup_ramdisk_size2=0A=
ffffffff80381200 ? __setup_ramdisk_blocksize=0A=
ffffffff80381208 ? __setup_pci_setup=0A=
ffffffff80381210 ? __setup_netdev_boot_setup=0A=
ffffffff80381218 ? __setup_netdev_boot_setup=0A=
ffffffff80381220 A __initcall_start=0A=
ffffffff80381220 A __setup_end=0A=
ffffffff80381220 ? __initcall_abi_register_sysctl=0A=
ffffffff80381224 ? __initcall_spawn_ksoftirqd=0A=
ffffffff80381228 ? __initcall_uid_cache_init=0A=
ffffffff8038122c ? __initcall_kmem_cpucache_init=0A=
ffffffff80381230 ? __initcall_kswapd_init=0A=
ffffffff80381234 ? __initcall_bdflush_init=0A=
ffffffff80381238 ? __initcall_init_pipe_fs=0A=
ffffffff8038123c ? __initcall_fasync_init=0A=
ffffffff80381240 ? __initcall_filelock_init=0A=
ffffffff80381244 ? __initcall_dnotify_init=0A=
ffffffff80381248 ? __initcall_init_script_binfmt=0A=
ffffffff8038124c ? __initcall_init_flat_binfmt=0A=
ffffffff80381250 ? __initcall_init_ext2_fs=0A=
ffffffff80381254 ? __initcall_init_nfs_fs=0A=
ffffffff80381258 ? __initcall_init_jffs2_fs=0A=
ffffffff8038125c ? __initcall_chr_dev_init=0A=
ffffffff80381260 ? __initcall_raw_init=0A=
ffffffff80381264 ? __initcall_rs_init=0A=
ffffffff80381268 ? __initcall_device_init=0A=
ffffffff8038126c ? __initcall_pci_proc_init=0A=
ffffffff80381270 ? __initcall_cfi_probe_init=0A=
ffffffff80381274 ? __initcall_cfi_amdstd_init=0A=
ffffffff80381278 ? __initcall_ad6489_mtd_init=0A=
ffffffff8038127c ? __initcall_init_mtd=0A=
ffffffff80381280 ? __initcall_init_mtdchar=0A=
ffffffff80381284 ? __initcall_init_mtdblock=0A=
ffffffff80381288 ? __initcall_inet_init=0A=
ffffffff8038128c ? __initcall_af_unix_init=0A=
ffffffff80381290 ? __initcall_netlink_proto_init=0A=
ffffffff80381294 ? __initcall_packet_init=0A=
ffffffff80381298 A __initcall_end=0A=
ffffffff80382000 A __init_end=0A=
ffffffff80382000 D irq_desc=0A=
ffffffff80382800 D runqueue_lock=0A=
ffffffff80382820 D tasklist_lock=0A=
ffffffff80382840 d aligned_data=0A=
ffffffff80382860 D mmlist_lock=0A=
ffffffff80382880 D tasklet_vec=0A=
ffffffff803828a0 D tasklet_hi_vec=0A=
ffffffff803828c0 d softirq_vec=0A=
ffffffff803829c0 d sockets_in_use=0A=
ffffffff803829e0 D softnet_data=0A=
ffffffff80382a20 D tcp_hashinfo=0A=
ffffffff80382b00 D _fdata=0A=
ffffffff80382b3e D cache_error_buffer=0A=
ffffffff80382bc0 D kernelsp=0A=
ffffffff80382bc4 D current_pgd=0A=
ffffffff80382bd0 d init_fs=0A=
ffffffff80382bf4 d init_files=0A=
ffffffff80382d94 d init_signals=0A=
ffffffff80383d9c D init_mm=0A=
ffffffff80383e10 D root_mountflags=0A=
ffffffff80383e14 d argv_init=0A=
ffffffff80383e3c d envp_init=0A=
ffffffff80383e64 D loops_per_jiffy=0A=
ffffffff80383e68 D child_reaper=0A=
ffffffff80383e6c D root_device_name=0A=
ffffffff80383eac D rows=0A=
ffffffff80383eb0 D cols=0A=
ffffffff80383eb4 D execute_command=0A=
ffffffff80383ec0 D system_utsname=0A=
ffffffff80384048 D linux_banner=0A=
ffffffff8038404c D Version_132106=0A=
ffffffff80384050 D last_task_used_math=0A=
ffffffff80384054 D current_task=0A=
ffffffff80384078 D sys_call_table=0A=
ffffffff80388270 D sys_narg_table=0A=
ffffffff803892f0 d archdata.828=0A=
ffffffff803892f8 D watch_available=0A=
ffffffff803892fc D kstack_depth_to_print=0A=
ffffffff80389300 d ll_task=0A=
ffffffff80389304 D ibe_board_handler=0A=
ffffffff80389308 D dbe_board_handler=0A=
ffffffff8038930c D die_lock=0A=
ffffffff80389310 D ll_bit=0A=
ffffffff80389314 D exception_handlers=0A=
ffffffff80389394 D save_fp_context=0A=
ffffffff80389398 D restore_fp_context=0A=
ffffffff803893a0 D _machine_restart=0A=
ffffffff803893a4 D _machine_halt=0A=
ffffffff803893a8 D _machine_power_off=0A=
ffffffff803893b0 d driveid_types=0A=
ffffffff803893cc D boot_cpu_data=0A=
ffffffff803893dc D cpu_wait=0A=
ffffffff803893e0 D EISA_bus=0A=
ffffffff803893e4 D mips_machtype=0A=
ffffffff803893e8 D mips_machgroup=0A=
ffffffff803893ec d code_resource=0A=
ffffffff80389408 d data_resource=0A=
ffffffff80389424 D mips_cpu=0A=
ffffffff80389478 D cpuoptions=0A=
ffffffff8038947c D screen_info=0A=
ffffffff803894b0 D mips_io_port_base=0A=
ffffffff803894b4 D isa_slot_offset=0A=
ffffffff803894b8 D boot_mem_map=0A=
ffffffff8038963c D fd_ops=0A=
ffffffff80389640 D rtc_ops=0A=
ffffffff80389644 D aux_device_present=0A=
ffffffff80389648 D saved_command_line=0A=
ffffffff80389750 D unaligned_instructions=0A=
ffffffff80389760 D rtc_get_time=0A=
ffffffff80389764 D rtc_set_time=0A=
ffffffff80389768 d sll32_usecs_per_cycle=0A=
ffffffff8038976c d cycles_per_jiffy=0A=
ffffffff80389770 D do_gettimeoffset=0A=
ffffffff80389774 D board_time_init=0A=
ffffffff80389778 D board_timer_setup=0A=
ffffffff8038977c D mips_counter_frequency=0A=
ffffffff80389780 d timer_irqaction=0A=
ffffffff80389798 d month_days=0A=
ffffffff803897d0 D no_irq_type=0A=
ffffffff803897f0 d probe_sem=0A=
ffffffff80389808 D irq_err_count=0A=
ffffffff8038980c D spurious_count=0A=
ffffffff80389810 d driveid_types=0A=
ffffffff80389830 D vced_count=0A=
ffffffff80389834 D vcei_count=0A=
ffffffff80389838 D ll_ops=0A=
ffffffff8038983c D sc_ops=0A=
ffffffff80389840 D empty_zero_page=0A=
ffffffff80389844 D zero_page_mask=0A=
ffffffff80389848 D mmu_gathers=0A=
ffffffff803898c0 D asid_cache=0A=
ffffffff803898d0 D _clear_page=0A=
ffffffff803898d4 D _copy_page=0A=
ffffffff803898d8 D _flush_cache_all=0A=
ffffffff803898dc D ___flush_cache_all=0A=
ffffffff803898e0 D _flush_cache_mm=0A=
ffffffff803898e4 D _flush_cache_range=0A=
ffffffff803898e8 D _flush_cache_page=0A=
ffffffff803898ec D _flush_cache_sigtramp=0A=
ffffffff803898f0 D _flush_page_to_ram=0A=
ffffffff803898f4 D _flush_icache_range=0A=
ffffffff803898f8 D _flush_icache_page=0A=
ffffffff803898fc D _dma_cache_wback_inv=0A=
ffffffff80389900 D _dma_cache_wback=0A=
ffffffff80389904 D _dma_cache_inv=0A=
ffffffff80389910 d icache_size=0A=
ffffffff80389914 d dcache_size=0A=
ffffffff80389918 d icache_lsize=0A=
ffffffff8038991c d dcache_lsize=0A=
ffffffff80389920 D securebits=0A=
ffffffff80389924 D init_tasks=0A=
ffffffff80389928 d runqueue_head=0A=
ffffffff80389930 d stat_nam.996=0A=
ffffffff80389948 D kstat=0A=
ffffffff8038ae80 D lastpid_lock=0A=
ffffffff8038ae84 d next_safe.870=0A=
ffffffff8038ae88 D nr_running=0A=
ffffffff8038ae8c D nr_threads=0A=
ffffffff8038ae90 D last_pid=0A=
ffffffff8038ae94 D mmlist_nr=0A=
ffffffff8038ae98 D pidhash=0A=
ffffffff8038be98 D vm_area_cachep=0A=
ffffffff8038be9c D mm_cachep=0A=
ffffffff8038bea0 D files_cachep=0A=
ffffffff8038bea4 D fs_cachep=0A=
ffffffff8038bea8 D sigact_cachep=0A=
ffffffff8038beac D max_threads=0A=
ffffffff8038beb0 D total_forks=0A=
ffffffff8038bec0 d exec_domains=0A=
ffffffff8038bec4 d exec_domains_lock=0A=
ffffffff8038bec8 d ident_map=0A=
ffffffff8038bf48 D default_exec_domain=0A=
ffffffff8038bf74 D abi_defhandler_coff=0A=
ffffffff8038bf78 D abi_defhandler_elf=0A=
ffffffff8038bf7c D abi_defhandler_lcall7=0A=
ffffffff8038bf80 D abi_defhandler_libcso=0A=
ffffffff8038bf84 d abi_table=0A=
ffffffff8038c0b8 d abi_root_table=0A=
ffffffff8038c110 D abi_fake_utsname=0A=
ffffffff8038c114 D abi_traceflg=0A=
ffffffff8038c120 D panic_notifier_list=0A=
ffffffff8038c124 D panic_timeout=0A=
ffffffff8038c130 D log_wait=0A=
ffffffff8038c13c D console_loglevel=0A=
ffffffff8038c140 D default_message_loglevel=0A=
ffffffff8038c144 D minimum_console_loglevel=0A=
ffffffff8038c148 D default_console_loglevel=0A=
ffffffff8038c150 d console_sem=0A=
ffffffff8038c168 d logbuf_lock=0A=
ffffffff8038c16c d preferred_console=0A=
ffffffff8038c170 d msg_level.849=0A=
ffffffff8038c174 d log_level_unknown.857=0A=
ffffffff8038c178 D oops_in_progress=0A=
ffffffff8038c17c D console_drivers=0A=
ffffffff8038c180 D console_cmdline=0A=
ffffffff8038c200 d archdata.804=0A=
ffffffff8038c208 D kernel_module=0A=
ffffffff8038c268 D module_list=0A=
ffffffff8038c26c d ime_list=0A=
ffffffff8038c274 d ime_lock=0A=
ffffffff8038c278 D modlist_lock=0A=
ffffffff8038c27c d unload_lock=0A=
ffffffff8038c280 D do_get_fast_time=0A=
ffffffff8038c284 d firsttime.819=0A=
ffffffff8038c288 D pps_jitter=0A=
ffffffff8038c28c D pps_stabil=0A=
ffffffff8038c290 D pps_valid=0A=
ffffffff8038c294 D pps_shift=0A=
ffffffff8038c298 D pps_offset=0A=
ffffffff8038c29c D pps_freq=0A=
ffffffff8038c2a0 D pps_jitcnt=0A=
ffffffff8038c2a4 D pps_calcnt=0A=
ffffffff8038c2a8 D pps_errcnt=0A=
ffffffff8038c2ac D pps_stbcnt=0A=
ffffffff8038c2b0 D sys_tz=0A=
ffffffff8038c2b8 D hardpps_ptr=0A=
ffffffff8038c2c0 D global_bh_lock=0A=
ffffffff8038c2e0 D irq_stat=0A=
ffffffff8038c300 D bh_task_vec=0A=
ffffffff8038c580 D ioport_resource=0A=
ffffffff8038c59c D iomem_resource=0A=
ffffffff8038c5b8 d resource_lock=0A=
ffffffff8038c5bc d reserved.1014=0A=
ffffffff8038c5c0 d maxolduid=0A=
ffffffff8038c5c4 d root_table_header=0A=
ffffffff8038c5d0 D proc_sys_file_operations=0A=
ffffffff8038c618 d proc_sys_inode_operations=0A=
ffffffff8038c658 d root_table=0A=
ffffffff8038c78c d kern_table=0A=
ffffffff8038caa4 d proc_table=0A=
ffffffff8038cad0 d fs_table=0A=
ffffffff8038cd0c d debug_table=0A=
ffffffff8038cd38 d dev_table=0A=
ffffffff8038cd70 D cap_bset=0A=
ffffffff8038cd74 D task_capability_lock=0A=
ffffffff8038cd80 D tick=0A=
ffffffff8038cd84 D tickadj=0A=
ffffffff8038cd88 D tq_timer=0A=
ffffffff8038cd90 D tq_immediate=0A=
ffffffff8038cd98 D time_state=0A=
ffffffff8038cd9c D time_status=0A=
ffffffff8038cda0 D time_constant=0A=
ffffffff8038cda4 D time_tolerance=0A=
ffffffff8038cda8 D time_precision=0A=
ffffffff8038cdac D time_maxerror=0A=
ffffffff8038cdb0 D time_esterror=0A=
ffffffff8038cdb4 D time_freq=0A=
ffffffff8038cdb8 D timerlist_lock=0A=
ffffffff8038cdbc D tqueue_lock=0A=
ffffffff8038cdc0 d count.897=0A=
ffffffff8038cdc4 D xtime_lock=0A=
ffffffff8038cdc8 D event=0A=
ffffffff8038cdcc D time_offset=0A=
ffffffff8038cdd0 D time_phase=0A=
ffffffff8038cdd4 D time_adj=0A=
ffffffff8038cdd8 D time_reftime=0A=
ffffffff8038cddc D time_adjust=0A=
ffffffff8038cde0 D avenrun=0A=
ffffffff8038cdec D jiffies=0A=
ffffffff8038cdf0 D xtime=0A=
ffffffff8038cdf8 D prof_buffer=0A=
ffffffff8038cdfc D prof_len=0A=
ffffffff8038ce00 D prof_shift=0A=
ffffffff8038ce04 D time_adjust_step=0A=
ffffffff8038ce08 D wall_jiffies=0A=
ffffffff8038ce10 d uidhash_lock=0A=
ffffffff8038ce14 D root_user=0A=
ffffffff8038ce30 D max_queued_signals=0A=
ffffffff8038ce34 D nr_queued_signals=0A=
ffffffff8038ce40 D overflowuid=0A=
ffffffff8038ce44 D overflowgid=0A=
ffffffff8038ce48 D fs_overflowuid=0A=
ffffffff8038ce4c D fs_overflowgid=0A=
ffffffff8038ce50 D C_A_D=0A=
ffffffff8038ce54 D cad_pid=0A=
ffffffff8038ce58 D notifier_lock=0A=
ffffffff8038ce5c d cad_tq.1035=0A=
ffffffff8038ce70 D uts_sem=0A=
ffffffff8038ce80 d dev_probe_sem=0A=
ffffffff8038cea0 d tq_context=0A=
ffffffff8038cea8 d context_task_wq=0A=
ffffffff8038ceb4 d context_task_done=0A=
ffffffff8038cec0 D dma_spin_lock=0A=
ffffffff8038cec4 d dma_chan_busy=0A=
ffffffff8038cf10 D max_low_pfn=0A=
ffffffff8038cf14 D min_low_pfn=0A=
ffffffff8038cf20 D page_cache_size=0A=
ffffffff8038cf24 D pagecache_lock=0A=
ffffffff8038cf28 D pagemap_lru_lock=0A=
ffffffff8038cf2c D page_hash_bits=0A=
ffffffff8038cf30 D page_hash_table=0A=
ffffffff8038cf40 D numnodes=0A=
ffffffff8038cf44 D contig_page_data=0A=
ffffffff8038d260 d zone_names=0A=
ffffffff8038d26c D pgdat_list=0A=
ffffffff8038d270 D nr_swap_pages=0A=
ffffffff8038d274 D nr_active_pages=0A=
ffffffff8038d278 D nr_inactive_pages=0A=
ffffffff8038d27c D active_list=0A=
ffffffff8038d284 D inactive_list=0A=
ffffffff8038d290 d slab_break_gfp_order=0A=
ffffffff8038d294 d cache_sizes=0A=
ffffffff8038d360 d cache_cache=0A=
ffffffff8038d3d0 d clock_searchp=0A=
ffffffff8038d3e0 D vmlist_lock=0A=
ffffffff8038d3e4 D vmlist=0A=
ffffffff8038d3f0 D kswapd_wait=0A=
ffffffff8038d400 D mem_map=0A=
ffffffff8038d404 D max_mapnr=0A=
ffffffff8038d408 D num_physpages=0A=
ffffffff8038d40c D high_memory=0A=
ffffffff8038d410 D askedalloc=0A=
ffffffff8038d414 D realalloc=0A=
ffffffff8038d420 D nr_async_pages=0A=
ffffffff8038d424 D pager_daemon=0A=
ffffffff8038d430 D page_cluster=0A=
ffffffff8038d440 D swapper_space=0A=
ffffffff8038d480 d kill_list.894=0A=
ffffffff8038d490 D generic_ro_fops=0A=
ffffffff8038d4e0 d chrdevs_lock=0A=
ffffffff8038d4e4 d def_chr_fops=0A=
ffffffff8038d52c d bad_sock_fops=0A=
ffffffff8038d580 D files_stat=0A=
ffffffff8038d58c d anon_list=0A=
ffffffff8038d594 d free_list=0A=
ffffffff8038d59c D files_lock=0A=
ffffffff8038d5a0 d old_max.798=0A=
ffffffff8038d5b0 d buffersize_index=0A=
ffffffff8038d5f4 d hash_table_lock=0A=
ffffffff8038d5f8 d lru_list_lock=0A=
ffffffff8038d5fc d unused_list_lock=0A=
ffffffff8038d600 d buffer_wait=0A=
ffffffff8038d60c D buffermem_pages=0A=
ffffffff8038d610 D bdf_prm=0A=
ffffffff8038d634 D bdflush_min=0A=
ffffffff8038d658 D bdflush_max=0A=
ffffffff8038d67c d page_uptodate_lock.1278=0A=
ffffffff8038d680 D bdflush_wait=0A=
ffffffff8038d690 d mount_sem=0A=
ffffffff8038d6a8 D super_blocks=0A=
ffffffff8038d6b0 D sb_lock=0A=
ffffffff8038d6b4 d file_systems_lock=0A=
ffffffff8038d6b8 d vfsmntlist=0A=
ffffffff8038d6c0 d need_escaping=0A=
ffffffff8038d6c4 d fs_info=0A=
ffffffff8038d6ec d mnt_info=0A=
ffffffff8038d70c d nfs_info=0A=
ffffffff8038d778 D ROOT_DEV=0A=
ffffffff8038d780 d sops.1035=0A=
ffffffff8038d7c0 d bd_type=0A=
ffffffff8038d7dc d bdev_lock=0A=
ffffffff8038d7e0 D def_blk_aops=0A=
ffffffff8038d7fc D def_blk_fops=0A=
ffffffff8038d850 d cdev_lock=0A=
ffffffff8038d860 d warncount.825=0A=
ffffffff8038d870 d binfmt_lock=0A=
ffffffff8038d874 D core_uses_pid=0A=
ffffffff8038d880 D read_fifo_fops=0A=
ffffffff8038d8c8 D write_fifo_fops=0A=
ffffffff8038d910 D rdwr_fifo_fops=0A=
ffffffff8038d958 D read_pipe_fops=0A=
ffffffff8038d9a0 D write_pipe_fops=0A=
ffffffff8038d9e8 D rdwr_pipe_fops=0A=
ffffffff8038da30 d pipefs_dentry_operations=0A=
ffffffff8038da48 d pipefs_ops=0A=
ffffffff8038da88 d pipe_fs_type=0A=
ffffffff8038dab0 d arbitration_lock=0A=
ffffffff8038dab4 D page_symlink_inode_operations=0A=
ffffffff8038db00 d band_table=0A=
ffffffff8038db18 d fasync_lock=0A=
ffffffff8038db20 D def_fifo_fops=0A=
ffffffff8038db70 D leases_enable=0A=
ffffffff8038db74 D lease_break_time=0A=
ffffffff8038db78 D file_lock_list=0A=
ffffffff8038db80 d blocked_list=0A=
ffffffff8038db90 D dcache_lock=0A=
ffffffff8038db94 d dentry_unused=0A=
ffffffff8038db9c D dentry_stat=0A=
ffffffff8038dbb4 D names_cachep=0A=
ffffffff8038dbb8 D filp_cachep=0A=
ffffffff8038dbbc D dquot_cachep=0A=
ffffffff8038dbc0 D bh_cachep=0A=
ffffffff8038dbd0 d inode_in_use=0A=
ffffffff8038dbd8 d inode_unused=0A=
ffffffff8038dbe0 d anon_hash_chain=0A=
ffffffff8038dbe8 D inode_lock=0A=
ffffffff8038dbec d counter.958=0A=
ffffffff8038dbf0 D inodes_stat=0A=
ffffffff8038dc10 d bad_file_ops=0A=
ffffffff8038dc58 D bad_inode_ops=0A=
ffffffff8038dca0 D dir_notify_enable=0A=
ffffffff8038dca4 d dn_lock=0A=
ffffffff8038dcb0 D nr_dquots=0A=
ffffffff8038dcb4 D nr_free_dquots=0A=
ffffffff8038dcb8 D max_dquots=0A=
ffffffff8038dcc0 D script_format=0A=
ffffffff8038dce0 d flat_format=0A=
ffffffff8038dd00 d proc_sops=0A=
ffffffff8038dd40 D proc_mnt=0A=
ffffffff8038dd50 d proc_fs_type=0A=
ffffffff8038dd6c d proc_root_operations=0A=
ffffffff8038ddb4 d proc_root_inode_operations=0A=
ffffffff8038ddf4 D proc_root=0A=
ffffffff8038de44 D proc_root_fs=0A=
ffffffff8038de48 D proc_net=0A=
ffffffff8038de4c D proc_bus=0A=
ffffffff8038de50 D proc_root_driver=0A=
ffffffff8038de54 D proc_sys_root=0A=
ffffffff8038de60 d proc_maps_operations=0A=
ffffffff8038dea8 d proc_info_file_operations=0A=
ffffffff8038def0 d proc_mem_operations=0A=
ffffffff8038df38 d proc_mem_inode_operations=0A=
ffffffff8038df78 d proc_pid_link_inode_operations=0A=
ffffffff8038dfb8 d base_stuff=0A=
ffffffff8038e078 d pid_fd_dentry_operations=0A=
ffffffff8038e090 d pid_dentry_operations=0A=
ffffffff8038e0a8 d pid_base_dentry_operations=0A=
ffffffff8038e0c0 d proc_fd_operations=0A=
ffffffff8038e108 d proc_fd_inode_operations=0A=
ffffffff8038e148 d proc_base_operations=0A=
ffffffff8038e190 d proc_base_inode_operations=0A=
ffffffff8038e1d0 d proc_self_inode_operations=0A=
ffffffff8038e210 d proc_file_operations=0A=
ffffffff8038e258 D proc_alloc_map_lock=0A=
ffffffff8038e25c d proc_link_inode_operations=0A=
ffffffff8038e29c d proc_dentry_operations=0A=
ffffffff8038e2b4 d proc_dir_operations=0A=
ffffffff8038e2fc d proc_dir_inode_operations=0A=
ffffffff8038e340 d task_state_array=0A=
ffffffff8038e360 D proc_kmsg_operations=0A=
ffffffff8038e3b0 d proc_profile_operations=0A=
ffffffff8038e3f8 d simple_ones.1087=0A=
ffffffff8038e4a0 D proc_root_kcore=0A=
ffffffff8038e4b0 D proc_kcore_operations=0A=
ffffffff8038e500 D warn_no_part=0A=
ffffffff8038e504 d check_part=0A=
ffffffff8038e50c d first_time.1737=0A=
ffffffff8038e510 d nibblemap=0A=
ffffffff8038e550 d ext2_filetype_table=0A=
ffffffff8038e558 d ext2_type_by_mode=0A=
ffffffff8038e568 D ext2_dir_operations=0A=
ffffffff8038e5b0 d ext2_max_sizes=0A=
ffffffff8038e620 D ext2_file_operations=0A=
ffffffff8038e668 D ext2_file_inode_operations=0A=
ffffffff8038e6b0 D ext2_aops=0A=
ffffffff8038e6d0 D ext2_dir_inode_operations=0A=
ffffffff8038e710 d ext2_sops=0A=
ffffffff8038e750 d ext2_fs_type=0A=
ffffffff8038e770 D ext2_fast_symlink_inode_operations=0A=
ffffffff8038e7b0 d nfs_sops=0A=
ffffffff8038e7f0 D nfs_rpcstat=0A=
ffffffff8038e818 d nfs_version=0A=
ffffffff8038e828 D nfs_program=0A=
ffffffff8038e83c d nfs_fs_type=0A=
ffffffff8038e860 D nfs_file_operations=0A=
ffffffff8038e8a8 D nfs_file_inode_operations=0A=
ffffffff8038e8e8 D nfs_file_aops=0A=
ffffffff8038e910 D nfs_wreq_lock=0A=
ffffffff8038e914 d nfs_nr_requests=0A=
ffffffff8038e920 D nfs_dir_operations=0A=
ffffffff8038e968 D nfs_dir_inode_operations=0A=
ffffffff8038e9a8 D nfs_dentry_operations=0A=
ffffffff8038e9c0 D nfs_symlink_inode_operations=0A=
ffffffff8038ea00 D nfs_v2_clientops=0A=
ffffffff8038ea60 d nfs_errtbl=0A=
ffffffff8038eb50 d nfs_procedures=0A=
ffffffff8038ecb8 D nfs_version2=0A=
ffffffff8038ecd0 d flushd_queue=0A=
ffffffff8038ece0 d nfs_delete_queue=0A=
ffffffff8038ecf0 D nfs_v3_clientops=0A=
ffffffff8038ed50 d nfs_type2fmt=0A=
ffffffff8038ed98 d nfs3_procedures=0A=
ffffffff8038ef50 D nfs_version3=0A=
ffffffff8038ef60 d nlm_cookie=0A=
ffffffff8038ef70 d nlm_host_sema=0A=
ffffffff8038ef90 d nlmsvc_sema=0A=
ffffffff8038efa8 d lockd_start=0A=
ffffffff8038efc0 d lockd_exit=0A=
ffffffff8038efcc D nlm_timeout=0A=
ffffffff8038efd0 d warned.907=0A=
ffffffff8038efd4 d warned.911=0A=
ffffffff8038efd8 d nlmsvc_version1=0A=
ffffffff8038efe8 d nlmsvc_version3=0A=
ffffffff8038eff8 d nlmsvc_version4=0A=
ffffffff8038f008 d nlmsvc_version=0A=
ffffffff8038f01c D nlmsvc_program=0A=
ffffffff8038f038 D nlmsvc_ops=0A=
ffffffff8038f03c D nlmsvc_grace_period=0A=
ffffffff8038f040 D nlmsvc_timeout=0A=
ffffffff8038f044 D nlm_grace_period=0A=
ffffffff8038f050 D nlmsvc_procedures=0A=
ffffffff8038f370 d nlm_file_sema=0A=
ffffffff8038f390 d nsm_procedures=0A=
ffffffff8038f41c d nsm_version1=0A=
ffffffff8038f428 d nsm_version=0A=
ffffffff8038f430 D nsm_program=0A=
ffffffff8038f444 D nsm_local_state=0A=
ffffffff8038f450 d nlm_procedures=0A=
ffffffff8038f630 d nlm_version1=0A=
ffffffff8038f63c d nlm_version3=0A=
ffffffff8038f648 d nlm_versions=0A=
ffffffff8038f65c D nlm_program=0A=
ffffffff8038f670 d nlm4_procedures=0A=
ffffffff8038f850 D nlm_version4=0A=
ffffffff8038f860 D nlmsvc_procedures4=0A=
ffffffff8038fb80 d bits_mips=0A=
ffffffff8038fba0 D deflate_copyright=0A=
ffffffff8038fbd8 d configuration_table=0A=
ffffffff8038fc50 d my_version.33=0A=
ffffffff8038fc54 d extra_lbits=0A=
ffffffff8038fcc8 d extra_dbits=0A=
ffffffff8038fd40 d extra_blbits=0A=
ffffffff8038fd8c d bl_order=0A=
ffffffff8038fda0 d static_l_desc=0A=
ffffffff8038fdb4 d static_d_desc=0A=
ffffffff8038fdc8 d static_bl_desc=0A=
ffffffff8038fddc d static_init_done.85=0A=
ffffffff8038fde0 D inflate_copyright=0A=
ffffffff8038fe10 d fixed_built=0A=
ffffffff8038fe14 D inflate_mask=0A=
ffffffff8038fe58 D z_errmsg=0A=
ffffffff8038fe80 D jffs2_dir_operations=0A=
ffffffff8038fec8 D jffs2_dir_inode_operations=0A=
ffffffff8038ff10 D jffs2_file_operations=0A=
ffffffff8038ff58 D jffs2_file_inode_operations=0A=
ffffffff8038ff98 D jffs2_file_address_operations=0A=
ffffffff8038ffc0 d mdata_ver.849=0A=
ffffffff8038ffd0 D adiDbg=0A=
ffffffff8038ffd4 d jffs2_super_operations=0A=
ffffffff80390014 d jffs2_fs_type=0A=
ffffffff80390030 D jffs2_symlink_inode_operations=0A=
ffffffff80390070 d marker.876=0A=
ffffffff80390080 D lx4189Stats=0A=
ffffffff803900e0 D fpuemuprivate=0A=
ffffffff80390100 D ieee754_csr=0A=
ffffffff80390110 d first.603=0A=
ffffffff80390120 d defaultHandler=0A=
ffffffff80390140 d remoteDebugInitialized=0A=
ffffffff80390144 D ad6489_console=0A=
ffffffff80390170 D ad6489_pci_ops=0A=
ffffffff80390188 D pcibios_fixups=0A=
ffffffff803901a0 d mem_fops=0A=
ffffffff803901e8 d kmem_fops=0A=
ffffffff80390230 d null_fops=0A=
ffffffff80390278 d port_fops=0A=
ffffffff803902c0 d zero_fops=0A=
ffffffff80390308 d full_fops=0A=
ffffffff80390350 d memory_fops=0A=
ffffffff803903a0 d tty_fops=0A=
ffffffff803903e8 d hung_up_tty_fops=0A=
ffffffff80390430 d tty_sem=0A=
ffffffff80390448 d baud_table=0A=
ffffffff803904c4 d n_baud_table=0A=
ffffffff803904c8 D tty_std_termios=0A=
ffffffff803904f0 D redirect=0A=
ffffffff803904f4 D ldiscs=0A=
ffffffff803908f4 D tty_drivers=0A=
ffffffff80390900 D tty_ldisc_N_TTY=0A=
ffffffff80390940 d raw_fops=0A=
ffffffff80390988 d raw_ctl_fops=0A=
ffffffff803909d0 d misc_list=0A=
ffffffff803909e8 d misc_sem=0A=
ffffffff80390a00 d misc_fops=0A=
ffffffff80390a50 d random_read_wakeup_thresh=0A=
ffffffff80390a54 d random_write_wakeup_thresh=0A=
ffffffff80390a58 d poolinfo_table=0A=
ffffffff80390b18 d random_read_wait=0A=
ffffffff80390b24 d random_write_wait=0A=
ffffffff80390b30 D random_fops=0A=
ffffffff80390b78 D urandom_fops=0A=
ffffffff80390bc0 D random_table=0A=
ffffffff80390d00 d serial_version=0A=
ffffffff80390d04 d serial_revdate=0A=
ffffffff80390d08 d serial_name=0A=
ffffffff80390d0c d tq_serial=0A=
ffffffff80390d14 d uart_config=0A=
ffffffff80390dc8 d rs_table=0A=
ffffffff80393ec8 d tmp_buf_sem=0A=
ffffffff80393ee0 d timedia_single_port=0A=
ffffffff80393eec d timedia_dual_port=0A=
ffffffff80393f28 d timedia_quad_port=0A=
ffffffff80393f58 d timedia_eight_port=0A=
ffffffff80393f74 d timedia_data=0A=
ffffffff80393f9c d serial_pci_driver=0A=
ffffffff80393fc4 d info.1318=0A=
ffffffff80393fc8 d sercons=0A=
ffffffff80394000 D tq_disk=0A=
ffffffff80394008 D io_request_lock=0A=
ffffffff8039400c D read_ahead=0A=
ffffffff80394408 D blk_dev=0A=
ffffffff8039d774 D blk_size=0A=
ffffffff8039db70 D blksize_size=0A=
ffffffff8039df6c D hardsect_size=0A=
ffffffff8039e368 D max_readahead=0A=
ffffffff8039e764 D max_sectors=0A=
ffffffff8039eb60 D gendisk_head=0A=
ffffffff8039eb70 D rd_size=0A=
ffffffff8039eb74 D rd_blocksize=0A=
ffffffff8039eb78 D rd_prompt=0A=
ffffffff8039eb7c d ramdisk_aops=0A=
ffffffff8039eb98 d rd_bd_op=0A=
ffffffff8039ebac D rd_doload=0A=
ffffffff8039ebb0 D rd_image_start=0A=
ffffffff8039ebc0 D pipcCpe2Wpe=0A=
ffffffff8039ebc4 D pipcWpe2Cpe=0A=
ffffffff8039ebd0 d wpe_dev=0A=
ffffffff8039ed04 d eth1_dev=0A=
ffffffff8039ee38 d eth0_dev=0A=
ffffffff8039ef6c D loopback_dev=0A=
ffffffff8039f0a0 D dev_base=0A=
ffffffff8039f0a4 D dev_base_lock=0A=
ffffffff8039f0b0 D pci_root_buses=0A=
ffffffff8039f0b8 D pci_devices=0A=
ffffffff8039f0c0 d pci_drivers=0A=
ffffffff8039f0c8 d pci_compat_driver=0A=
ffffffff8039f0f0 d pci_lock=0A=
ffffffff8039f0f4 d pciNextMemAddr.1179=0A=
ffffffff8039f0f8 d pciNextIOAddr.1180=0A=
ffffffff8039f100 D pci_pci_problems=0A=
ffffffff8039f104 D isa_dma_bridge_buggy=0A=
ffffffff8039f110 d proc_bus_pci_operations=0A=
ffffffff8039f160 D chip_drvs_lock=0A=
ffffffff8039f164 d chip_drvs_list=0A=
ffffffff8039f170 d cfi_chipdrv=0A=
ffffffff8039f190 d cfi_amdstd_chipdrv=0A=
ffffffff8039f1a8 d z.1107=0A=
ffffffff8039f1ac d im_name=0A=
ffffffff8039f1c0 d ad6489_rg2_map=0A=
ffffffff8039f240 d ad6489_rg2_partitions=0A=
ffffffff8039f280 d ad6489_rg2_partitions2=0A=
ffffffff8039f290 d ad6489_notifier_block=0A=
ffffffff8039f2a0 d mtd_table_mutex=0A=
ffffffff8039f2b8 d mtd_notifiers=0A=
ffffffff8039f2c0 d mtd_partitions=0A=
ffffffff8039f2d0 d mtd_fops=0A=
ffffffff8039f320 d leaving=0A=
ffffffff8039f328 d thread_sem=0A=
ffffffff8039f340 d thr_wq=0A=
ffffffff8039f34c d mtd_fops=0A=
ffffffff8039f360 d socket_file_ops=0A=
ffffffff8039f3a8 d sockfs_ops=0A=
ffffffff8039f3e8 d sock_fs_type=0A=
ffffffff8039f404 d sockfs_dentry_operations=0A=
ffffffff8039f41c d nargs=0A=
ffffffff8039f440 D sysctl_wmem_max=0A=
ffffffff8039f444 D sysctl_rmem_max=0A=
ffffffff8039f448 D sysctl_wmem_default=0A=
ffffffff8039f44c D sysctl_rmem_default=0A=
ffffffff8039f450 D sysctl_optmem_max=0A=
ffffffff8039f454 D net_big_sklist_lock=0A=
ffffffff8039f460 D sysctl_hot_list_len=0A=
ffffffff8039f464 d count.1617=0A=
ffffffff8039f470 D core_table=0A=
ffffffff8039f6e0 D if_port_text=0A=
ffffffff8039f6fc d ptype_all=0A=
ffffffff8039f700 d netdev_chain=0A=
ffffffff8039f704 D netdev_nit=0A=
ffffffff8039f708 D netdev_max_backlog=0A=
ffffffff8039f70c D no_cong_thresh=0A=
ffffffff8039f710 D no_cong=0A=
ffffffff8039f714 D lo_cong=0A=
ffffffff8039f718 D mod_cong=0A=
ffffffff8039f71c d net_bh_lock.1476=0A=
ffffffff8039f720 d dev_boot_phase=0A=
ffffffff8039f740 D netdev_rx_stat=0A=
ffffffff8039f780 d dst_total=0A=
ffffffff8039f784 d dst_lock=0A=
ffffffff8039f788 d dst_gc_timer_inc=0A=
ffffffff8039f78c d dst_gc_timer=0A=
ffffffff8039f7a0 D dst_dev_notifier=0A=
ffffffff8039f7b0 d neigh_tbl_lock=0A=
ffffffff8039f7b4 D neigh_sysctl_template=0A=
ffffffff8039fc10 D rtnl_sem=0A=
ffffffff8039fc28 d link_rtnetlink_table=0A=
ffffffff8039fd28 D rtnetlink_dev_notifier=0A=
ffffffff8039fd34 D rtnl=0A=
ffffffff8039fd38 D rtnetlink_links=0A=
ffffffff8039fdc0 d net_rand_seed=0A=
ffffffff8039fdc4 D net_msg_cost=0A=
ffffffff8039fdc8 D net_msg_burst=0A=
ffffffff8039fdcc d ratelimit_lock.807=0A=
ffffffff8039fdd0 d toks.808=0A=
ffffffff8039fde0 D ether_table=0A=
ffffffff8039fe10 D e802_table=0A=
ffffffff8039fe40 D qdisc_tree_lock=0A=
ffffffff8039fe44 D noop_qdisc_ops=0A=
ffffffff8039fe88 D noop_qdisc=0A=
ffffffff8039fee8 D noqueue_qdisc_ops=0A=
ffffffff8039ff28 D noqueue_qdisc=0A=
ffffffff8039ff88 d pfifo_fast_ops=0A=
ffffffff8039ffe0 D ip_rt_min_delay=0A=
ffffffff8039ffe4 D ip_rt_max_delay=0A=
ffffffff8039ffe8 D ip_rt_gc_timeout=0A=
ffffffff8039ffec D ip_rt_gc_interval=0A=
ffffffff8039fff0 D ip_rt_gc_min_interval=0A=
ffffffff8039fff4 D ip_rt_redirect_number=0A=
ffffffff8039fff8 D ip_rt_redirect_load=0A=
ffffffff8039fffc D ip_rt_redirect_silence=0A=
ffffffff803a0000 D ip_rt_error_cost=0A=
ffffffff803a0004 D ip_rt_error_burst=0A=
ffffffff803a0008 D ip_rt_gc_elasticity=0A=
ffffffff803a000c D ip_rt_mtu_expires=0A=
ffffffff803a0010 D ip_rt_min_pmtu=0A=
ffffffff803a0014 D ip_rt_min_advmss=0A=
ffffffff803a0018 D ipv4_dst_ops=0A=
ffffffff803a0044 D ip_tos2prio=0A=
ffffffff803a0054 d rt_flush_lock=0A=
ffffffff803a0058 d expire.1669=0A=
ffffffff803a005c d rt_peer_lock.1679=0A=
ffffffff803a0060 d ip_fb_id_lock.1683=0A=
ffffffff803a0064 d mtu_plateau=0A=
ffffffff803a0078 D ipv4_route_table=0A=
ffffffff803a0390 D ip_rt_max_size=0A=
ffffffff803a0394 D rt_cache_stat=0A=
ffffffff803a03c0 D inet_peer_idlock=0A=
ffffffff803a03c4 d peer_fake_node=0A=
ffffffff803a03ec d peer_root=0A=
ffffffff803a03f0 d peer_pool_lock=0A=
ffffffff803a03f4 D inet_peer_threshold=0A=
ffffffff803a03f8 D inet_peer_minttl=0A=
ffffffff803a03fc D inet_peer_maxttl=0A=
ffffffff803a0400 D inet_peer_unused_tailp=0A=
ffffffff803a0404 D inet_peer_unused_lock=0A=
ffffffff803a0408 d peer_periodic_timer=0A=
ffffffff803a041c D inet_peer_gc_mintime=0A=
ffffffff803a0420 D inet_peer_gc_maxtime=0A=
ffffffff803a0424 D inet_peer_unused_head=0A=
ffffffff803a0430 d tcp_protocol=0A=
ffffffff803a0448 d udp_protocol=0A=
ffffffff803a0460 d icmp_protocol=0A=
ffffffff803a0478 D inet_protocol_base=0A=
ffffffff803a047c D inet_protos=0A=
ffffffff803a0500 D ip_statistics=0A=
ffffffff803a05c0 D sysctl_ipfrag_high_thresh=0A=
ffffffff803a05c4 D sysctl_ipfrag_low_thresh=0A=
ffffffff803a05c8 D sysctl_ipfrag_time=0A=
ffffffff803a05cc d ipfrag_lock=0A=
ffffffff803a05d0 D ip_frag_nqueues=0A=
ffffffff803a05d4 D ip_frag_mem=0A=
ffffffff803a05e0 D sysctl_ip_dynaddr=0A=
ffffffff803a05e4 D sysctl_ip_default_ttl=0A=
ffffffff803a05e8 d ip_packet_type=0A=
ffffffff803a0600 D ip_ra_lock=0A=
ffffffff803a0604 D ip_ra_chain=0A=
ffffffff803a0620 D sysctl_tcp_fin_timeout=0A=
ffffffff803a0624 D tcp_orphan_count=0A=
ffffffff803a0628 D sysctl_tcp_wmem=0A=
ffffffff803a0634 D sysctl_tcp_rmem=0A=
ffffffff803a0640 d new_state=0A=
ffffffff803a0650 D tcp_bucket_cachep=0A=
ffffffff803a0654 D tcp_timewait_cachep=0A=
ffffffff803a0658 D sysctl_tcp_mem=0A=
ffffffff803a0664 D tcp_memory_allocated=0A=
ffffffff803a0668 D tcp_sockets_allocated=0A=
ffffffff803a066c D tcp_memory_pressure=0A=
ffffffff803a0670 D tcp_openreq_cachep=0A=
ffffffff803a0680 D tcp_statistics=0A=
ffffffff803a0700 D sysctl_tcp_timestamps=0A=
ffffffff803a0704 D sysctl_tcp_window_scaling=0A=
ffffffff803a0708 D sysctl_tcp_sack=0A=
ffffffff803a070c D sysctl_tcp_fack=0A=
ffffffff803a0710 D sysctl_tcp_reordering=0A=
ffffffff803a0714 D sysctl_tcp_ecn=0A=
ffffffff803a0718 D sysctl_tcp_dsack=0A=
ffffffff803a071c D sysctl_tcp_app_win=0A=
ffffffff803a0720 D sysctl_tcp_adv_win_scale=0A=
ffffffff803a0724 D sysctl_tcp_stdurg=0A=
ffffffff803a0728 D sysctl_tcp_rfc1337=0A=
ffffffff803a072c D sysctl_tcp_max_orphans=0A=
ffffffff803a0730 D sysctl_tcp_retrans_collapse=0A=
ffffffff803a0740 D sysctl_tcp_syn_retries=0A=
ffffffff803a0744 D sysctl_tcp_synack_retries=0A=
ffffffff803a0748 D sysctl_tcp_keepalive_time=0A=
ffffffff803a074c D sysctl_tcp_keepalive_probes=0A=
ffffffff803a0750 D sysctl_tcp_keepalive_intvl=0A=
ffffffff803a0754 D sysctl_tcp_retries1=0A=
ffffffff803a0758 D sysctl_tcp_retries2=0A=
ffffffff803a075c D sysctl_tcp_orphan_retries=0A=
ffffffff803a0760 d tcp_socket=0A=
ffffffff803a0764 D sysctl_local_port_range=0A=
ffffffff803a076c D tcp_port_rover=0A=
ffffffff803a0770 D sysctl_max_syn_backlog=0A=
ffffffff803a0774 D or_ipv4=0A=
ffffffff803a0788 D ipv4_specific=0A=
ffffffff803a07b8 D tcp_prot=0A=
ffffffff803a0840 D sysctl_tcp_tw_recycle=0A=
ffffffff803a0844 D sysctl_tcp_max_tw_buckets=0A=
ffffffff803a0848 D sysctl_tcp_syncookies=0A=
ffffffff803a084c D sysctl_tcp_abort_on_overflow=0A=
ffffffff803a0850 D tcp_tw_count=0A=
ffffffff803a0854 d tcp_tw_death_row_slot=0A=
ffffffff803a0858 d tw_death_lock=0A=
ffffffff803a085c d tcp_tw_timer=0A=
ffffffff803a0870 d tcp_twcal_hand=0A=
ffffffff803a0874 d tcp_twcal_timer=0A=
ffffffff803a0890 D raw_v4_lock=0A=
ffffffff803a0894 D raw_prot=0A=
ffffffff803a0918 D raw_v4_htable=0A=
ffffffff803a09a0 D udp_hash_lock=0A=
ffffffff803a09a4 D udp_prot=0A=
ffffffff803a0a28 D udp_hash=0A=
ffffffff803a0c28 D udp_port_rover=0A=
ffffffff803a0c40 D udp_statistics=0A=
ffffffff803a0c80 d arp_generic_ops=0A=
ffffffff803a0ca0 d arp_hh_ops=0A=
ffffffff803a0cc0 d arp_direct_ops=0A=
ffffffff803a0ce0 D arp_broken_ops=0A=
ffffffff803a0d00 D arp_tbl=0A=
ffffffff803a0eb8 d arp_packet_type=0A=
ffffffff803a0ee0 D icmp_err_convert=0A=
ffffffff803a0f60 D sysctl_icmp_ratelimit=0A=
ffffffff803a0f64 D sysctl_icmp_ratemask=0A=
ffffffff803a0f68 D icmp_socket=0A=
ffffffff803a0f6c d icmp_xmit_holder=0A=
ffffffff803a0f70 d icmp_pointers=0A=
ffffffff803a10a0 D icmp_statistics=0A=
ffffffff803a11a0 D sysctl_icmp_echo_ignore_all=0A=
ffffffff803a11a4 D sysctl_icmp_echo_ignore_broadcasts=0A=
ffffffff803a11a8 D sysctl_icmp_ignore_bogus_error_responses=0A=
ffffffff803a11b0 D icmp_inode=0A=
ffffffff803a13a0 D ipv4_devconf=0A=
ffffffff803a13d8 d ipv4_devconf_dflt=0A=
ffffffff803a1410 D inetdev_lock=0A=
ffffffff803a1414 D ip_netdev_notifier=0A=
ffffffff803a1420 d inet_rtnetlink_table=0A=
ffffffff803a1520 d devinet_sysctl=0A=
ffffffff803a18ec D inet_ifa_count=0A=
ffffffff803a18f0 D inet_dev_count=0A=
ffffffff803a1900 D inet_stream_ops=0A=
ffffffff803a1944 D inet_dgram_ops=0A=
ffffffff803a1988 D inet_family_ops=0A=
ffffffff803a1998 d inetsw_array=0A=
ffffffff803a19f8 D inetsw=0A=
ffffffff803a1a60 D net_statistics=0A=
ffffffff803a1ca0 D sysctl_ip_nonlocal_bind=0A=
ffffffff803a1cc0 D sysctl_igmp_max_memberships=0A=
ffffffff803a1cd0 d tcp_retr1_max=0A=
ffffffff803a1cd4 d ip_local_port_range_min=0A=
ffffffff803a1cdc d ip_local_port_range_max=0A=
ffffffff803a1ce4 D ipv4_table=0A=
ffffffff803a257c D ipv4_config=0A=
ffffffff803a2590 D fib_inetaddr_notifier=0A=
ffffffff803a259c D fib_netdev_notifier=0A=
ffffffff803a25a8 D local_table=0A=
ffffffff803a25ac D main_table=0A=
ffffffff803a25b0 d fib_info_lock=0A=
ffffffff803a25b4 d fib_props=0A=
ffffffff803a261c d type2flags.1674=0A=
ffffffff803a264c D fib_info_cnt=0A=
ffffffff803a2650 d fib_hash_lock=0A=
ffffffff803a2654 d fn_hash_last_dflt=0A=
ffffffff803a2660 D sysctl_unix_max_dgram_qlen=0A=
ffffffff803a2664 D unix_table_lock=0A=
ffffffff803a2668 d unix_nr_socks=0A=
ffffffff803a266c d ordernum.1704=0A=
ffffffff803a2670 D unix_stream_ops=0A=
ffffffff803a26b4 D unix_dgram_ops=0A=
ffffffff803a26f8 D unix_family_ops=0A=
ffffffff803a2708 D unix_socket_table=0A=
ffffffff803a2b10 d gc_current=0A=
ffffffff803a2b14 D unix_tot_inflight=0A=
ffffffff803a2b18 d unix_gc_sem.1662=0A=
ffffffff803a2b30 D unix_table=0A=
ffffffff803a2b88 d unix_net_table=0A=
ffffffff803a2be0 d unix_root_table=0A=
ffffffff803a2c40 d nl_table_wait=0A=
ffffffff803a2c4c d nl_table_lock=0A=
ffffffff803a2c50 d nl_table_users=0A=
ffffffff803a2c54 d nl_emu_lock=0A=
ffffffff803a2c58 D netlink_ops=0A=
ffffffff803a2c9c D netlink_family_ops=0A=
ffffffff803a2cac D netlink_sock_nr=0A=
ffffffff803a2cb0 d netlink_fops=0A=
ffffffff803a2d00 d packet_sklist_lock=0A=
ffffffff803a2d04 D packet_ops_spkt=0A=
ffffffff803a2d48 D packet_ops=0A=
ffffffff803a2d8c d packet_family_ops=0A=
ffffffff803a2d9c d packet_netdev_notifier=0A=
ffffffff803a2da8 D packet_socks_nr=0A=
ffffffff803a2db0 d destroy_wait=0A=
ffffffff803a2dc0 D rpc_xprt_pending=0A=
ffffffff803a2dc8 d xid.1579=0A=
ffffffff803a2dd0 d schedq=0A=
ffffffff803a2dd8 d childq=0A=
ffffffff803a2de0 d delay_queue=0A=
ffffffff803a2de8 d rpciod_idle=0A=
ffffffff803a2df4 d rpciod_killer=0A=
ffffffff803a2e00 d rpciod_sema=0A=
ffffffff803a2e18 D rpc_queue_lock=0A=
ffffffff803a2e1c d rpc_sched_lock=0A=
ffffffff803a2e20 d rpciod_running=0A=
ffffffff803a2e40 d auth_flavors=0A=
ffffffff803a2e60 d rpc_credcache_lock=0A=
ffffffff803a2e70 D authnull_ops=0A=
ffffffff803a2e84 d null_credops=0A=
ffffffff803a2ea0 D authunix_ops=0A=
ffffffff803a2eb4 d unix_credops=0A=
ffffffff803a2ed0 d authtab=0A=
ffffffff803a2ef0 d pmap_lock=0A=
ffffffff803a2ef4 d pmap_procedures=0A=
ffffffff803a2f44 d pmap_version2=0A=
ffffffff803a2f50 d pmap_version=0A=
ffffffff803a2f5c D pmap_program=0A=
ffffffff803a2f70 d proc_net_rpc=0A=
ffffffff803a2f80 d debug_table=0A=
ffffffff803a305c d sunrpc_table=0A=
ffffffff803a30b4 D rpc_debug=0A=
ffffffff803a30b8 D nfs_debug=0A=
ffffffff803a30bc D nfsd_debug=0A=
ffffffff803a30c0 D nlm_debug=0A=
ffffffff803a30d0 D net_table=0A=
ffffffff803a31b0 D no_rtc_ops=0A=
ffffffff803a31c0 D errno=0A=
ffffffff803a31d0 D _ctype=0A=
ffffffff803a32d0 D ___strtok=0A=
ffffffff803a4000 A __bss_start=0A=
ffffffff803a4000 A _edata=0A=
ffffffff803a4000 A _fbss=0A=
ffffffff803a4000 b command_line=0A=
ffffffff803a4000 D __rd_end=0A=
ffffffff803a4000 D __rd_start=0A=
ffffffff803a4100 b timerhi=0A=
ffffffff803a4104 b timerlo=0A=
ffffffff803a4108 b last_rtc_update=0A=
ffffffff803a4110 b totalram_pages=0A=
ffffffff803a4120 b buf.618=0A=
ffffffff803a4520 b printk_buf.856=0A=
ffffffff803a4920 b log_buf=0A=
ffffffff803a8920 b log_start=0A=
ffffffff803a8924 b con_start=0A=
ffffffff803a8928 b log_end=0A=
ffffffff803a892c b logged_chars=0A=
ffffffff803a8930 b console_may_schedule=0A=
ffffffff803a8940 b kmalloc_failed=0A=
ffffffff803a8950 b bh_base=0A=
ffffffff803a89d0 b reserve.1015=0A=
ffffffff803a8a40 b minolduid=0A=
ffffffff803a8a50 b tv5=0A=
ffffffff803a8c58 b tv4=0A=
ffffffff803a8e60 b tv3=0A=
ffffffff803a9068 b tv2=0A=
ffffffff803a9270 b tv1=0A=
ffffffff803a9a74 b timer_jiffies=0A=
ffffffff803a9a80 b uid_cachep=0A=
ffffffff803a9a88 b uidhash_table=0A=
ffffffff803a9e90 b sigqueue_cachep=0A=
ffffffff803a9ea0 b reboot_notifier_list=0A=
ffffffff803a9eb0 b keventd_running=0A=
ffffffff803a9eb4 b keventd_task=0A=
ffffffff803a9eb8 b dummy_task=0A=
ffffffff803a9ed0 b contig_bootmem_data=0A=
ffffffff803a9ef0 b offslab_limit=0A=
ffffffff803a9ef8 b cache_chain_sem=0A=
ffffffff803a9f10 b buffer.594=0A=
ffffffff803a9f30 b buffer.598=0A=
ffffffff803a9f50 b chrdevs=0A=
ffffffff803aa750 b bh_hash_mask=0A=
ffffffff803aa754 b bh_hash_shift=0A=
ffffffff803aa758 b hash_table=0A=
ffffffff803aa760 b lru_list=0A=
ffffffff803aa770 b nr_buffers_type=0A=
ffffffff803aa780 b size_buffers_type=0A=
ffffffff803aa78c b unused_list=0A=
ffffffff803aa790 b nr_unused_buffer_heads=0A=
ffffffff803aa798 b free_list=0A=
ffffffff803aa7d0 b file_systems=0A=
ffffffff803aa7d4 b mount_hashtable=0A=
ffffffff803aa7d8 b hash_mask=0A=
ffffffff803aa7dc b hash_bits=0A=
ffffffff803aa7e0 b mnt_cache=0A=
ffffffff803aa7e8 b unnamed_dev_in_use=0A=
ffffffff803aa810 b buffer.1099=0A=
ffffffff803aa830 b bd_mnt=0A=
ffffffff803aa838 b bdev_hashtable=0A=
ffffffff803aaa38 b bdev_cachep=0A=
ffffffff803aaa40 b blkdevs=0A=
ffffffff803ab240 b cdev_hashtable=0A=
ffffffff803ab440 b cdev_cachep=0A=
ffffffff803ab450 b formats=0A=
ffffffff803ab460 b pipe_mnt=0A=
ffffffff803ab470 b fasync_cache=0A=
ffffffff803ab480 b filelock_cache=0A=
ffffffff803ab490 b dentry_cache=0A=
ffffffff803ab494 b d_hash_mask=0A=
ffffffff803ab498 b d_hash_shift=0A=
ffffffff803ab49c b dentry_hashtable=0A=
ffffffff803ab4a0 b empty_aops.942=0A=
ffffffff803ab4c0 b empty_iops.943=0A=
ffffffff803ab500 b empty_fops.944=0A=
ffffffff803ab548 b last_ino.948=0A=
ffffffff803ab54c b i_hash_mask=0A=
ffffffff803ab550 b i_hash_shift=0A=
ffffffff803ab554 b inode_hashtable=0A=
ffffffff803ab558 b inode_cachep=0A=
ffffffff803ab560 b unused_inodes_flush_task=0A=
ffffffff803ab580 b dn_cache=0A=
ffffffff803ab590 b proc_alloc_map=0A=
ffffffff803ab790 b proc_tty_ldisc=0A=
ffffffff803ab794 b proc_tty_driver=0A=
ffffffff803ab7a0 b p.1086=0A=
ffffffff803ab7b0 b current_minor=0A=
ffffffff803ab7c0 b error_buf=0A=
ffffffff803abbc0 b nfs_rdata_cachep=0A=
ffffffff803abbd0 b complain.1110=0A=
ffffffff803abbd4 b complain.1111=0A=
ffffffff803abbd8 b nfs_page_cachep=0A=
ffffffff803abbdc b nfs_wdata_cachep=0A=
ffffffff803abbe0 b sillycounter.1005=0A=
ffffffff803abbf0 b nfs_deletes=0A=
ffffffff803abc00 b buf.993=0A=
ffffffff803abc50 b nlm_blocked=0A=
ffffffff803abc60 b buf.954=0A=
ffffffff803abcb0 b buf.840=0A=
ffffffff803abd00 b nlm_hosts=0A=
ffffffff803abd80 b next_gc=0A=
ffffffff803abd84 b nrhosts=0A=
ffffffff803abd90 b buf.879=0A=
ffffffff803abde0 b nlmsvc_users=0A=
ffffffff803abde4 b nlmsvc_pid=0A=
ffffffff803abde8 b nlmsvc_stats=0A=
ffffffff803abe10 b buf.840=0A=
ffffffff803abe60 b nlm_blocked=0A=
ffffffff803abe70 b buf.840=0A=
ffffffff803abec0 b buf.840=0A=
ffffffff803abf10 b buf.840=0A=
ffffffff803abf60 b nlm_files=0A=
ffffffff803abfe0 b buf.840=0A=
ffffffff803ac000 A _gp=0A=
ffffffff803ac030 b nsm_stats=0A=
ffffffff803ac060 b buf.840=0A=
ffffffff803ac0b0 b nlm_stats=0A=
ffffffff803ac0e0 b buf.840=0A=
ffffffff803ac130 b buf.840=0A=
ffffffff803ac180 b buf.840=0A=
ffffffff803ac1d0 b static_ltree=0A=
ffffffff803ac650 b static_dtree=0A=
ffffffff803ac6c8 b dist_code=0A=
ffffffff803ac8c8 b length_code=0A=
ffffffff803ac9c8 b base_length=0A=
ffffffff803aca40 b base_dist=0A=
ffffffff803acab8 b fixed_mem=0A=
ffffffff803adb48 b fixed_bl=0A=
ffffffff803adb4c b fixed_bd=0A=
ffffffff803adb50 b fixed_tl=0A=
ffffffff803adb54 b fixed_td=0A=
ffffffff803adb60 b full_dnode_slab=0A=
ffffffff803adb64 b raw_dirent_slab=0A=
ffffffff803adb68 b raw_inode_slab=0A=
ffffffff803adb6c b tmp_dnode_info_slab=0A=
ffffffff803adb70 b raw_node_ref_slab=0A=
ffffffff803adb74 b node_frag_slab=0A=
ffffffff803adb78 b inode_cache_slab=0A=
ffffffff803adb80 b intHndlrs=0A=
ffffffff803adbd0 b info.993=0A=
ffffffff803adbe0 b filled_slots=0A=
ffffffff803adc00 b nr_warns.1217=0A=
ffffffff803adc08 b dev_tty_driver=0A=
ffffffff803adcc8 b dev_syscons_driver=0A=
ffffffff803add90 b raw_devices=0A=
ffffffff803b0590 b pty_driver=0A=
ffffffff803b0650 b pty_slave_driver=0A=
ffffffff803b0710 b pty_refcount=0A=
ffffffff803b0718 b pty_table=0A=
ffffffff803b0b18 b pty_termios=0A=
ffffffff803b0f18 b pty_termios_locked=0A=
ffffffff803b1318 b ttyp_table=0A=
ffffffff803b1718 b ttyp_termios=0A=
ffffffff803b1b18 b ttyp_termios_locked=0A=
ffffffff803b1f18 b pty_state=0A=
ffffffff803b2f20 b devfs_handle.987=0A=
ffffffff803b2f28 b misc_minors=0A=
ffffffff803b2f30 b last_scancode.1051=0A=
ffffffff803b2f34 b rekey_time.1130=0A=
ffffffff803b2f38 b count.1131=0A=
ffffffff803b2f40 b secret.1132=0A=
ffffffff803b2f70 b rekey_time.1136=0A=
ffffffff803b2f78 b secret.1137=0A=
ffffffff803b2fa8 b random_state=0A=
ffffffff803b2fac b sec_random_state=0A=
ffffffff803b2fb0 b batch_entropy_pool=0A=
ffffffff803b2fb4 b batch_entropy_credit=0A=
ffffffff803b2fb8 b batch_max=0A=
ffffffff803b2fbc b batch_head=0A=
ffffffff803b2fc0 b batch_tail=0A=
ffffffff803b2fc8 b batch_tqueue=0A=
ffffffff803b2fe0 b keyboard_timer_state=0A=
ffffffff803b2ff0 b mouse_timer_state=0A=
ffffffff803b3000 b extract_timer_state=0A=
ffffffff803b3010 b irq_timer_state=0A=
ffffffff803b3110 b blkdev_timer_state=0A=
ffffffff803b350c b sysctl_poolsize=0A=
ffffffff803b3510 b min_read_thresh=0A=
ffffffff803b3514 b max_read_thresh=0A=
ffffffff803b3518 b min_write_thresh=0A=
ffffffff803b351c b max_write_thresh=0A=
ffffffff803b3520 b sysctl_bootid=0A=
ffffffff803b3530 b last_strobe.1143=0A=
ffffffff803b3534 b info.1322=0A=
ffffffff803b3538 b info.1329=0A=
ffffffff803b3540 b serial_driver=0A=
ffffffff803b3600 b callout_driver=0A=
ffffffff803b36c0 b serial_refcount=0A=
ffffffff803b36c8 b serial_timer=0A=
ffffffff803b36e0 b IRQ_ports=0A=
ffffffff803b37e0 b IRQ_timeout=0A=
ffffffff803b38e0 b lsr_break_flag=0A=
ffffffff803b38e8 b serial_pci_board=0A=
ffffffff803b39e8 b serial_table=0A=
ffffffff803b3ae8 b serial_termios=0A=
ffffffff803b3be8 b serial_termios_locked=0A=
ffffffff803b3ce8 b tmp_buf=0A=
ffffffff803b3cf0 b async_sercons=0A=
ffffffff803b3db0 b request_cachep=0A=
ffffffff803b3db4 b queue_nr_requests=0A=
ffffffff803b3db8 b batch_requests=0A=
ffffffff803b3dc0 b ro_bits=0A=
ffffffff803b5da0 b gendisk_lock=0A=
ffffffff803b5db0 b queue_ID.1029=0A=
ffffffff803b5dc0 b rd_length=0A=
ffffffff803b5e00 b rd_hardsec=0A=
ffffffff803b5e40 b rd_blocksizes=0A=
ffffffff803b5e80 b rd_kbsize=0A=
ffffffff803b5ec0 b devfs_handle=0A=
ffffffff803b5ec8 b rd_bdev=0A=
ffffffff803b5f08 b inbuf=0A=
ffffffff803b5f0c b window=0A=
ffffffff803b5f10 b insize=0A=
ffffffff803b5f14 b inptr=0A=
ffffffff803b5f18 b outcnt=0A=
ffffffff803b5f1c b exit_code=0A=
ffffffff803b5f20 b bytes_out=0A=
ffffffff803b5f24 b crd_infp=0A=
ffffffff803b5f28 b crd_outfp=0A=
ffffffff803b5f2c b bb=0A=
ffffffff803b5f30 b bk=0A=
ffffffff803b5f34 b hufts=0A=
ffffffff803b5f38 b crc_32_tab=0A=
ffffffff803b6338 b crc=0A=
ffffffff803b6340 b ipcThreadTimer=0A=
ffffffff803b6360 b irqs=0A=
ffffffff803b6370 b proc_bus_pci_dir=0A=
ffffffff803b6380 b flash_mtdinfo=0A=
ffffffff803b6390 b mtd_table=0A=
ffffffff803b63d0 b proc_mtd=0A=
ffffffff803b63e0 b mtdblks=0A=
ffffffff803b6420 b mtdblks_lock=0A=
ffffffff803b6428 b mtd_sizes=0A=
ffffffff803b6468 b mtd_blksizes=0A=
ffffffff803b64b0 b warned.1743=0A=
ffffffff803b64b8 b net_families=0A=
ffffffff803b6538 b sock_mnt=0A=
ffffffff803b6540 b sk_cachep=0A=
ffffffff803b6550 b skbuff_head_cache=0A=
ffffffff803b6558 b skb_head_pool=0A=
ffffffff803b6580 b ifindex.1537=0A=
ffffffff803b6588 b ptype_base=0A=
ffffffff803b65c8 b dev_boot_setup=0A=
ffffffff803b66c8 b gifconf_list=0A=
ffffffff803b6750 b dst_garbage_list=0A=
ffffffff803b6754 b dst_gc_timer_expires=0A=
ffffffff803b6760 b neigh_glbl_allocs=0A=
ffffffff803b6764 b neigh_tables=0A=
ffffffff803b6770 b last_msg.809=0A=
ffffffff803b6774 b missed.810=0A=
ffffffff803b6780 b buff.1608=0A=
ffffffff803b67a0 b rover.1659=0A=
ffffffff803b67a4 b last_gc.1670=0A=
ffffffff803b67a8 b rover.1671=0A=
ffffffff803b67ac b equilibrium.1672=0A=
ffffffff803b67b0 b ip_fallback_id.1684=0A=
ffffffff803b67b4 b rt_deadline=0A=
ffffffff803b67b8 b rt_flush_timer=0A=
ffffffff803b67d0 b rt_periodic_timer=0A=
ffffffff803b67e4 b rt_hash_table=0A=
ffffffff803b67e8 b rt_hash_mask=0A=
ffffffff803b67ec b rt_hash_log=0A=
ffffffff803b67f0 b flush_delay=0A=
ffffffff803b6800 b peer_cachep=0A=
ffffffff803b6804 b peer_total=0A=
ffffffff803b6810 b ipq_hash=0A=
ffffffff803b6910 b warntime.1731=0A=
ffffffff803b6918 b tcp_inode=0A=
ffffffff803b6b00 b tcp_tw_death_row=0A=
ffffffff803b6b20 b tcp_twcal_jiffie=0A=
ffffffff803b6b28 b tcp_twcal_row=0A=
ffffffff803b6bb0 b complained.1383=0A=
ffffffff803b6bc0 b inetaddr_chain=0A=
ffffffff803b6bd0 b fib_info_list=0A=
ffffffff803b6be0 b fn_hash_kmem=0A=
ffffffff803b6be4 b fib_hash_zombies=0A=
ffffffff803b6bf0 b unix_sysctl_header=0A=
ffffffff803b6c00 b nl_table=0A=
ffffffff803b6c88 b netlink_kernel=0A=
ffffffff803b6d10 b open_map=0A=
ffffffff803b6d18 b netlink_user=0A=
ffffffff803b6d9c b devfs_handle=0A=
ffffffff803b6da0 b packet_sklist=0A=
ffffffff803b6db0 b dummy.1524=0A=
ffffffff803b6df0 b rpc_task_id=0A=
ffffffff803b6df4 b all_tasks=0A=
ffffffff803b6df8 b rpciod_users=0A=
ffffffff803b6dfc b rpciod_pid=0A=
ffffffff803b6e00 b rpc_inhibit=0A=
ffffffff803b6e08 b swap_buffer=0A=
ffffffff803b7e08 b swap_buffer_used=0A=
ffffffff803b7e10 b pmap_stats=0A=
ffffffff803b7e40 b sunrpc_table_header=0A=
ffffffff803b7e50 b called.978=0A=
ffffffff803b7e60 B _end=0A=

------=_NextPart_000_001A_01C3C0B1.D6D47CA0--


From phorton@bitbox.co.uk Fri Dec 12 10:45:16 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 10:45:17 +0000 (GMT)
Received: from no-dns-yet.demon.co.uk ([IPv6:::ffff:80.176.203.50]:64778 "EHLO
	pangolin.localnet") by linux-mips.org with ESMTP
	id <S8225351AbTLLKpQ>; Fri, 12 Dec 2003 10:45:16 +0000
Received: from spiral.localnet ([192.168.1.11] helo=bitbox.co.uk)
	by pangolin.localnet with esmtp (Exim 3.35 #1 (Debian))
	id 1AUknG-0002dl-00
	for <linux-mips@linux-mips.org>; Fri, 12 Dec 2003 10:45:10 +0000
Message-ID: <3FD99C34.9090001@bitbox.co.uk>
Date: Fri, 12 Dec 2003 10:45:08 +0000
From: Peter Horton <phorton@bitbox.co.uk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2 - area of problem
Content-Type: multipart/mixed;
 boundary="------------000506020601060002050408"
Return-Path: <phorton@bitbox.co.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3744
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: phorton@bitbox.co.uk
Precedence: bulk
X-list: linux-mips

This is a multi-part message in MIME format.
--------------000506020601060002050408
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

More info on the random segmentation faults and data corruption on my Qube2.

2.4.21 from CVS is the first kernel to exhibit the problem. I tracked it 
down to the cache handling changes that went in between 2.4.20 and 2.4.21.

By (not very scientifically) removing flush_dcache_page() and 
re-instating flush_page_to_ram() I managed to get the 2.4.21 kernel 
stable (see attached patch). Applying a similiar patch to 2.4.23 (CVS 
HEAD) allows me to run 2.4.23 too.

I don't know how to track the problem any further - the kernel's cache 
handling is a bit out of my league.

Anyone got a clue stick they can point me in the right direction with ?

P.







--------------000506020601060002050408
Content-Type: text/plain;
 name="cobalt-patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="cobalt-patch"

diff -urN linux-2.4.21-xxx/arch/mips/mm/c-r4k.c linux-2.4.21/arch/mips/mm/c-r4k.c
--- linux-2.4.21-xxx/arch/mips/mm/c-r4k.c	Thu Dec 11 20:20:28 2003
+++ linux-2.4.21/arch/mips/mm/c-r4k.c	Thu Dec 11 10:02:54 2003
@@ -1037,16 +1037,6 @@
 	return 1;
 }
 
-static void r4k_flush_page_to_ram_d16(struct page *page)
-{
-	blast_dcache16_page((unsigned long)page_address(page));
-}
-
-static void r4k_flush_page_to_ram_d32(struct page *page)
-{
-	blast_dcache32_page((unsigned long)page_address(page));
-}
-
 static void __init setup_noscache_funcs(void)
 {
 	unsigned int prid;
@@ -1059,7 +1049,6 @@
 			_clear_page = r4k_clear_page32_d16;
 		_copy_page = r4k_copy_page_d16;
 
-		_flush_page_to_ram = r4k_flush_page_to_ram_d16;
 		break;
 	case 32:
 		prid = read_c0_prid() & 0xfff0;
@@ -1076,8 +1065,6 @@
 				_clear_page = r4k_clear_page32_d32;
 			_copy_page = r4k_copy_page_d32;
 		}
-
-		_flush_page_to_ram = r4k_flush_page_to_ram_d32;
 		break;
 	}
 }
diff -urN linux-2.4.21-xxx/arch/mips/mm/cache.c linux-2.4.21/arch/mips/mm/cache.c
--- linux-2.4.21-xxx/arch/mips/mm/cache.c	Thu Dec 11 20:15:37 2003
+++ linux-2.4.21/arch/mips/mm/cache.c	Fri Jul 18 15:16:06 2003
@@ -20,8 +20,6 @@
 	return 0;
 }
 
-#if 0
-
 void flush_dcache_page(struct page *page)
 {
 	unsigned long addr;
@@ -67,5 +65,3 @@
 }
 
 EXPORT_SYMBOL(flush_dcache_page);
-
-#endif
diff -urN linux-2.4.21-xxx/arch/mips/mm/loadmmu.c linux-2.4.21/arch/mips/mm/loadmmu.c
--- linux-2.4.21-xxx/arch/mips/mm/loadmmu.c	Thu Dec 11 20:25:23 2003
+++ linux-2.4.21/arch/mips/mm/loadmmu.c	Thu Dec 11 10:02:54 2003
@@ -40,8 +40,6 @@
 void (*_flush_data_cache_page)(unsigned long addr);
 void (*_flush_icache_all)(void);
 
-void (*_flush_page_to_ram)(struct page * page);
-
 #ifdef CONFIG_NONCOHERENT_IO
 
 /* DMA cache operations. */
diff -urN linux-2.4.21-xxx/include/asm-mips/cacheflush.h linux-2.4.21/include/asm-mips/cacheflush.h
--- linux-2.4.21-xxx/include/asm-mips/cacheflush.h	Thu Dec 11 20:22:51 2003
+++ linux-2.4.21/include/asm-mips/cacheflush.h	Tue Apr  1 00:29:06 2003
@@ -46,16 +46,12 @@
 extern void (*_flush_icache_all)(void);
 extern void (*_flush_data_cache_page)(unsigned long addr);
 
-extern void (*_flush_page_to_ram)(struct page * page);
-
-#define flush_dcache_page(page)		do { } while(0)
-
 #define flush_cache_all()		_flush_cache_all()
 #define __flush_cache_all()		___flush_cache_all()
 #define flush_cache_mm(mm)		_flush_cache_mm(mm)
 #define flush_cache_range(mm,start,end)	_flush_cache_range(mm,start,end)
 #define flush_cache_page(vma,page)	_flush_cache_page(vma, page)
-#define flush_page_to_ram(page)		_flush_page_to_ram(page)
+#define flush_page_to_ram(page)		do { } while (0)
 
 #define flush_icache_range(start, end)	_flush_icache_range(start,end)
 #define flush_icache_user_range(vma, page, addr, len) \
diff -urN linux-2.4.21-xxx/include/asm-mips/pgtable.h linux-2.4.21/include/asm-mips/pgtable.h
--- linux-2.4.21-xxx/include/asm-mips/pgtable.h	Thu Dec 11 20:36:56 2003
+++ linux-2.4.21/include/asm-mips/pgtable.h	Thu Dec 11 10:04:27 2003
@@ -261,7 +261,7 @@
 	unsigned long address, pte_t pte)
 {
 	__update_tlb(vma, address, pte);
-//	__update_cache(vma, address, pte);
+	__update_cache(vma, address, pte);
 }
 
 /* Swap entries must have VALID and GLOBAL bits cleared. */

--------------000506020601060002050408--

From ralf@linux-mips.org Fri Dec 12 13:11:22 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 13:11:22 +0000 (GMT)
Received: from p508B5CF9.dip.t-dialin.net ([IPv6:::ffff:80.139.92.249]:17047
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225352AbTLLNLW>; Fri, 12 Dec 2003 13:11:22 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBCDBGoK008613;
	Fri, 12 Dec 2003 14:11:16 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBCDBEvo008610;
	Fri, 12 Dec 2003 14:11:14 +0100
Date: Fri, 12 Dec 2003 14:11:14 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: linux-mips@linux-mips.org
Subject: Re: compile error in __cmpxchg_u32
Message-ID: <20031212131114.GB7675@linux-mips.org>
References: <20031210130916.555732f4.yuasa@hh.iij4u.or.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031210130916.555732f4.yuasa@hh.iij4u.or.jp>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3745
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Wed, Dec 10, 2003 at 01:09:16PM +0900, Yoichi Yuasa wrote:

> I made patch. Is this patch right?

Yes, applied.

  Ralf

From lethal@linux-sh.org Fri Dec 12 15:19:25 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 15:19:26 +0000 (GMT)
Received: from smtp.golden.net ([IPv6:::ffff:199.166.210.31]:47111 "EHLO
	newsmtp.golden.net") by linux-mips.org with ESMTP
	id <S8225352AbTLLPTZ>; Fri, 12 Dec 2003 15:19:25 +0000
Received: from as53-01-51.cas-ham.golden.net ([216.208.82.51] helo=unusual.internal.linux-sh.org)
	by newsmtp.golden.net with esmtp (Exim 4.22)
	id 1AUp4W-000LrZ-N1; Fri, 12 Dec 2003 10:19:17 -0500
Received: by unusual.internal.linux-sh.org (Postfix, from userid 500)
	id 4F7B2D7BF; Fri, 12 Dec 2003 10:19:14 -0500 (EST)
Date: Fri, 12 Dec 2003 10:19:14 -0500
From: Paul Mundt <lethal@linux-sh.org>
To: uClinux development list <uclinux-dev@uclinux.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Steven J. Hill" <sjhill@realitydiluted.com>,
	mips <linux-mips@linux-mips.org>
Subject: Re: [uClinux-dev] Re: Network problem in mips
Message-ID: <20031212151914.GA21619@linux-sh.org>
Mail-Followup-To: Paul Mundt <lethal@linux-sh.org>,
	uClinux development list <uclinux-dev@uclinux.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Steven J. Hill" <sjhill@realitydiluted.com>,
	mips <linux-mips@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com> <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk> <20031211233058.GB20373@linux-mips.org>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="EVF5PPMfhYS0aIcm"
Content-Disposition: inline
In-Reply-To: <20031211233058.GB20373@linux-mips.org>
User-Agent: Mutt/1.4.1i
Return-Path: <lethal@linux-sh.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3746
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: lethal@linux-sh.org
Precedence: bulk
X-list: linux-mips


--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 12, 2003 at 12:30:58AM +0100, Ralf Baechle wrote:
> > Seems a little out of order. Not everyone immediately understands you
> > need the ksyms to interpret a trace
>=20
> Guess that should be mentioned in the FAQ - anybody got a pointer to a
> little how to for writing useful bug reports?
>=20
What's wrong with the top-level REPORTING-BUGS? This specifically mentions
the need for oops tracing with pointers to relevant documentation prior to
posting the report.


--EVF5PPMfhYS0aIcm
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/2dxy1K+teJFxZ9wRAmNeAKCE1gI7UyWpvm/QoXmtUsAfBjawLACdGE01
EWhVkp8vy6JYybmo4czCUXI=
=DXkF
-----END PGP SIGNATURE-----

--EVF5PPMfhYS0aIcm--

From sjhill@realitydiluted.com Fri Dec 12 17:42:53 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 17:42:54 +0000 (GMT)
Received: from real.realitydiluted.com ([IPv6:::ffff:208.242.241.164]:50831
	"EHLO real.realitydiluted.com") by linux-mips.org with ESMTP
	id <S8225352AbTLLRmx>; Fri, 12 Dec 2003 17:42:53 +0000
Received: from localhost ([127.0.0.1] helo=realitydiluted.com)
	by real.realitydiluted.com with esmtp (Exim 3.36 #1 (Debian))
	id 1AUrJM-000202-00; Fri, 12 Dec 2003 11:42:44 -0600
Message-ID: <3FD9FE11.3060501@realitydiluted.com>
Date: Fri, 12 Dec 2003 12:42:41 -0500
From: "Steven J. Hill" <sjhill@realitydiluted.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3
X-Accept-Language: en
MIME-Version: 1.0
To: durai <durai@isofttech.com>
CC: mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com> <001d01c3c083$be226600$0a05a8c0@DURAI>
In-Reply-To: <001d01c3c083$be226600$0a05a8c0@DURAI>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <sjhill@realitydiluted.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3747
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sjhill@realitydiluted.com
Precedence: bulk
X-list: linux-mips

durai wrote:
>
> Sorry for the incomplete information.
> My OS is uCLinux (linux kernel 2.4.10) . Whenever I start a high transfer
> through the wireless interface the system crashes, sometimes it hangs
> without any messages in the console. Here is the oops message.
>
No problem. You have a thick skin :). Let's take a look at things.

[SNIP]
> epc  : 80f930c1
> Status: 3000fc00
> Cause : 00000010
>
What is the function at '0x80f930c1'? If the function is less than 20 lines,
go ahead a paste it in. If not, compile with debugging symbols, use GDB on
the kernel and do a 'dissassem 0x80f930c1' and show us the lines that way.

[SNIP]
> Code:Unaligned memory access at 8020b780, address 80f930b5, PID -2142680720
> ( )
> 
Well, you have an unaligned access, so hopefully we can see from the code
what you were trying to do. Looking forward to your reply.

-Steve


From alan@lxorguk.ukuu.org.uk Fri Dec 12 19:29:46 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 19:29:49 +0000 (GMT)
Received: from crosslink-village-512-1.bc.nu ([IPv6:::ffff:81.2.110.254]:8660
	"EHLO dhcp23.swansea.linux.org.uk") by linux-mips.org with ESMTP
	id <S8225326AbTLLT3q>; Fri, 12 Dec 2003 19:29:46 +0000
Received: from dhcp23.swansea.linux.org.uk (localhost.localdomain [127.0.0.1])
	by dhcp23.swansea.linux.org.uk (8.12.10/8.12.10) with ESMTP id hBCJPcPr021679;
	Fri, 12 Dec 2003 19:25:39 GMT
Received: (from alan@localhost)
	by dhcp23.swansea.linux.org.uk (8.12.10/8.12.10/Submit) id hBCJPabI021677;
	Fri, 12 Dec 2003 19:25:36 GMT
X-Authentication-Warning: dhcp23.swansea.linux.org.uk: alan set sender to alan@lxorguk.ukuu.org.uk using -f
Subject: Re: Network problem in mips
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: "Steven J. Hill" <sjhill@realitydiluted.com>,
	durai <durai@isofttech.com>,
	uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
In-Reply-To: <20031211233058.GB20373@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI>
	 <3FD88C4D.6010700@realitydiluted.com>
	 <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk>
	 <20031211233058.GB20373@linux-mips.org>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1071257134.21659.0.camel@dhcp23.swansea.linux.org.uk>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 (1.4.5-7) 
Date: Fri, 12 Dec 2003 19:25:36 +0000
Return-Path: <alan@lxorguk.ukuu.org.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3748
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: alan@lxorguk.ukuu.org.uk
Precedence: bulk
X-list: linux-mips

On Iau, 2003-12-11 at 23:30, Ralf Baechle wrote:
> Guess that should be mentioned in the FAQ - anybody got a pointer to a
> little how to for writing useful bug reports?

REPORTING-BUGS in the kernel tree


From michaelanburaj@hotmail.com Fri Dec 12 22:43:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 22:43:22 +0000 (GMT)
Received: from bay1-f40.bay1.hotmail.com ([IPv6:::ffff:65.54.245.40]:12 "EHLO
	hotmail.com") by linux-mips.org with ESMTP id <S8225371AbTLLWnV>;
	Fri, 12 Dec 2003 22:43:21 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Fri, 12 Dec 2003 14:43:08 -0800
Received: from 128.107.253.38 by by1fd.bay1.hotmail.msn.com with HTTP;
	Fri, 12 Dec 2003 22:43:08 GMT
X-Originating-IP: [128.107.253.38]
X-Originating-Email: [michaelanburaj@hotmail.com]
X-Sender: michaelanburaj@hotmail.com
From: "Michael Anburaj" <michaelanburaj@hotmail.com>
To: linux-mips@linux-mips.org
Subject: Chassis for MIPS Atlas board
Date: Fri, 12 Dec 2003 14:43:08 -0800
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <BAY1-F40m8TTmFKotxw0001310c@hotmail.com>
X-OriginalArrivalTime: 12 Dec 2003 22:43:08.0807 (UTC) FILETIME=[509C8970:01C3C101]
Return-Path: <michaelanburaj@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3749
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: michaelanburaj@hotmail.com
Precedence: bulk
X-list: linux-mips

Can you please suggest (name of) a chassis (or empty case) for my atlas 
board; either avaiable at Fry's or circuit city or compUSA or online. I need 
the front pannel of the Atlas board & the PCI card's back rail (802.11b 
card's antenna) sticking out of the chassis.

If not for Atlas board , give me a general idea about compactPCI 19" 
chassis.

Thanks a lot,
-Mike.

_________________________________________________________________
Browse styles for all ages, from the latest looks to cozy weekend wear at 
MSN Shopping.  And check out the beauty products! http://shopping.msn.com


From mdharm@momenco.com Fri Dec 12 22:58:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 22:58:30 +0000 (GMT)
Received: from jeeves.momenco.com ([IPv6:::ffff:64.169.228.99]:59910 "EHLO 
	host099.momenco.com") by linux-mips.org with ESMTP
	id <S8225371AbTLLW6V>; Fri, 12 Dec 2003 22:58:21 +0000
Received: from BULLDOG (natbox.momenco.com [64.169.228.98])
	by  host099.momenco.com (8.11.6/8.11.6) with ESMTP id hBCMwJ506780;
	Fri, 12 Dec 2003 14:58:19 -0800
From: "Matthew Dharm" <mdharm@momenco.com>
To: "'Michael Anburaj'" <michaelanburaj@hotmail.com>,
	<linux-mips@linux-mips.org>
Subject: RE: Chassis for MIPS Atlas board
Date: Fri, 12 Dec 2003 14:58:16 -0800
Organization: Momentum Computer, Inc.
Message-ID: <002701c3c103$6da6b390$7200a8c0@internal.momenco.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.4510
In-Reply-To: <BAY1-F40m8TTmFKotxw0001310c@hotmail.com>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Importance: Normal
Return-Path: <mdharm@momenco.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3750
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mdharm@momenco.com
Precedence: bulk
X-list: linux-mips

For cPCI chassis, try One Stop Systems (www.onestopsystems.com).  You're not
going to find anything cheap in the cPCI world, BTW.

Matt

--
Matthew D. Dharm                            Senior Software Designer
Momentum Computer Inc.                      1815 Aston Ave.  Suite 107
(760) 431-8663 X-115                        Carlsbad, CA 92008-7310
Momentum Works For You                      www.momenco.com


> -----Original Message-----
> From: linux-mips-bounce@linux-mips.org 
> [mailto:linux-mips-bounce@linux-mips.org] On Behalf Of Michael Anburaj
> Sent: Friday, December 12, 2003 2:43 PM
> To: linux-mips@linux-mips.org
> Subject: Chassis for MIPS Atlas board
> 
> 
> Can you please suggest (name of) a chassis (or empty case) 
> for my atlas 
> board; either avaiable at Fry's or circuit city or compUSA or 
> online. I need 
> the front pannel of the Atlas board & the PCI card's back 
> rail (802.11b 
> card's antenna) sticking out of the chassis.
> 
> If not for Atlas board , give me a general idea about compactPCI 19" 
> chassis.
> 
> Thanks a lot,
> -Mike.
> 
> _________________________________________________________________
> Browse styles for all ages, from the latest looks to cozy 
> weekend wear at 
> MSN Shopping.  And check out the beauty products! 
http://shopping.msn.com




From michaelanburaj@hotmail.com Fri Dec 12 23:03:36 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 12 Dec 2003 23:03:36 +0000 (GMT)
Received: from bay1-f80.bay1.hotmail.com ([IPv6:::ffff:65.54.245.80]:23056
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8225371AbTLLXDf>; Fri, 12 Dec 2003 23:03:35 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Fri, 12 Dec 2003 15:03:29 -0800
Received: from 128.107.253.38 by by1fd.bay1.hotmail.msn.com with HTTP;
	Fri, 12 Dec 2003 23:03:28 GMT
X-Originating-IP: [128.107.253.38]
X-Originating-Email: [michaelanburaj@hotmail.com]
X-Sender: michaelanburaj@hotmail.com
From: "Michael Anburaj" <michaelanburaj@hotmail.com>
To: linux-mips@linux-mips.org
Subject: Core cards for MIPS Atlas board
Date: Fri, 12 Dec 2003 15:03:28 -0800
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <BAY1-F80RCswdGamzLk000295bc@hotmail.com>
X-OriginalArrivalTime: 12 Dec 2003 23:03:29.0210 (UTC) FILETIME=[280741A0:01C3C104]
Return-Path: <michaelanburaj@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3751
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: michaelanburaj@hotmail.com
Precedence: bulk
X-list: linux-mips

Does anyone have a used or new MIPS Core card with a QED RM5261 or 5Kc 
CoreLV card for sale to go along with a Atlas board?

Thanks,
-Mike.

_________________________________________________________________
Don’t worry if your Inbox will max out while you are enjoying the holidays.  
Get MSN Extra Storage!  http://join.msn.com/?PAGE=features/es


From ralf@linux-mips.org Sat Dec 13 01:10:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 01:10:41 +0000 (GMT)
Received: from p508B5CF9.dip.t-dialin.net ([IPv6:::ffff:80.139.92.249]:63937
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225412AbTLMBKk>; Sat, 13 Dec 2003 01:10:40 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBD1AMoK023569;
	Sat, 13 Dec 2003 02:10:22 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBD1AH8h023568;
	Sat, 13 Dec 2003 02:10:17 +0100
Date: Sat, 13 Dec 2003 02:10:17 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Steven J. Hill" <sjhill@realitydiluted.com>,
	durai <durai@isofttech.com>,
	uclinux-dev <uclinux-dev@uclinux.org>,
	mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
Message-ID: <20031213011017.GB22448@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com> <1071184052.19738.12.camel@dhcp23.swansea.linux.org.uk> <20031211233058.GB20373@linux-mips.org> <Pine.LNX.4.55.0312120037480.23228@jurand.ds.pg.gda.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.55.0312120037480.23228@jurand.ds.pg.gda.pl>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3752
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, Dec 12, 2003 at 12:46:23AM +0100, Maciej W. Rozycki wrote:

> > > Seems a little out of order. Not everyone immediately understands you
> > > need the ksyms to interpret a trace
> > 
> > Guess that should be mentioned in the FAQ - anybody got a pointer to a
> > little how to for writing useful bug reports?
> 
>  Well, REPORTING-BUGS in the Linux source seems pretty good for a start.  
> README provides a few hints as well, although with a little bias towards
> i386.

Indeed.  So close I already forgot about this file's existence ...

I added a short section about bug reporting to the FAQ.  Less than perfect
but at least it's a start.

  Ralf

From ralf@linux-mips.org Sat Dec 13 02:49:05 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 02:49:06 +0000 (GMT)
Received: from p508B5CF9.dip.t-dialin.net ([IPv6:::ffff:80.139.92.249]:13768
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225426AbTLMCtF>; Sat, 13 Dec 2003 02:49:05 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBD2mxoK025548;
	Sat, 13 Dec 2003 03:48:59 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBD2mxOW025547;
	Sat, 13 Dec 2003 03:48:59 +0100
Date: Sat, 13 Dec 2003 03:48:59 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: durai <durai@isofttech.com>
Cc: mips <linux-mips@linux-mips.org>
Subject: Re: Network problem in mips
Message-ID: <20031213024859.GA22208@linux-mips.org>
References: <008f01c3bff7$252e3b40$0a05a8c0@DURAI> <3FD88C4D.6010700@realitydiluted.com> <001d01c3c083$be226600$0a05a8c0@DURAI>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <001d01c3c083$be226600$0a05a8c0@DURAI>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3753
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, Dec 12, 2003 at 01:14:14PM +0530, durai wrote:

> Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
> $0 : 00000000 a0000000 00097fff ffffffff 80fa228c ba000000 a0f40000 00000000
> $8 : 00000045 00000001 00ff0000 00ff0000 80fa228c 80f90738 00003b00 80fdd812
> $16: 80fa2000 80fe8221 80fe6010 00008da9 ff000000 00ff0000 80fa2000 a0f40000
> $24: 00000001 80494970                   8043a000 8043a118 80fa228c 80f930c1
                                           ^^^^^^^^^^^^^^^^^

$28 is the current pointer, $29 the stack pointer.

> epc  : 80f930c1
> Status: 3000fc00
> Cause : 00000010
> Process   (pid: -2142680720, stackpage=8043a000)

You've overflowed the stack to the point where the process structure got
overwritten. which also explains the nonsense pid value.  -2142680720 is
0x80494970 which is probably some valid kernel address.

Find what's consuming so much stack - you should only use a split fraction
of that.  The epc value also looks quite strange because it's lowest bit is
set - does your CPU support MIPS16?

  Ralf

From ralf@linux-mips.org Sat Dec 13 03:25:04 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 03:25:04 +0000 (GMT)
Received: from p508B5CF9.dip.t-dialin.net ([IPv6:::ffff:80.139.92.249]:17354
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225426AbTLMDZE>; Sat, 13 Dec 2003 03:25:04 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBD3P2oK026667;
	Sat, 13 Dec 2003 04:25:03 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBD3P1Lt026662;
	Sat, 13 Dec 2003 04:25:01 +0100
Date: Sat, 13 Dec 2003 04:24:59 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Vivien Chappelier <vivienc@nerim.net>
Cc: "Ilya A. Volynets-Evenbakh" <ilya@theIlya.com>, jsun@mvista.com,
	linux-mips@linux-mips.org
Subject: Re: [PATCH 2.6] PCI I/O region starting from zero is valid
Message-ID: <20031213032459.GE22448@linux-mips.org>
References: <Pine.LNX.4.21.0312130147150.24966-100000@melkor>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.21.0312130147150.24966-100000@melkor>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3754
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 01:54:27AM +0100, Vivien Chappelier wrote:

> 	PCI devices can have I/O mapped at a region starting from
> 0x0000. The O2 actually has one of its onboard SCSI controller here...
> This code looks like a incorrect copy/paste from the x86 code where this
> I/O range is used by legacy ISA.
> 
> --- arch/mips/pci/pci.c	2003-11-12 16:51:09.000000000 +0100
> +++ arch/mips/pci/pci.c	2003-12-13 00:57:56.000000000 +0100
> @@ -173,10 +173,6 @@
>  			continue;
>  
>  		r = &dev->resource[idx];
> -		if (!r->start && r->end) {
> -			printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
> -			return -EINVAL;
> -		}
>  		if (r->flags & IORESOURCE_IO)
>  			cmd |= PCI_COMMAND_IO;
>  		if (r->flags & IORESOURCE_MEM)
> 

I tend to agree with Vivien.  There's another unsolved problem with
pcibios_enable_device - how many resources should it enable?  Jun once
changed it to PCI_NUM_RESOURCES but that broke other systems though it
seems the logic thing to do ...

The code he wants to remove is just a safety check for PCs.  It doesn't
much sense on legacy-free systems and these days less and less MIPS
systems have legacy devices.

I forgot the details but maybe removing above lines will even permit
putting back the change Jun needed, will need to test.

  Ralf

From pdh@colonel-panic.org Sat Dec 13 11:41:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 11:41:50 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:7808 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225073AbTLMLlk>; Sat, 13 Dec 2003 11:41:40 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AV89O-0002Zp-00; Sat, 13 Dec 2003 11:41:34 +0000
Date: Sat, 13 Dec 2003 11:41:34 +0000
To: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Subject: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031213114134.GA9896@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3755
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

The current MIPS 2.4 kernel (from CVS) currently allows fixed shared
mappings to violate D-cache aliasing constraints.

The check for illegal fixed mappings is done in
arch_get_unmapped_area(), but these mappings are granted in
get_unmapped_area() and arch_get_unmapped_area() is never called.

A quick look at sparc and sparc64 seem to show the same problem.

P.

From geert@linux-m68k.org Sat Dec 13 12:16:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 12:16:02 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:20376 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225072AbTLMMQB>;
	Sat, 13 Dec 2003 12:16:01 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBDCFRQG011009;
	Sat, 13 Dec 2003 13:15:27 +0100 (MET)
Date: Sat, 13 Dec 2003 13:15:28 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Ralf Baechle <ralf@linux-mips.org>
cc: Vivien Chappelier <vivienc@nerim.net>,
	"Ilya A. Volynets-Evenbakh" <ilya@theIlya.com>, jsun@mvista.com,
	Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: [PATCH 2.6] PCI I/O region starting from zero is valid
In-Reply-To: <20031213032459.GE22448@linux-mips.org>
Message-ID: <Pine.GSO.4.58.0312131312440.16545@waterleaf.sonytel.be>
References: <Pine.LNX.4.21.0312130147150.24966-100000@melkor>
 <20031213032459.GE22448@linux-mips.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <geert@linux-m68k.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3756
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Sat, 13 Dec 2003, Ralf Baechle wrote:
> On Sat, Dec 13, 2003 at 01:54:27AM +0100, Vivien Chappelier wrote:
> > 	PCI devices can have I/O mapped at a region starting from
> > 0x0000. The O2 actually has one of its onboard SCSI controller here...
> > This code looks like a incorrect copy/paste from the x86 code where this
> > I/O range is used by legacy ISA.
> >
> > --- arch/mips/pci/pci.c	2003-11-12 16:51:09.000000000 +0100
> > +++ arch/mips/pci/pci.c	2003-12-13 00:57:56.000000000 +0100
> > @@ -173,10 +173,6 @@
> >  			continue;
> >
> >  		r = &dev->resource[idx];
> > -		if (!r->start && r->end) {
> > -			printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
> > -			return -EINVAL;
> > -		}
> >  		if (r->flags & IORESOURCE_IO)
> >  			cmd |= PCI_COMMAND_IO;
> >  		if (r->flags & IORESOURCE_MEM)
>
> I tend to agree with Vivien.  There's another unsolved problem with
> pcibios_enable_device - how many resources should it enable?  Jun once
> changed it to PCI_NUM_RESOURCES but that broke other systems though it
> seems the logic thing to do ...

IMHO it should enable all resources, and you should add quirks for devices that
can't live with it.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

From ralf@linux-mips.org Sat Dec 13 13:06:05 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 13:06:06 +0000 (GMT)
Received: from p508B6CC5.dip.t-dialin.net ([IPv6:::ffff:80.139.108.197]:41707
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225309AbTLMNGF>; Sat, 13 Dec 2003 13:06:05 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBDD63oK011433;
	Sat, 13 Dec 2003 14:06:03 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBDD625S011432;
	Sat, 13 Dec 2003 14:06:02 +0100
Date: Sat, 13 Dec 2003 14:06:02 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
Cc: nick@snowman.net
Subject: Recently, on a uniprocessor Origin 200 ...
Message-ID: <20031213130602.GA10478@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3757
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

[...]
Walking SCSI Adapter 0 (/hw/module/1/slot/MotherBoard), (pci id 0)
1+ 2- 3- 4- 5- 6- 7- 8- 9- 10- 11- 12- 13- 14- 15- = 1 device(s)

Walking SCSI Adapter 1 (/hw/module/1/slot/MotherBoard), (pci id 1)
1- 2- 3- 4- 5- 6+ 7- = 1 device(s)
Initializing PROM Device drivers ..........             DONE
Checking hardware inventory ...............              DONE

**** System Configuration and Diagnostics Summary ****
CONFIG:
         No. of NODEs enabled    = 1
         No. of NODEs disabled   = 0
         No. of CPUs enabled     = 1
         No. of CPUs disabled    = 0
         Mem enabled             = 128 MB
         Mem disabled            = 0 MB
         No. of RTRs enabled     = 0
         No. of RTRs disabled    = 0

DIAG RESULTS:
         NO DIAGS WERE RUN!
**** End System Configuration and Diagnostics Summary ****


System Maintenance Menu

1) Start System
2) Install System Software
3) Run Diagnostics
4) Recover System
5) Enter Command Monitor

Option? 5
Command Monitor.  Type "exit" to return to the menu.
>> boot():
Setting $netaddr to 172.16.1.31 (from server 172.16.1.1)
Obtaining  from server 172.16.1.1
2094496+422528+331877+132363 entry: 0xa800000000284020
Linux version 2.6.0-test11 (ralf@dea.linux-mips.net) (gcc version 2.95.4 20010319 (prerelease)) #22 Thu Dec 11 19:34:54 CET 2003
ARCH: SGI-IP27
PROMLIB: ARC firmware Version 64 Revision 0
Discovered 1 cpus on 1 nodes
node_distance: router_a NULL
************** Topology ********************
    00 
00  -1 
Total memory probed : 0x8000 pages
CPU revision is: 00000926
FPU revision is: 00000900
IP27: Running on node 0.
Node 0 has a primary CPU, CPU is running.
Node 0 has no secondary CPU.
Machine is in M mode.
Cpu 0, Nasid 0x0, pcibr_setup(): found partnum= 0xc002...is bridge
CPU 0 clock is 65535MHz.

[ ... am I the champion of overclocking or not :-) ]

Determined physical RAM map:
On node 0 totalpages: 32768
  DMA zone: 32768 pages, LIFO batch:8
  Normal zone: 0 pages, LIFO batch:1
  HighMem zone: 0 pages, LIFO batch:1
Building zonelist for node : 0
Kernel command line: root=dksc(0,1,0)
Primary instruction cache 32kB, physically tagged, 2-way, linesize 64 bytes.
Primary data cache 32kB 2-way, linesize 32 bytes.
Unified secondary cache 1024kB 2-way, linesize 128 bytes.
PID hash table entries: 16 (order 4: 256 bytes)
Memory: 125280k/0k available (1779k kernel code, 0k reserved, 681k data, 328k init, 0k highmem)
Calibrating delay loop... 130.81 BogoMIPS
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount-cache hash table entries: 256 (order: 0, 4096 bytes)
Checking for 'wait' instruction...  unavailable.
Checking for the multiply/shift bug... no.
Checking for the daddi bug... no.
Checking for the daddiu bug... no.
POSIX conformance testing by UNIFIX
NET: Registered protocol family 16
Can't analyze prologue code at ffffffff80052c80
SCSI subsystem initialized
PCI: Fixing isp1020 in bus:slot.fn 0000:00:00.0
PCI: Fixing isp1020 in bus:slot.fn 0000:00:01.0
PCI: Fixing base addresses for IOC3 device 0000:00:02.0
PCI: Fixing base addresses for IOC3 device 0000:00:05.0
ikconfig 0.7 with /proc/config*
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.09b
Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
ttyS12 at MMIO 0x0 (irq = 0) is a 16550A
Found DS1981U NIC registration number c7:0f:03:00:70:5e, CRC de.
Ethernet address is 04:00:69:05:7e:68.
eth0: Using PHY 31, vendor 0x20005c0, model 0, rev 1.
eth0: IOC3 SSRAM has 128 kbyte.
Found DS1981U NIC registration number 58:cf:01:00:70:5e, CRC 6e.
Ethernet address is 08:00:69:05:48:1e.
eth1: Using PHY 31, vendor 0x20005c0, model 0, rev 1.
eth1: IOC3 SSRAM has 128 kbyte.
qlogicisp : new isp1020 revision ID (5)
qlogicisp : new isp1020 revision ID (5)
scsi0 : QLogic ISP1020 SCSI on PCI bus 00 device 00 irq 4 I/O base 0x8200000
Using anticipatory io scheduler
  Vendor: IBM       Model: DNES-318350Y      Rev: SAH0
  Type:   Direct-Access                      ANSI SCSI revision: 03
eth0: Link is up at 100Mb/s, Full Duplex.
scsi1 : QLogic ISP1020 SCSI on PCI bus 00 device 08 irq 5 I/O base 0x8400000
eth1: Link is up at 100Mb/s, Full Duplex.
  Vendor: TOSHIBA   Model: CD-ROM XM-5701TA  Rev: 0167
  Type:   CD-ROM                             ANSI SCSI revision: 02
st: Version 20030811, fixed bufsize 32768, s/g segs 256
SCSI device sda: 35843670 512-byte hdwr sectors (18352 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4
Attached scsi disk sda at scsi0, channel 0, id 1, lun 0
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 8Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "dksc(0,1,0)" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on unknown-block(2,0)

(And there really is nothing on the disk, so that is 100% success ...)

  Ralf 

From ralf@linux-mips.org Sat Dec 13 16:05:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 16:05:45 +0000 (GMT)
Received: from p508B6CC5.dip.t-dialin.net ([IPv6:::ffff:80.139.108.197]:51591
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225432AbTLMQFo>; Sat, 13 Dec 2003 16:05:44 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBDG5boK020431;
	Sat, 13 Dec 2003 17:05:37 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBDG5a89020430;
	Sat, 13 Dec 2003 17:05:36 +0100
Date: Sat, 13 Dec 2003 17:05:36 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Peter Horton <pdh@colonel-panic.org>
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031213160536.GA13271@linux-mips.org>
References: <20031213114134.GA9896@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031213114134.GA9896@skeleton-jack>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3758
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 11:41:34AM +0000, Peter Horton wrote:

> The current MIPS 2.4 kernel (from CVS) currently allows fixed shared
> mappings to violate D-cache aliasing constraints.
> 
> The check for illegal fixed mappings is done in
> arch_get_unmapped_area(), but these mappings are granted in
> get_unmapped_area() and arch_get_unmapped_area() is never called.
> 
> A quick look at sparc and sparc64 seem to show the same problem.

Ehh...  <asm/pgtable.h> defines HAVE_ARCH_UNMAPPED_AREA therefore
get_unmapped_area calls the arch's version of arch_get_unmapped_area
instead of the generic version in mm/mmap.c

  Ralf

From ralf@linux-mips.org Sat Dec 13 17:07:59 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 17:07:59 +0000 (GMT)
Received: from p508B6CC5.dip.t-dialin.net ([IPv6:::ffff:80.139.108.197]:20107
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225432AbTLMRH7>; Sat, 13 Dec 2003 17:07:59 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBDH7uoK021596;
	Sat, 13 Dec 2003 18:07:56 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBDH7pnk021595;
	Sat, 13 Dec 2003 18:07:51 +0100
Date: Sat, 13 Dec 2003 18:07:51 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Peter Horton <phorton@bitbox.co.uk>
Cc: linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2 - area of problem
Message-ID: <20031213170751.GB13271@linux-mips.org>
References: <3FD99C34.9090001@bitbox.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3FD99C34.9090001@bitbox.co.uk>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3759
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, Dec 12, 2003 at 10:45:08AM +0000, Peter Horton wrote:

> More info on the random segmentation faults and data corruption on my Qube2.
> 
> 2.4.21 from CVS is the first kernel to exhibit the problem. I tracked it 
> down to the cache handling changes that went in between 2.4.20 and 2.4.21.
> 
> By (not very scientifically) removing flush_dcache_page() and 
> re-instating flush_page_to_ram() I managed to get the 2.4.21 kernel 
> stable (see attached patch). Applying a similiar patch to 2.4.23 (CVS 
> HEAD) allows me to run 2.4.23 too.
> 
> I don't know how to track the problem any further - the kernel's cache 
> handling is a bit out of my league.
> 
> Anyone got a clue stick they can point me in the right direction with ?

Can you put a printk into c-r4k.c and print the value of the
shm_align_mask variable?  I want to make sure it's got a sane value on
your box.  Also the first few lines of your bootup messages with the
processor and cache stuff would be useful.

  Ralf

From pdh@colonel-panic.org Sat Dec 13 18:08:35 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 18:08:36 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:3968 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225432AbTLMSIf>; Sat, 13 Dec 2003 18:08:35 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AVEBo-0001IO-00; Sat, 13 Dec 2003 18:08:28 +0000
Date: Sat, 13 Dec 2003 18:08:28 +0000
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Peter Horton <pdh@colonel-panic.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031213180828.GA480@skeleton-jack>
References: <20031213114134.GA9896@skeleton-jack> <20031213160536.GA13271@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031213160536.GA13271@linux-mips.org>
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3760
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 05:05:36PM +0100, Ralf Baechle wrote:
> On Sat, Dec 13, 2003 at 11:41:34AM +0000, Peter Horton wrote:
> 
> > The current MIPS 2.4 kernel (from CVS) currently allows fixed shared
> > mappings to violate D-cache aliasing constraints.
> > 
> > The check for illegal fixed mappings is done in
> > arch_get_unmapped_area(), but these mappings are granted in
> > get_unmapped_area() and arch_get_unmapped_area() is never called.
> > 
> > A quick look at sparc and sparc64 seem to show the same problem.
> 
> Ehh...  <asm/pgtable.h> defines HAVE_ARCH_UNMAPPED_AREA therefore
> get_unmapped_area calls the arch's version of arch_get_unmapped_area
> instead of the generic version in mm/mmap.c
> 

arch_get_unmapped_area() never get called because get_unmapped_area()
notices the MAP_FIXED flag and returns success.

In the example below the second mmap() should fail because it violates
the shm_align_mask.

P.

pdh@qube2:~$ uname -a
Linux qube2 2.4.23 #2 Sat Dec 13 18:03:10 GMT 2003 mips unknown
pdh@qube2:~$ ./shared
0xdeadbeef 0
pdh@qube2:~$ cat shared.c
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/user.h>

int main(int argc, char *argv[])
{
        static char zero;
        void *p1, *p2;
        int fd;

        fd = open("/tmp/test.shared", O_CREAT|O_RDWR|O_TRUNC, 0664);
        if(fd == -1)
                return 1;
        unlink("/tmp/test.shared");

        lseek(fd, PAGE_SIZE - 1, SEEK_SET);
        if(write(fd, &zero, 1) != 1)
                return 1;

        p1 = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, 0);
        if(p1 == MAP_FAILED)
                return 1;

        p2 = mmap(p1 + PAGE_SIZE, PAGE_SIZE, PROT_WRITE, MAP_SHARED|MAP_FIXED, fd, 0);
        if(p2 == MAP_FAILED || p2 - p1 != PAGE_SIZE)
                return 1;

        *(int *) p2 = 0xdeadbeef;

        printf("%#x %#x\n", *(int *) p2, *(int *) p1);

        return 0;
}
pdh@qube2:~$

From pdh@colonel-panic.org Sat Dec 13 18:21:28 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 18:21:29 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:5504 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225432AbTLMSV2>; Sat, 13 Dec 2003 18:21:28 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AVENo-0001Ud-00; Sat, 13 Dec 2003 18:20:52 +0000
Date: Sat, 13 Dec 2003 18:20:52 +0000
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Peter Horton <phorton@bitbox.co.uk>, linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2 - area of problem
Message-ID: <20031213182052.GB480@skeleton-jack>
References: <3FD99C34.9090001@bitbox.co.uk> <20031213170751.GB13271@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031213170751.GB13271@linux-mips.org>
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3761
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 06:07:51PM +0100, Ralf Baechle wrote:
> On Fri, Dec 12, 2003 at 10:45:08AM +0000, Peter Horton wrote:
> 
> > More info on the random segmentation faults and data corruption on my Qube2.
> > 
> > 2.4.21 from CVS is the first kernel to exhibit the problem. I tracked it 
> > down to the cache handling changes that went in between 2.4.20 and 2.4.21.
> > 
> > By (not very scientifically) removing flush_dcache_page() and 
> > re-instating flush_page_to_ram() I managed to get the 2.4.21 kernel 
> > stable (see attached patch). Applying a similiar patch to 2.4.23 (CVS 
> > HEAD) allows me to run 2.4.23 too.
> > 
> > I don't know how to track the problem any further - the kernel's cache 
> > handling is a bit out of my league.
> > 
> > Anyone got a clue stick they can point me in the right direction with ?
> 
> Can you put a printk into c-r4k.c and print the value of the
> shm_align_mask variable?  I want to make sure it's got a sane value on
> your box.  Also the first few lines of your bootup messages with the
> processor and cache stuff would be useful.
> 

See below. All the cache settings and the shm_align_mask look fine
according to the RM5231 data sheet I have here.

At the moment the only change I make from the linux_2_4 HEAD kernel is
to update include/asm-mips/cacheflush.h so:

-#define flush_page_to_ram(page)	do { } while(0)
+#define flush_page_to_ram(page)	flush_dcache_page(page)

This single change gives me a rock solid kernel, so it masks the problem
somehow.

P.

CPU revision is: 000028a0
FPU revision is: 000028a0
D-cache:
  size    32768
  linesz  32
  sets    512
  ways    2
  waysize 16384
  waybit  14
I-cache:
  size    32768
  linesz  32
  sets    512
  ways    2
  waysize 16384
  waybit  14
Primary instruction cache 32kB, physically tagged, 2-way, linesize 32 bytes.
Primary data cache 32kB 2-way, linesize 32 bytes.
shm_align_mask 0x3fff
Linux version 2.4.23 (pdh@skeleton-jack) (gcc version 2.95.4 20011002 (Debian prerelease)) #6 Sat Dec 13 18:13:09 GMT 2003
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,115200 ide1=noprobe root=/dev/hda2 
ide_setup: ide1=noprobe
Calibrating delay loop... 249.03 BogoMIPS
Memory: 30380k/32768k available (1147k kernel code, 2388k reserved, 168k data, 100k init, 0k highmem)
...

From pdh@colonel-panic.org Sat Dec 13 18:38:38 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 18:38:39 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:8576 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225439AbTLMSii>; Sat, 13 Dec 2003 18:38:38 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AVEeu-0003Er-00; Sat, 13 Dec 2003 18:38:32 +0000
Date: Sat, 13 Dec 2003 18:38:32 +0000
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Peter Horton <phorton@bitbox.co.uk>, linux-mips@linux-mips.org
Subject: Re: Kernel 2.4.23 on Cobalt Qube2 - area of problem
Message-ID: <20031213183832.GA12439@skeleton-jack>
References: <3FD99C34.9090001@bitbox.co.uk> <20031213170751.GB13271@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031213170751.GB13271@linux-mips.org>
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3762
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 06:07:51PM +0100, Ralf Baechle wrote:
> On Fri, Dec 12, 2003 at 10:45:08AM +0000, Peter Horton wrote:
> 
> > More info on the random segmentation faults and data corruption on my Qube2.
> > 
> > 2.4.21 from CVS is the first kernel to exhibit the problem. I tracked it 
> > down to the cache handling changes that went in between 2.4.20 and 2.4.21.
> > 
> > By (not very scientifically) removing flush_dcache_page() and 
> > re-instating flush_page_to_ram() I managed to get the 2.4.21 kernel 
> > stable (see attached patch). Applying a similiar patch to 2.4.23 (CVS 
> > HEAD) allows me to run 2.4.23 too.
> > 
> > I don't know how to track the problem any further - the kernel's cache 
> > handling is a bit out of my league.
> > 
> > Anyone got a clue stick they can point me in the right direction with ?
> 
> Can you put a printk into c-r4k.c and print the value of the
> shm_align_mask variable?  I want to make sure it's got a sane value on
> your box.  Also the first few lines of your bootup messages with the
> processor and cache stuff would be useful.
> 

I've just tried changing pages_do_alias() to always return non-zero. The
resulting kernel is still unstable - segmentation faults when loading
shared libraries, signal 11 when compiling etc.

P.

From jamie@shareable.org Sat Dec 13 22:27:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 13 Dec 2003 22:27:14 +0000 (GMT)
Received: from mail.jlokier.co.uk ([IPv6:::ffff:81.29.64.88]:60547 "EHLO
	mail.shareable.org") by linux-mips.org with ESMTP
	id <S8225439AbTLMW1L>; Sat, 13 Dec 2003 22:27:11 +0000
Received: from mail.shareable.org (localhost [127.0.0.1])
	by mail.shareable.org (8.12.8/8.12.8) with ESMTP id hBDMQQcT020351;
	Sat, 13 Dec 2003 22:26:26 GMT
Received: (from jamie@localhost)
	by mail.shareable.org (8.12.8/8.12.8/Submit) id hBDMQQmH020349;
	Sat, 13 Dec 2003 22:26:26 GMT
Date: Sat, 13 Dec 2003 22:26:26 +0000
From: Jamie Lokier <jamie@shareable.org>
To: Peter Horton <pdh@colonel-panic.org>
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031213222626.GA20153@mail.shareable.org>
References: <20031213114134.GA9896@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031213114134.GA9896@skeleton-jack>
User-Agent: Mutt/1.4.1i
Return-Path: <jamie@shareable.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3763
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jamie@shareable.org
Precedence: bulk
X-list: linux-mips

Peter Horton wrote:
> A quick look at sparc and sparc64 seem to show the same problem.

D-cache incoherence with unsuitably aligned multiple MAP_FIXED
mappings is also observed on SH4, SH5, PA-RISC 1.1d.  The kernel may
have the same behaviour on those platforms: allowing a mapping that
should not be allowed.

On some ARM and m68k boxes, incoherence is observed independent of
alignment, for multiple mappings of a page in the same user memory
space.

-- Jamie


From torvalds@osdl.org Sun Dec 14 01:41:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 01:41:41 +0000 (GMT)
Received: from fw.osdl.org ([IPv6:::ffff:65.172.181.6]:42148 "EHLO
	mail.osdl.org") by linux-mips.org with ESMTP id <S8225446AbTLNBlk>;
	Sun, 14 Dec 2003 01:41:40 +0000
Received: from localhost (build.pdx.osdl.net [172.20.1.2])
	by mail.osdl.org (8.11.6/8.11.6) with ESMTP id hBE1fHZ29076;
	Sat, 13 Dec 2003 17:41:19 -0800
Date: Sat, 13 Dec 2003 17:41:16 -0800 (PST)
From: Linus Torvalds <torvalds@osdl.org>
To: Jamie Lokier <jamie@shareable.org>
cc: Peter Horton <pdh@colonel-panic.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
In-Reply-To: <20031213222626.GA20153@mail.shareable.org>
Message-ID: <Pine.LNX.4.58.0312131740120.14336@home.osdl.org>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <torvalds@osdl.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3764
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: torvalds@osdl.org
Precedence: bulk
X-list: linux-mips



On Sat, 13 Dec 2003, Jamie Lokier wrote:
>
> Peter Horton wrote:
> > A quick look at sparc and sparc64 seem to show the same problem.
>
> D-cache incoherence with unsuitably aligned multiple MAP_FIXED
> mappings is also observed on SH4, SH5, PA-RISC 1.1d.  The kernel may
> have the same behaviour on those platforms: allowing a mapping that
> should not be allowed.

Why?

If the user asks for it, it's the users own damn fault. Nobody guarantees
cache coherency to users who require fixed addresses.

Just document it as a bug in the user program if this causes problems.
Don't blame the kernel - the kernel is only doing what the user asked it
to do.

		Linus

From jamie@shareable.org Sun Dec 14 04:20:58 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 04:20:59 +0000 (GMT)
Received: from mail.jlokier.co.uk ([IPv6:::ffff:81.29.64.88]:2436 "EHLO
	mail.shareable.org") by linux-mips.org with ESMTP
	id <S8225304AbTLNEU6>; Sun, 14 Dec 2003 04:20:58 +0000
Received: from mail.shareable.org (localhost [127.0.0.1])
	by mail.shareable.org (8.12.8/8.12.8) with ESMTP id hBE4KMcT021572;
	Sun, 14 Dec 2003 04:20:22 GMT
Received: (from jamie@localhost)
	by mail.shareable.org (8.12.8/8.12.8/Submit) id hBE4KMpv021570;
	Sun, 14 Dec 2003 04:20:22 GMT
Date: Sun, 14 Dec 2003 04:20:22 +0000
From: Jamie Lokier <jamie@shareable.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Peter Horton <pdh@colonel-panic.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031214042022.GA21241@mail.shareable.org>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org> <Pine.LNX.4.58.0312131740120.14336@home.osdl.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.58.0312131740120.14336@home.osdl.org>
User-Agent: Mutt/1.4.1i
Return-Path: <jamie@shareable.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3765
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jamie@shareable.org
Precedence: bulk
X-list: linux-mips

Linus Torvalds wrote:
> > D-cache incoherence with unsuitably aligned multiple MAP_FIXED
> > mappings is also observed on SH4, SH5, PA-RISC 1.1d.  The kernel may
> > have the same behaviour on those platforms: allowing a mapping that
> > should not be allowed.
> 
> Why?
> 
> If the user asks for it, it's the users own damn fault. Nobody guarantees
> cache coherency to users who require fixed addresses.

I agree, the users asks for it and in rare cases it's even useful.

If that's your view, then several architectures have code in
arch_get_unmapped_base which tests MAP_FIXED - but that function isn't
called in the MAP_FIXED case any more.  The attached patch removes
those branches.  Trivial, but untested.

(It would be nice to be able to query the kernel to learn what mapping
alignment, if any, can be used to avoid aliasing problems though.
Something like "SHMLBA: 16k" or "SHMLBA: none" in /proc/cpuinfo and
whatever other interfaces present CPU info.  On some architectures the
value depends on the CPU model, determined at run time.  On some
architectures, there isn't a value).

-- Jamie

Patch: irq_idle-2.6.0-test4-01jl
Summary: Remove unused MAP_FIXED branches from arch_get_unmapped_area

Several architectures have code in arch_get_unmapped_base which tests
MAP_FIXED - but that function isn't called in the MAP_FIXED case any more.

For example, this code in arch/sparc/kernel/sys_sparc.c is quite typical:

        if (flags & MAP_FIXED) {
                /* We do not accept a shared mapping if it would violate
                 * cache aliasing constraints.
                 */
                if ((flags & MAP_SHARED) && (addr & (SHMLBA - 1)))
                        return -EINVAL;
                return addr;
        }

The function containing that test isn't called with MAP_FIXED these
days, so it's redundant and misleading.  This patch removes those tests
from all the arch_get_unmapped_area functions which have them.


diff -urN --exclude-from=dontdiff orig-2.6.0-test11/arch/mips/kernel/syscall.c mapalign-2.6.0-test11/arch/mips/kernel/syscall.c
--- orig-2.6.0-test11/arch/mips/kernel/syscall.c	2003-09-02 20:49:13.000000000 +0100
+++ mapalign-2.6.0-test11/arch/mips/kernel/syscall.c	2003-12-14 04:08:10.000000000 +0000
@@ -63,16 +63,6 @@
 	struct vm_area_struct * vmm;
 	int do_color_align;
 
-	if (flags & MAP_FIXED) {
-		/*
-		 * We do not accept a shared mapping if it would violate
-		 * cache aliasing constraints.
-		 */
-		if ((flags & MAP_SHARED) && (addr & shm_align_mask))
-			return -EINVAL;
-		return addr;
-	}
-
 	if (len > TASK_SIZE)
 		return -ENOMEM;
 	do_color_align = 0;
diff -urN --exclude-from=dontdiff orig-2.6.0-test11/arch/sh/kernel/sys_sh.c mapalign-2.6.0-test11/arch/sh/kernel/sys_sh.c
--- orig-2.6.0-test11/arch/sh/kernel/sys_sh.c	2003-07-08 21:55:03.000000000 +0100
+++ mapalign-2.6.0-test11/arch/sh/kernel/sys_sh.c	2003-12-14 04:07:20.000000000 +0000
@@ -54,15 +54,6 @@
 {
 	struct vm_area_struct *vma;
 
-	if (flags & MAP_FIXED) {
-		/* We do not accept a shared mapping if it would violate
-		 * cache aliasing constraints.
-		 */
-		if ((flags & MAP_SHARED) && (addr & (SHMLBA - 1)))
-			return -EINVAL;
-		return addr;
-	}
-
 	if (len > TASK_SIZE)
 		return -ENOMEM;
 	if (!addr)
diff -urN --exclude-from=dontdiff orig-2.6.0-test11/arch/sparc/kernel/sys_sparc.c mapalign-2.6.0-test11/arch/sparc/kernel/sys_sparc.c
--- orig-2.6.0-test11/arch/sparc/kernel/sys_sparc.c	2003-08-27 22:55:57.000000000 +0100
+++ mapalign-2.6.0-test11/arch/sparc/kernel/sys_sparc.c	2003-12-14 04:06:33.000000000 +0000
@@ -40,15 +40,6 @@
 {
 	struct vm_area_struct * vmm;
 
-	if (flags & MAP_FIXED) {
-		/* We do not accept a shared mapping if it would violate
-		 * cache aliasing constraints.
-		 */
-		if ((flags & MAP_SHARED) && (addr & (SHMLBA - 1)))
-			return -EINVAL;
-		return addr;
-	}
-
 	/* See asm-sparc/uaccess.h */
 	if (len > TASK_SIZE - PAGE_SIZE)
 		return -ENOMEM;
diff -urN --exclude-from=dontdiff orig-2.6.0-test11/arch/sparc64/kernel/sys_sparc.c mapalign-2.6.0-test11/arch/sparc64/kernel/sys_sparc.c
--- orig-2.6.0-test11/arch/sparc64/kernel/sys_sparc.c	2003-08-27 22:55:57.000000000 +0100
+++ mapalign-2.6.0-test11/arch/sparc64/kernel/sys_sparc.c	2003-12-14 04:06:46.000000000 +0000
@@ -52,15 +52,6 @@
 	unsigned long start_addr;
 	int do_color_align;
 
-	if (flags & MAP_FIXED) {
-		/* We do not accept a shared mapping if it would violate
-		 * cache aliasing constraints.
-		 */
-		if ((flags & MAP_SHARED) && (addr & (SHMLBA - 1)))
-			return -EINVAL;
-		return addr;
-	}
-
 	if (test_thread_flag(TIF_32BIT))
 		task_size = 0xf0000000UL;
 	if (len > task_size || len > -PAGE_OFFSET)


From pdh@colonel-panic.org Sun Dec 14 10:38:18 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 10:38:19 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:3200 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225310AbTLNKiS>; Sun, 14 Dec 2003 10:38:18 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AVTdT-0000F3-00; Sun, 14 Dec 2003 10:38:03 +0000
Date: Sun, 14 Dec 2003 10:38:03 +0000
To: Linus Torvalds <torvalds@osdl.org>
Cc: Jamie Lokier <jamie@shareable.org>,
	Peter Horton <pdh@colonel-panic.org>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031214103803.GA916@skeleton-jack>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org> <Pine.LNX.4.58.0312131740120.14336@home.osdl.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.58.0312131740120.14336@home.osdl.org>
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3766
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 13, 2003 at 05:41:16PM -0800, Linus Torvalds wrote:
> 
> On Sat, 13 Dec 2003, Jamie Lokier wrote:
> >
> > Peter Horton wrote:
> > > A quick look at sparc and sparc64 seem to show the same problem.
> >
> > D-cache incoherence with unsuitably aligned multiple MAP_FIXED
> > mappings is also observed on SH4, SH5, PA-RISC 1.1d.  The kernel may
> > have the same behaviour on those platforms: allowing a mapping that
> > should not be allowed.
> 
> Why?
> 
> If the user asks for it, it's the users own damn fault. Nobody guarantees
> cache coherency to users who require fixed addresses.
> 
> Just document it as a bug in the user program if this causes problems.
> Don't blame the kernel - the kernel is only doing what the user asked it
> to do.
> 

I've seen code written for X86 use MAP_FIXED to create self wrapping
ring buffers. Surely it's better to fail the mmap() on other archs
rather than for the code to fail in unexpected ways?

It's a bug either way ... either the test should be fixed up or it
should be removed from arch_get_unmapped_area() to save confusion.

P.

From geert@linux-m68k.org Sun Dec 14 11:37:06 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 11:37:07 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:5096 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225310AbTLNLhG>;
	Sun, 14 Dec 2003 11:37:06 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBEBb2QG021237;
	Sun, 14 Dec 2003 12:37:02 +0100 (MET)
Date: Sun, 14 Dec 2003 12:37:03 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Ralf Baechle <ralf@linux-mips.org>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>,
	nick@snowman.net
Subject: Re: Recently, on a uniprocessor Origin 200 ...
In-Reply-To: <20031213130602.GA10478@linux-mips.org>
Message-ID: <Pine.GSO.4.58.0312141235510.16795@waterleaf.sonytel.be>
References: <20031213130602.GA10478@linux-mips.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <geert@linux-m68k.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3767
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Sat, 13 Dec 2003, Ralf Baechle wrote:
> CPU 0 clock is 65535MHz.
>
> [ ... am I the champion of overclocking or not :-) ]
>
> Calibrating delay loop... 130.81 BogoMIPS

Ugh, I don't want a CPU that needs 500 cycles for a decrement and a conditional
branch...

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

From jamie@shareable.org Sun Dec 14 17:17:14 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 17:17:23 +0000 (GMT)
Received: from mail.jlokier.co.uk ([IPv6:::ffff:81.29.64.88]:21124 "EHLO
	mail.shareable.org") by linux-mips.org with ESMTP
	id <S8225451AbTLNRRO>; Sun, 14 Dec 2003 17:17:14 +0000
Received: from mail.shareable.org (localhost [127.0.0.1])
	by mail.shareable.org (8.12.8/8.12.8) with ESMTP id hBEHGccT028987;
	Sun, 14 Dec 2003 17:16:38 GMT
Received: (from jamie@localhost)
	by mail.shareable.org (8.12.8/8.12.8/Submit) id hBEHGbjB028985;
	Sun, 14 Dec 2003 17:16:37 GMT
Date: Sun, 14 Dec 2003 17:16:37 +0000
From: Jamie Lokier <jamie@shareable.org>
To: Peter Horton <pdh@colonel-panic.org>
Cc: Linus Torvalds <torvalds@osdl.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031214171637.GA28923@mail.shareable.org>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org> <Pine.LNX.4.58.0312131740120.14336@home.osdl.org> <20031214103803.GA916@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031214103803.GA916@skeleton-jack>
User-Agent: Mutt/1.4.1i
Return-Path: <jamie@shareable.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3768
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jamie@shareable.org
Precedence: bulk
X-list: linux-mips

Peter Horton wrote:
> I've seen code written for X86 use MAP_FIXED to create self wrapping
> ring buffers. Surely it's better to fail the mmap() on other archs
> rather than for the code to fail in unexpected ways?

Such code should test the buffers or just not create ring buffers on
architectures it doesn't know about.  (You can usually simulate them
by copying data).  On some architectures there is _no_ alignment which
works, and even on x86 aligning aliases to 32k results in faster
memory accesses on some chips (AMD ones).

Also, sometimes a self wrapping ring buffer can work even when the
separation isn't coherent, provided the code using it forces cache
line flushes at the appropriate points.

-- Jamie

From drew@wiley.org.uk Sun Dec 14 17:44:08 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 17:44:08 +0000 (GMT)
Received: from carr.34sp.com ([IPv6:::ffff:217.163.9.206]:43789 "HELO
	carr.34sp.com") by linux-mips.org with SMTP id <S8225451AbTLNRoI>;
	Sun, 14 Dec 2003 17:44:08 +0000
Received: (qmail 41858 invoked by uid 2526); 14 Dec 2003 17:44:06 -0000
Received: from 217.42.242.183 ( [217.42.242.183])
	as user drew@localhost by webmail.wiley.org.uk with HTTP;
	Sun, 14 Dec 2003 17:44:06 +0000
Message-ID: <1071423846.3fdca16698373@webmail.wiley.org.uk>
Date: Sun, 14 Dec 2003 17:44:06 +0000
From: drew@wiley.org.uk
To: linux-mips@linux-mips.org
Subject: o2 linux 
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.1
X-Originating-IP: 217.42.242.183
Return-Path: <drew@wiley.org.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3769
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: drew@wiley.org.uk
Precedence: bulk
X-list: linux-mips




> Hi, ive just got my hands on an o2 running iris 6.xx something!  I 
> want to get
> linux on it but its only a stand alone machine, from what i can see all the 
> installations that you have on the site require networks.
> 
> Is there an easy way i.i download an image, burn the disk ans stick it 
> in my 02
> and get it to work :)
> 
> im not much of a linux/unix/iris guru like some of you guys so i may 
> need
> plenty of help.
> 
> Could you point me in the right direction of nstructions for stand 
> alones
> installations.
Thanks

Drew

From nick@snowman.net Sun Dec 14 17:53:29 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 17:53:29 +0000 (GMT)
Received: from snowman.net ([IPv6:::ffff:66.93.83.236]:33035 "EHLO
	relay.snowman.net") by linux-mips.org with ESMTP
	id <S8225451AbTLNRx3>; Sun, 14 Dec 2003 17:53:29 +0000
Received: from ns.snowman.net (ns.snowman.net [10.10.0.2])
	by relay.snowman.net (8.12.10/8.12.10/Debian-1) with ESMTP id hBEHrNtg014220;
	Sun, 14 Dec 2003 12:53:23 -0500
Received: from ns.snowman.net (localhost [127.0.0.1])
	by ns.snowman.net (8.12.10/8.12.10/Debian-5) with ESMTP id hBEHrMjY008250;
	Sun, 14 Dec 2003 12:53:22 -0500
Received: from localhost (nick@localhost)
	by ns.snowman.net (8.12.10/8.12.10/Debian-5) with ESMTP id hBEHrMdG008246;
	Sun, 14 Dec 2003 12:53:22 -0500
X-Authentication-Warning: ns.snowman.net: nick owned process doing -bs
Date: Sun, 14 Dec 2003 12:53:22 -0500 (EST)
From: Nick <nick@snowman.net>
To: drew@wiley.org.uk
cc: linux-mips@linux-mips.org
Subject: Re: o2 linux 
In-Reply-To: <1071423846.3fdca16698373@webmail.wiley.org.uk>
Message-ID: <Pine.LNX.4.21.0312141252380.25369-100000@ns.snowman.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <nick@snowman.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3770
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: nick@snowman.net
Precedence: bulk
X-list: linux-mips

Linux for the o2 is not ready for regular users yet.  If you want to help
out join #mipslinux on freenode, otherwise pass on it for now.
	Nick

On Sun, 14 Dec 2003 drew@wiley.org.uk wrote:

> 
> 
> 
> > Hi, ive just got my hands on an o2 running iris 6.xx something!  I 
> > want to get
> > linux on it but its only a stand alone machine, from what i can see all the 
> > installations that you have on the site require networks.
> > 
> > Is there an easy way i.i download an image, burn the disk ans stick it 
> > in my 02
> > and get it to work :)
> > 
> > im not much of a linux/unix/iris guru like some of you guys so i may 
> > need
> > plenty of help.
> > 
> > Could you point me in the right direction of nstructions for stand 
> > alones
> > installations.
> Thanks
> 
> Drew
> 


From torvalds@osdl.org Sun Dec 14 18:05:10 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 18:05:10 +0000 (GMT)
Received: from fw.osdl.org ([IPv6:::ffff:65.172.181.6]:32706 "EHLO
	mail.osdl.org") by linux-mips.org with ESMTP id <S8225451AbTLNSFK>;
	Sun, 14 Dec 2003 18:05:10 +0000
Received: from localhost (build.pdx.osdl.net [172.20.1.2])
	by mail.osdl.org (8.11.6/8.11.6) with ESMTP id hBEI53Z32492;
	Sun, 14 Dec 2003 10:05:03 -0800
Date: Sun, 14 Dec 2003 10:05:03 -0800 (PST)
From: Linus Torvalds <torvalds@osdl.org>
To: Peter Horton <pdh@colonel-panic.org>
cc: Jamie Lokier <jamie@shareable.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
In-Reply-To: <20031214103803.GA916@skeleton-jack>
Message-ID: <Pine.LNX.4.58.0312141001090.14336@home.osdl.org>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org>
 <Pine.LNX.4.58.0312131740120.14336@home.osdl.org> <20031214103803.GA916@skeleton-jack>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <torvalds@osdl.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3771
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: torvalds@osdl.org
Precedence: bulk
X-list: linux-mips



On Sun, 14 Dec 2003, Peter Horton wrote:
> >
> > Just document it as a bug in the user program if this causes problems.
> > Don't blame the kernel - the kernel is only doing what the user asked it
> > to do.
>
> I've seen code written for X86 use MAP_FIXED to create self wrapping
> ring buffers. Surely it's better to fail the mmap() on other archs
> rather than for the code to fail in unexpected ways?

Yes and no.

In _that_ case it would clearly be polite to just fail the mmap(). No
question about that - it's always nice if the kernel can find problems
early rather than late.

However, there are other ways you can screw yourself in user space, and
I'm not convinced it is always wrong to create a unaligned shared mapping.
For example, I can see that being useful exactly because you want to write
some CPU test in user space, for example.

So I'm generally opposed to the kernel saying "you can't do that" if there
isn't some really fundamental reason (security or stability) for it to be
really a no-no. It's often better to give the user rope to hang himself:
that rope might be used for interesting things too.

> It's a bug either way ... either the test should be fixed up or it
> should be removed from arch_get_unmapped_area() to save confusion.

I agree that we might as well remove it, but it's not 2.6.x material.

		Linus

From deltha@analog.ro Sun Dec 14 19:36:31 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 14 Dec 2003 19:36:32 +0000 (GMT)
Received: from main.analog.ro ([IPv6:::ffff:81.196.32.141]:47251 "EHLO
	main.analog.ro") by linux-mips.org with ESMTP id <S8225330AbTLNTgb>;
	Sun, 14 Dec 2003 19:36:31 +0000
Received: from contabili (networkadministrator.analog.ro [192.168.6.2])
	by main.analog.ro (8.12.10/8.12.9) with ESMTP id hBEJZsgr016524
	for <linux-mips@linux-mips.org>; Sun, 14 Dec 2003 21:35:54 +0200
Date: Sun, 14 Dec 2003 21:36:31 +0200
From: none <deltha@analog.ro>
X-Mailer: The Bat! (v1.62i) Personal
Reply-To: none <deltha@analog.ro>
Organization: S.C. Analog S.A.
X-Priority: 3 (Normal)
Message-ID: <2329036882.20031214213631@analog.ro>
To: linux-mips@linux-mips.org
Subject: philips nino 300 - 4mb ram
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <deltha@analog.ro>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3772
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: deltha@analog.ro
Precedence: bulk
X-list: linux-mips

Hello,

  
   I tried to boot the precompiled kernel :
   ftp://ftp.realitydiluted.com/Nino/kernel/precompiled/vmlinux-2.4.17.gz
   using pbsdboot but
   all I can see is the display scrambled,
   and not a bootup sequence, nothing at hyperterminal set as 115200 8-N-1
   How to get it working? (booting)

-- 

Best regards,
 Rujinski Remus Nikolai                          mailto:deltha@analog.ro


From ralf@linux-mips.org Mon Dec 15 02:27:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 02:27:21 +0000 (GMT)
Received: from p508B79AD.dip.t-dialin.net ([IPv6:::ffff:80.139.121.173]:2192
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225467AbTLOC1U>; Mon, 15 Dec 2003 02:27:20 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBF2RHoK000965;
	Mon, 15 Dec 2003 03:27:17 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBF2RHwv000964;
	Mon, 15 Dec 2003 03:27:17 +0100
Date: Mon, 15 Dec 2003 03:27:17 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Peter Horton <pdh@colonel-panic.org>
Cc: linux-mips@linux-mips.org
Subject: Re: Instability / caching problems on Qube 2 - solved ?
Message-ID: <20031215022717.GA16560@linux-mips.org>
References: <20031214162605.GA18357@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031214162605.GA18357@skeleton-jack>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3773
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sun, Dec 14, 2003 at 04:26:05PM +0000, Peter Horton wrote:

> When mapping an executable image into user space the kernel reads data
> into the page cache and then maps the page into user space. For an
> executable page no copy is done as the mapping is read only.

Correct.

The kernel may also share writable pages until they're actually written to.
This is called copy-on-write (COW).  But executable pages usually aren't
COW so this case isn't meaningful for us.

> On my Qube
> the acting of reading data from the IDE via PIO causes the data to be
> placed in the D-cache (the RM52xx cache does write allocate), but the
> page never gets flushed to physical memory and so suffers from cache
> aliasing problems when it's mapped into user space.
> 
> By enabling DMA on the IDE interface (it's off in the default Cobalt
> config) the kernel suddenly becomes stable (the page in the page cache
> never gets pulled into the D-cache).
> 
> This seems to be a generic kernel problem - all architectures with VI
> caches and write allocate policies could trigger it.

Now that's where I'm getting some doubts about your explanation.  Assume
we're paging in a page that isn't mapped yet:

In this case do_no_page() will load the page.  Any DMA cache coherency
issues are supposed to be handled by the driver.  That means for an
executable page all that's missing is ensuring the I-cache is coherent.
This is done in these two lines:

[...]
                flush_page_to_ram(new_page);
                flush_icache_page(vma, new_page);
[...]
        update_mmu_cache(vma, address, entry);
[...]

   flush_page_to_ram is (and must be!) a no-op.  So the burden is entirely
   upto flush_icache_page and update_mmu_cache.  Note flush_dcache_page
   never enters the picture when mapping an executable because the file has
   not been written to.  So let's see flush_icache_page:

static void r4k_flush_icache_page(struct vm_area_struct *vma,
	struct page *page)
{
	/*
	 * If there's no context yet, or the page isn't executable, no icache
	 * flush is needed.
	 */
	if (!(vma->vm_flags & VM_EXEC))
		return;

All this is only about I-cache coherence.  That is we do nothing at all if
this isn't an executable page.

	/*
	 * Tricky ...  Because we don't know the virtual address we've got the
	 * choice of either invalidating the entire primary and secondary
	 * caches or invalidating the secondary caches also.  With the subset
	 * enforcment on R4000SC, R4400SC, R10000 and R12000 invalidating the
	 * secondary cache will result in any entries in the primary caches
	 * also getting invalidated which hopefully is a bit more economical.
	 */
	if (cpu_has_subset_pcaches) {
		unsigned long addr = (unsigned long) page_address(page);
		r4k_blast_scache_page(addr);

		return;
	}

This section is only needed for certain processors such as the R4000SC.
That is it's not of interest here either.

	if (!cpu_has_ic_fills_f_dc) {
		unsigned long addr = (unsigned long) page_address(page);
		r4k_blast_dcache_page(addr);
	}

But cpu_has_ic_fills_f_dc is always zero on Nevada.  Which means we're
going to flush the page's kernel address from the D-cache here.

	/*
	 * We're not sure of the virtual address(es) involved here, so
	 * we have to flush the entire I-cache.
	 */
	if (cpu_has_vtag_icache) {
		int cpu = smp_processor_id();

		if (cpu_context(cpu, vma->vm_mm) != 0)
			drop_mmu_context(vma->vm_mm, cpu);

... cpu_has_vtag_icache is zero on Nevada so the else case will be taken:
	} else
		r4k_blast_icache();

so we just blast away the entire I-cache.  Coherency the hard way.  At
this point we've established I-cache coherency for executable pages.

But what this was a non-executable page?  Then flush_icache_page would do
nothing at all - nor would update_mmu_cache.   The page will be copied to
userspace and ...  whoops, data may still be in the wrong cache segment,
game over.  This also explains a few other bugs.

> So where's the correct place to put the flush_dcache_page() ? :-)
> 
> I don't know whether the problem could affect any other IO subsystems
> ... probably SCSI at least.

As you describe it it doesn't seem specific to any particular kind of
device - only DMA or PIO matters; and the DMA coherency thing happens to
paint over the issue which must be why it wasn't discovered for so long.

  Ralf

From pdh@colonel-panic.org Mon Dec 15 08:32:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 08:32:45 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:14208 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225349AbTLOIco>; Mon, 15 Dec 2003 08:32:44 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AVo9c-0000Ke-00; Mon, 15 Dec 2003 08:32:36 +0000
Date: Mon, 15 Dec 2003 08:32:36 +0000
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Peter Horton <pdh@colonel-panic.org>, linux-mips@linux-mips.org
Subject: Re: Instability / caching problems on Qube 2 - solved ?
Message-ID: <20031215083236.GA1164@skeleton-jack>
References: <20031214162605.GA18357@skeleton-jack> <20031215022717.GA16560@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031215022717.GA16560@linux-mips.org>
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3774
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 15, 2003 at 03:27:17AM +0100, Ralf Baechle wrote:
> On Sun, Dec 14, 2003 at 04:26:05PM +0000, Peter Horton wrote:
> 
> > When mapping an executable image into user space the kernel reads data
> > into the page cache and then maps the page into user space. For an
> > executable page no copy is done as the mapping is read only.
> 
> Correct.
> 
> The kernel may also share writable pages until they're actually written to.
> This is called copy-on-write (COW).  But executable pages usually aren't
> COW so this case isn't meaningful for us.
> 
> > On my Qube
> > the acting of reading data from the IDE via PIO causes the data to be
> > placed in the D-cache (the RM52xx cache does write allocate), but the
> > page never gets flushed to physical memory and so suffers from cache
> > aliasing problems when it's mapped into user space.
> > 
> > By enabling DMA on the IDE interface (it's off in the default Cobalt
> > config) the kernel suddenly becomes stable (the page in the page cache
> > never gets pulled into the D-cache).
> > 
> > This seems to be a generic kernel problem - all architectures with VI
> > caches and write allocate policies could trigger it.
> 
> Now that's where I'm getting some doubts about your explanation.  Assume
> we're paging in a page that isn't mapped yet:
> 
> In this case do_no_page() will load the page.  Any DMA cache coherency
> issues are supposed to be handled by the driver.  That means for an
> executable page all that's missing is ensuring the I-cache is coherent.
> This is done in these two lines:
> 
> [...]
>                 flush_page_to_ram(new_page);
>                 flush_icache_page(vma, new_page);
> [...]
>         update_mmu_cache(vma, address, entry);
> [...]
> 
>    flush_page_to_ram is (and must be!) a no-op.  So the burden is entirely
>    upto flush_icache_page and update_mmu_cache.  Note flush_dcache_page
>    never enters the picture when mapping an executable because the file has
>    not been written to.  So let's see flush_icache_page:
> 
> static void r4k_flush_icache_page(struct vm_area_struct *vma,
> 	struct page *page)
> {
> 	/*
> 	 * If there's no context yet, or the page isn't executable, no icache
> 	 * flush is needed.
> 	 */
> 	if (!(vma->vm_flags & VM_EXEC))
> 		return;
> 
> All this is only about I-cache coherence.  That is we do nothing at all if
> this isn't an executable page.
> 
> 	/*
> 	 * Tricky ...  Because we don't know the virtual address we've got the
> 	 * choice of either invalidating the entire primary and secondary
> 	 * caches or invalidating the secondary caches also.  With the subset
> 	 * enforcment on R4000SC, R4400SC, R10000 and R12000 invalidating the
> 	 * secondary cache will result in any entries in the primary caches
> 	 * also getting invalidated which hopefully is a bit more economical.
> 	 */
> 	if (cpu_has_subset_pcaches) {
> 		unsigned long addr = (unsigned long) page_address(page);
> 		r4k_blast_scache_page(addr);
> 
> 		return;
> 	}
> 
> This section is only needed for certain processors such as the R4000SC.
> That is it's not of interest here either.
> 
> 	if (!cpu_has_ic_fills_f_dc) {
> 		unsigned long addr = (unsigned long) page_address(page);
> 		r4k_blast_dcache_page(addr);
> 	}
> 
> But cpu_has_ic_fills_f_dc is always zero on Nevada.  Which means we're
> going to flush the page's kernel address from the D-cache here.
> 
> 	/*
> 	 * We're not sure of the virtual address(es) involved here, so
> 	 * we have to flush the entire I-cache.
> 	 */
> 	if (cpu_has_vtag_icache) {
> 		int cpu = smp_processor_id();
> 
> 		if (cpu_context(cpu, vma->vm_mm) != 0)
> 			drop_mmu_context(vma->vm_mm, cpu);
> 
> ... cpu_has_vtag_icache is zero on Nevada so the else case will be taken:
> 	} else
> 		r4k_blast_icache();
> 
> so we just blast away the entire I-cache.  Coherency the hard way.  At
> this point we've established I-cache coherency for executable pages.
> 
> But what this was a non-executable page?  Then flush_icache_page would do
> nothing at all - nor would update_mmu_cache.   The page will be copied to
> userspace and ...  whoops, data may still be in the wrong cache segment,
> game over.  This also explains a few other bugs.
> 

I could see the aliases at the end of do_no_page() (using memcmp()) and
from the code knew they had to be read only so I just assumed they were
executable pages. I missed the fact that flush_icache_page() flushed the
D-cache page. So like you say it must be non-executable read only pages
that cause the problem.

> > So where's the correct place to put the flush_dcache_page() ? :-)
> > 
> > I don't know whether the problem could affect any other IO subsystems
> > ... probably SCSI at least.
> 
> As you describe it it doesn't seem specific to any particular kind of
> device - only DMA or PIO matters; and the DMA coherency thing happens to
> paint over the issue which must be why it wasn't discovered for so long.
> 

So how do we fix it ? Flushing the page really needs to be done just
after the IO into the page cache is complete so we only do it once per
page cache page ?

P.

From dom@mips.com Mon Dec 15 09:04:34 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 09:04:34 +0000 (GMT)
Received: from alg145.algor.co.uk ([IPv6:::ffff:62.254.210.145]:2052 "EHLO
	dmz.algor.co.uk") by linux-mips.org with ESMTP id <S8225349AbTLOJEe>;
	Mon, 15 Dec 2003 09:04:34 +0000
Received: from alg158.algor.co.uk ([62.254.210.158] helo=olympia.mips.com)
	by dmz.algor.co.uk with esmtp (Exim 3.35 #1 (Debian))
	id 1AVoaz-0005s1-00; Mon, 15 Dec 2003 09:00:53 +0000
Received: from olympia.mips.com ([192.168.192.128] helo=doms-laptop.algor.co.uk)
	by olympia.mips.com with esmtp (Exim 3.36 #1 (Debian))
	id 1AVoeA-0005x2-00; Mon, 15 Dec 2003 09:04:11 +0000
From: Dominic Sweetman <dom@mips.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <16349.31025.637084.624143@doms-laptop.algor.co.uk>
Date: Mon, 15 Dec 2003 09:04:49 +0000
To: Peter Horton <pdh@colonel-panic.org>
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
Subject: Re: Instability / caching problems on Qube 2 - solved ?
In-Reply-To: <20031215083236.GA1164@skeleton-jack>
References: <20031214162605.GA18357@skeleton-jack>
	<20031215022717.GA16560@linux-mips.org>
	<20031215083236.GA1164@skeleton-jack>
X-Mailer: VM 7.07 under 21.4 (patch 10) "Military Intelligence (RC5 Windows)" XEmacs Lucid
X-MTUK-Scanner: Found to be clean
X-MTUK-SpamCheck: not spam, SpamAssassin (score=-3.079, required 4, AWL,
	BAYES_00)
Return-Path: <dom@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3775
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dom@mips.com
Precedence: bulk
X-list: linux-mips


My prejudices are showing but...

o Shouldn't the kernel should have a zero-tolerance policy towards cache
  aliases?  That is, no D-cache alias should ever be permitted to
  happen, not even in data you reasonably hope might be read-only?
  
  Aliases only appeared by a kind of mistake when the R4000 was
  opportunistically repackaged without the secondary cache (the L2
  cache tags used to keep track of the virtually-indexed L1s, and you
  got an exception if you created an L1-alias).

  They really aren't a feature to be tolerated in the hope you can
  clean up before disaster strikes.

o And I could never get my brains round cache maintenance if I used
  the same word ("flush") both for invalidate and write-back.

--
Dominic Sweetman
MIPS Technologies.


From ppopov@mvista.com Mon Dec 15 17:03:13 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 17:03:13 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:30458 "EHLO
	av.mvista.com") by linux-mips.org with ESMTP id <S8225316AbTLORDN>;
	Mon, 15 Dec 2003 17:03:13 +0000
Received: from zeus.mvista.com (av [127.0.0.1])
	by av.mvista.com (8.9.3/8.9.3) with ESMTP id JAA26188;
	Mon, 15 Dec 2003 09:03:05 -0800
Subject: Re: PCMCIA on AMD Alchemy Au1100 boards
From: Pete Popov <ppopov@mvista.com>
To: James Cope <jcope@mpc-data.co.uk>
Cc: Linux MIPS mailing list <linux-mips@linux-mips.org>
In-Reply-To: <E3E525EC-2A4C-11D8-AC44-000A959E1510@mpc-data.co.uk>
References: <E3E525EC-2A4C-11D8-AC44-000A959E1510@mpc-data.co.uk>
Content-Type: text/plain
Organization: MontaVista Software
Message-Id: <1071507785.25858.55.camel@zeus.mvista.com>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.4 
Date: 15 Dec 2003 09:03:05 -0800
Content-Transfer-Encoding: 7bit
Return-Path: <ppopov@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3776
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ppopov@mvista.com
Precedence: bulk
X-list: linux-mips

On Tue, 2003-12-09 at 05:37, James Cope wrote:
> Hello,
> 
> I was wondering if anyone here can help. I am trying to get PCMCIA 
> support working on a board that is very much like the AMD DB1100. Can 
> anyone confirm if PCMCIA works on the DB1100? I do not have access to 
> one at the moment.
> 
> I am using the linux_2_4 tagged kernel from CVS with the
> pcmcia-cs-3.1.22 card services package. I have applied the 64bit_pcmcia 
> patch to both the kernel and card services code and I have part of the 
> PCMCIA system running. I can use the `cardctl' utility to detect the 
> presence of PCMCIA cards successfully, however the `cardmgr' daemon 
> fails to bind to a socket.
> 
> I have a SanDisk Compact Flash card that I'm trying to access. cardmgr 
> correctly detects this as an ATA/IDE Fixed Disk and calls `modprobe 
> ide_cs.o' which is loading okay. 

If you get the latest 2.4 kernel, the driver is in drivers/ide/legacy
and it's called "ide-cs", not "ide_cs". What version of 2.4 are you
running?

> cardmgr then reports the error ``get 
> dev info on socket 0 failed: Transport endpoint is not connected'' 
> (ENOTCONN).

Sounds familiar, I think. Sounds like mismatch in the driver name and
the pcmcia config file. If your driver is named ide_cs, the "devinfo"
inside the driver is set to "ide_cs" and that string won't match an
"ide-cs", which is probably what your pcmcia config file has... I'm
guessing.

Pete

> I can supply more detailed logging and status information if needed, 
> but for now I'm wondering if this path has been trodden before? I have 
> searched through the linux-mips mail archive, but I have only been able 
> to confirm the state of Au1500 PCMCIA support.
> 
> Regards,
> 
> James Cope
> 
> 
> 


From jcope@mpc-data.co.uk Mon Dec 15 17:36:37 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 17:36:38 +0000 (GMT)
Received: from firewall.mpc-ogw.co.uk ([IPv6:::ffff:81.2.99.170]:1659 "EHLO
	burton.mpc-data.co.uk") by linux-mips.org with ESMTP
	id <S8225355AbTLORgh>; Mon, 15 Dec 2003 17:36:37 +0000
Received: from lion.mpc-data.co.uk (IDENT:root@lion.mpc-data.co.uk [192.150.92.1])
	by burton.mpc-data.co.uk (8.12.8/8.12.7) with ESMTP id hBFHaVpc029487;
	Mon, 15 Dec 2003 17:36:31 GMT
Received: from [192.150.92.72] (duvel.mpc-data.co.uk [192.150.92.72])
	by lion.mpc-data.co.uk (8.9.3/8.8.5) with ESMTP id RAA12343;
	Mon, 15 Dec 2003 17:36:37 GMT
In-Reply-To: <1071507785.25858.55.camel@zeus.mvista.com>
References: <E3E525EC-2A4C-11D8-AC44-000A959E1510@mpc-data.co.uk> <1071507785.25858.55.camel@zeus.mvista.com>
Mime-Version: 1.0 (Apple Message framework v606)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <78DDDAF5-2F25-11D8-9EC1-000A959E1510@mpc-data.co.uk>
Content-Transfer-Encoding: 7bit
Cc: linux-mips@linux-mips.org
From: James Cope <jcope@mpc-data.co.uk>
Subject: Re: PCMCIA on AMD Alchemy Au1100 boards
Date: Mon, 15 Dec 2003 17:38:19 +0000
To: Pete Popov <ppopov@mvista.com>
X-Mailer: Apple Mail (2.606)
Return-Path: <jcope@mpc-data.co.uk>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3777
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jcope@mpc-data.co.uk
Precedence: bulk
X-list: linux-mips


On 15 Dec 2003, at 17:03, Pete Popov wrote:

> What version of 2.4 are you running?

2.4.23-rc3 (CVS tag linux_2_4).

> Sounds familiar, I think. Sounds like mismatch in the driver name and
> the pcmcia config file. If your driver is named ide_cs, the "devinfo"
> inside the driver is set to "ide_cs" and that string won't match an
> "ide-cs", which is probably what your pcmcia config file has... I'm
> guessing.

In the kernel source the driver is named ide-cs and in the 
pcmcia-cs-3.1.22 tree it is named ide_cs. Not only are they named 
differently, but they behave differently too. I have since `fixed' the 
problem by using ide_cs rather than ide-cs. I've not yet had a chance 
to investigate exactly what the incompatibility between the two is, so 
far I only know that one works and the other doesn't.

Thanks for your comments.

Regards,

James Cope



From ricmm@kanux.com Mon Dec 15 19:13:38 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 19:13:39 +0000 (GMT)
Received: from [IPv6:::ffff:216.72.155.13] ([IPv6:::ffff:216.72.155.13]:4532
	"EHLO supercable.net.ve") by linux-mips.org with ESMTP
	id <S8225347AbTLOTNi>; Mon, 15 Dec 2003 19:13:38 +0000
Received: from 6-allhosts (unverified [200.47.143.122]) 
	by supercable.net.ve (TRUE) with ESMTP id 1986018 
	for multiple; Mon, 15 Dec 2003 15:02:39 GMT -4
Subject: Re: philips nino 300 - 4mb ram
From: "Ricardo Mendoza M." <ricmm@kanux.com>
Reply-To: ricmm@kanux.com
To: none <deltha@analog.ro>
Cc: linux-mips@linux-mips.org
In-Reply-To: <2329036882.20031214213631@analog.ro>
References: <2329036882.20031214213631@analog.ro>
Content-Type: text/plain
Message-Id: <1071515610.28043.7.camel@ricmm.no-ip.com>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 
Date: Mon, 15 Dec 2003 15:13:31 -0400
Content-Transfer-Encoding: 7bit
X-Server: High Performance Mail Server - http://surgemail.com
Return-Path: <ricmm@kanux.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3778
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ricmm@kanux.com
Precedence: bulk
X-list: linux-mips

Hey,

I have a Philips NINO 300 with 8mb of RAM, and some time ago that kernel
worked for me, even the framebuffer. I have had those scrambled problems
some time ago and they were cause by a bad compiler, try recompiling
your own kernel.

About the serial console, be sure you have no flow control, neither
hardware nor software flow control set to on.

	- Ricardo


On Sun, 2003-12-14 at 15:36, none wrote:
>    I tried to boot the precompiled kernel :
>    ftp://ftp.realitydiluted.com/Nino/kernel/precompiled/vmlinux-2.4.17.gz
>    using pbsdboot but
>    all I can see is the display scrambled,
>    and not a bootup sequence, nothing at hyperterminal set as 115200 8-N-1
>    How to get it working? (booting)


From ralf@linux-mips.org Mon Dec 15 19:51:24 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 19:51:25 +0000 (GMT)
Received: from p508B5A6A.dip.t-dialin.net ([IPv6:::ffff:80.139.90.106]:32710
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225347AbTLOTvY>; Mon, 15 Dec 2003 19:51:24 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBFJpJoK004068;
	Mon, 15 Dec 2003 20:51:19 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBFJpITM004067;
	Mon, 15 Dec 2003 20:51:18 +0100
Date: Mon, 15 Dec 2003 20:51:18 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Dominic Sweetman <dom@mips.com>
Cc: Peter Horton <pdh@colonel-panic.org>, linux-mips@linux-mips.org
Subject: Re: Instability / caching problems on Qube 2 - solved ?
Message-ID: <20031215195118.GA1787@linux-mips.org>
References: <20031214162605.GA18357@skeleton-jack> <20031215022717.GA16560@linux-mips.org> <20031215083236.GA1164@skeleton-jack> <16349.31025.637084.624143@doms-laptop.algor.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <16349.31025.637084.624143@doms-laptop.algor.co.uk>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3779
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 15, 2003 at 09:04:49AM +0000, Dominic Sweetman wrote:

> My prejudices are showing but...
> 
> o Shouldn't the kernel should have a zero-tolerance policy towards cache
>   aliases?  That is, no D-cache alias should ever be permitted to
>   happen, not even in data you reasonably hope might be read-only?

We're already trying hard to avoid such aliases.  The case found by Peter
is clearly a bug and nothing else.

>   Aliases only appeared by a kind of mistake when the R4000 was
>   opportunistically repackaged without the secondary cache (the L2
>   cache tags used to keep track of the virtually-indexed L1s, and you
>   got an exception if you created an L1-alias).
> 
>   They really aren't a feature to be tolerated in the hope you can
>   clean up before disaster strikes.

These days R4000SC is only an ancient processor - but very valuable for
Linux maintenance because it's virtual coherency exception is the
only available hardware detector for aliases.

> o And I could never get my brains round cache maintenance if I used
>   the same word ("flush") both for invalidate and write-back.

I once had a discussion about the terminology with maintainers of other
architectures.  Turned none of the MIPS terms were really unambigious;
does flush imply a writeback, does it imply invalidation?  Does
invalidate imply writing back to memory or writeback imply invalidation
etc. etc. ad infinitum.  Confusion pure ...

  Ralf

From pdh@colonel-panic.org Mon Dec 15 22:19:41 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 22:19:42 +0000 (GMT)
Received: from purplechoc.demon.co.uk ([IPv6:::ffff:80.176.224.106]:8065 "EHLO
	skeleton-jack.localnet") by linux-mips.org with ESMTP
	id <S8225450AbTLOWTl>; Mon, 15 Dec 2003 22:19:41 +0000
Received: from pdh by skeleton-jack.localnet with local (Exim 3.35 #1 (Debian))
	id 1AW13v-00087f-00
	for <linux-mips@linux-mips.org>; Mon, 15 Dec 2003 22:19:35 +0000
Date: Mon, 15 Dec 2003 22:19:35 +0000
To: linux-mips@linux-mips.org
Subject: Tulip problems on Qube 2
Message-ID: <20031215221935.GA31161@skeleton-jack>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
From: Peter Horton <pdh@colonel-panic.org>
Return-Path: <pdh@colonel-panic.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3780
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: pdh@colonel-panic.org
Precedence: bulk
X-list: linux-mips

Is anyone looking at the problems with the Tulip network driver on the
Cobalt Qube 2 ?

I've started poking around but am not getting very far ...

The card works okay for a few minutes but then something gets very
confused in the receive ring. If the card is being pinged with packets
once a second it generates a receive interrupt for every packet, but the
first receive ring entry is marked busy so the packet's not passed up.
Once we've received 32 packets the NIC wraps round the receive ring and
the entry we've been waiting on gets marked as full. Now the receive
interrupt removes that last packet and the 31 preceding ones in one go.
Then we stall for another 32 seconds.

It looks like we're loosing some of the NIC's writes to the receive ring
status entries in main memory ...

P.

From kumba@gentoo.org Mon Dec 15 22:47:39 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 15 Dec 2003 22:47:40 +0000 (GMT)
Received: from rwcrmhc11.comcast.net ([IPv6:::ffff:204.127.198.35]:26087 "EHLO
	rwcrmhc11.comcast.net") by linux-mips.org with ESMTP
	id <S8225450AbTLOWrj>; Mon, 15 Dec 2003 22:47:39 +0000
Received: from gentoo.org (pcp04939029pcs.waldrf01.md.comcast.net[68.48.72.58])
          by comcast.net (rwcrmhc11) with SMTP
          id <20031215224732013009genie>
          (Authid: kumba12345);
          Mon, 15 Dec 2003 22:47:32 +0000
Message-ID: <3FDE3A27.3090408@gentoo.org>
Date: Mon, 15 Dec 2003 17:48:07 -0500
From: Kumba <kumba@gentoo.org>
Reply-To: kumba@gentoo.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: linux-mips@linux-mips.org
Subject: Re: Tulip problems on Qube 2
References: <20031215221935.GA31161@skeleton-jack>
In-Reply-To: <20031215221935.GA31161@skeleton-jack>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3781
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Peter Horton wrote:

> Is anyone looking at the problems with the Tulip network driver on the
> Cobalt Qube 2 ?

I've poked around with it, granted I usually don't have a clue what's 
going on.

> I've started poking around but am not getting very far ...
> 
> The card works okay for a few minutes but then something gets very
> confused in the receive ring. If the card is being pinged with packets
> once a second it generates a receive interrupt for every packet, but the
> first receive ring entry is marked busy so the packet's not passed up.
> Once we've received 32 packets the NIC wraps round the receive ring and
> the entry we've been waiting on gets marked as full. Now the receive
> interrupt removes that last packet and the 31 preceding ones in one go.
> Then we stall for another 32 seconds.
> 
> It looks like we're loosing some of the NIC's writes to the receive ring
> status entries in main memory ...

http://lists.debian.org/debian-powerpc/2003/debian-powerpc-200310/msg00010.html

You may want to look at this patch.  It addresses a similar problem on 
PPC systems.  While the patch touches a bit of code that should only be 
executed if tp->chip_id == 21041, it apparently affects the Cobalt 
systems, which use a 211142/21143 chip.  Why this is, I have no idea.

Either way, it makes the tulip stay up longer.  The same bug still kicks 
in eventually, so it doesn't totally address the problem, but it changes 
the behavior in some way.


--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: 
small hands do them because they must, while the eyes of the great are 
elsewhere."  --Elrond


From macro@ds2.pg.gda.pl Tue Dec 16 21:33:43 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 16 Dec 2003 21:33:44 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:41928 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225474AbTLPVdn>; Tue, 16 Dec 2003 21:33:43 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 638DF47A4D; Tue, 16 Dec 2003 22:33:41 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id 4F62447813; Tue, 16 Dec 2003 22:33:41 +0100 (CET)
Date: Tue, 16 Dec 2003 22:33:41 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
Subject: [patch] 2.4: Support for newer gcc/gas options
Message-ID: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3782
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

Hello,

 Since command line options for both gcc and gas has been changed in an 
incompatible way recently and also there are stricter requirements on 
certain options when used simultaneously, I propose the following patch to 
our top-level Makefiles to let the optimal set of options be selected at 
the build time.  The intent is to try modern options first, then obsolete 
ones and to set gas options independently to gcc ones as one may be more 
inclined to upgrade binutils that his old trusty gcc.

 The patch implements a make macro called set_gccflags which accepts two
sets of options consisting of a CPU name and an ISA name each.  Within 
both sets "-march=" and failing that "-mcpu=" is checked with the CPU name 
and the ISA name is checked simultaneously.  For gcc if the first set of 
options fails, the second one is selected even if it would lead to a 
failure.  For gas both sets are checked and if none succeeds, an empty set 
is selected.

 The 32-bit variation accepts a fifth option as well to permit ABI
selection with an ISA when the "-mabi=" option is unavailable, which is 
also tested.

 Beside letting one use modern tools at all the patch also enables CPU
selection using newly added (and closer matching) settings like
"-march=mips64" without forcing users to upgrade tools provided a
conservative fallback is provided.

 Comments, thoughts, opinions, etc. will be appreciated.

  Maciej

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

patch-mips-2.4.23-20031209-march-11
diff -up --recursive --new-file linux-mips-2.4.23-20031209.macro/arch/mips/Makefile linux-mips-2.4.23-20031209/arch/mips/Makefile
--- linux-mips-2.4.23-20031209.macro/arch/mips/Makefile	2003-10-23 02:56:44.000000000 +0000
+++ linux-mips-2.4.23-20031209/arch/mips/Makefile	2003-12-16 11:20:33.000000000 +0000
@@ -5,7 +5,7 @@
 #
 # Copyright (C) 1994, 1995, 1996 by Ralf Baechle
 # DECStation modifications by Paul M. Antoine, 1996
-# Copyright (C) 2002  Maciej W. Rozycki
+# Copyright (C) 2002, 2003  Maciej W. Rozycki
 #
 # This file is included by the global makefile so that you can add your own
 # architecture-specific flags and dependencies. Remember to do have actions
@@ -43,7 +43,6 @@ check_gcc = $(shell if $(CC) $(1) -S -o 
 #
 GCCFLAGS	:= -I $(TOPDIR)/include/asm/gcc
 GCCFLAGS	+= -G 0 -mno-abicalls -fno-pic -pipe
-GCCFLAGS	+= $(call check_gcc, -mabi=32,)
 GCCFLAGS	+= $(call check_gcc, -finline-limit=100000,)
 LINKFLAGS	+= -G 0 -static # -N
 MODFLAGS	+= -mlong-calls
@@ -55,56 +54,100 @@ GCCFLAGS	+= -mno-sched-prolog -fno-omit-
 endif
 endif
 
+set_gccflags = $(shell \
+while :; do \
+	cpu=$(1); isa=-$(2); \
+	for gcc_opt in -march= -mcpu=; do \
+		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+			-xc - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	cpu=$(3); isa=-$(4); \
+	for gcc_opt in -march= -mcpu=; do \
+		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+			-xc - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	break; \
+done; \
+gcc_abi=-mabi=32; gcc_cpu=$$cpu; \
+if $(CC) $$gcc_abi -S -o /dev/null -xc - < /dev/null > /dev/null 2>&1; then \
+	gcc_isa=$$isa; \
+else \
+	gcc_abi=; gcc_isa=-$(5); \
+fi; \
+gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
+while :; do \
+	for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
+		$(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -c -o /dev/null \
+			-xassembler - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \
+	break; \
+done; \
+echo $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa)
+
 # CPU-dependent compiler/assembler options for optimization.
 #
 ifdef CONFIG_CPU_R3000
-GCCFLAGS	+= -mcpu=r3000 -mips1
+GCCFLAGS	+= $(call set_gccflags,r3000,mips1,r3000,mips1,mips1)
 endif
 ifdef CONFIG_CPU_TX39XX
-GCCFLAGS	+= -mcpu=r3000 -mips1
+GCCFLAGS	+= $(call set_gccflags,r3000,mips1,r3000,mips1,mips1)
 endif
 ifdef CONFIG_CPU_R6000
-GCCFLAGS	+= -mcpu=r6000 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_R4300
-GCCFLAGS	+= -mcpu=r4300 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_VR41XX
-GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_R4X00
-GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_TX49XX
-GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_MIPS32
-GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_MIPS64
-GCCFLAGS	+= -mcpu=r4600 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_R5000
-GCCFLAGS	+= -mcpu=r5000 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_R5432
-GCCFLAGS	+= -mcpu=r5000 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_NEVADA
-# Cannot use -mmad with currently recommended tools
-GCCFLAGS	+= -mcpu=r5000 -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \
+		   -Wa,--trap
+GCCFLAGS	+= $(call check_gcc,-mmad,)
 endif
 ifdef CONFIG_CPU_RM7000
-GCCFLAGS	+= $(call check_gcc, -march=rm7000, -mcpu=r5000) \
-		   -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_RM9000
-GCCFLAGS	+= $(call check_gcc, -march=rm9000, -mcpu=r5000) \
-		   -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \
+		   -Wa,--trap
 endif
 ifdef CONFIG_CPU_SB1
-GCCFLAGS	+= $(call check_gcc, -mcpu=sb1, -mcpu=r5000) \
-		   -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \
+		   -Wa,--trap
 ifdef CONFIG_SB1_PASS_1_WORKAROUNDS
 MODFLAGS	+= -msb1-pass1-workarounds
 endif
diff -up --recursive --new-file linux-mips-2.4.23-20031209.macro/arch/mips64/Makefile linux-mips-2.4.23-20031209/arch/mips64/Makefile
--- linux-mips-2.4.23-20031209.macro/arch/mips64/Makefile	2003-12-01 03:57:04.000000000 +0000
+++ linux-mips-2.4.23-20031209/arch/mips64/Makefile	2003-12-16 11:22:40.000000000 +0000
@@ -3,7 +3,7 @@
 # License.  See the file "COPYING" in the main directory of this archive
 # for more details.
 #
-# Copyright (C) 2002  Maciej W. Rozycki
+# Copyright (C) 2002, 2003  Maciej W. Rozycki
 #
 # This file is included by the global makefile so that you can add your own
 # architecture-specific flags and dependencies. Remember to do have actions
@@ -11,6 +11,8 @@
 # this architecture
 #
 
+comma := ,
+
 #
 # Select the object file format to substitute into the linker script.
 #
@@ -48,48 +50,73 @@ endif
 endif
 
 check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
+check_gas = $(shell if $(CC) $(1) -c -o /dev/null -xassembler - < /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
+
+set_gccflags = $(shell \
+while :; do \
+	cpu=$(1); isa=-$(2); \
+	for gcc_opt in -march= -mcpu=; do \
+		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+			-xc - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	cpu=$(3); isa=-$(4); \
+	for gcc_opt in -march= -mcpu=; do \
+		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+			-xc - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	break; \
+done; \
+gcc_cpu=$$cpu; gcc_isa=$$isa; \
+gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
+while :; do \
+	for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
+		$(CC) $$gas_opt$$cpu $$gas_isa -c -o /dev/null \
+			-xassembler - < /dev/null > /dev/null 2>&1 && \
+			break 2; \
+	done; \
+	gas_opt=; gas_cpu=; gas_isa=; \
+	break; \
+done; \
+echo $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_opt$$gas_cpu $$gas_isa)
 
 #
 # CPU-dependent compiler/assembler options for optimization.
 #
 ifdef CONFIG_CPU_R4300
-GCCFLAGS	+= -mcpu=r4300 -mips3
+GCCFLAGS	+= $(call set_gccflags,r4300,mips3,r4300,mips3)
 endif
 ifdef CONFIG_CPU_R4X00
-GCCFLAGS	+= -mcpu=r4600 -mips3
+GCCFLAGS	+= $(call set_gccflags,r4600,mips3,r4600,mips3)
 endif
 ifdef CONFIG_CPU_R5000
-GCCFLAGS	+= -mcpu=r8000 -mips4
+GCCFLAGS	+= $(call set_gccflags,r5000,mips4,r8000,mips4)
 endif
 ifdef CONFIG_CPU_NEVADA
-# Cannot use -mmad with currently recommended tools
-GCCFLAGS	+= -mcpu=r8000 -mips3
+GCCFLAGS	+= $(call set_gccflags,rm5200,mips4,r8000,mips4)
+GCCFLAGS	+= $(call check_gcc,-mmad,)
 endif
 ifdef CONFIG_CPU_RM7000
-GCCFLAGS	+= $(call check_gcc, -march=rm7000, -mcpu=r5000) \
-		   -mips2 -Wa,--trap
+GCCFLAGS	+= $(call set_gccflags,rm7000,mips4,r5000,mips4)
+endif
+ifdef CONFIG_CPU_RM9000
+GCCFLAGS	+= $(call set_gccflags,rm9000,mips4,r5000,mips4)
 endif
 ifdef CONFIG_CPU_R8000
-GCCFLAGS	+= -mcpu=r8000 -mips4
+GCCFLAGS	+= $(call set_gccflags,r8000,mips4,r8000,mips4)
 endif
 ifdef CONFIG_CPU_R10000
-GCCFLAGS	+= -mcpu=r8000 -mips4
+GCCFLAGS	+= $(call set_gccflags,r10000,mips4,r8000,mips4)
 endif
 ifdef CONFIG_CPU_SB1
-GCCFLAGS	+= $(call check_gcc, -mcpu=sb1, -mcpu=r5000) -mips4
+GCCFLAGS	+= $(call set_gccflags,sb1,mips64,r5000,mips4)
 ifdef CONFIG_SB1_PASS_1_WORKAROUNDS
 MODFLAGS	+= -msb1-pass1-workarounds
 endif
 endif
 ifdef CONFIG_CPU_MIPS64
-#CFLAGS		+= -mips64	# Should be used then we get a MIPS64 compiler
-CFLAGS		+= -mcpu=r8000 -mips4
-endif
-ifdef CONFIG_CPU_RM7000
-GCCFLAGS	+= -mcpu=r8000 -mips4
-endif
-ifdef CONFIG_CPU_RM9000
-GCCFLAGS	+= -mcpu=r8000 -mips4
+GCCFLAGS	+= $(call set_gccflags,mips64,mips64,r8000,mips4)
 endif
 
 #
@@ -299,7 +326,7 @@ endif
 # convert to ECOFF using elf2ecoff.
 #
 ifdef CONFIG_BOOT_ELF32
-GCCFLAGS += -Wa,-32 $(shell if $(CC) -Wa,-mgp64 -c -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "-Wa,-mgp64"; fi)
+GCCFLAGS += -Wa,-32 $(call check_gas,-Wa$(comma)-mgp64,)
 LINKFLAGS += -T arch/mips64/ld.script.elf32
 endif
 #
@@ -307,7 +334,7 @@ endif
 # ELF files from 32-bit files by conversion.
 #
 ifdef CONFIG_BOOT_ELF64
-GCCFLAGS += -Wa,-32 $(shell if $(CC) -Wa,-mgp64 -c -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "-Wa,-mgp64"; fi)
+GCCFLAGS += -Wa,-32 $(call check_gas,-Wa$(comma)-mgp64,)
 LINKFLAGS += -T arch/mips64/ld.script.elf32
 #AS += -64
 #LD += -m elf64bmip

From bruno.randolf@4g-systems.biz Wed Dec 17 09:14:54 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 09:14:57 +0000 (GMT)
Received: from moutng.kundenserver.de ([IPv6:::ffff:212.227.126.177]:50651
	"EHLO moutng.kundenserver.de") by linux-mips.org with ESMTP
	id <S8225363AbTLQJOy>; Wed, 17 Dec 2003 09:14:54 +0000
Received: from [212.227.126.162] (helo=mrelayng.kundenserver.de)
	by moutng.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AWXlc-0001yK-00
	for linux-mips@linux-mips.org; Wed, 17 Dec 2003 10:14:52 +0100
Received: from [80.129.135.60] (helo=create.4g)
	by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1)
	id 1AWXlb-0007Ps-00
	for linux-mips@linux-mips.org; Wed, 17 Dec 2003 10:14:52 +0100
Received: from [62.254.210.162] (helo=ftp.linux-mips.org)
	by mxng16.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AOyUu-00049K-00
	for bruno.randolf@4g-systems.biz; Wed, 26 Nov 2003 13:10:20 +0100
Received: from localhost.localdomain ([IPv6:::ffff:127.0.0.1]:51590 "EHLO
	ftp.linux-mips.org") by linux-mips.org with ESMTP
	id <S8225340AbTKZMKS>; Wed, 26 Nov 2003 12:10:18 +0000
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 26 Nov 2003 12:09:58 +0000 (GMT)
Received: from moutng.kundenserver.de ([IPv6:::ffff:212.227.126.185]:57319
	"EHLO moutng.kundenserver.de") by linux-mips.org with ESMTP
	id <S8225301AbTKZMJp>; Wed, 26 Nov 2003 12:09:45 +0000
Received: from [212.227.126.155] (helo=mrelayng.kundenserver.de)
	by moutng.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AOyUK-0005V8-00
	for linux-mips@linux-mips.org; Wed, 26 Nov 2003 13:09:44 +0100
Received: from [80.129.142.67] (helo=create.4g)
	by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1)
	id 1AOyUJ-0002O0-00
	for linux-mips@linux-mips.org; Wed, 26 Nov 2003 13:09:43 +0100
From: Bruno Randolf <bruno.randolf@4g-systems.biz>
Organization: 4G Mobile Systeme
To: linux-mips@linux-mips.org
Subject: au1000/mtx-1 patch
Date: Wed, 17 Dec 2003 10:14:51 +0100
User-Agent: KMail/1.5.3
MIME-Version: 1.0
X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:d41044fba7cf33548d8f98fdbdd6d515
X-archive-position: 3677
X-ecartis-version: Ecartis v1.0.0
X-original-sender: bruno.randolf@4g-systems.biz
Precedence: bulk
X-list: linux-mips
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_L6B4/Fwy/KAcfcB"
Message-Id: <200312171014.51677.bruno.randolf@4g-systems.biz>
X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:d41044fba7cf33548d8f98fdbdd6d515
Return-Path: <bruno.randolf@4g-systems.biz>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3783
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bruno.randolf@4g-systems.biz
Precedence: bulk
X-list: linux-mips


--Boundary-00=_L6B4/Fwy/KAcfcB
Content-Type: Text/Plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Description: clearsigned data
Content-Disposition: inline

=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hello!

i send this a second time since my last request from a month ago was ignore=
d.=20
it would be really good if this quite trivial but important (whithout it ou=
r=20
board wont work correctly) patch would make it into the final 2.4 kernel.

could someone please apply the attached patch to the linux_2_4 branch. it
fixes the board initialization for the mtx-1 board, makes the naming more
consistent and changes my e-mail address.

thanks a lot!

bruno
=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/4B6Lfg2jtUL97G4RAq0KAJ9ZipT+Jkjmg2lXJRnCFMpMqXtHJQCfSMyN
c1Z2iNvtGsnRFVBtyRhQ4FU=3D
=3DPZ1U
=2D----END PGP SIGNATURE-----

--Boundary-00=_L6B4/Fwy/KAcfcB
Content-Type: text/x-diff;
  charset="us-ascii";
  name="2.4.23-rc5-mtx.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="2.4.23-rc5-mtx.diff"

diff -Nurb mips-2.4.23-rc5/arch/mips/au1000/mtx-1/Makefile mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/Makefile
--- mips-2.4.23-rc5/arch/mips/au1000/mtx-1/Makefile	2003-11-26 10:51:39.000000000 +0100
+++ mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/Makefile	2003-11-26 11:37:13.000000000 +0100
@@ -2,7 +2,7 @@
 #  Copyright 2003 MontaVista Software Inc.
 #  Author: MontaVista Software, Inc.
 #     	ppopov@mvista.com or source@mvista.com
-#       Bruno Randolf <bruno.randolf@4g-systems.de>
+#       Bruno Randolf <bruno.randolf@4g-systems.biz>
 #
 # Makefile for 4G Systems MTX-1 board.
 #
diff -Nurb mips-2.4.23-rc5/arch/mips/au1000/mtx-1/board_setup.c mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/board_setup.c
--- mips-2.4.23-rc5/arch/mips/au1000/mtx-1/board_setup.c	2003-11-26 10:51:39.000000000 +0100
+++ mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/board_setup.c	2003-11-26 11:38:11.000000000 +0100
@@ -1,12 +1,12 @@
 /*
  *
  * BRIEF MODULE DESCRIPTION
- *	MTX-1 board setup.
+ *	4G Systems MTX-1 board setup.
  *
  * Copyright 2003 MontaVista Software Inc.
  * Author: MontaVista Software, Inc.
  *         	ppopov@mvista.com or source@mvista.com
- *         Bruno Randolf <bruno.randolf@4g-systems.de>
+ *         Bruno Randolf <bruno.randolf@4g-systems.biz>
  *
  *  This program is free software; you can redistribute  it and/or modify it
  *  under  the terms of  the GNU General  Public License as published by the
@@ -50,12 +50,9 @@
 
 void __init board_setup(void)
 {
-	u32 pin_func;
-
 	rtc_ops = &no_rtc_ops;
 
 #if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
-
 #ifdef CONFIG_AU1X00_USB_DEVICE
 	// 2nd USB port is USB device
 	au_writel(au_readl(SYS_PINFUNC) & (u32)(~0x8000), SYS_PINFUNC);
@@ -63,10 +60,8 @@
 	// enable USB power switch
 	au_writel( au_readl(GPIO2_DIR) | 0x10, GPIO2_DIR );
 	au_writel( 0x100000, GPIO2_OUTPUT );
-
 #endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1000_USB_DEVICE)
 
-
 #ifdef CONFIG_PCI
 #if defined(__MIPSEB__)
 	au_writel(0xf | (2<<6) | (1<<4), Au1500_PCI_CFG);
@@ -80,8 +75,11 @@
 	// set U3/GPIO23 to GPIO23 (SYS_PF_U3)
 	au_writel( SYS_PF_NI2 | SYS_PF_U3, SYS_PINFUNC );
 
-	// initialize GPIO: none used ATM
+	// initialize GPIO
 	au_writel( 0xFFFFFFFF, SYS_TRIOUTCLR );
+	au_writel( 0x00000001, SYS_OUTPUTCLR ); // set M66EN (PCI 66MHz) to OFF
+	au_writel( 0x00000008, SYS_OUTPUTSET ); // set PCI CLKRUN# to OFF
+	au_writel( 0x00000020, SYS_OUTPUTCLR ); // set eth PHY TX_ER to OFF
 
 	// enable LED and set it to green
 	au_writel( au_readl(GPIO2_DIR) | 0x1800, GPIO2_DIR );
diff -Nurb mips-2.4.23-rc5/arch/mips/au1000/mtx-1/init.c mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/init.c
--- mips-2.4.23-rc5/arch/mips/au1000/mtx-1/init.c	2003-11-26 10:51:39.000000000 +0100
+++ mips-2.4.23-rc5-mtx/arch/mips/au1000/mtx-1/init.c	2003-11-26 11:38:36.000000000 +0100
@@ -1,12 +1,12 @@
 /*
  *
  * BRIEF MODULE DESCRIPTION
- *	MTX-1 board setup
+ *	4G Systems MTX-1 board setup
  *
  * Copyright 2003 MontaVista Software Inc.
  * Author: MontaVista Software, Inc.
  *         	ppopov@mvista.com or source@mvista.com
- *         Bruno Randolf <bruno.randolf@4g-systems.de>
+ *         Bruno Randolf <bruno.randolf@4g-systems.biz>
  *
  *  This program is free software; you can redistribute  it and/or modify it
  *  under  the terms of  the GNU General  Public License as published by the
diff -Nurb mips-2.4.23-rc5/arch/mips/defconfig-mtx-1 mips-2.4.23-rc5-mtx/arch/mips/defconfig-mtx-1
--- mips-2.4.23-rc5/arch/mips/defconfig-mtx-1	2003-11-26 10:51:39.000000000 +0100
+++ mips-2.4.23-rc5-mtx/arch/mips/defconfig-mtx-1	2003-11-26 12:38:46.000000000 +0100
@@ -1,5 +1,5 @@
 #
-# Automatically generated make config: don't edit
+# Automatically generated by make menuconfig: don't edit
 #
 CONFIG_MIPS=y
 CONFIG_MIPS32=y
@@ -138,7 +138,7 @@
 # CONFIG_MIPS32_N32 is not set
 # CONFIG_BINFMT_ELF32 is not set
 # CONFIG_BINFMT_MISC is not set
-# CONFIG_PM is not set
+CONFIG_PM=y
 
 #
 # Memory Technology Devices (MTD)
@@ -149,10 +149,6 @@
 # CONFIG_MTD_CONCAT is not set
 # CONFIG_MTD_REDBOOT_PARTS is not set
 # CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
 CONFIG_MTD_CHAR=y
 CONFIG_MTD_BLOCK=y
 # CONFIG_FTL is not set
@@ -200,10 +196,6 @@
 # CONFIG_MTD_SLRAM is not set
 # CONFIG_MTD_MTDRAM is not set
 # CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
 # CONFIG_MTD_DOC1000 is not set
 # CONFIG_MTD_DOC2000 is not set
 # CONFIG_MTD_DOC2001 is not set
@@ -239,7 +231,8 @@
 # CONFIG_BLK_DEV_UMEM is not set
 CONFIG_BLK_DEV_LOOP=y
 # CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_SIZE=4096
 # CONFIG_BLK_DEV_INITRD is not set
 # CONFIG_BLK_STATS is not set
 
@@ -259,33 +252,85 @@
 # Networking options
 #
 CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-# CONFIG_NETLINK_DEV is not set
+CONFIG_PACKET_MMAP=y
+CONFIG_NETLINK_DEV=m
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
-# CONFIG_FILTER is not set
+CONFIG_FILTER=y
 CONFIG_UNIX=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_NAT=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_TOS=y
+CONFIG_IP_ROUTE_VERBOSE=y
 CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
 # CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
 # CONFIG_ARPD is not set
 # CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
+CONFIG_SYN_COOKIES=y
 
 #
 #   IP: Netfilter Configuration
 #
-# CONFIG_IP_NF_CONNTRACK is not set
-# CONFIG_IP_NF_QUEUE is not set
-# CONFIG_IP_NF_IPTABLES is not set
-# CONFIG_IP_NF_ARPTABLES is not set
+CONFIG_IP_NF_CONNTRACK=m
+CONFIG_IP_NF_FTP=m
+# CONFIG_IP_NF_AMANDA is not set
+# CONFIG_IP_NF_TFTP is not set
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+# CONFIG_IP_NF_MATCH_RECENT is not set
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+# CONFIG_IP_NF_MATCH_UNCLEAN is not set
+# CONFIG_IP_NF_MATCH_OWNER is not set
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+# CONFIG_IP_NF_TARGET_MIRROR is not set
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+# CONFIG_IP_NF_NAT_LOCAL is not set
+# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+# CONFIG_IP_NF_ARP_MANGLE is not set
 # CONFIG_IP_NF_COMPAT_IPCHAINS is not set
 # CONFIG_IP_NF_COMPAT_IPFWADM is not set
 
@@ -302,11 +347,7 @@
 CONFIG_IPV6_SCTP__=y
 # CONFIG_IP_SCTP is not set
 # CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#  
-#
+CONFIG_VLAN_8021Q=m
 # CONFIG_IPX is not set
 # CONFIG_ATALK is not set
 
@@ -315,7 +356,7 @@
 #
 # CONFIG_DEV_APPLETALK is not set
 # CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
+CONFIG_BRIDGE=m
 # CONFIG_X25 is not set
 # CONFIG_LAPB is not set
 # CONFIG_LLC is not set
@@ -328,12 +369,34 @@
 #
 # QoS and/or fair queueing
 #
-# CONFIG_NET_SCHED is not set
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+# CONFIG_NET_SCH_CSZ is not set
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_NET_CLS_RSVP=m
+# CONFIG_NET_CLS_RSVP6 is not set
+CONFIG_NET_CLS_POLICE=y
 
 #
 # Network testing
 #
-# CONFIG_NET_PKTGEN is not set
+CONFIG_NET_PKTGEN=m
 
 #
 # Telephony Support
@@ -352,7 +415,71 @@
 #
 # SCSI support
 #
-# CONFIG_SCSI is not set
+CONFIG_SCSI=m
+CONFIG_BLK_DEV_SD=m
+CONFIG_SD_EXTRA_DEVS=40
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_SR_EXTRA_DEVS=2
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_SCSI_DEBUG_QUEUES is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_7000FASST is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AHA152X is not set
+# CONFIG_SCSI_AHA1542 is not set
+# CONFIG_SCSI_AHA1740 is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_MEGARAID is not set
+# CONFIG_SCSI_MEGARAID2 is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_CPQFCTS is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_EATA_DMA is not set
+# CONFIG_SCSI_EATA_PIO is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_NCR53C7xx is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_NCR53C8XX is not set
+# CONFIG_SCSI_SYM53C8XX is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_PCI2000 is not set
+# CONFIG_SCSI_PCI2220I is not set
+# CONFIG_SCSI_PSI240I is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_QLOGIC_ISP is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_SIM710 is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_U14_34F is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
 
 #
 # I2O device support
@@ -373,10 +500,10 @@
 # ARCnet devices
 #
 # CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
 # CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
+CONFIG_TUN=m
 # CONFIG_ETHERTAP is not set
 
 #
@@ -415,13 +542,32 @@
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
 # CONFIG_PLIP is not set
-# CONFIG_PPP is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
 # CONFIG_SLIP is not set
 
 #
 # Wireless LAN (non-hamradio)
 #
-# CONFIG_NET_RADIO is not set
+CONFIG_NET_RADIO=y
+# CONFIG_STRIP is not set
+# CONFIG_WAVELAN is not set
+# CONFIG_ARLAN is not set
+# CONFIG_AIRONET4500 is not set
+# CONFIG_AIRONET4500_NONCS is not set
+# CONFIG_AIRONET4500_PROC is not set
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_PLX_HERMES is not set
+# CONFIG_TMD_HERMES is not set
+# CONFIG_PCI_HERMES is not set
+CONFIG_NET_WIRELESS=y
 
 #
 # Token Ring devices
@@ -511,14 +657,6 @@
 # Joysticks
 #
 # CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
 # CONFIG_QIC02_TAPE is not set
 # CONFIG_IPMI_HANDLER is not set
 # CONFIG_IPMI_PANIC_EVENT is not set
@@ -550,7 +688,7 @@
 # Direct Rendering Manager (XFree86 DRI support)
 #
 # CONFIG_DRM is not set
-# CONFIG_AU1X00_GPIO is not set
+CONFIG_AU1X00_GPIO=m
 # CONFIG_TS_AU1X00_ADS7846 is not set
 
 #
@@ -560,7 +698,7 @@
 # CONFIG_QFMT_V2 is not set
 # CONFIG_AUTOFS_FS is not set
 # CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
+CONFIG_REISERFS_FS=m
 # CONFIG_REISERFS_CHECK is not set
 # CONFIG_REISERFS_PROC_INFO is not set
 # CONFIG_ADFS_FS is not set
@@ -571,28 +709,29 @@
 # CONFIG_BEFS_FS is not set
 # CONFIG_BEFS_DEBUG is not set
 # CONFIG_BFS_FS is not set
-CONFIG_EXT3_FS=y
-CONFIG_JBD=y
+CONFIG_EXT3_FS=m
+CONFIG_JBD=m
 # CONFIG_JBD_DEBUG is not set
-# CONFIG_FAT_FS is not set
-# CONFIG_MSDOS_FS is not set
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
 # CONFIG_UMSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
+CONFIG_VFAT_FS=m
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
 # CONFIG_JFS_FS is not set
 # CONFIG_JFS_DEBUG is not set
 # CONFIG_JFS_STATISTICS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
+CONFIG_NTFS_FS=m
 # CONFIG_NTFS_RW is not set
 # CONFIG_HPFS_FS is not set
 CONFIG_PROC_FS=y
@@ -603,9 +742,9 @@
 # CONFIG_QNX4FS_FS is not set
 # CONFIG_QNX4FS_RW is not set
 # CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS=m
 # CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
+CONFIG_UDF_FS=m
 # CONFIG_UDF_RW is not set
 # CONFIG_UFS_FS is not set
 # CONFIG_UFS_FS_WRITE is not set
@@ -625,7 +764,8 @@
 CONFIG_SUNRPC=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
-# CONFIG_SMB_FS is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
 # CONFIG_NCP_FS is not set
 # CONFIG_NCPFS_PACKET_SIGNING is not set
 # CONFIG_NCPFS_IOCTL_LOCKING is not set
@@ -635,30 +775,252 @@
 # CONFIG_NCPFS_SMALLDOS is not set
 # CONFIG_NCPFS_NLS is not set
 # CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
+CONFIG_ZISOFS_FS=m
 
 #
 # Partition Types
 #
 # CONFIG_PARTITION_ADVANCED is not set
 CONFIG_MSDOS_PARTITION=y
-# CONFIG_SMB_NLS is not set
-# CONFIG_NLS is not set
+CONFIG_SMB_NLS=y
+CONFIG_NLS=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS_DEFAULT="iso8859-15"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=m
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ISO8859_1=m
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=m
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
 
 #
 # Multimedia devices
 #
-# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+# CONFIG_VIDEO_PROC_FS is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_VIDEO_BT848 is not set
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_ZORAN_BUZ is not set
+# CONFIG_VIDEO_ZORAN_DC10 is not set
+# CONFIG_VIDEO_ZORAN_LML33 is not set
+# CONFIG_VIDEO_ZR36120 is not set
+# CONFIG_VIDEO_MEYE is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_RADIO_MIROPCM20 is not set
 
 #
 # Sound
 #
-# CONFIG_SOUND is not set
+CONFIG_SOUND=m
+# CONFIG_SOUND_ALI5455 is not set
+# CONFIG_SOUND_BT878 is not set
+# CONFIG_SOUND_CMPCI is not set
+# CONFIG_SOUND_EMU10K1 is not set
+# CONFIG_MIDI_EMU10K1 is not set
+# CONFIG_SOUND_FUSION is not set
+# CONFIG_SOUND_CS4281 is not set
+# CONFIG_SOUND_ES1370 is not set
+# CONFIG_SOUND_ES1371 is not set
+# CONFIG_SOUND_ESSSOLO1 is not set
+# CONFIG_SOUND_MAESTRO is not set
+# CONFIG_SOUND_MAESTRO3 is not set
+# CONFIG_SOUND_FORTE is not set
+# CONFIG_SOUND_ICH is not set
+# CONFIG_SOUND_RME96XX is not set
+# CONFIG_SOUND_SONICVIBES is not set
+# CONFIG_SOUND_AU1X00 is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+# CONFIG_SOUND_VIA82CXXX is not set
+# CONFIG_MIDI_VIA82CXXX is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+# CONFIG_SOUND_AD1816 is not set
+# CONFIG_SOUND_AD1889 is not set
+# CONFIG_SOUND_SGALAXY is not set
+# CONFIG_SOUND_ADLIB is not set
+# CONFIG_SOUND_ACI_MIXER is not set
+# CONFIG_SOUND_CS4232 is not set
+# CONFIG_SOUND_SSCAPE is not set
+# CONFIG_SOUND_GUS is not set
+# CONFIG_SOUND_VMIDI is not set
+# CONFIG_SOUND_TRIX is not set
+# CONFIG_SOUND_MSS is not set
+# CONFIG_SOUND_MPU401 is not set
+# CONFIG_SOUND_NM256 is not set
+# CONFIG_SOUND_MAD16 is not set
+# CONFIG_SOUND_PAS is not set
+# CONFIG_PAS_JOYSTICK is not set
+# CONFIG_SOUND_PSS is not set
+# CONFIG_SOUND_SB is not set
+# CONFIG_SOUND_AWE32_SYNTH is not set
+# CONFIG_SOUND_KAHLUA is not set
+# CONFIG_SOUND_WAVEFRONT is not set
+# CONFIG_SOUND_MAUI is not set
+# CONFIG_SOUND_YM3812 is not set
+# CONFIG_SOUND_OPL3SA1 is not set
+# CONFIG_SOUND_OPL3SA2 is not set
+# CONFIG_SOUND_YMFPCI is not set
+# CONFIG_SOUND_YMFPCI_LEGACY is not set
+# CONFIG_SOUND_UART6850 is not set
+# CONFIG_SOUND_AEDSP16 is not set
+# CONFIG_SOUND_TVMIXER is not set
+# CONFIG_SOUND_AD1980 is not set
+# CONFIG_SOUND_WM97XX is not set
 
 #
 # USB support
 #
-# CONFIG_USB is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+CONFIG_USB_OHCI=y
+CONFIG_USB_AUDIO=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_MIDI=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE_DEBUG=y
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+# CONFIG_USB_STORAGE_ISD200 is not set
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_HP8200e=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+# CONFIG_USB_HID is not set
+# CONFIG_USB_HIDINPUT is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+CONFIG_USB_DC2XX=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_SCANNER=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_HPUSBSCSI=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_OV511=m
+CONFIG_USB_PWC=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_W9968CF is not set
+CONFIG_USB_VICAM=m
+CONFIG_USB_DSBR=m
+CONFIG_USB_DABUSB=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_CATC=m
+# CONFIG_USB_AX8817X is not set
+CONFIG_USB_CDCETHER=m
+CONFIG_USB_USBNET=m
+# CONFIG_USB_USS720 is not set
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_TIGL=m
+CONFIG_USB_BRLVGER=m
+CONFIG_USB_LCD=m
 
 #
 # Support for USB gadgets
@@ -668,7 +1030,30 @@
 #
 # Bluetooth support
 #
-# CONFIG_BLUEZ is not set
+CONFIG_BLUEZ=m
+CONFIG_BLUEZ_L2CAP=m
+CONFIG_BLUEZ_SCO=m
+CONFIG_BLUEZ_RFCOMM=m
+CONFIG_BLUEZ_RFCOMM_TTY=y
+CONFIG_BLUEZ_BNEP=m
+CONFIG_BLUEZ_BNEP_MC_FILTER=y
+CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BLUEZ_HCIUSB=m
+CONFIG_BLUEZ_USB_SCO=y
+CONFIG_BLUEZ_HCIUART=m
+CONFIG_BLUEZ_HCIUART_H4=y
+CONFIG_BLUEZ_HCIUART_BCSP=y
+CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y
+# CONFIG_BLUEZ_HCIBFUSB is not set
+# CONFIG_BLUEZ_HCIDTL1 is not set
+# CONFIG_BLUEZ_HCIBT3C is not set
+# CONFIG_BLUEZ_HCIBLUECARD is not set
+# CONFIG_BLUEZ_HCIBTUART is not set
+CONFIG_BLUEZ_HCIVHCI=m
 
 #
 # Kernel hacking
@@ -691,5 +1076,5 @@
 # Library routines
 #
 # CONFIG_CRC32 is not set
-# CONFIG_ZLIB_INFLATE is not set
-# CONFIG_ZLIB_DEFLATE is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y


--Boundary-00=_L6B4/Fwy/KAcfcB--




From bruno.randolf@4g-systems.biz Wed Dec 17 09:15:39 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 09:15:41 +0000 (GMT)
Received: from moutng.kundenserver.de ([IPv6:::ffff:212.227.126.184]:18631
	"EHLO moutng.kundenserver.de") by linux-mips.org with ESMTP
	id <S8225363AbTLQJPj>; Wed, 17 Dec 2003 09:15:39 +0000
Received: from [212.227.126.208] (helo=mrelayng.kundenserver.de)
	by moutng.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AWXmL-000142-00
	for linux-mips@linux-mips.org; Wed, 17 Dec 2003 10:15:37 +0100
Received: from [80.129.135.60] (helo=create.4g)
	by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1)
	id 1AWXmL-0002wr-00
	for linux-mips@linux-mips.org; Wed, 17 Dec 2003 10:15:37 +0100
Received: from [62.254.210.162] (helo=ftp.linux-mips.org)
	by mxng05.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AOyml-0005vv-00
	for bruno.randolf@4g-systems.biz; Wed, 26 Nov 2003 13:28:47 +0100
Received: from localhost.localdomain ([IPv6:::ffff:127.0.0.1]:17289 "EHLO
	ftp.linux-mips.org") by linux-mips.org with ESMTP
	id <S8225346AbTKZM2p>; Wed, 26 Nov 2003 12:28:45 +0000
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 26 Nov 2003 12:28:25 +0000 (GMT)
Received: from moutng.kundenserver.de ([IPv6:::ffff:212.227.126.186]:37325
	"EHLO moutng.kundenserver.de") by linux-mips.org with ESMTP
	id <S8225339AbTKZM2N>; Wed, 26 Nov 2003 12:28:13 +0000
Received: from [212.227.126.208] (helo=mrelayng.kundenserver.de)
	by moutng.kundenserver.de with esmtp (Exim 3.35 #1)
	id 1AOymB-0007NM-00
	for linux-mips@linux-mips.org; Wed, 26 Nov 2003 13:28:11 +0100
Received: from [80.129.142.67] (helo=create.4g)
	by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1)
	id 1AOymB-0004ZP-00
	for linux-mips@linux-mips.org; Wed, 26 Nov 2003 13:28:11 +0100
From: Bruno Randolf <bruno.randolf@4g-systems.biz>
Organization: 4G Mobile Systeme
To: linux-mips@linux-mips.org
Subject: au1000_eth LEDs for mtx-1
Date: Wed, 17 Dec 2003 10:15:37 +0100
User-Agent: KMail/1.5.3
MIME-Version: 1.0
X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:d41044fba7cf33548d8f98fdbdd6d515
X-archive-position: 3678
X-ecartis-version: Ecartis v1.0.0
X-original-sender: bruno.randolf@4g-systems.biz
Precedence: bulk
X-list: linux-mips
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_56B4/0b+CRI6XUW"
Message-Id: <200312171015.37345.bruno.randolf@4g-systems.biz>
X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:d41044fba7cf33548d8f98fdbdd6d515
Return-Path: <bruno.randolf@4g-systems.biz>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3784
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bruno.randolf@4g-systems.biz
Precedence: bulk
X-list: linux-mips


--Boundary-00=_56B4/0b+CRI6XUW
Content-Type: Text/Plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Description: clearsigned data
Content-Disposition: inline

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

this is also a patch i sent in a month ago:

hi again!

please also consider this small patch for enabling the traffic indication LEDs
of au1000_eth for the mtx-1 board.

thanks!

bruno

- --
4G Systeme GmbH
Am Sandtorkai 71
20457 Hamburg
fon: +49 (0)40 / 48 40 33 28
fax: +49 (0)40 / 48 40 33 30
mail: bruno.randolf@4g-systems.biz


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/4B65fg2jtUL97G4RAskLAJ4o7vjuJ30wV/xnYCqebkwWqmPZpQCfc/+c
zOVkCWZMQK7LMTWKgozboH0=
=eKJn
-----END PGP SIGNATURE-----

--Boundary-00=_56B4/0b+CRI6XUW
Content-Type: text/x-diff;
  charset="us-ascii";
  name="au1000_mtx_led.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="au1000_mtx_led.diff"

--- /data/kernel/mips-2.4.23-rc5/drivers/net/au1000_eth.c	2003-11-26 10:51:55.000000000 +0100
+++ drivers/net/au1000_eth.c	2003-11-26 13:16:26.000000000 +0100
@@ -241,7 +241,11 @@
 	mdelay(1);
 
 	/* set up LEDs to correct display */
+#ifdef CONFIG_MIPS_MTX1
+	mdio_write(dev, phy_addr, 17, 0xff80);
+#else
 	mdio_write(dev, phy_addr, 17, 0xffc0);
+#endif
 
 	if (au1000_debug > 4)
 		dump_mii(dev, phy_addr);

--Boundary-00=_56B4/0b+CRI6XUW--




From geert@linux-m68k.org Wed Dec 17 09:54:38 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 09:54:39 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:53900 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225363AbTLQJyi>;
	Wed, 17 Dec 2003 09:54:38 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBH9sVQG009987;
	Wed, 17 Dec 2003 10:54:34 +0100 (MET)
Date: Wed, 17 Dec 2003 10:54:32 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Bruno Randolf <bruno.randolf@4g-systems.biz>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: au1000/mtx-1 patch
In-Reply-To: <200312171014.51677.bruno.randolf@4g-systems.biz>
Message-ID: <Pine.GSO.4.58.0312171053590.24864@waterleaf.sonytel.be>
References: <200312171014.51677.bruno.randolf@4g-systems.biz>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <geert@linux-m68k.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3785
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Wed, 17 Dec 2003, Bruno Randolf wrote:
> i send this a second time since my last request from a month ago was ignored.
> it would be really good if this quite trivial but important (whithout it our
> board wont work correctly) patch would make it into the final 2.4 kernel.
>
> could someone please apply the attached patch to the linux_2_4 branch. it
> fixes the board initialization for the mtx-1 board, makes the naming more
> consistent and changes my e-mail address.

Always make sure Ralf's address is in the `To:' header.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

From yuasa@hh.iij4u.or.jp Wed Dec 17 10:57:39 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 10:57:41 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:27623 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225380AbTLQK5j>;
	Wed, 17 Dec 2003 10:57:39 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id TAA24015;
	Wed, 17 Dec 2003 19:57:31 +0900 (JST)
Received: 4UMDO00 id hBHAvUg09415; Wed, 17 Dec 2003 19:57:31 +0900 (JST)
Received: 4UMRO00 id hBHAvTN08025; Wed, 17 Dec 2003 19:57:29 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131]) (authenticated)
Date: Wed, 17 Dec 2003 19:57:29 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: yuasa@hh.iij4u.or.jp, ralf@linux-mips.org,
	linux-mips@linux-mips.org
Subject: Re: [patch] 2.4: Support for newer gcc/gas options
Message-Id: <20031217195729.54fbf4e6.yuasa@hh.iij4u.or.jp>
In-Reply-To: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
References: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3786
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello,

On Tue, 16 Dec 2003 22:33:41 +0100 (CET)
"Maciej W. Rozycki" <macro@ds2.pg.gda.pl> wrote:

> Hello,
> 
>  Since command line options for both gcc and gas has been changed in an 
> incompatible way recently and also there are stricter requirements on 
> certain options when used simultaneously, I propose the following patch to 
> our top-level Makefiles to let the optimal set of options be selected at 
> the build time.  The intent is to try modern options first, then obsolete 
> ones and to set gas options independently to gcc ones as one may be more 
> inclined to upgrade binutils that his old trusty gcc.
> 
>  The patch implements a make macro called set_gccflags which accepts two
> sets of options consisting of a CPU name and an ISA name each.  Within 
> both sets "-march=" and failing that "-mcpu=" is checked with the CPU name 
> and the ISA name is checked simultaneously.  For gcc if the first set of 
> options fails, the second one is selected even if it would lead to a 
> failure.  For gas both sets are checked and if none succeeds, an empty set 
> is selected.
> 
>  The 32-bit variation accepts a fifth option as well to permit ABI
> selection with an ISA when the "-mabi=" option is unavailable, which is 
> also tested.
> 
>  Beside letting one use modern tools at all the patch also enables CPU
> selection using newly added (and closer matching) settings like
> "-march=mips64" without forcing users to upgrade tools provided a
> conservative fallback is provided.
> 
>  Comments, thoughts, opinions, etc. will be appreciated.

This patch is wonderful for vr4100 series!

I'm using "GNU assembler version 2.14.90.0.6".
The gcc option is set up appropriately.

Thanks,

Yoichi



From ralf@linux-mips.org Wed Dec 17 11:04:05 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 11:04:05 +0000 (GMT)
Received: from p508B6FE9.dip.t-dialin.net ([IPv6:::ffff:80.139.111.233]:54762
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225380AbTLQLEF>; Wed, 17 Dec 2003 11:04:05 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBHB41oK002274;
	Wed, 17 Dec 2003 12:04:01 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBHB3uvR002273;
	Wed, 17 Dec 2003 12:03:56 +0100
Date: Wed, 17 Dec 2003 12:03:56 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Bruno Randolf <bruno.randolf@4g-systems.biz>,
	Linux/MIPS Development <linux-mips@linux-mips.org>,
	ppopov@mvista.com
Subject: Re: au1000/mtx-1 patch
Message-ID: <20031217110356.GB1888@linux-mips.org>
References: <200312171014.51677.bruno.randolf@4g-systems.biz> <Pine.GSO.4.58.0312171053590.24864@waterleaf.sonytel.be>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.GSO.4.58.0312171053590.24864@waterleaf.sonytel.be>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3787
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Wed, Dec 17, 2003 at 10:54:32AM +0100, Geert Uytterhoeven wrote:

> On Wed, 17 Dec 2003, Bruno Randolf wrote:
> > i send this a second time since my last request from a month ago was ignored.
> > it would be really good if this quite trivial but important (whithout it our
> > board wont work correctly) patch would make it into the final 2.4 kernel.
> >
> > could someone please apply the attached patch to the linux_2_4 branch. it
> > fixes the board initialization for the mtx-1 board, makes the naming more
> > consistent and changes my e-mail address.
> 
> Always make sure Ralf's address is in the `To:' header.

True - except Pete Popov is usually taking care about the Alchemy stuff ...

  Ralf

From ppopov@mvista.com Wed Dec 17 15:59:42 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 17 Dec 2003 15:59:45 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:27381 "EHLO
	av.mvista.com") by linux-mips.org with ESMTP id <S8225470AbTLQP7m>;
	Wed, 17 Dec 2003 15:59:42 +0000
Received: from zeus.mvista.com (av [127.0.0.1])
	by av.mvista.com (8.9.3/8.9.3) with ESMTP id HAA31042;
	Wed, 17 Dec 2003 07:59:38 -0800
Subject: Re: au1000_eth LEDs for mtx-1
From: Pete Popov <ppopov@mvista.com>
To: Bruno Randolf <bruno.randolf@4g-systems.biz>
Cc: Linux MIPS mailing list <linux-mips@linux-mips.org>
In-Reply-To: <200312171015.37345.bruno.randolf@4g-systems.biz>
References: <200312171015.37345.bruno.randolf@4g-systems.biz>
Content-Type: text/plain
Organization: MontaVista Software
Message-Id: <1071676777.25851.341.camel@zeus.mvista.com>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.4 
Date: 17 Dec 2003 07:59:37 -0800
Content-Transfer-Encoding: 7bit
Return-Path: <ppopov@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3788
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ppopov@mvista.com
Precedence: bulk
X-list: linux-mips


Sorry, I was away for a while and Ralf was probably waiting for me to
take a look at these patches. I'll take care of them in the next couple
of days.

Pete

On Wed, 2003-12-17 at 01:15, Bruno Randolf wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> this is also a patch i sent in a month ago:
> 
> hi again!
> 
> please also consider this small patch for enabling the traffic indication LEDs
> of au1000_eth for the mtx-1 board.
> 
> thanks!
> 
> bruno
> 
> - --
> 4G Systeme GmbH
> Am Sandtorkai 71
> 20457 Hamburg
> fon: +49 (0)40 / 48 40 33 28
> fax: +49 (0)40 / 48 40 33 30
> mail: bruno.randolf@4g-systems.biz
> 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.3 (GNU/Linux)
> 
> iD8DBQE/4B65fg2jtUL97G4RAskLAJ4o7vjuJ30wV/xnYCqebkwWqmPZpQCfc/+c
> zOVkCWZMQK7LMTWKgozboH0=
> =eKJn
> -----END PGP SIGNATURE-----


From thesistarball@yahoo.com.cn Thu Dec 18 03:37:17 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 03:37:27 +0000 (GMT)
Received: from smtp106.mail.sc5.yahoo.com ([IPv6:::ffff:66.163.169.226]:64619
	"HELO smtp106.mail.sc5.yahoo.com") by linux-mips.org with SMTP
	id <S8225373AbTLRDhR>; Thu, 18 Dec 2003 03:37:17 +0000
Received: from unknown (HELO Warrior) (thesistarball@61.149.153.203 with login)
  by smtp106.mail.sc5.yahoo.com with SMTP; 18 Dec 2003 03:37:10 -0000
Date: Thu, 18 Dec 2003 11:36:59 +0800
From: "He Jin" <thesistarball@yahoo.com.cn>
To: "linux-mips" <linux-mips@linux-mips.org>
Subject: AutoNegotiation could not complete in PB1500 platform
X-mailer: Foxmail 5.0 beta2 [cn]
Mime-Version: 1.0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: 7bit
Message-Id: <20031218033717Z8225373-16706+1429@linux-mips.org>
Return-Path: <thesistarball@yahoo.com.cn>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3789
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: thesistarball@yahoo.com.cn
Precedence: bulk
X-list: linux-mips

Hi, Dear all,

I'm porting my own firmware code to PB1500, however some troubles ocurred with the Au1x NIC and LSI PHY. The dump of PHY register (the NIC initialization code is borrowed from the driver inside YAMON) is as follow:

////////////////////////////////////
 MII status: Link is up
 1th 0x3000
 2th 0x7809			=> should be 0x7829
		^^^^^^^^^^
 3th 0x16
 4th 0xf840
 5th 0x1e1
 6th 0x 0 			=> should be 0x45e1
		^^^^^^^^^^
17th 0x22
18th 0xffc0
////////////////////////////////////

It shows the MII interface couldn't finish the AutoNegotiation process. The values I think right is the output of some small probe programs using YAMON to boot the board and running those small probe programs . Besides, the LED in NIC interface could flash normally and we observed the LSI PHY chips should have been reset sucessfully in our firmware code using oscillograph device to probe the 'reset' pin in the PHY chips. 

If I use YAMON, everything OK. Could somebody tell me why ? 

Thanks a lot !








From eokerson@texasconnect.net Thu Dec 18 04:55:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 04:55:41 +0000 (GMT)
Received: from dallas.texasconnect.net ([IPv6:::ffff:208.232.232.3]:26643 "EHLO
	dallas.texasconnect.net") by linux-mips.org with ESMTP
	id <S8225323AbTLREzk>; Thu, 18 Dec 2003 04:55:40 +0000
Received: from dallas.texasconnect.net (dallas.texasconnect.net [208.232.232.3])
	by dallas.texasconnect.net (8.12.9/8.12.9) with ESMTP id hBI4tbcq009747;
	Wed, 17 Dec 2003 22:55:37 -0600
Date: Wed, 17 Dec 2003 22:55:37 -0600 (CST)
From: Ed Okerson <eokerson@texasconnect.net>
To: He Jin <thesistarball@yahoo.com.cn>
cc: linux-mips <linux-mips@linux-mips.org>
Subject: Re: AutoNegotiation could not complete in PB1500 platform
In-Reply-To: <20031218033717Z8225373-16706+1429@linux-mips.org>
Message-ID: <Pine.LNX.4.44.0312172253330.1654-100000@dallas.texasconnect.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <eokerson@texasconnect.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3790
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: eokerson@texasconnect.net
Precedence: bulk
X-list: linux-mips

Did you set the EM bit in the mac_control register to match the endian
mode you are running the CPU in?

Ed Okerson

On Thu, 18 Dec 2003, He Jin wrote:

> Hi, Dear all,
>
> I'm porting my own firmware code to PB1500, however some troubles ocurred with the Au1x NIC and LSI PHY. The dump of PHY register (the NIC initialization code is borrowed from the driver inside YAMON) is as follow:
>
> ////////////////////////////////////
>  MII status: Link is up
>  1th 0x3000
>  2th 0x7809			=> should be 0x7829
> 		^^^^^^^^^^
>  3th 0x16
>  4th 0xf840
>  5th 0x1e1
>  6th 0x 0 			=> should be 0x45e1
> 		^^^^^^^^^^
> 17th 0x22
> 18th 0xffc0
> ////////////////////////////////////
>
> It shows the MII interface couldn't finish the AutoNegotiation process. The values I think right is the output of some small probe programs using YAMON to boot the board and running those small probe programs . Besides, the LED in NIC interface could flash normally and we observed the LSI PHY chips should have been reset sucessfully in our firmware code using oscillograph device to probe the 'reset' pin in the PHY chips.
>
> If I use YAMON, everything OK. Could somebody tell me why ?
>
> Thanks a lot !
>
>
>
>
>
>
>
>


From samavarthy@hotmail.com Thu Dec 18 14:28:47 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 14:28:56 +0000 (GMT)
Received: from bay7-f37.bay7.hotmail.com ([IPv6:::ffff:64.4.11.37]:39689 "EHLO
	hotmail.com") by linux-mips.org with ESMTP id <S8225205AbTLRO2r>;
	Thu, 18 Dec 2003 14:28:47 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Thu, 18 Dec 2003 06:28:37 -0800
Received: from 203.196.146.243 by by7fd.bay7.hotmail.msn.com with HTTP;
	Thu, 18 Dec 2003 14:28:36 GMT
X-Originating-IP: [203.196.146.243]
X-Originating-Email: [samavarthy@hotmail.com]
X-Sender: samavarthy@hotmail.com
From: "samavarthy c" <samavarthy@hotmail.com>
To: linux-mips@linux-mips.org
Subject: USB on MIPS
Date: Thu, 18 Dec 2003 19:58:36 +0530
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>
X-OriginalArrivalTime: 18 Dec 2003 14:28:37.0071 (UTC) FILETIME=[395B6DF0:01C3C573]
Return-Path: <samavarthy@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3791
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: samavarthy@hotmail.com
Precedence: bulk
X-list: linux-mips

Hi,

I am working on a PDA based board which has a NEC MIPS VR4131
processor.
The board has a companion chip MediaQ 1132 which has OHCI support
builtin.
The kernel used is MontaVista HardHat 2.4.18. I am trying to configure
MQ1132 for USB Host support. It looks like the Host controller
(MQ1132) is initialized properly but not sure. When I plug in a USB
stick on to the USB port, I get the following messages.
-----------------------------------------------------------------
hub.c: USB new device connect on bus1/1, assigned device number 2
usb-ohci.c: unlink URB timeout
usb.c: USB device not accepting new address=2 (error=-145)

hub.c: USB new device connect on bus1/1, assigned device number 3
usb_control/bulk_msg: timeout
usb-ohci.c: unlink URB timeout
usb.c: USB device not accepting new address=3 (error=-145)
-------------------------------------------------------------------
Has anyone experienced the same out there. Could any one suggest how
to debug this error. What could be the problem?.

Thanks in advance.

Regards,
aks

_________________________________________________________________
Add glamour to your desktop. Let your screen sizzle. 
http://server1.msn.co.in/msnchannels/Entertainment/wallpaperhome.asp 
Download the hottest wallpapers.


From ralf@linux-mips.org Thu Dec 18 15:14:46 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 15:14:47 +0000 (GMT)
Received: from p508B7C2A.dip.t-dialin.net ([IPv6:::ffff:80.139.124.42]:19424
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225391AbTLRPOq>; Thu, 18 Dec 2003 15:14:46 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBIFEioK002126
	for <linux-mips@linux-mips.org>; Thu, 18 Dec 2003 16:14:44 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBIFEiei002125
	for linux-mips@linux-mips.org; Thu, 18 Dec 2003 16:14:44 +0100
Date: Thu, 18 Dec 2003 16:14:44 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
Subject: Linux 2.6.0
Message-ID: <20031218151444.GA32451@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3792
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

As for MIPS, I'm a less than happy that most developpers have hardly touched
2.5 / 2.6 so far.  Nevertheless we seem to be in a fairly reasonable shape
for some of the supported systems which I hope means we'll soon be able
to declare 2.6 to have reached production quality.  The no prisoners taken
cleanups I did to 2.6 will hopefully also help to stabilize 2.6 faster -
it's a tremendous help having to fix just one copy of code not a dozen ...

Below Linus announcement of Linux 2.6.0.

  Ralf

----- Forwarded message from Linus Torvalds <torvalds@osdl.org> -----

From: Linus Torvalds <torvalds@osdl.org>
Date: Wed, 17 Dec 2003 20:14:06 -0800 (PST)
To: Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Linux 2.6.0
Content-Type: TEXT/PLAIN; charset=ISO-8859-1


				"The beaver is out of detox"
						- Anon

This should not be a big surprise to anybody on the list any more, since
we've been building up to it for a long time now, and for the last few
weeks I haven't accepted any patches except for what amounts to fairly
obvious one-liners.

Anyway, 2.6.0 is out there now, and the patch from -test11 is a swelte 
11kB in size. It's not the totally empty patch I was hoping for, but 
judging by the bugs I worked on personally, things are looking pretty 
good. 

To give you an example, one of the nastier bugs that we chased for the 
last five weeks was a bug that could only be reproduced reliably on a 
16- or 32-way system, and only when the system had flaky disks. Putting in 
known-good disks made the problem disappear. Similarly, compiling the 
kernel with another compiler made the problem disappear.

It turned out to be a really subtle bug wrt SMP ordering and stack
allocation, and lots of thanks to Ram Pai for gathering all the
information that eventually led to it being fixed. The fix was a one-liner
and a big comment - but my point is that the quality of bugs has been
pretty high lately, and we feel that we're in pretty good shape.

Andrew has written up some caveats and pointers to information about 2.4.x
vs 2.6.x changes, and I'll let him post that. Some known issues were not
considered to be release-critical and a number of them have pending fixes
in the -mm queue. Generally they just didn't have the kind of verification
yet where I was willing to take them in order to make sure a fair 2.6.0
release.

NOTE! I'll continue to keep track of the 2.6 BK tree until we're closer to
the time when we literally split it for 2.7.x, because both Andrew and I
are pretty comfortable with our respective toolchains. But Andrew is the
stable tree maintainer, so everything should be approved by him at this
point. Think of the -mm tree as the staging area, and mine as a release
tree. We'll work together, but Andrew is boss.

(BK merging will have to go through some approval format, we'll see how
that works out exactly).

		Linus

---

Summary of changes from v2.6.0-test11 to v2.6.0
============================================

Alan Stern:
  o USB: fix bug not setting device state following usb_device_reset()

Andrey Borzenkov:
  o USB: prevent catch-all USB aliases in modules.alias

Arnaldo Carvalho de Melo:
  o [IPV6]: Fix TCP socket leak

David Brownell:
  o USB: fix remove device after set_configuration

David S. Miller:
  o [NETFILTER]: In conntrack, do not fragment TSO packets by accident
  o [PKT_SCHED]: Do not dereference the special pointer value 'HTB_DIRECT'

Greg Kroah-Hartman:
  o USB: register usb-serial ports in the proper place in sysfs
  o USB: fix race with hub devices disconnecting while stuff is still
    happening to them
  o USB: fix bug for multiple opens on ttyUSB devices
  o kobject: fix bug where a parent could be deleted before a child
    device

Harald Welte:
  o [NETFILTER]: Sanitize ip_ct_tcp_timeout_close_wait value, from 2.4.x

Herbert Xu:
  o USB: Fix connect/disconnect race

Hideaki Yoshifuji:
  o [IPV6]: Fix ipv4 mapped address calculation in udpv6_sendmsg()

Hirofumi Ogawa:
  o Missing initialization of /proc/net/tcp seq_file

Ingo Molnar:
  o Fix lost wakeups problem
  o Fix /proc access to dead thread group list oops

James McMechan:
  o tmpfs oops fix

Jean Delvare:
  o I2C: fix i2c_smbus_write_byte() for i2c-nforce2

Jeff Garzik:
  o fix use-after-free in libata
  o fix oops on unload in pcnet32
  o remove manual driver poisoning of net_device
  o wireless airo oops fix

Jens Axboe:
  o fix broken x86_64 rdtscll
  o scsi_ioctl memcpy'ing user address
  o no bio unmap on cdb copy failure
  o Fix IDE bus reset and DMA disable when reading blank DVD-R
  o CDROM_SEND_PACKET bug

Jes Sorensen:
  o qla1280 crash fix in error handling

Julian Anastasov:
  o [BRIDGE]: Provide correct TOS value to IPv4 routing

Linus Torvalds:
  o Fix x86 kernel page fault error codes
  o Fix ide-scsi.c uninitialized variable
  o Fix the PROT_EXEC breakage on anonymous mmap
  o Fix subtle bug in "finish_wait()", which can cause kernel stack
    corruption on SMP because of another CPU still accessing a
    waitqueue even after it was de-allocated.
  o More subtle SMP bugs in prepare_to_wait()/finish_wait()
  o Fix thread group leader zombie leak

Martin Devera:
  o [PKT_SCHED]: In HTB, filters must be destroyed before the classes

Matthew Dharm:
  o USB storage: fix for jumpshot and datafab devices

Neil Brown:
  o Fix possible bio corruption with RAID5

Oliver Neukum:
  o USB: fix sleping in interrupt bug in auerswald driver
  o USB: fix race with signal delivery in usbfs

Pavlin Radoslavov:
  o [RTNETLINK]: Add RTPROT_XORP

Ren? Scharfe:
  o HPFS: missing lock_kernel() in hpfs_readdir()

Tom Rini:
  o USB: mark the scanner driver as obsolete

Ulrich Drepper:
  o Fix 'noexec' behaviour
-
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/

----- End forwarded message -----

From ppopov@mvista.com Thu Dec 18 16:51:17 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 16:51:18 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:58609 "EHLO
	av.mvista.com") by linux-mips.org with ESMTP id <S8225397AbTLRQvR>;
	Thu, 18 Dec 2003 16:51:17 +0000
Received: from mvista.com (av [127.0.0.1])
	by av.mvista.com (8.9.3/8.9.3) with ESMTP id IAA26650;
	Thu, 18 Dec 2003 08:51:12 -0800
Message-ID: <3FE1DB05.1020702@mvista.com>
Date: Thu, 18 Dec 2003 08:51:17 -0800
From: Pete Popov <ppopov@mvista.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: samavarthy c <samavarthy@hotmail.com>
CC: linux-mips@linux-mips.org
Subject: Re: USB on MIPS
References: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>
In-Reply-To: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <ppopov@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3793
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ppopov@mvista.com
Precedence: bulk
X-list: linux-mips


I haven't worked with that board, but on the AMD/Alchemy boards, the 
same errors have typically been associated with improper setup of the 
usb controller -- usually the clock that is routed internally to the 
controller.

Pete

samavarthy c wrote:

> Hi,
>
> I am working on a PDA based board which has a NEC MIPS VR4131
> processor.
> The board has a companion chip MediaQ 1132 which has OHCI support
> builtin.
> The kernel used is MontaVista HardHat 2.4.18. I am trying to configure
> MQ1132 for USB Host support. It looks like the Host controller
> (MQ1132) is initialized properly but not sure. When I plug in a USB
> stick on to the USB port, I get the following messages.
> -----------------------------------------------------------------
> hub.c: USB new device connect on bus1/1, assigned device number 2
> usb-ohci.c: unlink URB timeout
> usb.c: USB device not accepting new address=2 (error=-145)
>
> hub.c: USB new device connect on bus1/1, assigned device number 3
> usb_control/bulk_msg: timeout
> usb-ohci.c: unlink URB timeout
> usb.c: USB device not accepting new address=3 (error=-145)
> -------------------------------------------------------------------
> Has anyone experienced the same out there. Could any one suggest how
> to debug this error. What could be the problem?.
>
> Thanks in advance.
>
> Regards,
> aks
>
> _________________________________________________________________
> Add glamour to your desktop. Let your screen sizzle. 
> http://server1.msn.co.in/msnchannels/Entertainment/wallpaperhome.asp 
> Download the hottest wallpapers.
>
>
>


From jsun@mvista.com Thu Dec 18 17:43:23 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 18 Dec 2003 17:43:24 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:5622 "EHLO
	orion.mvista.com") by linux-mips.org with ESMTP id <S8225397AbTLRRnX>;
	Thu, 18 Dec 2003 17:43:23 +0000
Received: (from jsun@localhost)
	by orion.mvista.com (8.11.6/8.11.6) id hBIHhMY04282;
	Thu, 18 Dec 2003 09:43:22 -0800
Date: Thu, 18 Dec 2003 09:43:21 -0800
From: Jun Sun <jsun@mvista.com>
To: samavarthy c <samavarthy@hotmail.com>
Cc: linux-mips@linux-mips.org, jsun@mvista.com
Subject: Re: USB on MIPS
Message-ID: <20031218094321.A4146@mvista.com>
References: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>; from samavarthy@hotmail.com on Thu, Dec 18, 2003 at 07:58:36PM +0530
Return-Path: <jsun@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3794
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jsun@mvista.com
Precedence: bulk
X-list: linux-mips

On Thu, Dec 18, 2003 at 07:58:36PM +0530, samavarthy c wrote:
> Hi,
> 
> I am working on a PDA based board which has a NEC MIPS VR4131
> processor.
> The board has a companion chip MediaQ 1132 which has OHCI support
> builtin.
> The kernel used is MontaVista HardHat 2.4.18. I am trying to configure
> MQ1132 for USB Host support. It looks like the Host controller
> (MQ1132) is initialized properly but not sure. When I plug in a USB
> stick on to the USB port, I get the following messages.
> -----------------------------------------------------------------
> hub.c: USB new device connect on bus1/1, assigned device number 2
> usb-ohci.c: unlink URB timeout
> usb.c: USB device not accepting new address=2 (error=-145)
> 
> hub.c: USB new device connect on bus1/1, assigned device number 3
> usb_control/bulk_msg: timeout
> usb-ohci.c: unlink URB timeout
> usb.c: USB device not accepting new address=3 (error=-145)
> -------------------------------------------------------------------
> Has anyone experienced the same out there. Could any one suggest how
> to debug this error. What could be the problem?.
> 

Another possiblity (which is probably more likely) is the IRQ
number is not seupt correctly.  

Are you using Rokchopper II baseboard?  If so, single-function
PCI card should work properly w.r.t. IRQ.  If you are using other
backplan or using multi-function pci card, you need to some IRQ
fixup.

Jun

From yuasa@hh.iij4u.or.jp Fri Dec 19 03:49:20 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 03:49:21 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:7919 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225472AbTLSDtU>;
	Fri, 19 Dec 2003 03:49:20 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id MAA19548;
	Fri, 19 Dec 2003 12:49:17 +0900 (JST)
Received: 4UMDO01 id hBJ3nGf04617; Fri, 19 Dec 2003 12:49:16 +0900 (JST)
Received: 4UMRO00 id hBJ3nGu23106; Fri, 19 Dec 2003 12:49:16 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131]) (authenticated)
Date: Fri, 19 Dec 2003 12:49:16 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] add #define for clock of VRC4173
Message-Id: <20031219124916.745db0ca.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3795
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for vrc4173.h.
It add #define for clock of VRC4173.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/include/asm-mips/vr41xx/vrc4173.h linux/include/asm-mips/vr41xx/vrc4173.h
--- linux-orig/include/asm-mips/vr41xx/vrc4173.h	2003-11-25 15:25:37.000000000 +0900
+++ linux/include/asm-mips/vr41xx/vrc4173.h	2003-12-19 12:29:30.000000000 +0900
@@ -72,6 +72,19 @@
 /*
  * Clock Mask Unit
  */
+#define VRC4173_PIU_CLOCK		0x0001
+#define VRC4173_KIU_CLOCK		0x0002
+#define VRC4173_AIU_CLOCK		0x0004
+#define VRC4173_PS2CH1_CLOCK		0x0008
+#define VRC4173_PS2CH2_CLOCK		0x0010
+#define VRC4173_USBU_PCI_CLOCK		0x0020
+#define VRC4173_CARDU1_PCI_CLOCK	0x0040
+#define VRC4173_CARDU2_PCI_CLOCK	0x0080
+#define VRC4173_AC97U_PCI_CLOCK		0x0100
+#define VRC4173_USBU_48MHz_CLOCK	0x0400
+#define VRC4173_EXT_48MHz_CLOCK		0x0800
+#define VRC4173_48MHz_CLOCK		0x1000
+
 extern void vrc4173_clock_supply(u16 mask);
 extern void vrc4173_clock_mask(u16 mask);
 

From yuasa@hh.iij4u.or.jp Fri Dec 19 03:49:41 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 03:49:42 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:1519 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225475AbTLSDtV>;
	Fri, 19 Dec 2003 03:49:21 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id MAA13921;
	Fri, 19 Dec 2003 12:49:18 +0900 (JST)
Received: 4UMDO00 id hBJ3nHs28632; Fri, 19 Dec 2003 12:49:17 +0900 (JST)
Received: 4UMRO00 id hBJ3nHu23112; Fri, 19 Dec 2003 12:49:17 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131]) (authenticated)
Date: Fri, 19 Dec 2003 12:49:17 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.6] add #define for clock of VRC4173
Message-Id: <20031219124917.4dea3d74.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3796
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for vrc4173.h.
It add #define for clock of VRC4173.

This patch exists for HEAD of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/include/asm-mips/vr41xx/vrc4173.h linux/include/asm-mips/vr41xx/vrc4173.h
--- linux-orig/include/asm-mips/vr41xx/vrc4173.h	2003-11-25 15:29:27.000000000 +0900
+++ linux/include/asm-mips/vr41xx/vrc4173.h	2003-12-19 12:29:25.000000000 +0900
@@ -72,6 +72,19 @@
 /*
  * Clock Mask Unit
  */
+#define VRC4173_PIU_CLOCK		0x0001
+#define VRC4173_KIU_CLOCK		0x0002
+#define VRC4173_AIU_CLOCK		0x0004
+#define VRC4173_PS2CH1_CLOCK		0x0008
+#define VRC4173_PS2CH2_CLOCK		0x0010
+#define VRC4173_USBU_PCI_CLOCK		0x0020
+#define VRC4173_CARDU1_PCI_CLOCK	0x0040
+#define VRC4173_CARDU2_PCI_CLOCK	0x0080
+#define VRC4173_AC97U_PCI_CLOCK		0x0100
+#define VRC4173_USBU_48MHz_CLOCK	0x0400
+#define VRC4173_EXT_48MHz_CLOCK		0x0800
+#define VRC4173_48MHz_CLOCK		0x1000
+
 extern void vrc4173_clock_supply(u16 mask);
 extern void vrc4173_clock_mask(u16 mask);
 

From kimai@iodata.jp Fri Dec 19 04:14:47 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 04:14:49 +0000 (GMT)
Received: from ns10.iosnet.ne.jp ([IPv6:::ffff:211.127.181.3]:8200 "HELO
	ns10.iodata.co.jp") by linux-mips.org with SMTP id <S8224939AbTLSEOr>;
	Fri, 19 Dec 2003 04:14:47 +0000
Received: (qmail 33092 invoked from network); 19 Dec 2003 04:14:33 -0000
Received: from fw40.iodata.jp (HELO isl50.iodata.co.jp) (fwuser@211.127.181.2)
  by ns10.iodata.jp with SMTP; 19 Dec 2003 04:14:33 -0000
Date: Fri, 19 Dec 2003 13:14:31 +0900
Message-ID: <m3zndpsau0.wl@iodata.jp>
From: Kunihiko IMAI <kimai@iodata.jp>
To: linux-mips@linux-mips.org
Subject: Re: USB on MIPS
In-Reply-To: <20031218094321.A4146@mvista.com>
References: <BAY7-F37p6I65awhyxk00043bd8@hotmail.com>
MIME-Version: 1.0 (generated by SEMI 1.14.3 - =?ISO-2022-JP?B?IhskQjVtGyhC?=
 =?ISO-2022-JP?B?GyRCJU5DKxsoQiI=?=)
Content-Type: text/plain; charset=US-ASCII
Return-Path: <kimai@iodata.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3797
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kimai@iodata.jp
Precedence: bulk
X-list: linux-mips

Hi,

At Thu, 18 Dec 2003 09:43:21 -0800,
Jun Sun wrote:
> 
> On Thu, Dec 18, 2003 at 07:58:36PM +0530, samavarthy c wrote:
> > Hi,
(snip)
> 
> Another possiblity (which is probably more likely) is the IRQ
> number is not seupt correctly.  

And another possibilities are:

	DMA cache coherency
		NEC VR4xxxs have no bus-snoop function. So
		cache-coherency must be maintaind by software.
		(or use KSEG1 access)

		But I remember linux-2.4.18 of usb-ohci.c doesn't have
		this problem.

	Read/write cycle order
		Read/write cycle order of CPU instruction level is
		guaranteed at bus level?
		( Or at assembler level, the sequent instruction is
		re-ordered ? )

		Newer version of usb-ohci.c has some wmb() funtions.
		It synchronizes read/write order.

I got similar errors on VR4181A with 2.4.18 kernel.  VR4181A has
built-in USB OHCI 1.1 host connected internal PCI bus.

To fix this problem, I compared newer usb-ohci.c and put wmb()
corresponded place. It is expaneded as subsequent NOPs. (VR4xxx has
real SYNC instruction.)

Thanks.
_._. __._  _ . ... _  .___ ._. _____ _... ._ _._ _.._. .____  _ . ... _

                                                          Kunihiko IMAI

From karthik_96cse@yahoo.com Fri Dec 19 06:01:44 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 06:01:47 +0000 (GMT)
Received: from web10107.mail.yahoo.com ([IPv6:::ffff:216.136.130.57]:20625
	"HELO web10107.mail.yahoo.com") by linux-mips.org with SMTP
	id <S8225357AbTLSGBo>; Fri, 19 Dec 2003 06:01:44 +0000
Message-ID: <20031219060127.90257.qmail@web10107.mail.yahoo.com>
Received: from [128.107.253.43] by web10107.mail.yahoo.com via HTTP; Fri, 19 Dec 2003 06:01:27 GMT
Date: Fri, 19 Dec 2003 06:01:27 +0000 (GMT)
From: =?iso-8859-1?q?karthikeyan=20natarajan?= <karthik_96cse@yahoo.com>
Subject: Regarding branch delay instructions in R4000
To: linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Return-Path: <karthik_96cse@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3798
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: karthik_96cse@yahoo.com
Precedence: bulk
X-list: linux-mips

Hi All,

    If this is not a right forum to ask this Question,

please redirect me to the appropriate one...
    Since R4000 is using the 8 stage pipeline, three
instructions are already entered into the pipeline
when the branch instruction is executed. Out of these
three instructions, the first instruction will be 
executed for sure.

My question is:
    What happens to the other two instruction that are
in the delay slots? are they nullified?
    Could anyone please shed some light on this.

Thanks much,
-karthi

=====
The expert at anything was once a beginner

________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html

From uhler@mips.com Fri Dec 19 06:42:37 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 06:42:38 +0000 (GMT)
Received: from mx2.mips.com ([IPv6:::ffff:206.31.31.227]:41856 "EHLO
	mx2.mips.com") by linux-mips.org with ESMTP id <S8225415AbTLSGmh>;
	Fri, 19 Dec 2003 06:42:37 +0000
Received: from newman.mips.com (ns-dmz [206.31.31.225])
	by mx2.mips.com (8.12.5/8.12.5) with ESMTP id hBJ6atLi000754;
	Thu, 18 Dec 2003 22:36:55 -0800 (PST)
Received: from gmu-linux (gmu-linux.mips.com [172.20.8.94])
	by newman.mips.com (8.9.3/8.9.0) with ESMTP id WAA28315;
	Thu, 18 Dec 2003 22:42:29 -0800 (PST)
Subject: Re: Regarding branch delay instructions in R4000
From: Michael Uhler <uhler@mips.com>
To: karthikeyan natarajan <karthik_96cse@yahoo.com>
Cc: linux-mips@linux-mips.org
In-Reply-To: <20031219060127.90257.qmail@web10107.mail.yahoo.com>
References: <20031219060127.90257.qmail@web10107.mail.yahoo.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 (1.0.8-11) 
Date: 18 Dec 2003 22:41:32 -0800
Message-Id: <1071816092.30316.8.camel@gmu-linux>
Mime-Version: 1.0
Return-Path: <uhler@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3799
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: uhler@mips.com
Precedence: bulk
X-list: linux-mips

The MIPS architecture specifies a single delay slot after a branch
or jump.  The fact that the R4000 implementation (and pretty much
any of the ones following) had a pipeline in which more instructions
had already entered the pipe before the branch is resolved is not
relevant to the architecture specification.  In the case you
mention, a single instruction is executed after the branch, as
architecturally required, and any subsequent instructions in the
pipe are killed.

/gmu

On Thu, 2003-12-18 at 22:01, karthikeyan natarajan wrote:
> Hi All,
> 
>     If this is not a right forum to ask this Question,
> 
> please redirect me to the appropriate one...
>     Since R4000 is using the 8 stage pipeline, three
> instructions are already entered into the pipeline
> when the branch instruction is executed. Out of these
> three instructions, the first instruction will be 
> executed for sure.
> 
> My question is:
>     What happens to the other two instruction that are
> in the delay slots? are they nullified?
>     Could anyone please shed some light on this.
> 
> Thanks much,
> -karthi
> 
> =====
> The expert at anything was once a beginner
> 
> ________________________________________________________________________
> Yahoo! Messenger - Communicate instantly..."Ping" 
> your friends today! Download Messenger Now 
> http://uk.messenger.yahoo.com/download/index.html
> 
-- 
Michael Uhler, Chief Technology Officer
MIPS Technologies, Inc.  Email: uhler@mips.com  Pager: uhler_p@mips.com
1225 Charleston Road     Voice:  (650)567-5025  FAX:   (650)567-5225
Mountain View, CA 94043  Mobile: (650)868-6870  Admin: (650)567-5085


From yuasa@hh.iij4u.or.jp Fri Dec 19 07:26:17 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 19 Dec 2003 07:26:20 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:55779 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225415AbTLSH0R>;
	Fri, 19 Dec 2003 07:26:17 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id QAA02707;
	Fri, 19 Dec 2003 16:26:13 +0900 (JST)
Received: 4UMDO01 id hBJ7QDf06693; Fri, 19 Dec 2003 16:26:13 +0900 (JST)
Received: 4UMRO01 id hBJ7QCt07384; Fri, 19 Dec 2003 16:26:12 +0900 (JST)
	from rally.montavista.co.jp (sonicwall.montavista.co.jp [202.232.97.131]) (authenticated)
Date: Fri, 19 Dec 2003 16:26:12 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] New keyboard driver for NEC VR4100 series
Message-Id: <20031219162612.3de32249.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3800
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for keyboard driver of NEC VR4100 series.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/drivers/char/Config.in linux/drivers/char/Config.in
--- linux-orig/drivers/char/Config.in	2003-12-16 10:53:47.000000000 +0900
+++ linux/drivers/char/Config.in	2003-12-19 11:27:44.000000000 +0900
@@ -165,6 +165,9 @@
    fi
    bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0
 fi
+if [ "$CONFIG_CPU_VR41XX" = "y" ]; then
+   bool 'NEC VR4100 series Keyboard Interface Unit Support ' CONFIG_VR41XX_KIU
+fi
 bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS
 if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then
    int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256
diff -urN -X dontdiff linux-orig/drivers/char/Makefile linux/drivers/char/Makefile
--- linux-orig/drivers/char/Makefile	2003-11-25 15:22:01.000000000 +0900
+++ linux/drivers/char/Makefile	2003-12-19 11:17:20.000000000 +0900
@@ -47,6 +47,10 @@
   ifneq ($(CONFIG_PC_KEYB),y)
     KEYBD    =
   endif
+  ifeq ($(CONFIG_VR41XX_KIU),y)
+    KEYMAP   =
+    KEYBD    = vr41xx_keyb.o
+  endif
 endif
 
 ifeq ($(ARCH),s390x)
diff -urN -X dontdiff linux-orig/drivers/char/vr41xx_keyb.c linux/drivers/char/vr41xx_keyb.c
--- linux-orig/drivers/char/vr41xx_keyb.c	1970-01-01 09:00:00.000000000 +0900
+++ linux/drivers/char/vr41xx_keyb.c	2003-12-19 11:17:20.000000000 +0900
@@ -0,0 +1,410 @@
+/*
+ * FILE NAME
+ *	drivers/char/vr41xx_keyb.c
+ *
+ * BRIEF MODULE DESCRIPTION
+ *	Keyboard driver for NEC VR4100 series Keyboard Interface Unit.
+ *
+ * Copyright (C) 1999 Bradley D. LaRonde
+ * Copyright (C) 1999 Hiroshi Kawashima <kawashima@iname.com>
+ * Copyright (C) 2000 Michael Klar <wyldfier@iname.com>
+ * Copyright (C) 2002,2003 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+/*
+ * Changes:
+ *  version 1.0
+ *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>  Mon, 25 Mar 2002
+ *  -  Rewrote extensively because of 2.4.18.
+ *
+ *  version 1.1
+ *  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>  Wed,  9 Sep 200
+ *  -  Added NEC VRC4173 KIU support.
+ */
+#include <linux/config.h>
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/kbd_ll.h>
+#ifdef CONFIG_PCI
+#include <linux/pci.h>
+#endif
+#include <linux/pm.h>
+
+#include <asm/addrspace.h>
+#include <asm/cpu.h>
+#include <asm/io.h>
+#include <asm/param.h>
+#include <asm/vr41xx/vr41xx.h>
+#ifdef CONFIG_VRC4173
+#include <asm/vr41xx/vrc4173.h>
+#endif
+
+#define KIU_BASE			KSEG1ADDR(0x0b000180)
+#define MKIUINTREG			KSEG1ADDR(0x0b000092)
+
+#define VRC4173_KIU_OFFSET		0x100
+#define VRC4173_MKIUINTREG_OFFSET	0x072
+
+#define KIUDAT0				0x00
+#define KIUDAT1				0x02
+#define KIUDAT2				0x04
+#define KIUDAT3				0x06
+#define KIUDAT4				0x08
+#define KIUDAT5				0x0a
+#define KIUDAT6				0x0c
+#define KIUDAT7				0x0e
+#define KIUSCANREP			0x10
+ #define KIUSCANREP_KEYEN		0x8000
+ #define KIUSCANREP_STPREP(x)		((x) << 4)
+ #define KIUSCANREP_SCANSTP		0x0008
+ #define KIUSCANREP_SCANSTART		0x0004
+ #define KIUSCANREP_ATSTP		0x0002
+ #define KIUSCANREP_ATSCAN		0x0001
+#define KIUSCANS			0x12
+ #define KIUSCANS_SCANNING		0x0003
+ #define KIUSCANS_INTERVAL		0x0002
+ #define KIUSCANS_WAITKEYIN		0x0001
+ #define KIUSCANS_STOPPED		0x0000
+#define KIUWKS				0x14
+ #define KIUWKS_T3CNT			0x7c00
+ #define KIUWKS_T3CNT_SHIFT		10
+ #define KIUWKS_T2CNT			0x03e0
+ #define KIUWKS_T2CNT_SHIFT		5
+ #define KIUWKS_T1CNT			0x001f
+ #define KIUWKS_T1CNT_SHIFT		0
+ #define KIUWKS_CNT_USEC(x)		(((x) / 30) - 1)
+#define KIUWKI				0x16
+ #define KIUWKI_INTERVAL_USEC(x)	((x) / 30)
+#define KIUINT				0x18
+ #define KIUINT_KDATLOST		0x0004
+ #define KIUINT_KDATRDY			0x0002
+ #define KIUINT_SCANINT			0x0001
+#define KIURST				0x1a
+ #define KIURST_KIURST			0x0001
+#define KIUGPEN				0x1c
+ #define KIUGPEN_KGPEN(x)		((uint16_t)1 << (x))
+#define SCANLINE			0x1e
+ #define SCANLINE_DONTUSE		0x0003
+ #define SCANLINE_8LINES		0x0002
+ #define SCANLINE_10LINES		0x0001
+ #define SCANLINE_12LINES		0x0000
+
+static unsigned long kiu_base;
+static unsigned long mkiuintreg;
+
+#ifdef CONFIG_VRC4173
+#define kiu_readw(offset)		vrc4173_inw(kiu_base + (offset))
+#define kiu_writew(val, offset)		vrc4173_outw(val, kiu_base + (offset))
+#define mkiuintreg_writew(val)		vrc4173_outw((val), mkiuintreg)
+#else
+#define kiu_readw(offset)		readw(kiu_base + (offset))
+#define kiu_writew(val, offset)		writew(val, kiu_base + (offset))
+#define mkiuintreg_writew(val)		writew((val), mkiuintreg)
+#endif
+
+#define KIU_CLOCK			0x0008
+
+#ifdef CONFIG_VRC4173
+#define KIU_IRQ				VRC4173_KIU_IRQ
+#else
+#define KIU_IRQ				SYSINT1_IRQ(7)
+#endif
+
+#define KEY_UP				0
+#define KEY_DOWN			1
+
+#define DEFAULT_KIUDAT_REGS		6
+#define DEFAULT_DATA_NOT_REVERSED	0
+#define DEFAULT_T3CNT			KIUWKS_CNT_USEC(200)
+#define DEFAULT_T2CNT			KIUWKS_CNT_USEC(200)
+#define DEFAULT_T1CNT			KIUWKS_CNT_USEC(200)
+#define DEFAULT_SCAN_INTERVAL		KIUWKI_INTERVAL_USEC(30000)
+#define DEFAULT_REPEAT_DELAY		HZ/4
+#define DEFAULT_REPEAT_RATE		HZ/25
+
+static char *kiu_driver_name = "Keyboard driver";
+static char *kiu_driver_version = "1.1";
+static char *kiu_driver_revdate = "2003-09-09";
+static char *kiu_driver_device_name = "NEC VR4100 series KIU";
+
+static unsigned char kiudat_regs = DEFAULT_KIUDAT_REGS;
+static unsigned char data_reverse = DEFAULT_DATA_NOT_REVERSED;
+static uint16_t scanlines = SCANLINE_12LINES;
+static uint16_t t3cnt = DEFAULT_T3CNT;
+static uint16_t t2cnt = DEFAULT_T2CNT;
+static uint16_t t1cnt = DEFAULT_T1CNT;
+static uint16_t scan_interval = DEFAULT_SCAN_INTERVAL;
+
+static unsigned long repeat_delay = DEFAULT_REPEAT_DELAY;
+static unsigned long repeat_rate = DEFAULT_REPEAT_RATE;
+
+static int repeat_scancode = -1;
+static unsigned long next_handle_time;
+
+struct kiudat_t {
+	uint32_t reg;
+	uint16_t data;
+};
+
+static struct kiudat_t kiudat [8] = {
+	{KIUDAT0, 0}, {KIUDAT1, 0},
+	{KIUDAT2, 0}, {KIUDAT3, 0},
+	{KIUDAT4, 0}, {KIUDAT5, 0},
+	{KIUDAT6, 0}, {KIUDAT7, 0},
+};
+
+int kbd_setkeycode(unsigned int scancode, unsigned int keycode)
+{
+	return (scancode == keycode) ? 0 : -EINVAL;
+}
+
+int kbd_getkeycode(unsigned int scancode)
+{
+	return scancode;
+}
+
+int kbd_translate(unsigned char scancode, unsigned char *keycode, char raw_mode)
+{
+	*keycode = scancode;
+	return 1;
+}
+
+char kbd_unexpected_up(unsigned char keycode)
+{
+	printk(KERN_WARNING "vr41xx_keyb: unexpected up, keycode 0x%02x\n", keycode);
+	return 0x80;
+}
+
+void kbd_leds(unsigned char leds)
+{
+	return;
+}
+
+static inline void handle_kiudat(uint16_t data, uint16_t cmp_data, int scancode)
+{
+	uint16_t mask;
+	int down, candidate_scancode = 0;
+
+	for (mask = 0x0001; mask ; mask <<= 1) {
+		if (cmp_data & mask) {
+			down = data & mask ? KEY_DOWN : KEY_UP;
+			if (down == KEY_DOWN) {
+				repeat_scancode = scancode;
+				next_handle_time = jiffies + repeat_delay;
+			}
+			else {
+				if (repeat_scancode == scancode)
+					repeat_scancode = -1;
+			}
+			handle_scancode(scancode, down);
+		}
+		if (data & mask) {
+			candidate_scancode = scancode;
+		}
+		scancode++;
+	}
+
+	if ((repeat_scancode < 0) && (candidate_scancode > 0)) {
+			repeat_scancode = candidate_scancode;
+			next_handle_time = jiffies + repeat_delay;
+	}
+}
+
+static inline void handle_kiu_event(void)
+{
+	struct kiudat_t *kiu = kiudat;
+	uint16_t data, last_data, cmp_data;
+	int i;
+
+	for (i = 0; i < kiudat_regs; i++) {
+		last_data = kiu->data;
+		data = kiu_readw(kiu->reg);
+		if (data_reverse)
+			data = ~data;
+		kiu->data = data;
+		cmp_data = data ^ last_data;
+		handle_kiudat(data, cmp_data, i * 16);
+		kiu++;
+	}
+
+	if ((repeat_scancode >= 0) &&
+	    (time_after_eq(jiffies, next_handle_time))) {
+		handle_scancode(repeat_scancode, KEY_DOWN);
+		next_handle_time = jiffies + repeat_rate;
+	}
+}
+
+static void kiu_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+	uint16_t status;
+
+	mkiuintreg_writew(0);
+
+	status = kiu_readw(KIUINT);
+	kiu_writew(KIUINT_KDATLOST | KIUINT_KDATRDY | KIUINT_SCANINT, KIUINT);
+
+	if (status & KIUINT_KDATRDY)
+		handle_kiu_event();
+
+	mkiuintreg_writew(KIUINT_KDATLOST | KIUINT_KDATRDY);
+}
+
+#ifdef CONFIG_PM
+
+static int pm_kiu_request(struct pm_dev *dev, pm_request_t rqst, void *data)
+{
+	switch (rqst) {
+	case PM_SUSPEND:
+		mkiuintreg_writew(KIUINT_SCANINT);
+		break;
+	case PM_RESUME:
+		kiu_writew(KIUINT_KDATLOST | KIUINT_KDATRDY | KIUINT_SCANINT, KIUINT);
+		mkiuintreg_writew(KIUINT_KDATLOST | KIUINT_KDATRDY, MKIUINTREG);
+		break;
+	}
+
+	return 0;
+}
+
+#endif
+
+void __devinit kbd_init_hw(void)
+{
+	uint16_t kiugpen = 0;
+	int i;
+
+	if (current_cpu_data.cputype == CPU_VR4111 ||
+	    current_cpu_data.cputype == CPU_VR4121) {
+		kiu_base = KIU_BASE;
+		mkiuintreg = MKIUINTREG;
+#if defined(CONFIG_PCI) && defined(CONFIG_VRC4173)
+	} else if (current_cpu_data.cputype == CPU_VR4122 ||
+	           current_cpu_data.cputype == CPU_VR4131) {
+		struct pci_dev *dev;
+		int found = 0;
+		dev = pci_find_device(PCI_VENDOR_ID_NEC,
+		                      PCI_DEVICE_ID_NEC_VRC4173, NULL);
+		if (dev != NULL) {
+			switch (scanlines) {
+			case SCANLINE_8LINES:
+				vrc4173_select_function(KIU8_SELECT);
+				found = 1;
+				break;
+			case SCANLINE_10LINES:
+				vrc4173_select_function(KIU10_SELECT);
+				found = 1;
+				break;
+			case SCANLINE_12LINES:
+				vrc4173_select_function(KIU12_SELECT);
+				found = 1;
+				break;
+			default:
+				break;
+			}
+
+			if (found != 0) {
+				kiu_base = VRC4173_KIU_OFFSET;
+				mkiuintreg = VRC4173_MKIUINTREG_OFFSET;
+				vrc4173_clock_supply(VRC4173_KIU_CLOCK);
+			}
+		}
+#endif
+	}
+
+	if (kiu_base == 0 || mkiuintreg == 0)
+		return;
+
+	printk(KERN_INFO "%s version %s (%s) for %s\n",
+	       kiu_driver_name, kiu_driver_version,
+	       kiu_driver_revdate, kiu_driver_device_name);
+
+	mkiuintreg_writew(0);
+
+	if (current_cpu_data.cputype == CPU_VR4111 ||
+	    current_cpu_data.cputype == CPU_VR4121)
+		vr41xx_clock_supply(KIU_CLOCK);
+
+	kiu_writew(KIURST_KIURST, KIURST);
+
+	for (i = 0; i < scanlines; i++)
+		kiugpen &= ~(0x0001 << i);
+
+	kiu_writew(kiugpen, KIUGPEN);
+	kiu_writew(scanlines, SCANLINE);
+	kiu_writew((t3cnt << KIUWKS_T3CNT_SHIFT) |
+	           (t2cnt << KIUWKS_T2CNT_SHIFT) |
+	           (t1cnt << KIUWKS_T1CNT_SHIFT), KIUWKS);
+	kiu_writew(scan_interval, KIUWKI);
+	kiu_writew(KIUINT_KDATLOST | KIUINT_KDATRDY | KIUINT_SCANINT, KIUINT);
+
+
+	request_irq(KIU_IRQ, kiu_interrupt, 0, "keyboard", NULL);
+
+	mkiuintreg_writew(KIUINT_KDATLOST | KIUINT_KDATRDY);
+	kiu_writew(KIUSCANREP_KEYEN | KIUSCANREP_STPREP(1) |
+	       KIUSCANREP_ATSTP | KIUSCANREP_ATSCAN, KIUSCANREP);
+
+#ifdef CONFIG_PM
+	pm_register(PM_SYS_DEV, PM_SYS_KBC, pm_kiu_request);
+#endif
+}
+
+static int __devinit vr41xx_kbd_setup(char *options)
+{
+	char *this_opt;
+	int num;
+
+	if (!options || !*options)
+		return 1;
+
+	for (this_opt = strtok(options, ","); this_opt; this_opt = strtok(NULL, ",")) {
+		if (!strncmp(this_opt, "regs:", 5)) {
+			num = simple_strtoul(this_opt+5, NULL, 0);
+			if (num == 6 || num == 8)
+				kiudat_regs = num;
+		} else if (!strncmp(this_opt, "lines:", 6)) {
+			num = simple_strtoul(this_opt+6, NULL, 0);
+			if (num == 8)
+				scanlines = SCANLINE_8LINES;
+			else if (num == 10)
+				scanlines = SCANLINE_10LINES;
+			else if (num == 12)
+				scanlines = SCANLINE_12LINES;
+		} else if (!strncmp(this_opt, "reverse:", 8)) {
+			num = simple_strtoul(this_opt+8, NULL, 0);
+			if (num == 0 || num == 1)
+				data_reverse = num;
+		} else if (!strncmp(this_opt, "t3cnt:", 6)) {
+			num = simple_strtoul(this_opt+6, NULL, 0);
+			if (num >= 60 && num <= 960)
+				t3cnt = KIUWKS_CNT_USEC(num);
+		} else if (!strncmp(this_opt, "t2cnt:", 6)) {
+			num = simple_strtoul(this_opt+6, NULL, 0);
+			if (num >= 60 && num <= 960)
+				t2cnt = KIUWKS_CNT_USEC(num);
+		} else if (!strncmp(this_opt, "t1cnt:", 6)) {
+			num = simple_strtoul(this_opt+6, NULL, 0);
+			if (num >= 60 && num <= 960)
+				t1cnt = KIUWKS_CNT_USEC(num);
+		} else if (!strncmp(this_opt, "interval:", 9)) {
+			num = simple_strtoul(this_opt+9, NULL, 0);
+			if (num >= 30 && num <= 30690)
+				scan_interval = KIUWKI_INTERVAL_USEC(num);
+		} else if (!strncmp(this_opt, "delay:", 6)) {
+			num = simple_strtoul(this_opt+6, NULL, 0);
+			if (num > 0 && num <= HZ)
+				repeat_delay = num;
+		} else if (!strncmp(this_opt, "rate:", 5)) {
+			num = simple_strtoul(this_opt+5, NULL, 0);
+			if (num > 0 && num <= HZ)
+				repeat_rate = num;
+		}
+	}
+
+	return 1;
+}
+
+__setup("vr41xx_kbd=", vr41xx_kbd_setup);

From yuasa@hh.iij4u.or.jp Sat Dec 20 05:23:31 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 05:23:32 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:48327 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225374AbTLTFXb>;
	Sat, 20 Dec 2003 05:23:31 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id OAA20321;
	Sat, 20 Dec 2003 14:23:27 +0900 (JST)
Received: 4UMDO00 id hBK5NRm09972; Sat, 20 Dec 2003 14:23:27 +0900 (JST)
Received: 4UMRO00 id hBK5NQh15992; Sat, 20 Dec 2003 14:23:26 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sat, 20 Dec 2003 14:23:15 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] New key map for IBM WorkPad z50
Message-Id: <20031220142315.38264f62.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3801
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for key map of IBM WorkPad z50.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/Makefile linux/arch/mips/Makefile
--- linux-orig/arch/mips/Makefile	Thu Oct 23 12:22:18 2003
+++ linux/arch/mips/Makefile	Sat Dec 20 12:15:03 2003
@@ -673,6 +673,7 @@
 	$(MAKE) -C arch/$(ARCH)/tools clean
 	$(MAKE) -C arch/mips/baget clean
 	$(MAKE) -C arch/mips/lasat clean
+	$(MAKE) -C arch/mips/vr41xx/ibm-workpad clean
 
 archmrproper:
 	@$(MAKEBOOT) mrproper
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/ibm-workpad/Makefile linux/arch/mips/vr41xx/ibm-workpad/Makefile
--- linux-orig/arch/mips/vr41xx/ibm-workpad/Makefile	Wed Jul 30 09:35:38 2003
+++ linux/arch/mips/vr41xx/ibm-workpad/Makefile	Sat Dec 20 12:15:03 2003
@@ -14,4 +14,12 @@
 
 obj-y	:= init.o setup.o
 
+obj-$(CONFIG_VR41XX_KIU)	+= keymap.o
+
+keymap.c: keymap.map
+	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
+
+clean:
+	rm -f keymap.c
+
 include $(TOPDIR)/Rules.make
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/ibm-workpad/keymap.map linux/arch/mips/vr41xx/ibm-workpad/keymap.map
--- linux-orig/arch/mips/vr41xx/ibm-workpad/keymap.map	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/ibm-workpad/keymap.map	Sat Dec 20 12:15:03 2003
@@ -0,0 +1,343 @@
+# Keymap for IBM Workpad z50
+# US Mapping
+#
+# by Michael Klar <wyldfier@iname.com>
+#
+# This is a great big mess on account of how the Caps Lock key is handled as
+# LeftShift-RightShift.  Right shift key had to be broken out, so don't use
+# use this map file as a basis for other keyboards that don't do the same
+# thing with Caps Lock.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+
+keymaps 0-2,4-5,8,12,32-33,36-37
+strings as usual
+
+keycode 0 = F1 F11 Console_13
+	shiftr keycode 0 = F11
+	shift shiftr keycode 0 = F11
+	control keycode 0 = F1
+	alt keycode 0 = Console_1
+	control alt keycode 0 = Console_1
+keycode 1 = F3 F13 Console_15
+	shiftr keycode 1 = F13
+	shift shiftr keycode 1 = F13
+	control keycode 1 = F3
+	alt keycode 1 = Console_3
+	control alt keycode 1 = Console_3
+keycode 2 = F5 F15 Console_17
+	shiftr keycode 2 = F15
+	shift shiftr keycode 2 = F15
+	control keycode 2 = F5
+	alt keycode 2 = Console_5
+	control alt keycode 2 = Console_5
+keycode 3 = F7 F17 Console_19
+	shiftr keycode 3 = F17
+	shift shiftr keycode 3 = F17
+	control keycode 3 = F7
+	alt keycode 3 = Console_7
+	control alt keycode 3 = Console_7
+keycode 4 = F9 F19 Console_21
+	shiftr keycode 4 = F19
+	shift shiftr keycode 4 = F19
+	control keycode 4 = F9
+	alt keycode 4 = Console_9
+	control alt keycode 4 = Console_9
+#keycode 5 is contrast down
+#keycode 6 is contrast up
+keycode 7 = F11 F11 Console_23
+	shiftr keycode 7 = F11
+	shift shiftr keycode 7 = F11
+	control keycode 7 = F11
+	alt keycode 7 = Console_11
+	control alt keycode 7 = Console_11
+keycode 8 = F2 F12 Console_14
+	shiftr keycode 8 = F12
+	shift shiftr keycode 8 = F12
+	control keycode 8 = F2
+	alt keycode 8 = Console_2
+	control alt keycode 8 = Console_2
+keycode 9 = F4 F14 Console_16
+	shiftr keycode 9 = F14
+	shift shiftr keycode 9 = F14
+	control keycode 9 = F4
+	alt keycode 9 = Console_4
+	control alt keycode 9 = Console_4
+keycode 10 = F6 F16 Console_18
+	shiftr keycode 10 = F16
+	shift shiftr keycode 10 = F16
+	control keycode 10 = F6
+	alt keycode 10 = Console_6
+	control alt keycode 10 = Console_6
+keycode 11 = F8 F18 Console_20
+	shiftr keycode 11 = F18
+	shift shiftr keycode 11 = F18
+	control keycode 11 = F8
+	alt keycode 11 = Console_8
+	control alt keycode 11 = Console_8
+keycode 12 = F10 F20 Console_22
+	shiftr keycode 12 = F20
+	shift shiftr keycode 12 = F20
+	control keycode 12 = F10
+	alt keycode 12 = Console_10
+	control alt keycode 12 = Console_10
+#keycode 13 is brightness down
+#keycode 14 is brightness up
+keycode 15 = F12 F12 Console_24
+	shiftr keycode 15 = F12
+	shift shiftr keycode 15 = F12
+	control keycode 15 = F12
+	alt keycode 15 = Console_12
+	control alt keycode 15 = Console_12
+keycode 16 = apostrophe quotedbl
+	shiftr keycode 16 = quotedbl
+	shift shiftr keycode 16 = quotedbl
+	control keycode 16 = Control_g
+	alt keycode 16 = Meta_apostrophe
+keycode 17 = bracketleft braceleft
+	shiftr keycode 17 = braceleft
+	shift shiftr keycode 17 = braceleft
+	control keycode 17 = Escape
+	alt keycode 17 = Meta_bracketleft
+keycode 18 = minus underscore backslash       
+	shiftr keycode 18 = underscore
+	shift shiftr keycode 18 = underscore
+	control keycode 18 = Control_underscore
+	shift control keycode 18 = Control_underscore
+	shiftr control keycode 18 = Control_underscore
+	shift shiftr control keycode 18 = Control_underscore
+	alt keycode 18 = Meta_minus
+keycode 19 = zero parenright braceright
+	shiftr keycode 19 = parenright
+	shift shiftr keycode 19 = parenright
+	alt keycode 19 = Meta_zero
+keycode 20 = p
+	shiftr keycode 20 = +P
+	shift shiftr keycode 20 = +p
+keycode 21 = semicolon colon
+	shiftr keycode 21 = colon
+	shift shiftr keycode 21 = colon
+	alt keycode 21 = Meta_semicolon
+keycode 22 = Up Scroll_Backward
+	shiftr keycode 22 = Scroll_Backward
+	shift shiftr keycode 22 = Scroll_Backward
+	alt keycode 22 = Prior
+keycode 23 = slash question
+	shiftr keycode 23 = question
+	shift shiftr keycode 23 = question
+	control keycode 23 = Delete
+	alt keycode 23 = Meta_slash
+
+keycode 27 = nine parenleft bracketright
+	shiftr keycode 27 = parenleft
+	shift shiftr keycode 27 = parenleft
+	alt keycode 27 = Meta_nine
+keycode 28 = o
+	shiftr keycode 28 = +O
+	shift shiftr keycode 28 = +o
+keycode 29 = l
+	shiftr keycode 29 = +L
+	shift shiftr keycode 29 = +l
+keycode 30 = period greater
+	shiftr keycode 30 = greater
+	shift shiftr keycode 30 = greater
+	control keycode 30 = Compose
+	alt keycode 30 = Meta_period
+
+keycode 32 = Left Decr_Console
+	shiftr keycode 32 = Decr_Console
+	shift shiftr keycode 32 = Decr_Console
+	alt keycode 32 = Home
+keycode 33 = bracketright braceright asciitilde      
+	shiftr keycode 33 = braceright
+	shift shiftr keycode 33 = braceright
+	control keycode 33 = Control_bracketright
+	alt keycode 33 = Meta_bracketright
+keycode 34 = equal plus
+	shiftr keycode 34 = plus
+	shift shiftr keycode 34 = plus
+	alt keycode 34 = Meta_equal
+keycode 35 = eight asterisk bracketleft
+	shiftr keycode 35 = asterisk
+	shift shiftr keycode 35 = asterisk
+	control keycode 35 = Delete
+	alt keycode 35 = Meta_eight
+keycode 36 = i
+	shiftr keycode 36 = +I
+	shift shiftr keycode 36 = +i
+keycode 37 = k
+	shiftr keycode 37 = +K
+	shift shiftr keycode 37 = +k
+keycode 38 = comma less
+	shiftr keycode 38 = less
+	shift shiftr keycode 38 = less
+	alt keycode 38 = Meta_comma
+
+keycode 40 = h
+	shiftr keycode 40 = +H
+	shift shiftr keycode 40 = +h
+keycode 41 = y
+	shiftr keycode 41 = +Y
+	shift shiftr keycode 41 = +y
+keycode 42 = six asciicircum
+	shiftr keycode 42 = asciicircum
+	shift shiftr keycode 42 = asciicircum
+	control keycode 42 = Control_asciicircum
+	alt keycode 42 = Meta_six
+keycode 43 = seven ampersand braceleft
+	shiftr keycode 43 = ampersand
+	shift shiftr keycode 43 = ampersand
+	control keycode 43 = Control_underscore
+	alt keycode 43 = Meta_seven
+keycode 44 = u
+	shiftr keycode 44 = +U
+	shift shiftr keycode 44 = +u
+keycode 45 = j
+	shiftr keycode 45 = +J
+	shift shiftr keycode 45 = +j
+keycode 46 = m
+	shiftr keycode 46 = +M
+	shift shiftr keycode 46 = +m
+keycode 47 = n
+	shiftr keycode 47 = +N
+	shift shiftr keycode 47 = +n
+
+# This is the "Backspace" key:
+keycode 49 = Delete Delete
+	shiftr keycode 49 = Delete
+	shift shiftr keycode 49 = Delete
+	control keycode 49 = BackSpace
+	alt keycode 49 = Meta_Delete
+keycode 50 = Num_Lock
+	shift keycode 50 = Bare_Num_Lock
+	shiftr keycode 50 = Bare_Num_Lock
+	shift shiftr keycode 50 = Bare_Num_Lock
+# This is the "Delete" key:
+keycode 51 = Remove
+	control alt keycode 51 = Boot
+
+keycode 53 = backslash bar
+	shiftr keycode 53 = bar
+	shift shiftr keycode 53 = bar
+	control keycode 53 = Control_backslash
+	alt keycode 53 = Meta_backslash
+keycode 54 = Return
+	alt keycode 54 = Meta_Control_m
+keycode 55 = space space           
+	shiftr keycode 55 = space
+	shift shiftr keycode 55 = space
+	control keycode 55 = nul
+	alt keycode 55 = Meta_space
+keycode 56 = g
+	shiftr keycode 56 = +G
+	shift shiftr keycode 56 = +g
+keycode 57 = t
+	shiftr keycode 57 = +T
+	shift shiftr keycode 57 = +t
+keycode 58 = five percent
+	shiftr keycode 58 = percent
+	shift shiftr keycode 58 = percent
+	control keycode 58 = Control_bracketright
+	alt keycode 58 = Meta_five
+keycode 59 = four dollar dollar
+	shiftr keycode 59 = dollar
+	shift shiftr keycode 59 = dollar
+	control keycode 59 = Control_backslash
+	alt keycode 59 = Meta_four
+keycode 60 = r
+	shiftr keycode 60 = +R
+	shift shiftr keycode 60 = +r
+keycode 61 = f
+	shiftr keycode 61 = +F
+	shift shiftr keycode 61 = +f
+	altgr keycode 61 = Hex_F
+keycode 62 = v
+	shiftr keycode 62 = +V
+	shift shiftr keycode 62 = +v
+keycode 63 = b
+	shiftr keycode 63 = +B
+	shift shiftr keycode 63 = +b
+	altgr keycode 63 = Hex_B
+
+keycode 67 = three numbersign
+	shiftr keycode 67 = numbersign
+	shift shiftr keycode 67 = numbersign
+	control keycode 67 = Escape
+	alt keycode 67 = Meta_three
+keycode 68 = e
+	shiftr keycode 68 = +E
+	shift shiftr keycode 68 = +e
+	altgr keycode 68 = Hex_E
+keycode 69 = d
+	shiftr keycode 69 = +D
+	shift shiftr keycode 69 = +d
+	altgr keycode 69 = Hex_D
+keycode 70 = c
+	shiftr keycode 70 = +C
+	shift shiftr keycode 70 = +c
+	altgr keycode 70 = Hex_C
+keycode 71 = Right Incr_Console
+	shiftr keycode 71 = Incr_Console
+	shift shiftr keycode 71 = Incr_Console
+	alt keycode 71 = End
+
+keycode 75 = two at at
+	shiftr keycode 75 = at
+	shift shiftr keycode 75 = at
+	control keycode 75 = nul
+	shift control keycode 75 = nul
+	shiftr control keycode 75 = nul
+	shift shiftr control keycode 75 = nul
+	alt keycode 75 = Meta_two
+keycode 76 = w
+	shiftr keycode 76 = +W
+	shift shiftr keycode 76 = +w
+keycode 77 = s
+	shiftr keycode 77 = +S
+	shift shiftr keycode 77 = +s
+keycode 78 = x
+	shiftr keycode 78 = +X
+	shift shiftr keycode 78 = +x
+keycode 79 = Down Scroll_Forward
+	shiftr keycode 79 = Scroll_Forward
+	shift shiftr keycode 79 = Scroll_Forward
+	alt keycode 79 = Next
+keycode 80 = Escape Escape
+	shiftr keycode 80 = Escape
+	shift shiftr keycode 80 = Escape
+	alt keycode 80 = Meta_Escape
+keycode 81 = Tab Tab             
+	shiftr keycode 81 = Tab
+	shift shiftr keycode 81 = Tab
+	alt keycode 81 = Meta_Tab
+keycode 82 = grave asciitilde
+	shiftr keycode 82 = asciitilde
+	shift shiftr keycode 82 = asciitilde
+	control keycode 82 = nul
+	alt keycode 82 = Meta_grave
+keycode 83 = one exclam
+	shiftr keycode 83 = exclam
+	shift shiftr keycode 83 = exclam
+	alt keycode 83 = Meta_one
+keycode 84 = q
+	shiftr keycode 84 = +Q
+	shift shiftr keycode 84 = +q
+keycode 85 = a
+	shiftr keycode 85 = +A
+	shift shiftr keycode 85 = +a
+	altgr keycode 85 = Hex_A
+keycode 86 = z
+	shiftr keycode 86 = +Z
+	shift shiftr keycode 86 = +z
+
+# This is the windows key:
+keycode 88 = Decr_Console
+keycode 89 = Shift
+keycode 90 = Control
+keycode 91 = Control
+keycode 92 = Alt
+keycode 93 = AltGr
+keycode 94 = ShiftR
+	shift keycode 94 = Caps_Lock

From yuasa@hh.iij4u.or.jp Sat Dec 20 05:24:50 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 05:24:51 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:64199 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225374AbTLTFYu>;
	Sat, 20 Dec 2003 05:24:50 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id OAA20459;
	Sat, 20 Dec 2003 14:24:47 +0900 (JST)
Received: 4UMDO01 id hBK5Olp15821; Sat, 20 Dec 2003 14:24:47 +0900 (JST)
Received: 4UMRO00 id hBK5Okh16058; Sat, 20 Dec 2003 14:24:46 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sat, 20 Dec 2003 14:24:41 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.6] New key map for IBM WorkPad z50
Message-Id: <20031220142441.0ca4e15b.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3802
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for key map of IBM WorkPad z50.

This patch exists for HEAD of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/Makefile linux/arch/mips/Makefile
--- linux-orig/arch/mips/Makefile	Sat Dec 20 11:52:25 2003
+++ linux/arch/mips/Makefile	Sat Dec 20 12:27:40 2003
@@ -649,6 +649,7 @@
 	@$(MAKE) -f scripts/Makefile.clean obj=arch/mips/boot
 	@$(MAKE) -f scripts/Makefile.clean obj=arch/mips/baget
 	@$(MAKE) -f scripts/Makefile.clean obj=arch/mips/lasat
+	@$(MAKE) -f scripts/Makefile.clean obj=arch/mips/vr41xx/ibm-workpad
 
 # Generate <asm/offset.h 
 #
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/ibm-workpad/Makefile linux/arch/mips/vr41xx/ibm-workpad/Makefile
--- linux-orig/arch/mips/vr41xx/ibm-workpad/Makefile	Wed Jul 30 22:36:55 2003
+++ linux/arch/mips/vr41xx/ibm-workpad/Makefile	Sat Dec 20 12:27:40 2003
@@ -3,3 +3,10 @@
 #
 
 obj-y			+= init.o setup.o
+
+obj-$(CONFIG_VR41XX_KIU)	+= keymap.o
+
+$(obj)/keymap.c: $(obj)/keymap.map
+	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
+
+clean-files := keymap.c
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/ibm-workpad/keymap.map linux/arch/mips/vr41xx/ibm-workpad/keymap.map
--- linux-orig/arch/mips/vr41xx/ibm-workpad/keymap.map	Thu Jan  1 09:00:00 1970
+++ linux/arch/mips/vr41xx/ibm-workpad/keymap.map	Sat Dec 20 12:27:40 2003
@@ -0,0 +1,343 @@
+# Keymap for IBM Workpad z50
+# US Mapping
+#
+# by Michael Klar <wyldfier@iname.com>
+#
+# This is a great big mess on account of how the Caps Lock key is handled as
+# LeftShift-RightShift.  Right shift key had to be broken out, so don't use
+# use this map file as a basis for other keyboards that don't do the same
+# thing with Caps Lock.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+
+keymaps 0-2,4-5,8,12,32-33,36-37
+strings as usual
+
+keycode 0 = F1 F11 Console_13
+	shiftr keycode 0 = F11
+	shift shiftr keycode 0 = F11
+	control keycode 0 = F1
+	alt keycode 0 = Console_1
+	control alt keycode 0 = Console_1
+keycode 1 = F3 F13 Console_15
+	shiftr keycode 1 = F13
+	shift shiftr keycode 1 = F13
+	control keycode 1 = F3
+	alt keycode 1 = Console_3
+	control alt keycode 1 = Console_3
+keycode 2 = F5 F15 Console_17
+	shiftr keycode 2 = F15
+	shift shiftr keycode 2 = F15
+	control keycode 2 = F5
+	alt keycode 2 = Console_5
+	control alt keycode 2 = Console_5
+keycode 3 = F7 F17 Console_19
+	shiftr keycode 3 = F17
+	shift shiftr keycode 3 = F17
+	control keycode 3 = F7
+	alt keycode 3 = Console_7
+	control alt keycode 3 = Console_7
+keycode 4 = F9 F19 Console_21
+	shiftr keycode 4 = F19
+	shift shiftr keycode 4 = F19
+	control keycode 4 = F9
+	alt keycode 4 = Console_9
+	control alt keycode 4 = Console_9
+#keycode 5 is contrast down
+#keycode 6 is contrast up
+keycode 7 = F11 F11 Console_23
+	shiftr keycode 7 = F11
+	shift shiftr keycode 7 = F11
+	control keycode 7 = F11
+	alt keycode 7 = Console_11
+	control alt keycode 7 = Console_11
+keycode 8 = F2 F12 Console_14
+	shiftr keycode 8 = F12
+	shift shiftr keycode 8 = F12
+	control keycode 8 = F2
+	alt keycode 8 = Console_2
+	control alt keycode 8 = Console_2
+keycode 9 = F4 F14 Console_16
+	shiftr keycode 9 = F14
+	shift shiftr keycode 9 = F14
+	control keycode 9 = F4
+	alt keycode 9 = Console_4
+	control alt keycode 9 = Console_4
+keycode 10 = F6 F16 Console_18
+	shiftr keycode 10 = F16
+	shift shiftr keycode 10 = F16
+	control keycode 10 = F6
+	alt keycode 10 = Console_6
+	control alt keycode 10 = Console_6
+keycode 11 = F8 F18 Console_20
+	shiftr keycode 11 = F18
+	shift shiftr keycode 11 = F18
+	control keycode 11 = F8
+	alt keycode 11 = Console_8
+	control alt keycode 11 = Console_8
+keycode 12 = F10 F20 Console_22
+	shiftr keycode 12 = F20
+	shift shiftr keycode 12 = F20
+	control keycode 12 = F10
+	alt keycode 12 = Console_10
+	control alt keycode 12 = Console_10
+#keycode 13 is brightness down
+#keycode 14 is brightness up
+keycode 15 = F12 F12 Console_24
+	shiftr keycode 15 = F12
+	shift shiftr keycode 15 = F12
+	control keycode 15 = F12
+	alt keycode 15 = Console_12
+	control alt keycode 15 = Console_12
+keycode 16 = apostrophe quotedbl
+	shiftr keycode 16 = quotedbl
+	shift shiftr keycode 16 = quotedbl
+	control keycode 16 = Control_g
+	alt keycode 16 = Meta_apostrophe
+keycode 17 = bracketleft braceleft
+	shiftr keycode 17 = braceleft
+	shift shiftr keycode 17 = braceleft
+	control keycode 17 = Escape
+	alt keycode 17 = Meta_bracketleft
+keycode 18 = minus underscore backslash       
+	shiftr keycode 18 = underscore
+	shift shiftr keycode 18 = underscore
+	control keycode 18 = Control_underscore
+	shift control keycode 18 = Control_underscore
+	shiftr control keycode 18 = Control_underscore
+	shift shiftr control keycode 18 = Control_underscore
+	alt keycode 18 = Meta_minus
+keycode 19 = zero parenright braceright
+	shiftr keycode 19 = parenright
+	shift shiftr keycode 19 = parenright
+	alt keycode 19 = Meta_zero
+keycode 20 = p
+	shiftr keycode 20 = +P
+	shift shiftr keycode 20 = +p
+keycode 21 = semicolon colon
+	shiftr keycode 21 = colon
+	shift shiftr keycode 21 = colon
+	alt keycode 21 = Meta_semicolon
+keycode 22 = Up Scroll_Backward
+	shiftr keycode 22 = Scroll_Backward
+	shift shiftr keycode 22 = Scroll_Backward
+	alt keycode 22 = Prior
+keycode 23 = slash question
+	shiftr keycode 23 = question
+	shift shiftr keycode 23 = question
+	control keycode 23 = Delete
+	alt keycode 23 = Meta_slash
+
+keycode 27 = nine parenleft bracketright
+	shiftr keycode 27 = parenleft
+	shift shiftr keycode 27 = parenleft
+	alt keycode 27 = Meta_nine
+keycode 28 = o
+	shiftr keycode 28 = +O
+	shift shiftr keycode 28 = +o
+keycode 29 = l
+	shiftr keycode 29 = +L
+	shift shiftr keycode 29 = +l
+keycode 30 = period greater
+	shiftr keycode 30 = greater
+	shift shiftr keycode 30 = greater
+	control keycode 30 = Compose
+	alt keycode 30 = Meta_period
+
+keycode 32 = Left Decr_Console
+	shiftr keycode 32 = Decr_Console
+	shift shiftr keycode 32 = Decr_Console
+	alt keycode 32 = Home
+keycode 33 = bracketright braceright asciitilde      
+	shiftr keycode 33 = braceright
+	shift shiftr keycode 33 = braceright
+	control keycode 33 = Control_bracketright
+	alt keycode 33 = Meta_bracketright
+keycode 34 = equal plus
+	shiftr keycode 34 = plus
+	shift shiftr keycode 34 = plus
+	alt keycode 34 = Meta_equal
+keycode 35 = eight asterisk bracketleft
+	shiftr keycode 35 = asterisk
+	shift shiftr keycode 35 = asterisk
+	control keycode 35 = Delete
+	alt keycode 35 = Meta_eight
+keycode 36 = i
+	shiftr keycode 36 = +I
+	shift shiftr keycode 36 = +i
+keycode 37 = k
+	shiftr keycode 37 = +K
+	shift shiftr keycode 37 = +k
+keycode 38 = comma less
+	shiftr keycode 38 = less
+	shift shiftr keycode 38 = less
+	alt keycode 38 = Meta_comma
+
+keycode 40 = h
+	shiftr keycode 40 = +H
+	shift shiftr keycode 40 = +h
+keycode 41 = y
+	shiftr keycode 41 = +Y
+	shift shiftr keycode 41 = +y
+keycode 42 = six asciicircum
+	shiftr keycode 42 = asciicircum
+	shift shiftr keycode 42 = asciicircum
+	control keycode 42 = Control_asciicircum
+	alt keycode 42 = Meta_six
+keycode 43 = seven ampersand braceleft
+	shiftr keycode 43 = ampersand
+	shift shiftr keycode 43 = ampersand
+	control keycode 43 = Control_underscore
+	alt keycode 43 = Meta_seven
+keycode 44 = u
+	shiftr keycode 44 = +U
+	shift shiftr keycode 44 = +u
+keycode 45 = j
+	shiftr keycode 45 = +J
+	shift shiftr keycode 45 = +j
+keycode 46 = m
+	shiftr keycode 46 = +M
+	shift shiftr keycode 46 = +m
+keycode 47 = n
+	shiftr keycode 47 = +N
+	shift shiftr keycode 47 = +n
+
+# This is the "Backspace" key:
+keycode 49 = Delete Delete
+	shiftr keycode 49 = Delete
+	shift shiftr keycode 49 = Delete
+	control keycode 49 = BackSpace
+	alt keycode 49 = Meta_Delete
+keycode 50 = Num_Lock
+	shift keycode 50 = Bare_Num_Lock
+	shiftr keycode 50 = Bare_Num_Lock
+	shift shiftr keycode 50 = Bare_Num_Lock
+# This is the "Delete" key:
+keycode 51 = Remove
+	control alt keycode 51 = Boot
+
+keycode 53 = backslash bar
+	shiftr keycode 53 = bar
+	shift shiftr keycode 53 = bar
+	control keycode 53 = Control_backslash
+	alt keycode 53 = Meta_backslash
+keycode 54 = Return
+	alt keycode 54 = Meta_Control_m
+keycode 55 = space space           
+	shiftr keycode 55 = space
+	shift shiftr keycode 55 = space
+	control keycode 55 = nul
+	alt keycode 55 = Meta_space
+keycode 56 = g
+	shiftr keycode 56 = +G
+	shift shiftr keycode 56 = +g
+keycode 57 = t
+	shiftr keycode 57 = +T
+	shift shiftr keycode 57 = +t
+keycode 58 = five percent
+	shiftr keycode 58 = percent
+	shift shiftr keycode 58 = percent
+	control keycode 58 = Control_bracketright
+	alt keycode 58 = Meta_five
+keycode 59 = four dollar dollar
+	shiftr keycode 59 = dollar
+	shift shiftr keycode 59 = dollar
+	control keycode 59 = Control_backslash
+	alt keycode 59 = Meta_four
+keycode 60 = r
+	shiftr keycode 60 = +R
+	shift shiftr keycode 60 = +r
+keycode 61 = f
+	shiftr keycode 61 = +F
+	shift shiftr keycode 61 = +f
+	altgr keycode 61 = Hex_F
+keycode 62 = v
+	shiftr keycode 62 = +V
+	shift shiftr keycode 62 = +v
+keycode 63 = b
+	shiftr keycode 63 = +B
+	shift shiftr keycode 63 = +b
+	altgr keycode 63 = Hex_B
+
+keycode 67 = three numbersign
+	shiftr keycode 67 = numbersign
+	shift shiftr keycode 67 = numbersign
+	control keycode 67 = Escape
+	alt keycode 67 = Meta_three
+keycode 68 = e
+	shiftr keycode 68 = +E
+	shift shiftr keycode 68 = +e
+	altgr keycode 68 = Hex_E
+keycode 69 = d
+	shiftr keycode 69 = +D
+	shift shiftr keycode 69 = +d
+	altgr keycode 69 = Hex_D
+keycode 70 = c
+	shiftr keycode 70 = +C
+	shift shiftr keycode 70 = +c
+	altgr keycode 70 = Hex_C
+keycode 71 = Right Incr_Console
+	shiftr keycode 71 = Incr_Console
+	shift shiftr keycode 71 = Incr_Console
+	alt keycode 71 = End
+
+keycode 75 = two at at
+	shiftr keycode 75 = at
+	shift shiftr keycode 75 = at
+	control keycode 75 = nul
+	shift control keycode 75 = nul
+	shiftr control keycode 75 = nul
+	shift shiftr control keycode 75 = nul
+	alt keycode 75 = Meta_two
+keycode 76 = w
+	shiftr keycode 76 = +W
+	shift shiftr keycode 76 = +w
+keycode 77 = s
+	shiftr keycode 77 = +S
+	shift shiftr keycode 77 = +s
+keycode 78 = x
+	shiftr keycode 78 = +X
+	shift shiftr keycode 78 = +x
+keycode 79 = Down Scroll_Forward
+	shiftr keycode 79 = Scroll_Forward
+	shift shiftr keycode 79 = Scroll_Forward
+	alt keycode 79 = Next
+keycode 80 = Escape Escape
+	shiftr keycode 80 = Escape
+	shift shiftr keycode 80 = Escape
+	alt keycode 80 = Meta_Escape
+keycode 81 = Tab Tab             
+	shiftr keycode 81 = Tab
+	shift shiftr keycode 81 = Tab
+	alt keycode 81 = Meta_Tab
+keycode 82 = grave asciitilde
+	shiftr keycode 82 = asciitilde
+	shift shiftr keycode 82 = asciitilde
+	control keycode 82 = nul
+	alt keycode 82 = Meta_grave
+keycode 83 = one exclam
+	shiftr keycode 83 = exclam
+	shift shiftr keycode 83 = exclam
+	alt keycode 83 = Meta_one
+keycode 84 = q
+	shiftr keycode 84 = +Q
+	shift shiftr keycode 84 = +q
+keycode 85 = a
+	shiftr keycode 85 = +A
+	shift shiftr keycode 85 = +a
+	altgr keycode 85 = Hex_A
+keycode 86 = z
+	shiftr keycode 86 = +Z
+	shift shiftr keycode 86 = +z
+
+# This is the windows key:
+keycode 88 = Decr_Console
+keycode 89 = Shift
+keycode 90 = Control
+keycode 91 = Control
+keycode 92 = Alt
+keycode 93 = AltGr
+keycode 94 = ShiftR
+	shift keycode 94 = Caps_Lock

From samavarthy@hotmail.com Sat Dec 20 07:22:58 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 07:23:03 +0000 (GMT)
Received: from bay7-f118.bay7.hotmail.com ([IPv6:::ffff:64.4.11.118]:47378
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8225405AbTLTHW6>; Sat, 20 Dec 2003 07:22:58 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Fri, 19 Dec 2003 23:22:49 -0800
Received: from 203.196.146.243 by by7fd.bay7.hotmail.msn.com with HTTP;
	Sat, 20 Dec 2003 07:22:49 GMT
X-Originating-IP: [203.196.146.243]
X-Originating-Email: [samavarthy@hotmail.com]
X-Sender: samavarthy@hotmail.com
From: "samavarthy c" <samavarthy@hotmail.com>
To: jsun@mvista.com
Cc: linux-mips@linux-mips.org
Subject: Re: USB on MIPS
Date: Sat, 20 Dec 2003 12:52:49 +0530
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <BAY7-F118dxVHYEuZFk0002aaf6@hotmail.com>
X-OriginalArrivalTime: 20 Dec 2003 07:22:49.0746 (UTC) FILETIME=[12CA7F20:01C3C6CA]
Return-Path: <samavarthy@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3803
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: samavarthy@hotmail.com
Precedence: bulk
X-list: linux-mips

I have setup the clock properly.

The IRQ number is also setup. I have no PCI card at all. But the kernel has 
support for Rockhopper board.

I tried using the wmb (), but doesn't work.

Thank you all for the suggestions. I have given a brief explanation of what 
I am actually trying to acheive. May be this would help you to help me.

The MediaQ controller chip does not sit on the pci bus. The specification 
says that the chip address space ranges from xxx00000h to xxx80000h.

This address space is broken into three regions.

1. The lower 256 Kbyte region (xxx00000h to xxx40000h) maps to the 256 Kbyte 
internal SRAM and contains the graphics frame buffer.
2. The next region (xxx40000h to xxx42000h) is the 8 Kbyte register space, 
which is located just above the frame buffer.
3. The third region, (xxx42000h to xxx80000h) consisting of the remaining 
248 Kbyte of address space is also mapped to the upper 248 Kbyte of internal 
SRAM. This address space is used to access non-graphics frame buffer memory 
such as buffers for USB.

So The MediaQ is supposed to use the third region for storing the TD's and 
ED's basically its HCCA area. On MIPS VR4131 the start address of the third 
region would be 0xAA042000h. This is what I think I am supposed to fill in 
the HCCA register. Am I right?

Well now coming to the sources. The sources files that I have modified till 
now are usb-ohci.c, usb-ohci-nonpci.c. under the drivers/usb directory.

In "usb-ohci-nonpci.c" a function called "nonpci_ohci_init()" was modified 
as to initialize the MediaQ controller.
The segment of code below was commented in the function as I was getting an 
error "controller already in use". The ohci_base value passed was 0xAA040500 
which is where the Host controllers registers of MediaQ are mapped.
-----------------------------------------------------------------------------------------------------
if (!request_mem_region (ohci_base, ohci_len, "usb-ohci"))
	{
		dbg ("controller already in use");
		return -EBUSY;
	}
	mem_base = ioremap_nocache (ohci_base, ohci_len);

	if (!mem_base) {
		err("Error mapping OHCI memory");
		return -EFAULT;
	}
-------------------------------------------------------------------------------------------------
and so hardcoded mem_base as 0xAA040500.

In "usb-ohci.c" the function "hc_alloc_ohci ()" was modified. The following 
peice of code was commented because the address returned by 
"pci_alloc_consistent" was not in range of 0xAA042000h - 0xAA080000h.
----------------------------------------------------------------------------------------------------------
ohci->hcca = pci_alloc_consistent (dev, sizeof *ohci->hcca,
			&ohci->hcca_dma);

        if (!ohci->hcca)
		{
                kfree (ohci);
                return NULL;
      	}
------------------------------------------------------------------------------------------------------------

The value of "ohci->hcca_dma" is what that is actually written to the HCCA 
register.
And hence I hard coded the values of ohci->hcca and ohci->hcca_dma to 
0xAA042000h.
With these updations I am getting the errors

-----------------------------------------------------------------
hub.c: USB new device connect on bus1/1, assigned device number 2
usb-ohci.c: unlink URB timeout
usb.c: USB device not accepting new address=2 (error=-145)
hub.c: USB new device connect on bus1/1, assigned device number 3
usb_control/bulk_msg: timeout
usb-ohci.c: unlink URB timeout
usb.c: USB device not accepting new address=3 (error=-145)
-------------------------------------------------------------------

Also the file usb-ohci.h uses "pci_pool_create()",  "pci_pool_alloc ()" and 
such functions. Do I need to modify all these functions?. Let me know if I 
am doing something wrong. Are there any workarounds for this?.

Thank again,
aks


>From: Jun Sun <jsun@mvista.com>
>To: samavarthy c <samavarthy@hotmail.com>
>CC: linux-mips@linux-mips.org, jsun@mvista.com
>Subject: Re: USB on MIPS
>Date: Thu, 18 Dec 2003 09:43:21 -0800
>
>On Thu, Dec 18, 2003 at 07:58:36PM +0530, samavarthy c wrote:
> > Hi,
> >
> > I am working on a PDA based board which has a NEC MIPS VR4131
> > processor.
> > The board has a companion chip MediaQ 1132 which has OHCI support
> > builtin.
> > The kernel used is MontaVista HardHat 2.4.18. I am trying to configure
> > MQ1132 for USB Host support. It looks like the Host controller
> > (MQ1132) is initialized properly but not sure. When I plug in a USB
> > stick on to the USB port, I get the following messages.
> > -----------------------------------------------------------------
> > hub.c: USB new device connect on bus1/1, assigned device number 2
> > usb-ohci.c: unlink URB timeout
> > usb.c: USB device not accepting new address=2 (error=-145)
> >
> > hub.c: USB new device connect on bus1/1, assigned device number 3
> > usb_control/bulk_msg: timeout
> > usb-ohci.c: unlink URB timeout
> > usb.c: USB device not accepting new address=3 (error=-145)
> > -------------------------------------------------------------------
> > Has anyone experienced the same out there. Could any one suggest how
> > to debug this error. What could be the problem?.
> >
>
>Another possiblity (which is probably more likely) is the IRQ
>number is not seupt correctly.
>
>Are you using Rokchopper II baseboard?  If so, single-function
>PCI card should work properly w.r.t. IRQ.  If you are using other
>backplan or using multi-function pci card, you need to some IRQ
>fixup.
>
>Jun

_________________________________________________________________
Marriage? http://www.bharatmatrimony.com/cgi-bin/bmclicks1.cgi?74 Join 
BharatMatrimony.com for free.


From dimitri@sonycom.com Sat Dec 20 08:58:06 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 08:58:15 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:50575 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225405AbTLTI6G>;
	Sat, 20 Dec 2003 08:58:06 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBK8vxQF026221;
	Sat, 20 Dec 2003 09:57:59 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id JAA29180;
	Sat, 20 Dec 2003 09:58:00 +0100 (MET)
Date: Sat, 20 Dec 2003 09:58:00 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: samavarthy c <samavarthy@hotmail.com>
Cc: linux-mips@linux-mips.org
Subject: Re: USB on MIPS
Message-ID: <20031220085800.GA29155@sonycom.com>
References: <BAY7-F118dxVHYEuZFk0002aaf6@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <BAY7-F118dxVHYEuZFk0002aaf6@hotmail.com>
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3804
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

On Sat, Dec 20, 2003 at 12:52:49PM +0530, samavarthy c wrote:
> The MediaQ controller chip does not sit on the pci bus. The specification 
> says that the chip address space ranges from xxx00000h to xxx80000h.
> 
> This address space is broken into three regions.
> 
> 1. The lower 256 Kbyte region (xxx00000h to xxx40000h) maps to the 256 
> Kbyte internal SRAM and contains the graphics frame buffer.
> 2. The next region (xxx40000h to xxx42000h) is the 8 Kbyte register space, 
> which is located just above the frame buffer.
> 3. The third region, (xxx42000h to xxx80000h) consisting of the remaining 
> 248 Kbyte of address space is also mapped to the upper 248 Kbyte of 
> internal SRAM. This address space is used to access non-graphics frame 
> buffer memory such as buffers for USB.
> 
> So The MediaQ is supposed to use the third region for storing the TD's and 
> ED's basically its HCCA area. On MIPS VR4131 the start address of the third 
> region would be 0xAA042000h. This is what I think I am supposed to fill in 
> the HCCA register. Am I right?

Are you saying that this USB OHCI chip can only access its internal
SRAM ? In that case not only the HCCA area but all the TDs, EDs and
the data pointed to by the descriptors should be allocated there
(basically all data that would be normally accessed by the OHCI chip
as pci master).

> error "controller already in use". The ohci_base value passed was 
> 0xAA040500 which is where the Host controllers registers of MediaQ are 
> mapped.

Did you check the mapped address is correct (e.g. by reading the
revision field of the ohci_regs) ?

Dimitri

-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


From karthik_96cse@yahoo.com Sat Dec 20 09:53:14 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 09:53:15 +0000 (GMT)
Received: from web10104.mail.yahoo.com ([IPv6:::ffff:216.136.130.54]:29096
	"HELO web10104.mail.yahoo.com") by linux-mips.org with SMTP
	id <S8225405AbTLTJxO>; Sat, 20 Dec 2003 09:53:14 +0000
Message-ID: <20031220095312.38822.qmail@web10104.mail.yahoo.com>
Received: from [128.107.253.43] by web10104.mail.yahoo.com via HTTP; Sat, 20 Dec 2003 09:53:12 GMT
Date: Sat, 20 Dec 2003 09:53:12 +0000 (GMT)
From: =?iso-8859-1?q?karthikeyan=20natarajan?= <karthik_96cse@yahoo.com>
Subject: Re: Regarding branch delay instructions in R4000
To: Michael Uhler <uhler@mips.com>
Cc: linux-mips@linux-mips.org
In-Reply-To: <1071816092.30316.8.camel@gmu-linux>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Return-Path: <karthik_96cse@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3805
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: karthik_96cse@yahoo.com
Precedence: bulk
X-list: linux-mips

Hi gmu,

    Have got a one more doubt...
MIPS stands for Microprocessor without Interlocked
Pipeline Stages.
    But, in the "R4400_Uman_book_Ed2.pdf" doc, it is
mentioned that the CPU general registers are 
interlocked. I am bit confused after reading this doc.
    Would be great if you clarify this doubt too...

Thanks much,
-karthi

> The MIPS architecture specifies a single delay slot
> after a branch
> or jump.  The fact that the R4000 implementation
> (and pretty much
> any of the ones following) had a pipeline in which
> more instructions
> had already entered the pipe before the branch is
> resolved is not
> relevant to the architecture specification.  In the
> case you
> mention, a single instruction is executed after the
> branch, as
> architecturally required, and any subsequent
> instructions in the
> pipe are killed.
> 
> /gmu
> 
> On Thu, 2003-12-18 at 22:01, karthikeyan natarajan
> wrote:
> > Hi All,
> > 
> >     If this is not a right forum to ask this
> Question,
> > 
> > please redirect me to the appropriate one...
> >     Since R4000 is using the 8 stage pipeline,
> three
> > instructions are already entered into the pipeline
> > when the branch instruction is executed. Out of
> these
> > three instructions, the first instruction will be 
> > executed for sure.
> > 
> > My question is:
> >     What happens to the other two instruction that
> are
> > in the delay slots? are they nullified?
> >     Could anyone please shed some light on this.
> > 
> > Thanks much,
> > -karthi
> > 
> > =====
> > The expert at anything was once a beginner
> > 
> >
>
________________________________________________________________________
> > Yahoo! Messenger - Communicate instantly..."Ping" 
> > your friends today! Download Messenger Now 
> > http://uk.messenger.yahoo.com/download/index.html
> > 
> -- 
> Michael Uhler, Chief Technology Officer
> MIPS Technologies, Inc.  Email: uhler@mips.com 
> Pager: uhler_p@mips.com
> 1225 Charleston Road     Voice:  (650)567-5025  FAX:
>   (650)567-5225
> Mountain View, CA 94043  Mobile: (650)868-6870 
> Admin: (650)567-5085
> 
>  

=====
The expert at anything was once a beginner

________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html

From kevink@mips.com Sat Dec 20 10:15:47 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 10:15:50 +0000 (GMT)
Received: from mx2.mips.com ([IPv6:::ffff:206.31.31.227]:30599 "EHLO
	mx2.mips.com") by linux-mips.org with ESMTP id <S8225405AbTLTKPr>;
	Sat, 20 Dec 2003 10:15:47 +0000
Received: from newman.mips.com (ns-dmz [206.31.31.225])
	by mx2.mips.com (8.12.5/8.12.5) with ESMTP id hBKAA0YV005647;
	Sat, 20 Dec 2003 02:10:00 -0800 (PST)
Received: from grendel (grendel [192.168.236.16])
	by newman.mips.com (8.9.3/8.9.0) with SMTP id CAA08490;
	Sat, 20 Dec 2003 02:15:37 -0800 (PST)
Message-ID: <01e801c3c6e2$4aa51ff0$10eca8c0@grendel>
From: "Kevin D. Kissell" <kevink@mips.com>
To: "karthikeyan natarajan" <karthik_96cse@yahoo.com>,
	"Michael Uhler" <uhler@mips.com>
Cc: <linux-mips@linux-mips.org>
References: <20031220095312.38822.qmail@web10104.mail.yahoo.com>
Subject: Re: Regarding branch delay instructions in R4000
Date: Sat, 20 Dec 2003 11:16:09 +0100
Organization: MIPS Technologies Inc.
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <kevink@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3806
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kevink@mips.com
Precedence: bulk
X-list: linux-mips

Yes, MIPS stood for Microprocessor without Interlocked Pipeline Stages
when it was first used as a name for a graduate student project at Stanford
University in publications from 1982.  But that in itself was a play on words,
as the most common metric of computer perfomance at the time was 
"Millions of Instructions Per Second", or MIPS.  The Stanford architcture 
was revamped and commercialized as the "MIPS I" architecture, implemented 
in the R2000 and R3000 CPUs, which likewise had no interlocks on cache load 
delays. As silicon geometries became finer and gates got cheaper, the relative cost
of providing the interlocks decreased, while the need to run the same MIPS 
binaries on multiple, very different implementations of the architecture increased.
So from the R4000 onwards, MIPS CPUs have had interlocks.  But by that time
the name "MIPS" was a well-known trademark, and it made no sense to change it.

----- Original Message ----- 
From: "karthikeyan natarajan" <karthik_96cse@yahoo.com>
To: "Michael Uhler" <uhler@mips.com>
Cc: <linux-mips@linux-mips.org>
Sent: Saturday, December 20, 2003 10:53
Subject: Re: Regarding branch delay instructions in R4000


> Hi gmu,
> 
>     Have got a one more doubt...
> MIPS stands for Microprocessor without Interlocked
> Pipeline Stages.
>     But, in the "R4400_Uman_book_Ed2.pdf" doc, it is
> mentioned that the CPU general registers are 
> interlocked. I am bit confused after reading this doc.
>     Would be great if you clarify this doubt too...
> 
> Thanks much,
> -karthi
> 
> > The MIPS architecture specifies a single delay slot
> > after a branch
> > or jump.  The fact that the R4000 implementation
> > (and pretty much
> > any of the ones following) had a pipeline in which
> > more instructions
> > had already entered the pipe before the branch is
> > resolved is not
> > relevant to the architecture specification.  In the
> > case you
> > mention, a single instruction is executed after the
> > branch, as
> > architecturally required, and any subsequent
> > instructions in the
> > pipe are killed.
> > 
> > /gmu
> > 
> > On Thu, 2003-12-18 at 22:01, karthikeyan natarajan
> > wrote:
> > > Hi All,
> > > 
> > >     If this is not a right forum to ask this
> > Question,
> > > 
> > > please redirect me to the appropriate one...
> > >     Since R4000 is using the 8 stage pipeline,
> > three
> > > instructions are already entered into the pipeline
> > > when the branch instruction is executed. Out of
> > these
> > > three instructions, the first instruction will be 
> > > executed for sure.
> > > 
> > > My question is:
> > >     What happens to the other two instruction that
> > are
> > > in the delay slots? are they nullified?
> > >     Could anyone please shed some light on this.
> > > 
> > > Thanks much,
> > > -karthi
> > > 
> > > =====
> > > The expert at anything was once a beginner
> > > 
> > >
> >
> ________________________________________________________________________
> > > Yahoo! Messenger - Communicate instantly..."Ping" 
> > > your friends today! Download Messenger Now 
> > > http://uk.messenger.yahoo.com/download/index.html
> > > 
> > -- 
> > Michael Uhler, Chief Technology Officer
> > MIPS Technologies, Inc.  Email: uhler@mips.com 
> > Pager: uhler_p@mips.com
> > 1225 Charleston Road     Voice:  (650)567-5025  FAX:
> >   (650)567-5225
> > Mountain View, CA 94043  Mobile: (650)868-6870 
> > Admin: (650)567-5085
> > 
> >  
> 
> =====
> The expert at anything was once a beginner
> 
> ________________________________________________________________________
> Yahoo! Messenger - Communicate instantly..."Ping" 
> your friends today! Download Messenger Now 
> http://uk.messenger.yahoo.com/download/index.html
> 
> 

From ralf@linux-mips.org Sat Dec 20 12:34:02 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 12:34:03 +0000 (GMT)
Received: from p508B6A83.dip.t-dialin.net ([IPv6:::ffff:80.139.106.131]:27042
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225357AbTLTMeC>; Sat, 20 Dec 2003 12:34:02 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBKCXuoK005583;
	Sat, 20 Dec 2003 13:33:56 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBKCXtUi005582;
	Sat, 20 Dec 2003 13:33:55 +0100
Date: Sat, 20 Dec 2003 13:33:55 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: linux-mips <linux-mips@linux-mips.org>
Subject: Re: [PATCH][2.4] New key map for IBM WorkPad z50
Message-ID: <20031220123354.GA5392@linux-mips.org>
References: <20031220142315.38264f62.yuasa@hh.iij4u.or.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031220142315.38264f62.yuasa@hh.iij4u.or.jp>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3807
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

Yoichia-san,

Please keep keymaps in drivers/char.

Speaking more generally, device drivers should not be kept below arch/

  Ralf

From ralf@linux-mips.org Sat Dec 20 13:35:19 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 13:35:19 +0000 (GMT)
Received: from p508B6A83.dip.t-dialin.net ([IPv6:::ffff:80.139.106.131]:2470
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225498AbTLTNfT>; Sat, 20 Dec 2003 13:35:19 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBKDZHoK006953
	for <linux-mips@linux-mips.org>; Sat, 20 Dec 2003 14:35:18 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBKDZHCq006952
	for linux-mips@linux-mips.org; Sat, 20 Dec 2003 14:35:17 +0100
Date: Sat, 20 Dec 2003 14:35:16 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-mips@linux-mips.org
Subject: FYI, misc minors
Message-ID: <20031220133516.GB5392@linux-mips.org>
References: <20031220131855Z8225494-16706+1521@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031220131855Z8225494-16706+1521@linux-mips.org>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3808
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sat, Dec 20, 2003 at 01:18:51PM +0000, ralf@linux-mips.org wrote:

> Modified files:
> 	drivers/char   : Tag: linux_2_4 au1000_gpio.c ite_gpio.c lcd.c 
> 	include/linux  : Tag: linux_2_4 miscdevice.h 
> 
> Log message:
> 	Time for one of those surprises you all love me for sooo much :-)
> 	
> 	Switch au1000_gpio.c, ite_gpio.c and lcd.c to dynamic minors.

I've removed all MIPS private allocations of misc minor devices.  I'm not
happy with this change but without this there's no change to ever build
a driver for the affected systems from a stock kernel.org tree.  This
change means the minor device numbers of the three affected device
drivers will change - something that will be very easy to deal with by
users and distributions.

  Ralf

From yuasa@hh.iij4u.or.jp Sat Dec 20 13:47:05 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 13:47:06 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:18635 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225498AbTLTNrF>;
	Sat, 20 Dec 2003 13:47:05 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id WAA17217;
	Sat, 20 Dec 2003 22:47:00 +0900 (JST)
Received: 4UMDO00 id hBKDl0o13483; Sat, 20 Dec 2003 22:47:00 +0900 (JST)
Received: 4UMRO00 id hBKDkxB10932; Sat, 20 Dec 2003 22:46:59 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sat, 20 Dec 2003 22:46:56 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: Re: [PATCH][2.4] New key map for IBM WorkPad z50
Message-Id: <20031220224656.69debdc5.yuasa@hh.iij4u.or.jp>
In-Reply-To: <20031220123354.GA5392@linux-mips.org>
References: <20031220142315.38264f62.yuasa@hh.iij4u.or.jp>
	<20031220123354.GA5392@linux-mips.org>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3809
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

On Sat, 20 Dec 2003 13:33:55 +0100
Ralf Baechle <ralf@linux-mips.org> wrote:

> Yoichia-san,
> 
> Please keep keymaps in drivers/char.
> 
> Speaking more generally, device drivers should not be kept below arch/

Ok, I changed it about directory.
Please apply.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/config-shared.in linux/arch/mips/config-shared.in
--- linux-orig/arch/mips/config-shared.in	Sat Dec 20 01:47:02 2003
+++ linux/arch/mips/config-shared.in	Sat Dec 20 21:54:40 2003
@@ -429,7 +429,6 @@
    define_bool CONFIG_NEW_TIME_C y
    define_bool CONFIG_NONCOHERENT_IO y
    define_bool CONFIG_ISA y
-   define_bool CONFIG_DUMMY_KEYB y
    define_bool CONFIG_SCSI n
 fi
 if [ "$CONFIG_LASAT" = "y" ]; then
diff -urN -X dontdiff linux-orig/drivers/char/Makefile linux/drivers/char/Makefile
--- linux-orig/drivers/char/Makefile	Sat Dec 20 01:47:07 2003
+++ linux/drivers/char/Makefile	Sat Dec 20 22:17:40 2003
@@ -48,7 +48,9 @@
     KEYBD    =
   endif
   ifeq ($(CONFIG_VR41XX_KIU),y)
-    KEYMAP   =
+    ifeq ($(CONFIG_IBM_WORKPAD),y)
+      KEYMAP = ibm_workpad_keymap.o
+    endif
     KEYBD    = vr41xx_keyb.o
   endif
 endif
@@ -349,4 +351,7 @@
 	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
 
 qtronixmap.c: qtronixmap.map
+	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
+
+ibm_workpad_keymap.c: ibm_workpad_keymap.map
 	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
diff -urN -X dontdiff linux-orig/drivers/char/ibm_workpad_keymap.c linux/drivers/char/ibm_workpad_keymap.c
--- linux-orig/drivers/char/ibm_workpad_keymap.c	Thu Jan  1 09:00:00 1970
+++ linux/drivers/char/ibm_workpad_keymap.c	Sat Dec 20 22:25:41 2003
@@ -0,0 +1,313 @@
+
+/* Do not edit this file! It was automatically generated by   */
+/*    loadkeys --mktable defkeymap.map > defkeymap.c          */
+
+#include <linux/types.h>
+#include <linux/keyboard.h>
+#include <linux/kd.h>
+
+u_short plain_map[NR_KEYS] = {
+	0xf100,	0xf102,	0xf104,	0xf106,	0xf108,	0xf200,	0xf200,	0xf10a,
+	0xf101,	0xf103,	0xf105,	0xf107,	0xf109,	0xf200,	0xf200,	0xf10b,
+	0xf027,	0xf05b,	0xf02d,	0xf030,	0xfb70,	0xf03b,	0xf603,	0xf02f,
+	0xf200,	0xf200,	0xf200,	0xf039,	0xfb6f,	0xfb6c,	0xf02e,	0xf200,
+	0xf601,	0xf05d,	0xf03d,	0xf038,	0xfb69,	0xfb6b,	0xf02c,	0xf200,
+	0xfb68,	0xfb79,	0xf036,	0xf037,	0xfb75,	0xfb6a,	0xfb6d,	0xfb6e,
+	0xf200,	0xf07f,	0xf208,	0xf116,	0xf200,	0xf05c,	0xf201,	0xf020,
+	0xfb67,	0xfb74,	0xf035,	0xf034,	0xfb72,	0xfb66,	0xfb76,	0xfb62,
+	0xf200,	0xf200,	0xf200,	0xf033,	0xfb65,	0xfb64,	0xfb63,	0xf602,
+	0xf200,	0xf200,	0xf200,	0xf032,	0xfb77,	0xfb73,	0xfb78,	0xf600,
+	0xf01b,	0xf009,	0xf060,	0xf031,	0xfb71,	0xfb61,	0xfb7a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_map[NR_KEYS] = {
+	0xf10a,	0xf10c,	0xf10e,	0xf110,	0xf112,	0xf200,	0xf200,	0xf10a,
+	0xf10b,	0xf10d,	0xf10f,	0xf111,	0xf113,	0xf200,	0xf200,	0xf10b,
+	0xf022,	0xf07b,	0xf05f,	0xf029,	0xfb50,	0xf03a,	0xf20b,	0xf03f,
+	0xf200,	0xf200,	0xf200,	0xf028,	0xfb4f,	0xfb4c,	0xf03e,	0xf200,
+	0xf210,	0xf07d,	0xf02b,	0xf02a,	0xfb49,	0xfb4b,	0xf03c,	0xf200,
+	0xfb48,	0xfb59,	0xf05e,	0xf026,	0xfb55,	0xfb4a,	0xfb4d,	0xfb4e,
+	0xf200,	0xf07f,	0xf213,	0xf116,	0xf200,	0xf07c,	0xf201,	0xf020,
+	0xfb47,	0xfb54,	0xf025,	0xf024,	0xfb52,	0xfb46,	0xfb56,	0xfb42,
+	0xf200,	0xf200,	0xf200,	0xf023,	0xfb45,	0xfb44,	0xfb43,	0xf211,
+	0xf200,	0xf200,	0xf200,	0xf040,	0xfb57,	0xfb53,	0xfb58,	0xf20a,
+	0xf01b,	0xf009,	0xf07e,	0xf021,	0xfb51,	0xfb41,	0xfb5a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf207,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short altgr_map[NR_KEYS] = {
+	0xf50c,	0xf50e,	0xf510,	0xf512,	0xf514,	0xf200,	0xf200,	0xf516,
+	0xf50d,	0xf50f,	0xf511,	0xf513,	0xf515,	0xf200,	0xf200,	0xf517,
+	0xf200,	0xf200,	0xf05c,	0xf07d,	0xfb70,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf05d,	0xfb6f,	0xfb6c,	0xf200,	0xf200,
+	0xf200,	0xf07e,	0xf200,	0xf05b,	0xfb69,	0xfb6b,	0xf200,	0xf200,
+	0xfb68,	0xfb79,	0xf200,	0xf07b,	0xfb75,	0xfb6a,	0xfb6d,	0xfb6e,
+	0xf200,	0xf200,	0xf208,	0xf116,	0xf200,	0xf200,	0xf201,	0xf200,
+	0xfb67,	0xfb74,	0xf200,	0xf024,	0xfb72,	0xf919,	0xfb76,	0xf915,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf918,	0xf917,	0xf916,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf040,	0xfb77,	0xfb73,	0xfb78,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xfb71,	0xf914,	0xfb7a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short ctrl_map[NR_KEYS] = {
+	0xf100,	0xf102,	0xf104,	0xf106,	0xf108,	0xf200,	0xf200,	0xf10a,
+	0xf101,	0xf103,	0xf105,	0xf107,	0xf109,	0xf200,	0xf200,	0xf10b,
+	0xf007,	0xf01b,	0xf01f,	0xf200,	0xf010,	0xf200,	0xf200,	0xf07f,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00f,	0xf00c,	0xf20e,	0xf200,
+	0xf200,	0xf01d,	0xf200,	0xf07f,	0xf009,	0xf00b,	0xf200,	0xf200,
+	0xf008,	0xf019,	0xf01e,	0xf01f,	0xf015,	0xf00a,	0xf00d,	0xf00e,
+	0xf200,	0xf008,	0xf208,	0xf116,	0xf200,	0xf01c,	0xf201,	0xf000,
+	0xf007,	0xf014,	0xf01d,	0xf01c,	0xf012,	0xf006,	0xf016,	0xf002,
+	0xf200,	0xf200,	0xf200,	0xf01b,	0xf005,	0xf004,	0xf003,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf000,	0xf017,	0xf013,	0xf018,	0xf200,
+	0xf200,	0xf200,	0xf000,	0xf200,	0xf011,	0xf001,	0xf01a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_ctrl_map[NR_KEYS] = {
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf01f,	0xf200,	0xf010,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00f,	0xf00c,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf009,	0xf00b,	0xf200,	0xf200,
+	0xf008,	0xf019,	0xf200,	0xf200,	0xf015,	0xf00a,	0xf00d,	0xf00e,
+	0xf200,	0xf200,	0xf208,	0xf116,	0xf200,	0xf200,	0xf201,	0xf200,
+	0xf007,	0xf014,	0xf200,	0xf200,	0xf012,	0xf006,	0xf016,	0xf002,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf005,	0xf004,	0xf003,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf000,	0xf017,	0xf013,	0xf018,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf011,	0xf001,	0xf01a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short alt_map[NR_KEYS] = {
+	0xf500,	0xf502,	0xf504,	0xf506,	0xf508,	0xf200,	0xf200,	0xf50a,
+	0xf501,	0xf503,	0xf505,	0xf507,	0xf509,	0xf200,	0xf200,	0xf50b,
+	0xf827,	0xf85b,	0xf82d,	0xf830,	0xf870,	0xf83b,	0xf118,	0xf82f,
+	0xf200,	0xf200,	0xf200,	0xf839,	0xf86f,	0xf86c,	0xf82e,	0xf200,
+	0xf114,	0xf85d,	0xf83d,	0xf838,	0xf869,	0xf86b,	0xf82c,	0xf200,
+	0xf868,	0xf879,	0xf836,	0xf837,	0xf875,	0xf86a,	0xf86d,	0xf86e,
+	0xf200,	0xf87f,	0xf208,	0xf116,	0xf200,	0xf85c,	0xf80d,	0xf820,
+	0xf867,	0xf874,	0xf835,	0xf834,	0xf872,	0xf866,	0xf876,	0xf862,
+	0xf200,	0xf200,	0xf200,	0xf833,	0xf865,	0xf864,	0xf863,	0xf117,
+	0xf200,	0xf200,	0xf200,	0xf832,	0xf877,	0xf873,	0xf878,	0xf119,
+	0xf81b,	0xf809,	0xf860,	0xf831,	0xf871,	0xf861,	0xf87a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short ctrl_alt_map[NR_KEYS] = {
+	0xf500,	0xf502,	0xf504,	0xf506,	0xf508,	0xf200,	0xf200,	0xf50a,
+	0xf501,	0xf503,	0xf505,	0xf507,	0xf509,	0xf200,	0xf200,	0xf50b,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf810,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf80f,	0xf80c,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf809,	0xf80b,	0xf200,	0xf200,
+	0xf808,	0xf819,	0xf200,	0xf200,	0xf815,	0xf80a,	0xf80d,	0xf80e,
+	0xf200,	0xf200,	0xf208,	0xf20c,	0xf200,	0xf200,	0xf201,	0xf200,
+	0xf807,	0xf814,	0xf200,	0xf200,	0xf812,	0xf806,	0xf816,	0xf802,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf805,	0xf804,	0xf803,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf817,	0xf813,	0xf818,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf811,	0xf801,	0xf81a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shr_map[NR_KEYS] = {
+	0xf10a,	0xf10c,	0xf10e,	0xf110,	0xf112,	0xf200,	0xf200,	0xf10a,
+	0xf10b,	0xf10d,	0xf10f,	0xf111,	0xf113,	0xf200,	0xf200,	0xf10b,
+	0xf022,	0xf07b,	0xf05f,	0xf029,	0xfb50,	0xf03a,	0xf20b,	0xf03f,
+	0xf200,	0xf200,	0xf200,	0xf028,	0xfb4f,	0xfb4c,	0xf03e,	0xf200,
+	0xf210,	0xf07d,	0xf02b,	0xf02a,	0xfb49,	0xfb4b,	0xf03c,	0xf200,
+	0xfb48,	0xfb59,	0xf05e,	0xf026,	0xfb55,	0xfb4a,	0xfb4d,	0xfb4e,
+	0xf200,	0xf07f,	0xf213,	0xf116,	0xf200,	0xf07c,	0xf201,	0xf020,
+	0xfb47,	0xfb54,	0xf025,	0xf024,	0xfb52,	0xfb46,	0xfb56,	0xfb42,
+	0xf200,	0xf200,	0xf200,	0xf023,	0xfb45,	0xfb44,	0xfb43,	0xf211,
+	0xf200,	0xf200,	0xf200,	0xf040,	0xfb57,	0xfb53,	0xfb58,	0xf20a,
+	0xf01b,	0xf009,	0xf07e,	0xf021,	0xfb51,	0xfb41,	0xfb5a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_shr_map[NR_KEYS] = {
+	0xf10a,	0xf10c,	0xf10e,	0xf110,	0xf112,	0xf200,	0xf200,	0xf10a,
+	0xf10b,	0xf10d,	0xf10f,	0xf111,	0xf113,	0xf200,	0xf200,	0xf10b,
+	0xf022,	0xf07b,	0xf05f,	0xf029,	0xfb70,	0xf03a,	0xf20b,	0xf03f,
+	0xf200,	0xf200,	0xf200,	0xf028,	0xfb6f,	0xfb6c,	0xf03e,	0xf200,
+	0xf210,	0xf07d,	0xf02b,	0xf02a,	0xfb69,	0xfb6b,	0xf03c,	0xf200,
+	0xfb68,	0xfb79,	0xf05e,	0xf026,	0xfb75,	0xfb6a,	0xfb6d,	0xfb6e,
+	0xf200,	0xf07f,	0xf213,	0xf116,	0xf200,	0xf07c,	0xf201,	0xf020,
+	0xfb67,	0xfb74,	0xf025,	0xf024,	0xfb72,	0xfb66,	0xfb76,	0xfb62,
+	0xf200,	0xf200,	0xf200,	0xf023,	0xfb65,	0xfb64,	0xfb63,	0xf211,
+	0xf200,	0xf200,	0xf200,	0xf040,	0xfb77,	0xfb73,	0xfb78,	0xf20a,
+	0xf01b,	0xf009,	0xf07e,	0xf021,	0xfb71,	0xfb61,	0xfb7a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short ctrl_shr_map[NR_KEYS] = {
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf01f,	0xf200,	0xf010,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00f,	0xf00c,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf009,	0xf00b,	0xf200,	0xf200,
+	0xf008,	0xf019,	0xf200,	0xf200,	0xf015,	0xf00a,	0xf00d,	0xf00e,
+	0xf200,	0xf200,	0xf208,	0xf116,	0xf200,	0xf200,	0xf201,	0xf200,
+	0xf007,	0xf014,	0xf200,	0xf200,	0xf012,	0xf006,	0xf016,	0xf002,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf005,	0xf004,	0xf003,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf000,	0xf017,	0xf013,	0xf018,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf011,	0xf001,	0xf01a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_ctrl_shr_map[NR_KEYS] = {
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf01f,	0xf200,	0xf010,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00f,	0xf00c,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf009,	0xf00b,	0xf200,	0xf200,
+	0xf008,	0xf019,	0xf200,	0xf200,	0xf015,	0xf00a,	0xf00d,	0xf00e,
+	0xf200,	0xf200,	0xf208,	0xf116,	0xf200,	0xf200,	0xf201,	0xf200,
+	0xf007,	0xf014,	0xf200,	0xf200,	0xf012,	0xf006,	0xf016,	0xf002,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf005,	0xf004,	0xf003,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf000,	0xf017,	0xf013,	0xf018,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf011,	0xf001,	0xf01a,	0xf200,
+	0xf210,	0xf700,	0xf702,	0xf702,	0xf703,	0xf701,	0xf705,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+ushort *key_maps[MAX_NR_KEYMAPS] = {
+	plain_map, shift_map, altgr_map, 0,
+	ctrl_map, shift_ctrl_map, 0, 0,
+	alt_map, 0, 0, 0,
+	ctrl_alt_map, 0, 0, 0,
+	0, 0, 0, 0,
+	0, 0, 0, 0,
+	0, 0, 0, 0,
+	0, 0, 0, 0,
+	shr_map, shift_shr_map, 0, 0,
+	ctrl_shr_map, shift_ctrl_shr_map,	0
+};
+
+unsigned int keymap_count = 11;
+
+
+/*
+ * Philosophy: most people do not define more strings, but they who do
+ * often want quite a lot of string space. So, we statically allocate
+ * the default and allocate dynamically in chunks of 512 bytes.
+ */
+
+char func_buf[] = {
+	'\033', '[', '[', 'A', 0, 
+	'\033', '[', '[', 'B', 0, 
+	'\033', '[', '[', 'C', 0, 
+	'\033', '[', '[', 'D', 0, 
+	'\033', '[', '[', 'E', 0, 
+	'\033', '[', '1', '7', '~', 0, 
+	'\033', '[', '1', '8', '~', 0, 
+	'\033', '[', '1', '9', '~', 0, 
+	'\033', '[', '2', '0', '~', 0, 
+	'\033', '[', '2', '1', '~', 0, 
+	'\033', '[', '2', '3', '~', 0, 
+	'\033', '[', '2', '4', '~', 0, 
+	'\033', '[', '2', '5', '~', 0, 
+	'\033', '[', '2', '6', '~', 0, 
+	'\033', '[', '2', '8', '~', 0, 
+	'\033', '[', '2', '9', '~', 0, 
+	'\033', '[', '3', '1', '~', 0, 
+	'\033', '[', '3', '2', '~', 0, 
+	'\033', '[', '3', '3', '~', 0, 
+	'\033', '[', '3', '4', '~', 0, 
+	'\033', '[', '1', '~', 0, 
+	'\033', '[', '2', '~', 0, 
+	'\033', '[', '3', '~', 0, 
+	'\033', '[', '4', '~', 0, 
+	'\033', '[', '5', '~', 0, 
+	'\033', '[', '6', '~', 0, 
+	'\033', '[', 'M', 0, 
+	'\033', '[', 'P', 0, 
+};
+
+
+char *funcbufptr = func_buf;
+int funcbufsize = sizeof(func_buf);
+int funcbufleft = 0;          /* space left */
+
+char *func_table[MAX_NR_FUNC] = {
+	func_buf + 0,
+	func_buf + 5,
+	func_buf + 10,
+	func_buf + 15,
+	func_buf + 20,
+	func_buf + 25,
+	func_buf + 31,
+	func_buf + 37,
+	func_buf + 43,
+	func_buf + 49,
+	func_buf + 55,
+	func_buf + 61,
+	func_buf + 67,
+	func_buf + 73,
+	func_buf + 79,
+	func_buf + 85,
+	func_buf + 91,
+	func_buf + 97,
+	func_buf + 103,
+	func_buf + 109,
+	func_buf + 115,
+	func_buf + 120,
+	func_buf + 125,
+	func_buf + 130,
+	func_buf + 135,
+	func_buf + 140,
+	func_buf + 145,
+	0,
+	0,
+	func_buf + 149,
+	0,
+};
+
+struct kbdiacr accent_table[MAX_DIACR] = {
+};
+
+unsigned int accent_table_size = 0;
diff -urN -X dontdiff linux-orig/drivers/char/ibm_workpad_keymap.map linux/drivers/char/ibm_workpad_keymap.map
--- linux-orig/drivers/char/ibm_workpad_keymap.map	Thu Jan  1 09:00:00 1970
+++ linux/drivers/char/ibm_workpad_keymap.map	Sat Dec 20 21:46:21 2003
@@ -0,0 +1,343 @@
+# Keymap for IBM Workpad z50
+# US Mapping
+#
+# by Michael Klar <wyldfier@iname.com>
+#
+# This is a great big mess on account of how the Caps Lock key is handled as
+# LeftShift-RightShift.  Right shift key had to be broken out, so don't use
+# use this map file as a basis for other keyboards that don't do the same
+# thing with Caps Lock.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+
+keymaps 0-2,4-5,8,12,32-33,36-37
+strings as usual
+
+keycode 0 = F1 F11 Console_13
+	shiftr keycode 0 = F11
+	shift shiftr keycode 0 = F11
+	control keycode 0 = F1
+	alt keycode 0 = Console_1
+	control alt keycode 0 = Console_1
+keycode 1 = F3 F13 Console_15
+	shiftr keycode 1 = F13
+	shift shiftr keycode 1 = F13
+	control keycode 1 = F3
+	alt keycode 1 = Console_3
+	control alt keycode 1 = Console_3
+keycode 2 = F5 F15 Console_17
+	shiftr keycode 2 = F15
+	shift shiftr keycode 2 = F15
+	control keycode 2 = F5
+	alt keycode 2 = Console_5
+	control alt keycode 2 = Console_5
+keycode 3 = F7 F17 Console_19
+	shiftr keycode 3 = F17
+	shift shiftr keycode 3 = F17
+	control keycode 3 = F7
+	alt keycode 3 = Console_7
+	control alt keycode 3 = Console_7
+keycode 4 = F9 F19 Console_21
+	shiftr keycode 4 = F19
+	shift shiftr keycode 4 = F19
+	control keycode 4 = F9
+	alt keycode 4 = Console_9
+	control alt keycode 4 = Console_9
+#keycode 5 is contrast down
+#keycode 6 is contrast up
+keycode 7 = F11 F11 Console_23
+	shiftr keycode 7 = F11
+	shift shiftr keycode 7 = F11
+	control keycode 7 = F11
+	alt keycode 7 = Console_11
+	control alt keycode 7 = Console_11
+keycode 8 = F2 F12 Console_14
+	shiftr keycode 8 = F12
+	shift shiftr keycode 8 = F12
+	control keycode 8 = F2
+	alt keycode 8 = Console_2
+	control alt keycode 8 = Console_2
+keycode 9 = F4 F14 Console_16
+	shiftr keycode 9 = F14
+	shift shiftr keycode 9 = F14
+	control keycode 9 = F4
+	alt keycode 9 = Console_4
+	control alt keycode 9 = Console_4
+keycode 10 = F6 F16 Console_18
+	shiftr keycode 10 = F16
+	shift shiftr keycode 10 = F16
+	control keycode 10 = F6
+	alt keycode 10 = Console_6
+	control alt keycode 10 = Console_6
+keycode 11 = F8 F18 Console_20
+	shiftr keycode 11 = F18
+	shift shiftr keycode 11 = F18
+	control keycode 11 = F8
+	alt keycode 11 = Console_8
+	control alt keycode 11 = Console_8
+keycode 12 = F10 F20 Console_22
+	shiftr keycode 12 = F20
+	shift shiftr keycode 12 = F20
+	control keycode 12 = F10
+	alt keycode 12 = Console_10
+	control alt keycode 12 = Console_10
+#keycode 13 is brightness down
+#keycode 14 is brightness up
+keycode 15 = F12 F12 Console_24
+	shiftr keycode 15 = F12
+	shift shiftr keycode 15 = F12
+	control keycode 15 = F12
+	alt keycode 15 = Console_12
+	control alt keycode 15 = Console_12
+keycode 16 = apostrophe quotedbl
+	shiftr keycode 16 = quotedbl
+	shift shiftr keycode 16 = quotedbl
+	control keycode 16 = Control_g
+	alt keycode 16 = Meta_apostrophe
+keycode 17 = bracketleft braceleft
+	shiftr keycode 17 = braceleft
+	shift shiftr keycode 17 = braceleft
+	control keycode 17 = Escape
+	alt keycode 17 = Meta_bracketleft
+keycode 18 = minus underscore backslash       
+	shiftr keycode 18 = underscore
+	shift shiftr keycode 18 = underscore
+	control keycode 18 = Control_underscore
+	shift control keycode 18 = Control_underscore
+	shiftr control keycode 18 = Control_underscore
+	shift shiftr control keycode 18 = Control_underscore
+	alt keycode 18 = Meta_minus
+keycode 19 = zero parenright braceright
+	shiftr keycode 19 = parenright
+	shift shiftr keycode 19 = parenright
+	alt keycode 19 = Meta_zero
+keycode 20 = p
+	shiftr keycode 20 = +P
+	shift shiftr keycode 20 = +p
+keycode 21 = semicolon colon
+	shiftr keycode 21 = colon
+	shift shiftr keycode 21 = colon
+	alt keycode 21 = Meta_semicolon
+keycode 22 = Up Scroll_Backward
+	shiftr keycode 22 = Scroll_Backward
+	shift shiftr keycode 22 = Scroll_Backward
+	alt keycode 22 = Prior
+keycode 23 = slash question
+	shiftr keycode 23 = question
+	shift shiftr keycode 23 = question
+	control keycode 23 = Delete
+	alt keycode 23 = Meta_slash
+
+keycode 27 = nine parenleft bracketright
+	shiftr keycode 27 = parenleft
+	shift shiftr keycode 27 = parenleft
+	alt keycode 27 = Meta_nine
+keycode 28 = o
+	shiftr keycode 28 = +O
+	shift shiftr keycode 28 = +o
+keycode 29 = l
+	shiftr keycode 29 = +L
+	shift shiftr keycode 29 = +l
+keycode 30 = period greater
+	shiftr keycode 30 = greater
+	shift shiftr keycode 30 = greater
+	control keycode 30 = Compose
+	alt keycode 30 = Meta_period
+
+keycode 32 = Left Decr_Console
+	shiftr keycode 32 = Decr_Console
+	shift shiftr keycode 32 = Decr_Console
+	alt keycode 32 = Home
+keycode 33 = bracketright braceright asciitilde      
+	shiftr keycode 33 = braceright
+	shift shiftr keycode 33 = braceright
+	control keycode 33 = Control_bracketright
+	alt keycode 33 = Meta_bracketright
+keycode 34 = equal plus
+	shiftr keycode 34 = plus
+	shift shiftr keycode 34 = plus
+	alt keycode 34 = Meta_equal
+keycode 35 = eight asterisk bracketleft
+	shiftr keycode 35 = asterisk
+	shift shiftr keycode 35 = asterisk
+	control keycode 35 = Delete
+	alt keycode 35 = Meta_eight
+keycode 36 = i
+	shiftr keycode 36 = +I
+	shift shiftr keycode 36 = +i
+keycode 37 = k
+	shiftr keycode 37 = +K
+	shift shiftr keycode 37 = +k
+keycode 38 = comma less
+	shiftr keycode 38 = less
+	shift shiftr keycode 38 = less
+	alt keycode 38 = Meta_comma
+
+keycode 40 = h
+	shiftr keycode 40 = +H
+	shift shiftr keycode 40 = +h
+keycode 41 = y
+	shiftr keycode 41 = +Y
+	shift shiftr keycode 41 = +y
+keycode 42 = six asciicircum
+	shiftr keycode 42 = asciicircum
+	shift shiftr keycode 42 = asciicircum
+	control keycode 42 = Control_asciicircum
+	alt keycode 42 = Meta_six
+keycode 43 = seven ampersand braceleft
+	shiftr keycode 43 = ampersand
+	shift shiftr keycode 43 = ampersand
+	control keycode 43 = Control_underscore
+	alt keycode 43 = Meta_seven
+keycode 44 = u
+	shiftr keycode 44 = +U
+	shift shiftr keycode 44 = +u
+keycode 45 = j
+	shiftr keycode 45 = +J
+	shift shiftr keycode 45 = +j
+keycode 46 = m
+	shiftr keycode 46 = +M
+	shift shiftr keycode 46 = +m
+keycode 47 = n
+	shiftr keycode 47 = +N
+	shift shiftr keycode 47 = +n
+
+# This is the "Backspace" key:
+keycode 49 = Delete Delete
+	shiftr keycode 49 = Delete
+	shift shiftr keycode 49 = Delete
+	control keycode 49 = BackSpace
+	alt keycode 49 = Meta_Delete
+keycode 50 = Num_Lock
+	shift keycode 50 = Bare_Num_Lock
+	shiftr keycode 50 = Bare_Num_Lock
+	shift shiftr keycode 50 = Bare_Num_Lock
+# This is the "Delete" key:
+keycode 51 = Remove
+	control alt keycode 51 = Boot
+
+keycode 53 = backslash bar
+	shiftr keycode 53 = bar
+	shift shiftr keycode 53 = bar
+	control keycode 53 = Control_backslash
+	alt keycode 53 = Meta_backslash
+keycode 54 = Return
+	alt keycode 54 = Meta_Control_m
+keycode 55 = space space           
+	shiftr keycode 55 = space
+	shift shiftr keycode 55 = space
+	control keycode 55 = nul
+	alt keycode 55 = Meta_space
+keycode 56 = g
+	shiftr keycode 56 = +G
+	shift shiftr keycode 56 = +g
+keycode 57 = t
+	shiftr keycode 57 = +T
+	shift shiftr keycode 57 = +t
+keycode 58 = five percent
+	shiftr keycode 58 = percent
+	shift shiftr keycode 58 = percent
+	control keycode 58 = Control_bracketright
+	alt keycode 58 = Meta_five
+keycode 59 = four dollar dollar
+	shiftr keycode 59 = dollar
+	shift shiftr keycode 59 = dollar
+	control keycode 59 = Control_backslash
+	alt keycode 59 = Meta_four
+keycode 60 = r
+	shiftr keycode 60 = +R
+	shift shiftr keycode 60 = +r
+keycode 61 = f
+	shiftr keycode 61 = +F
+	shift shiftr keycode 61 = +f
+	altgr keycode 61 = Hex_F
+keycode 62 = v
+	shiftr keycode 62 = +V
+	shift shiftr keycode 62 = +v
+keycode 63 = b
+	shiftr keycode 63 = +B
+	shift shiftr keycode 63 = +b
+	altgr keycode 63 = Hex_B
+
+keycode 67 = three numbersign
+	shiftr keycode 67 = numbersign
+	shift shiftr keycode 67 = numbersign
+	control keycode 67 = Escape
+	alt keycode 67 = Meta_three
+keycode 68 = e
+	shiftr keycode 68 = +E
+	shift shiftr keycode 68 = +e
+	altgr keycode 68 = Hex_E
+keycode 69 = d
+	shiftr keycode 69 = +D
+	shift shiftr keycode 69 = +d
+	altgr keycode 69 = Hex_D
+keycode 70 = c
+	shiftr keycode 70 = +C
+	shift shiftr keycode 70 = +c
+	altgr keycode 70 = Hex_C
+keycode 71 = Right Incr_Console
+	shiftr keycode 71 = Incr_Console
+	shift shiftr keycode 71 = Incr_Console
+	alt keycode 71 = End
+
+keycode 75 = two at at
+	shiftr keycode 75 = at
+	shift shiftr keycode 75 = at
+	control keycode 75 = nul
+	shift control keycode 75 = nul
+	shiftr control keycode 75 = nul
+	shift shiftr control keycode 75 = nul
+	alt keycode 75 = Meta_two
+keycode 76 = w
+	shiftr keycode 76 = +W
+	shift shiftr keycode 76 = +w
+keycode 77 = s
+	shiftr keycode 77 = +S
+	shift shiftr keycode 77 = +s
+keycode 78 = x
+	shiftr keycode 78 = +X
+	shift shiftr keycode 78 = +x
+keycode 79 = Down Scroll_Forward
+	shiftr keycode 79 = Scroll_Forward
+	shift shiftr keycode 79 = Scroll_Forward
+	alt keycode 79 = Next
+keycode 80 = Escape Escape
+	shiftr keycode 80 = Escape
+	shift shiftr keycode 80 = Escape
+	alt keycode 80 = Meta_Escape
+keycode 81 = Tab Tab             
+	shiftr keycode 81 = Tab
+	shift shiftr keycode 81 = Tab
+	alt keycode 81 = Meta_Tab
+keycode 82 = grave asciitilde
+	shiftr keycode 82 = asciitilde
+	shift shiftr keycode 82 = asciitilde
+	control keycode 82 = nul
+	alt keycode 82 = Meta_grave
+keycode 83 = one exclam
+	shiftr keycode 83 = exclam
+	shift shiftr keycode 83 = exclam
+	alt keycode 83 = Meta_one
+keycode 84 = q
+	shiftr keycode 84 = +Q
+	shift shiftr keycode 84 = +q
+keycode 85 = a
+	shiftr keycode 85 = +A
+	shift shiftr keycode 85 = +a
+	altgr keycode 85 = Hex_A
+keycode 86 = z
+	shiftr keycode 86 = +Z
+	shift shiftr keycode 86 = +z
+
+# This is the windows key:
+keycode 88 = Decr_Console
+keycode 89 = Shift
+keycode 90 = Control
+keycode 91 = Control
+keycode 92 = Alt
+keycode 93 = AltGr
+keycode 94 = ShiftR
+	shift keycode 94 = Caps_Lock

From yuasa@hh.iij4u.or.jp Sat Dec 20 13:57:51 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 13:57:52 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:8942 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225508AbTLTN5v>;
	Sat, 20 Dec 2003 13:57:51 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id WAA12952;
	Sat, 20 Dec 2003 22:57:47 +0900 (JST)
Received: 4UMDO00 id hBKDvlo13564; Sat, 20 Dec 2003 22:57:47 +0900 (JST)
Received: 4UMRO00 id hBKDvkB11515; Sat, 20 Dec 2003 22:57:47 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sat, 20 Dec 2003 22:57:43 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: ralf@linux-mips.org
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: Re: [PATCH][2.6] New key map for IBM WorkPad z50
Message-Id: <20031220225743.67caa08b.yuasa@hh.iij4u.or.jp>
In-Reply-To: <20031220142441.0ca4e15b.yuasa@hh.iij4u.or.jp>
References: <20031220142441.0ca4e15b.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3810
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I changed the patch for 2.6 about directory too.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/Kconfig linux/arch/mips/Kconfig
--- linux-orig/arch/mips/Kconfig	Thu Dec 18 23:50:50 2003
+++ linux/arch/mips/Kconfig	Sat Dec 20 22:46:00 2003
@@ -736,7 +736,7 @@
 
 config DUMMY_KEYB
 	bool
-	depends on ZAO_CAPCELLA || VICTOR_MPC30X || SIBYTE_SB1xxx_SOC || NEC_EAGLE || NEC_OSPREY || DDB5477 || IBM_WORKPAD || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
+	depends on ZAO_CAPCELLA || VICTOR_MPC30X || SIBYTE_SB1xxx_SOC || NEC_EAGLE || NEC_OSPREY || DDB5477 || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
 	default y
 
 config VRC4173
diff -urN -X dontdiff linux-orig/drivers/char/Makefile linux/drivers/char/Makefile
--- linux-orig/drivers/char/Makefile	Thu Oct 30 22:45:02 2003
+++ linux/drivers/char/Makefile	Sat Dec 20 22:23:00 2003
@@ -90,7 +90,7 @@
 obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o
 
 # Files generated that shall be removed upon make clean
-clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c
+clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c ibm_workpad_keymap.c
 
 quiet_cmd_conmk = CONMK   $@
       cmd_conmk = scripts/conmakehash $< > $@
@@ -102,6 +102,8 @@
 
 $(obj)/qtronixmap.o: $(obj)/qtronixmap.c
 
+$(obj)/ibm_workpad_keymap.o: $(obj)/ibm_workpad_keymap.c
+
 # Uncomment if you're changing the keymap and have an appropriate
 # loadkeys version for the map. By default, we'll use the shipped
 # versions.
@@ -109,7 +111,8 @@
 
 ifdef GENERATE_KEYMAP
 
-$(obj)/defkeymap.c $(obj)/qtronixmap.c: $(obj)/%.c: $(src)/%.map
+$(obj)/defkeymap.c $(obj)/qtronixmap.c $(obj)/ibm_workpad_keymap.c: \
+		$(obj)/%.c: $(src)/%.map
 	loadkeys --mktable $< > $@.tmp
 	sed -e 's/^static *//' $@.tmp > $@
 	rm $@.tmp
diff -urN -X dontdiff linux-orig/drivers/char/ibm_workpad_keymap.map linux/drivers/char/ibm_workpad_keymap.map
--- linux-orig/drivers/char/ibm_workpad_keymap.map	Thu Jan  1 09:00:00 1970
+++ linux/drivers/char/ibm_workpad_keymap.map	Sat Dec 20 21:46:21 2003
@@ -0,0 +1,343 @@
+# Keymap for IBM Workpad z50
+# US Mapping
+#
+# by Michael Klar <wyldfier@iname.com>
+#
+# This is a great big mess on account of how the Caps Lock key is handled as
+# LeftShift-RightShift.  Right shift key had to be broken out, so don't use
+# use this map file as a basis for other keyboards that don't do the same
+# thing with Caps Lock.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+
+keymaps 0-2,4-5,8,12,32-33,36-37
+strings as usual
+
+keycode 0 = F1 F11 Console_13
+	shiftr keycode 0 = F11
+	shift shiftr keycode 0 = F11
+	control keycode 0 = F1
+	alt keycode 0 = Console_1
+	control alt keycode 0 = Console_1
+keycode 1 = F3 F13 Console_15
+	shiftr keycode 1 = F13
+	shift shiftr keycode 1 = F13
+	control keycode 1 = F3
+	alt keycode 1 = Console_3
+	control alt keycode 1 = Console_3
+keycode 2 = F5 F15 Console_17
+	shiftr keycode 2 = F15
+	shift shiftr keycode 2 = F15
+	control keycode 2 = F5
+	alt keycode 2 = Console_5
+	control alt keycode 2 = Console_5
+keycode 3 = F7 F17 Console_19
+	shiftr keycode 3 = F17
+	shift shiftr keycode 3 = F17
+	control keycode 3 = F7
+	alt keycode 3 = Console_7
+	control alt keycode 3 = Console_7
+keycode 4 = F9 F19 Console_21
+	shiftr keycode 4 = F19
+	shift shiftr keycode 4 = F19
+	control keycode 4 = F9
+	alt keycode 4 = Console_9
+	control alt keycode 4 = Console_9
+#keycode 5 is contrast down
+#keycode 6 is contrast up
+keycode 7 = F11 F11 Console_23
+	shiftr keycode 7 = F11
+	shift shiftr keycode 7 = F11
+	control keycode 7 = F11
+	alt keycode 7 = Console_11
+	control alt keycode 7 = Console_11
+keycode 8 = F2 F12 Console_14
+	shiftr keycode 8 = F12
+	shift shiftr keycode 8 = F12
+	control keycode 8 = F2
+	alt keycode 8 = Console_2
+	control alt keycode 8 = Console_2
+keycode 9 = F4 F14 Console_16
+	shiftr keycode 9 = F14
+	shift shiftr keycode 9 = F14
+	control keycode 9 = F4
+	alt keycode 9 = Console_4
+	control alt keycode 9 = Console_4
+keycode 10 = F6 F16 Console_18
+	shiftr keycode 10 = F16
+	shift shiftr keycode 10 = F16
+	control keycode 10 = F6
+	alt keycode 10 = Console_6
+	control alt keycode 10 = Console_6
+keycode 11 = F8 F18 Console_20
+	shiftr keycode 11 = F18
+	shift shiftr keycode 11 = F18
+	control keycode 11 = F8
+	alt keycode 11 = Console_8
+	control alt keycode 11 = Console_8
+keycode 12 = F10 F20 Console_22
+	shiftr keycode 12 = F20
+	shift shiftr keycode 12 = F20
+	control keycode 12 = F10
+	alt keycode 12 = Console_10
+	control alt keycode 12 = Console_10
+#keycode 13 is brightness down
+#keycode 14 is brightness up
+keycode 15 = F12 F12 Console_24
+	shiftr keycode 15 = F12
+	shift shiftr keycode 15 = F12
+	control keycode 15 = F12
+	alt keycode 15 = Console_12
+	control alt keycode 15 = Console_12
+keycode 16 = apostrophe quotedbl
+	shiftr keycode 16 = quotedbl
+	shift shiftr keycode 16 = quotedbl
+	control keycode 16 = Control_g
+	alt keycode 16 = Meta_apostrophe
+keycode 17 = bracketleft braceleft
+	shiftr keycode 17 = braceleft
+	shift shiftr keycode 17 = braceleft
+	control keycode 17 = Escape
+	alt keycode 17 = Meta_bracketleft
+keycode 18 = minus underscore backslash       
+	shiftr keycode 18 = underscore
+	shift shiftr keycode 18 = underscore
+	control keycode 18 = Control_underscore
+	shift control keycode 18 = Control_underscore
+	shiftr control keycode 18 = Control_underscore
+	shift shiftr control keycode 18 = Control_underscore
+	alt keycode 18 = Meta_minus
+keycode 19 = zero parenright braceright
+	shiftr keycode 19 = parenright
+	shift shiftr keycode 19 = parenright
+	alt keycode 19 = Meta_zero
+keycode 20 = p
+	shiftr keycode 20 = +P
+	shift shiftr keycode 20 = +p
+keycode 21 = semicolon colon
+	shiftr keycode 21 = colon
+	shift shiftr keycode 21 = colon
+	alt keycode 21 = Meta_semicolon
+keycode 22 = Up Scroll_Backward
+	shiftr keycode 22 = Scroll_Backward
+	shift shiftr keycode 22 = Scroll_Backward
+	alt keycode 22 = Prior
+keycode 23 = slash question
+	shiftr keycode 23 = question
+	shift shiftr keycode 23 = question
+	control keycode 23 = Delete
+	alt keycode 23 = Meta_slash
+
+keycode 27 = nine parenleft bracketright
+	shiftr keycode 27 = parenleft
+	shift shiftr keycode 27 = parenleft
+	alt keycode 27 = Meta_nine
+keycode 28 = o
+	shiftr keycode 28 = +O
+	shift shiftr keycode 28 = +o
+keycode 29 = l
+	shiftr keycode 29 = +L
+	shift shiftr keycode 29 = +l
+keycode 30 = period greater
+	shiftr keycode 30 = greater
+	shift shiftr keycode 30 = greater
+	control keycode 30 = Compose
+	alt keycode 30 = Meta_period
+
+keycode 32 = Left Decr_Console
+	shiftr keycode 32 = Decr_Console
+	shift shiftr keycode 32 = Decr_Console
+	alt keycode 32 = Home
+keycode 33 = bracketright braceright asciitilde      
+	shiftr keycode 33 = braceright
+	shift shiftr keycode 33 = braceright
+	control keycode 33 = Control_bracketright
+	alt keycode 33 = Meta_bracketright
+keycode 34 = equal plus
+	shiftr keycode 34 = plus
+	shift shiftr keycode 34 = plus
+	alt keycode 34 = Meta_equal
+keycode 35 = eight asterisk bracketleft
+	shiftr keycode 35 = asterisk
+	shift shiftr keycode 35 = asterisk
+	control keycode 35 = Delete
+	alt keycode 35 = Meta_eight
+keycode 36 = i
+	shiftr keycode 36 = +I
+	shift shiftr keycode 36 = +i
+keycode 37 = k
+	shiftr keycode 37 = +K
+	shift shiftr keycode 37 = +k
+keycode 38 = comma less
+	shiftr keycode 38 = less
+	shift shiftr keycode 38 = less
+	alt keycode 38 = Meta_comma
+
+keycode 40 = h
+	shiftr keycode 40 = +H
+	shift shiftr keycode 40 = +h
+keycode 41 = y
+	shiftr keycode 41 = +Y
+	shift shiftr keycode 41 = +y
+keycode 42 = six asciicircum
+	shiftr keycode 42 = asciicircum
+	shift shiftr keycode 42 = asciicircum
+	control keycode 42 = Control_asciicircum
+	alt keycode 42 = Meta_six
+keycode 43 = seven ampersand braceleft
+	shiftr keycode 43 = ampersand
+	shift shiftr keycode 43 = ampersand
+	control keycode 43 = Control_underscore
+	alt keycode 43 = Meta_seven
+keycode 44 = u
+	shiftr keycode 44 = +U
+	shift shiftr keycode 44 = +u
+keycode 45 = j
+	shiftr keycode 45 = +J
+	shift shiftr keycode 45 = +j
+keycode 46 = m
+	shiftr keycode 46 = +M
+	shift shiftr keycode 46 = +m
+keycode 47 = n
+	shiftr keycode 47 = +N
+	shift shiftr keycode 47 = +n
+
+# This is the "Backspace" key:
+keycode 49 = Delete Delete
+	shiftr keycode 49 = Delete
+	shift shiftr keycode 49 = Delete
+	control keycode 49 = BackSpace
+	alt keycode 49 = Meta_Delete
+keycode 50 = Num_Lock
+	shift keycode 50 = Bare_Num_Lock
+	shiftr keycode 50 = Bare_Num_Lock
+	shift shiftr keycode 50 = Bare_Num_Lock
+# This is the "Delete" key:
+keycode 51 = Remove
+	control alt keycode 51 = Boot
+
+keycode 53 = backslash bar
+	shiftr keycode 53 = bar
+	shift shiftr keycode 53 = bar
+	control keycode 53 = Control_backslash
+	alt keycode 53 = Meta_backslash
+keycode 54 = Return
+	alt keycode 54 = Meta_Control_m
+keycode 55 = space space           
+	shiftr keycode 55 = space
+	shift shiftr keycode 55 = space
+	control keycode 55 = nul
+	alt keycode 55 = Meta_space
+keycode 56 = g
+	shiftr keycode 56 = +G
+	shift shiftr keycode 56 = +g
+keycode 57 = t
+	shiftr keycode 57 = +T
+	shift shiftr keycode 57 = +t
+keycode 58 = five percent
+	shiftr keycode 58 = percent
+	shift shiftr keycode 58 = percent
+	control keycode 58 = Control_bracketright
+	alt keycode 58 = Meta_five
+keycode 59 = four dollar dollar
+	shiftr keycode 59 = dollar
+	shift shiftr keycode 59 = dollar
+	control keycode 59 = Control_backslash
+	alt keycode 59 = Meta_four
+keycode 60 = r
+	shiftr keycode 60 = +R
+	shift shiftr keycode 60 = +r
+keycode 61 = f
+	shiftr keycode 61 = +F
+	shift shiftr keycode 61 = +f
+	altgr keycode 61 = Hex_F
+keycode 62 = v
+	shiftr keycode 62 = +V
+	shift shiftr keycode 62 = +v
+keycode 63 = b
+	shiftr keycode 63 = +B
+	shift shiftr keycode 63 = +b
+	altgr keycode 63 = Hex_B
+
+keycode 67 = three numbersign
+	shiftr keycode 67 = numbersign
+	shift shiftr keycode 67 = numbersign
+	control keycode 67 = Escape
+	alt keycode 67 = Meta_three
+keycode 68 = e
+	shiftr keycode 68 = +E
+	shift shiftr keycode 68 = +e
+	altgr keycode 68 = Hex_E
+keycode 69 = d
+	shiftr keycode 69 = +D
+	shift shiftr keycode 69 = +d
+	altgr keycode 69 = Hex_D
+keycode 70 = c
+	shiftr keycode 70 = +C
+	shift shiftr keycode 70 = +c
+	altgr keycode 70 = Hex_C
+keycode 71 = Right Incr_Console
+	shiftr keycode 71 = Incr_Console
+	shift shiftr keycode 71 = Incr_Console
+	alt keycode 71 = End
+
+keycode 75 = two at at
+	shiftr keycode 75 = at
+	shift shiftr keycode 75 = at
+	control keycode 75 = nul
+	shift control keycode 75 = nul
+	shiftr control keycode 75 = nul
+	shift shiftr control keycode 75 = nul
+	alt keycode 75 = Meta_two
+keycode 76 = w
+	shiftr keycode 76 = +W
+	shift shiftr keycode 76 = +w
+keycode 77 = s
+	shiftr keycode 77 = +S
+	shift shiftr keycode 77 = +s
+keycode 78 = x
+	shiftr keycode 78 = +X
+	shift shiftr keycode 78 = +x
+keycode 79 = Down Scroll_Forward
+	shiftr keycode 79 = Scroll_Forward
+	shift shiftr keycode 79 = Scroll_Forward
+	alt keycode 79 = Next
+keycode 80 = Escape Escape
+	shiftr keycode 80 = Escape
+	shift shiftr keycode 80 = Escape
+	alt keycode 80 = Meta_Escape
+keycode 81 = Tab Tab             
+	shiftr keycode 81 = Tab
+	shift shiftr keycode 81 = Tab
+	alt keycode 81 = Meta_Tab
+keycode 82 = grave asciitilde
+	shiftr keycode 82 = asciitilde
+	shift shiftr keycode 82 = asciitilde
+	control keycode 82 = nul
+	alt keycode 82 = Meta_grave
+keycode 83 = one exclam
+	shiftr keycode 83 = exclam
+	shift shiftr keycode 83 = exclam
+	alt keycode 83 = Meta_one
+keycode 84 = q
+	shiftr keycode 84 = +Q
+	shift shiftr keycode 84 = +q
+keycode 85 = a
+	shiftr keycode 85 = +A
+	shift shiftr keycode 85 = +a
+	altgr keycode 85 = Hex_A
+keycode 86 = z
+	shiftr keycode 86 = +Z
+	shift shiftr keycode 86 = +z
+
+# This is the windows key:
+keycode 88 = Decr_Console
+keycode 89 = Shift
+keycode 90 = Control
+keycode 91 = Control
+keycode 92 = Alt
+keycode 93 = AltGr
+keycode 94 = ShiftR
+	shift keycode 94 = Caps_Lock

From yuasa@hh.iij4u.or.jp Sat Dec 20 15:53:50 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 20 Dec 2003 15:53:53 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:47813 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225513AbTLTPxu>;
	Sat, 20 Dec 2003 15:53:50 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id AAA24328;
	Sun, 21 Dec 2003 00:53:47 +0900 (JST)
Received: 4UMDO01 id hBKFrlx20236; Sun, 21 Dec 2003 00:53:47 +0900 (JST)
Received: 4UMRO00 id hBKFrkB17801; Sun, 21 Dec 2003 00:53:46 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sun, 21 Dec 2003 00:53:42 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] New FrameBuffer for ITE IT8181
Message-Id: <20031221005342.4134af7f.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8 (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3811
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for ITE IT8181 driver.

  http://www.hh.iij4u.or.jp/~yuasa/linux-vr/v2.4/it8181fb-v24.diff

This driver is used for ITE 8172G board and IBM WorkPad z50.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

From karthik_96cse@yahoo.com Sun Dec 21 08:44:32 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 21 Dec 2003 08:44:32 +0000 (GMT)
Received: from web10108.mail.yahoo.com ([IPv6:::ffff:216.136.130.58]:11854
	"HELO web10108.mail.yahoo.com") by linux-mips.org with SMTP
	id <S8225344AbTLUIoc>; Sun, 21 Dec 2003 08:44:32 +0000
Message-ID: <20031221084425.35212.qmail@web10108.mail.yahoo.com>
Received: from [128.107.253.43] by web10108.mail.yahoo.com via HTTP; Sun, 21 Dec 2003 08:44:25 GMT
Date: Sun, 21 Dec 2003 08:44:25 +0000 (GMT)
From: =?iso-8859-1?q?karthikeyan=20natarajan?= <karthik_96cse@yahoo.com>
Subject: Info needed about cache..
To: linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Return-Path: <karthik_96cse@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3812
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: karthik_96cse@yahoo.com
Precedence: bulk
X-list: linux-mips

Hi All,

    I would like learn about L1, L2 & L3 caches w.r.t
MIPS, in detail. Could you pls give me a pointer to
the
document available on the Net...

Thanks much,
-karthi


=====
The expert at anything was once a beginner

________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html

From ralf@linux-mips.org Sun Dec 21 12:27:37 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 21 Dec 2003 12:27:38 +0000 (GMT)
Received: from p508B56DB.dip.t-dialin.net ([IPv6:::ffff:80.139.86.219]:40071
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225324AbTLUM1h>; Sun, 21 Dec 2003 12:27:37 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBLCRaoK027164;
	Sun, 21 Dec 2003 13:27:36 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBLCRZtU027163;
	Sun, 21 Dec 2003 13:27:35 +0100
Date: Sun, 21 Dec 2003 13:27:35 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: karthikeyan natarajan <karthik_96cse@yahoo.com>
Cc: linux-mips@linux-mips.org
Subject: Re: Info needed about cache..
Message-ID: <20031221122735.GA26652@linux-mips.org>
References: <20031221084425.35212.qmail@web10108.mail.yahoo.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031221084425.35212.qmail@web10108.mail.yahoo.com>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3813
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sun, Dec 21, 2003 at 08:44:25AM +0000, karthikeyan natarajan wrote:

>     I would like learn about L1, L2 & L3 caches w.r.t
> MIPS, in detail. Could you pls give me a pointer to
> the document available on the Net...

This information is horribly scattered over lots of resources.  A well
written and fun to read book is "See MIPS Run" by Dominik Sweetman; see
also the literature section of www.linux-mips.com.  The Hennesey &
Patterson books looks at caches from a more theoretical perspective but
provides the necessary background.

  Ralf

From juszczec@hotmail.com Sun Dec 21 16:20:53 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 21 Dec 2003 16:20:56 +0000 (GMT)
Received: from law10-f61.law10.hotmail.com ([IPv6:::ffff:64.4.15.61]:65285
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8225370AbTLUQUx>; Sun, 21 Dec 2003 16:20:53 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Sun, 21 Dec 2003 08:20:43 -0800
Received: from 24.209.41.112 by lw10fd.law10.hotmail.msn.com with HTTP;
	Sun, 21 Dec 2003 16:20:42 GMT
X-Originating-IP: [24.209.41.112]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: linux-mips@linux-mips.org
Subject: hardware questions
Date: Sun, 21 Dec 2003 16:20:42 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F61XsDQ1sMzqi00015abf@hotmail.com>
X-OriginalArrivalTime: 21 Dec 2003 16:20:43.0123 (UTC) FILETIME=[61A2C430:01C3C7DE]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3814
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Hi folks

I'm the guy with the Helio pda running an r3912 chip.  In an effort to 
create a better development environment, I'm thinking about puchasing a 
Silicon Graphics Iris Indigo Workstation.

But, I'm unfamiliar with MIPS hardware.

First of all, will code developed on this machine run on the r3912 chip?  
The r3912 is little endian mips, 16 bit I think but maybe 32 bit.

Can off the shelf monitors, keyboards, hard drives, NICs and memory be 
installed in this system?

Mark

_________________________________________________________________
Grab our best dial-up Internet access offer: 6 months @$9.95/month.  
http://join.msn.com/?page=dept/dialup


From geert@linux-m68k.org Sun Dec 21 17:26:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 21 Dec 2003 17:26:22 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:13821 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225370AbTLUR0V>;
	Sun, 21 Dec 2003 17:26:21 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBLHQGQG007729;
	Sun, 21 Dec 2003 18:26:16 +0100 (MET)
Date: Sun, 21 Dec 2003 18:26:17 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Mark and Janice Juszczec <juszczec@hotmail.com>
cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: hardware questions
In-Reply-To: <Law10-F61XsDQ1sMzqi00015abf@hotmail.com>
Message-ID: <Pine.GSO.4.58.0312211824580.739@waterleaf.sonytel.be>
References: <Law10-F61XsDQ1sMzqi00015abf@hotmail.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <geert@linux-m68k.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3815
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Sun, 21 Dec 2003, Mark and Janice Juszczec wrote:
> I'm the guy with the Helio pda running an r3912 chip.  In an effort to
> create a better development environment, I'm thinking about puchasing a
> Silicon Graphics Iris Indigo Workstation.
>
> But, I'm unfamiliar with MIPS hardware.
>
> First of all, will code developed on this machine run on the r3912 chip?
> The r3912 is little endian mips, 16 bit I think but maybe 32 bit.

SGI workstations are big endian, while WinCE hardware is always little endian.
So you still have to cross-compile if you want to use the SGI as a development
environment.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

From ppopov@mvista.com Mon Dec 22 05:07:15 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 05:07:15 +0000 (GMT)
Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:25075 "EHLO
	av.mvista.com") by linux-mips.org with ESMTP id <S8224985AbTLVFHP>;
	Mon, 22 Dec 2003 05:07:15 +0000
Received: from [10.2.2.20] (av [127.0.0.1])
	by av.mvista.com (8.9.3/8.9.3) with ESMTP id VAA17851;
	Sun, 21 Dec 2003 21:05:58 -0800
Subject: defconfigs
From: Pete Popov <ppopov@mvista.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Linux/MIPS Development <linux-mips@linux-mips.org>
Content-Type: text/plain
Organization: 
Message-Id: <1072069822.1927.9.camel@localhost.localdomain>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) 
Date: 21 Dec 2003 21:10:22 -0800
Content-Transfer-Encoding: 7bit
Return-Path: <ppopov@mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3816
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ppopov@mvista.com
Precedence: bulk
X-list: linux-mips

Ralf,

How about if I create an arch/mips/configs directory and move all
defconfig files there?  I know we've talked about this in the past and I
don't remember any good reasons for not doing it?

Pete


From jb@jblache.org Mon Dec 22 10:53:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 10:53:43 +0000 (GMT)
Received: from frigate.technologeek.org ([IPv6:::ffff:62.4.21.148]:56451 "EHLO
	frigate.technologeek.org") by linux-mips.org with ESMTP
	id <S8225203AbTLVKxk>; Mon, 22 Dec 2003 10:53:40 +0000
Received: by frigate.technologeek.org (Postfix, from userid 1000)
	id 6011F1C8EEA0; Mon, 22 Dec 2003 11:53:41 +0100 (CET)
To: linux-mips@linux-mips.org
Subject: [PATCH 2.6] make drivers/char/vt.c compile without
 CONFIG_VT_CONSOLE
From: Julien BLACHE <jb@jblache.org>
Date: Mon, 22 Dec 2003 11:53:40 +0100
Message-ID: <874qvtgm2z.fsf@frigate.technologeek.org>
User-Agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.4 (Rational FORTRAN, linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Return-Path: <jb@jblache.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3817
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jb@jblache.org
Precedence: bulk
X-list: linux-mips

--=-=-=

Hi,

In drivers/char/vt.c, console_driver is defined inside an #ifdef
CONFIG_VT_CONSOLE, which makes it impossible to build a 2.6 kernel
without CONFIG_VT_CONSOLE.

I think this wasn't intended, so the attached patch moves the
declaration of console_driver above the #ifdef. There may be a more
appropriate place, so put it elsewhere if you feel like it :)

JB.

-- 
Julien BLACHE                                   <http://www.jblache.org> 
<jb@jblache.org>                                  GPG KeyID 0xF5D65169


--=-=-=
Content-Disposition: attachment; filename=vt.c.diff
Content-Description: drivers/char/vt.c patch to build without CONFIG_VT_CONSOLE

Index: vt.c
===================================================================
RCS file: /home/cvs/linux/drivers/char/vt.c,v
retrieving revision 1.55
diff -u -r1.55 vt.c
--- vt.c	19 Oct 2003 00:50:09 -0000	1.55
+++ vt.c	22 Dec 2003 10:47:19 -0000
@@ -2086,6 +2086,8 @@
 	schedule_console_callback();
 }
 
+struct tty_driver *console_driver;
+
 #ifdef CONFIG_VT_CONSOLE
 
 /*
@@ -2184,8 +2186,6 @@
 quit:
 	clear_bit(0, &printing);
 }
-
-struct tty_driver *console_driver;
 
 static struct tty_driver *vt_console_device(struct console *c, int *index)
 {

--=-=-=--

From macro@ds2.pg.gda.pl Mon Dec 22 12:48:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 12:48:02 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:33936 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225326AbTLVMsB>; Mon, 22 Dec 2003 12:48:01 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 132F94AF7D; Mon, 22 Dec 2003 13:47:53 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id 09B6D4AC79; Mon, 22 Dec 2003 13:47:53 +0100 (CET)
Date: Mon, 22 Dec 2003 13:47:52 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: "Kevin D. Kissell" <kevink@mips.com>
Cc: karthikeyan natarajan <karthik_96cse@yahoo.com>,
	Michael Uhler <uhler@mips.com>, linux-mips@linux-mips.org
Subject: Re: Regarding branch delay instructions in R4000
In-Reply-To: <01e801c3c6e2$4aa51ff0$10eca8c0@grendel>
Message-ID: <Pine.LNX.4.55.0312221342180.27237@jurand.ds.pg.gda.pl>
References: <20031220095312.38822.qmail@web10104.mail.yahoo.com>
 <01e801c3c6e2$4aa51ff0$10eca8c0@grendel>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3818
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

On Sat, 20 Dec 2003, Kevin D. Kissell wrote:

> Yes, MIPS stood for Microprocessor without Interlocked Pipeline Stages
> when it was first used as a name for a graduate student project at Stanford
> University in publications from 1982.  But that in itself was a play on words,
> as the most common metric of computer perfomance at the time was 
> "Millions of Instructions Per Second", or MIPS.  The Stanford architcture 
> was revamped and commercialized as the "MIPS I" architecture, implemented 
> in the R2000 and R3000 CPUs, which likewise had no interlocks on cache load 
> delays. As silicon geometries became finer and gates got cheaper, the relative cost
> of providing the interlocks decreased, while the need to run the same MIPS 
> binaries on multiple, very different implementations of the architecture increased.
> So from the R4000 onwards, MIPS CPUs have had interlocks.  But by that time
> the name "MIPS" was a well-known trademark, and it made no sense to change it.

 Well, as I like to nitpick, actually the original MIPS I R2000 and R3000
processors did have a single interlock already -- the one used for reading
the HI and LO registers. ;-)

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

From macro@ds2.pg.gda.pl Mon Dec 22 13:23:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 13:23:02 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:40087 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225200AbTLVNXB>; Mon, 22 Dec 2003 13:23:01 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 6E4944AF7D; Mon, 22 Dec 2003 14:22:55 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id 0BF3D4AE0D; Mon, 22 Dec 2003 14:22:55 +0100 (CET)
Date: Mon, 22 Dec 2003 14:22:55 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: Pete Popov <ppopov@mvista.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Linux/MIPS Development <linux-mips@linux-mips.org>
Subject: Re: defconfigs
In-Reply-To: <1072069822.1927.9.camel@localhost.localdomain>
Message-ID: <Pine.LNX.4.55.0312221420510.27237@jurand.ds.pg.gda.pl>
References: <1072069822.1927.9.camel@localhost.localdomain>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3819
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

On Mon, 21 Dec 2003, Pete Popov wrote:

> How about if I create an arch/mips/configs directory and move all
> defconfig files there?  I know we've talked about this in the past and I
> don't remember any good reasons for not doing it?

 Except the plain "defconfig" file wants to keep sitting in arch/mips to
be picked up by configuration scripts.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

From yuasa@hh.iij4u.or.jp Mon Dec 22 14:11:43 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 14:11:47 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:30711 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225344AbTLVOLn>;
	Mon, 22 Dec 2003 14:11:43 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id XAA19500;
	Mon, 22 Dec 2003 23:11:39 +0900 (JST)
Received: 4UMDO01 id hBMEBdh10121; Mon, 22 Dec 2003 23:11:39 +0900 (JST)
Received: 4UMRO00 id hBMEBb119959; Mon, 22 Dec 2003 23:11:38 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Mon, 22 Dec 2003 23:11:36 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] New NEC VRC4171's base  functions for VR4100 series
Message-Id: <20031222231136.587d77bf.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3820
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for VRC4171's base functions.
The VRC4171 is companion chip for NEC VR4111 and VR4121.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/config-shared.in linux/arch/mips/config-shared.in
--- linux-orig/arch/mips/config-shared.in	2003-12-19 10:56:08.000000000 +0900
+++ linux/arch/mips/config-shared.in	2003-12-19 18:00:18.000000000 +0900
@@ -55,6 +55,9 @@
 bool 'Support for Globespan IVR board' CONFIG_MIPS_IVR
 bool 'Support for Hewlett Packard LaserJet board' CONFIG_HP_LASERJET
 bool 'Support for IBM WorkPad z50' CONFIG_IBM_WORKPAD
+if [ "$CONFIG_IBM_WORKPAD" = "y" ]; then
+   tristate '  NEC VRC4171 support' CONFIG_VRC4171
+fi
 bool 'Support for LASAT Networks platforms' CONFIG_LASAT
 if [ "$CONFIG_LASAT" = "y" ]; then
    tristate '  PICVUE LCD display driver' CONFIG_PICVUE
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/common/Makefile linux/arch/mips/vr41xx/common/Makefile
--- linux-orig/arch/mips/vr41xx/common/Makefile	2003-12-02 10:43:45.000000000 +0900
+++ linux/arch/mips/vr41xx/common/Makefile	2003-12-19 17:58:32.000000000 +0900
@@ -14,10 +14,11 @@
 
 obj-y := bcu.o cmu.o giu.o icu.o int-handler.o ksyms.o reset.o rtc.o
 
-export-objs := ksyms.o vrc4173.o
+export-objs := ksyms.o vrc4171.o vrc4173.o
 
 obj-$(CONFIG_PCI)		+= pciu.o
 obj-$(CONFIG_SERIAL)		+= serial.o
+obj-$(CONFIG_VRC4171)		+= vrc4171.o
 obj-$(CONFIG_VRC4173)		+= vrc4173.o
 obj-$(subst m,y,$(CONFIG_IDE))	+= ide.o
 
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/common/vrc4171.c linux/arch/mips/vr41xx/common/vrc4171.c
--- linux-orig/arch/mips/vr41xx/common/vrc4171.c	1970-01-01 09:00:00.000000000 +0900
+++ linux/arch/mips/vr41xx/common/vrc4171.c	2003-12-19 17:58:32.000000000 +0900
@@ -0,0 +1,106 @@
+/*
+ *  vrc4171.c, NEC VRC4171 base driver.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/ioport.h>
+#include <linux/module.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/vr41xx/vrc4171.h>
+
+MODULE_DESCRIPTION("NEC VRC4171 base driver");
+MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>");
+MODULE_LICENSE("GPL");
+
+EXPORT_SYMBOL_GPL(vrc4171_get_irq_status);
+EXPORT_SYMBOL_GPL(vrc4171_set_multifunction_pin);
+
+#define CONFIGURATION1		0x05fe
+ #define SLOTB_CONFIG		0xc000
+ #define SLOTB_NONE		0x0000
+ #define SLOTB_PCCARD		0x4000
+ #define SLOTB_CF		0x8000
+ #define SLOTB_FLASHROM		0xc000
+
+#define CONFIGURATION2		0x05fc
+#define INTERRUPT_STATUS	0x05fa
+#define PCS_CONTROL		0x05ee
+#define GPIO_DATA		PCS_CONTROL
+#define PCS0_UPPER_START	0x05ec
+#define PCS0_LOWER_START	0x05ea
+#define PCS0_UPPER_STOP		0x05e8
+#define PCS0_LOWER_STOP		0x05e6
+#define PCS1_UPPER_START	0x05e4
+#define PCS1_LOWER_START	0x05e2
+#define PCS1_UPPER_STOP		0x05de
+#define PCS1_LOWER_STOP		0x05dc
+
+#define VRC4171_REGS_BASE	PCS1_LOWER_STOP
+#define VRC4171_REGS_SIZE	0x24
+
+uint16_t vrc4171_get_irq_status(void)
+{
+	return inw(INTERRUPT_STATUS);
+}
+
+void vrc4171_set_multifunction_pin(int config)
+{
+	uint16_t config1;
+
+	config1 = inw(CONFIGURATION1);
+	config1 &= ~SLOTB_CONFIG;
+
+	switch (config) {
+	case SLOTB_IS_NONE:
+		config1 |= SLOTB_NONE;
+		break;
+	case SLOTB_IS_PCCARD:
+		config1 |= SLOTB_PCCARD;
+		break;
+	case SLOTB_IS_CF:
+		config1 |= SLOTB_CF;
+		break;
+	case SLOTB_IS_FLASHROM:
+		config1 |= SLOTB_FLASHROM;
+		break;
+	default:
+		break;
+	}
+
+	outw(config1, CONFIGURATION1);
+}
+
+static int __devinit vrc4171_init(void)
+{
+	if (request_region(VRC4171_REGS_BASE, VRC4171_REGS_SIZE, "NEC VRC4171") == NULL)
+		return -EBUSY;
+
+	printk(KERN_INFO "NEC VRC4171 base driver\n");
+
+	return 0;
+}
+
+static void __devexit vrc4171_exit(void)
+{
+	release_region(VRC4171_REGS_BASE, VRC4171_REGS_SIZE);
+}
+
+module_init(vrc4171_init);
+module_exit(vrc4171_exit);
diff -urN -X dontdiff linux-orig/include/asm-mips/vr41xx/vrc4171.h linux/include/asm-mips/vr41xx/vrc4171.h
--- linux-orig/include/asm-mips/vr41xx/vrc4171.h	1970-01-01 09:00:00.000000000 +0900
+++ linux/include/asm-mips/vr41xx/vrc4171.h	2003-12-19 17:58:32.000000000 +0900
@@ -0,0 +1,43 @@
+/*
+ *  vrc4171.h, Include file for NEC VRC4171.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#ifndef __NEC_VRC4171_H 
+#define __NEC_VRC4171_H 
+
+/*
+ * Configuration 1
+ */
+enum {
+	SLOTB_IS_NONE,       
+	SLOTB_IS_PCCARD,
+	SLOTB_IS_CF,
+	SLOTB_IS_FLASHROM
+};
+
+extern void vrc4171_set_multifunction_pin(int config);
+
+/*
+ * Interrupt Status Mask
+ */
+#define IRQ_A	0x02
+#define IRQ_B	0x04
+
+extern uint16_t vrc4171_get_irq_status(void);
+
+#endif /* __NEC_VRC4171_H */

From yuasa@hh.iij4u.or.jp Mon Dec 22 14:15:15 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 14:15:17 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:8184 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225371AbTLVOPP>;
	Mon, 22 Dec 2003 14:15:15 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id XAA19968;
	Mon, 22 Dec 2003 23:15:12 +0900 (JST)
Received: 4UMDO00 id hBMEFCX04495; Mon, 22 Dec 2003 23:15:12 +0900 (JST)
Received: 4UMRO00 id hBMEFC120188; Mon, 22 Dec 2003 23:15:12 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Mon, 22 Dec 2003 23:15:11 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.6] New NEC VRC4171's base  functions for VR4100 series
Message-Id: <20031222231511.4e189634.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3821
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for VRC4171's base functions.

This patch exists for HEAD of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/arch/mips/Kconfig linux/arch/mips/Kconfig
--- linux-orig/arch/mips/Kconfig	2003-12-22 10:54:57.000000000 +0900
+++ linux/arch/mips/Kconfig	2003-12-22 12:48:46.000000000 +0900
@@ -739,6 +739,10 @@
 	depends on ZAO_CAPCELLA || VICTOR_MPC30X || SIBYTE_SB1xxx_SOC || NEC_EAGLE || NEC_OSPREY || DDB5477 || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
 	default y
 
+config VRC4171
+	tristate "NEC VRC4171 Support"
+	depends on IBM_WORKPAD
+
 config VRC4173
 	tristate "NEC VRC4173 Support"
 	depends on NEC_EAGLE || VICTOR_MPC30X
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/common/Makefile linux/arch/mips/vr41xx/common/Makefile
--- linux-orig/arch/mips/vr41xx/common/Makefile	2003-12-02 10:45:07.000000000 +0900
+++ linux/arch/mips/vr41xx/common/Makefile	2003-12-22 12:48:46.000000000 +0900
@@ -4,6 +4,7 @@
 
 obj-y				+= bcu.o cmu.o giu.o icu.o int-handler.o ksyms.o reset.o rtc.o
 obj-$(CONFIG_SERIAL_8250)	+= serial.o
+obj-$(CONFIG_VRC4171)		+= vrc4171.o
 obj-$(CONFIG_VRC4173)		+= vrc4173.o
 
 EXTRA_AFLAGS := $(CFLAGS)
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/common/vrc4171.c linux/arch/mips/vr41xx/common/vrc4171.c
--- linux-orig/arch/mips/vr41xx/common/vrc4171.c	1970-01-01 09:00:00.000000000 +0900
+++ linux/arch/mips/vr41xx/common/vrc4171.c	2003-12-22 12:48:46.000000000 +0900
@@ -0,0 +1,106 @@
+/*
+ *  vrc4171.c, NEC VRC4171 base driver.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/ioport.h>
+#include <linux/module.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/vr41xx/vrc4171.h>
+
+MODULE_DESCRIPTION("NEC VRC4171 base driver");
+MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>");
+MODULE_LICENSE("GPL");
+
+EXPORT_SYMBOL_GPL(vrc4171_get_irq_status);
+EXPORT_SYMBOL_GPL(vrc4171_set_multifunction_pin);
+
+#define CONFIGURATION1		0x05fe
+ #define SLOTB_CONFIG		0xc000
+ #define SLOTB_NONE		0x0000
+ #define SLOTB_PCCARD		0x4000
+ #define SLOTB_CF		0x8000
+ #define SLOTB_FLASHROM		0xc000
+
+#define CONFIGURATION2		0x05fc
+#define INTERRUPT_STATUS	0x05fa
+#define PCS_CONTROL		0x05ee
+#define GPIO_DATA		PCS_CONTROL
+#define PCS0_UPPER_START	0x05ec
+#define PCS0_LOWER_START	0x05ea
+#define PCS0_UPPER_STOP		0x05e8
+#define PCS0_LOWER_STOP		0x05e6
+#define PCS1_UPPER_START	0x05e4
+#define PCS1_LOWER_START	0x05e2
+#define PCS1_UPPER_STOP		0x05de
+#define PCS1_LOWER_STOP		0x05dc
+
+#define VRC4171_REGS_BASE	PCS1_LOWER_STOP
+#define VRC4171_REGS_SIZE	0x24
+
+uint16_t vrc4171_get_irq_status(void)
+{
+	return inw(INTERRUPT_STATUS);
+}
+
+void vrc4171_set_multifunction_pin(int config)
+{
+	uint16_t config1;
+
+	config1 = inw(CONFIGURATION1);
+	config1 &= ~SLOTB_CONFIG;
+
+	switch (config) {
+	case SLOTB_IS_NONE:
+		config1 |= SLOTB_NONE;
+		break;
+	case SLOTB_IS_PCCARD:
+		config1 |= SLOTB_PCCARD;
+		break;
+	case SLOTB_IS_CF:
+		config1 |= SLOTB_CF;
+		break;
+	case SLOTB_IS_FLASHROM:
+		config1 |= SLOTB_FLASHROM;
+		break;
+	default:
+		break;
+	}
+
+	outw(config1, CONFIGURATION1);
+}
+
+static int __devinit vrc4171_init(void)
+{
+	if (request_region(VRC4171_REGS_BASE, VRC4171_REGS_SIZE, "NEC VRC4171") == NULL)
+		return -EBUSY;
+
+	printk(KERN_INFO "NEC VRC4171 base driver\n");
+
+	return 0;
+}
+
+static void __devexit vrc4171_exit(void)
+{
+	release_region(VRC4171_REGS_BASE, VRC4171_REGS_SIZE);
+}
+
+module_init(vrc4171_init);
+module_exit(vrc4171_exit);
diff -urN -X dontdiff linux-orig/include/asm-mips/vr41xx/vrc4171.h linux/include/asm-mips/vr41xx/vrc4171.h
--- linux-orig/include/asm-mips/vr41xx/vrc4171.h	1970-01-01 09:00:00.000000000 +0900
+++ linux/include/asm-mips/vr41xx/vrc4171.h	2003-12-22 12:48:46.000000000 +0900
@@ -0,0 +1,43 @@
+/*
+ *  vrc4171.h, Include file for NEC VRC4171.
+ *
+ *  Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#ifndef __NEC_VRC4171_H 
+#define __NEC_VRC4171_H 
+
+/*
+ * Configuration 1
+ */
+enum {
+	SLOTB_IS_NONE,       
+	SLOTB_IS_PCCARD,
+	SLOTB_IS_CF,
+	SLOTB_IS_FLASHROM
+};
+
+extern void vrc4171_set_multifunction_pin(int config);
+
+/*
+ * Interrupt Status Mask
+ */
+#define IRQ_A	0x02
+#define IRQ_B	0x04
+
+extern uint16_t vrc4171_get_irq_status(void);
+
+#endif /* __NEC_VRC4171_H */

From yuasa@hh.iij4u.or.jp Mon Dec 22 14:33:59 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 22 Dec 2003 14:34:02 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:1009 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8224772AbTLVOd7>;
	Mon, 22 Dec 2003 14:33:59 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id XAA26662;
	Mon, 22 Dec 2003 23:33:20 +0900 (JST)
Received: 4UMDO00 id hBMEXJX04704; Mon, 22 Dec 2003 23:33:19 +0900 (JST)
Received: 4UMRO00 id hBMEXH121490; Mon, 22 Dec 2003 23:33:18 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Mon, 22 Dec 2003 23:33:16 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: yuasa@hh.iij4u.or.jp, ppopov@mvista.com, ralf@linux-mips.org,
	linux-mips@linux-mips.org
Subject: Re: defconfigs
Message-Id: <20031222233316.48e4c0b5.yuasa@hh.iij4u.or.jp>
In-Reply-To: <Pine.LNX.4.55.0312221420510.27237@jurand.ds.pg.gda.pl>
References: <1072069822.1927.9.camel@localhost.localdomain>
	<Pine.LNX.4.55.0312221420510.27237@jurand.ds.pg.gda.pl>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3822
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

On Mon, 22 Dec 2003 14:22:55 +0100 (CET)
"Maciej W. Rozycki" <macro@ds2.pg.gda.pl> wrote:

> On Mon, 21 Dec 2003, Pete Popov wrote:
> 
> > How about if I create an arch/mips/configs directory and move all
> > defconfig files there?  I know we've talked about this in the past and I
> > don't remember any good reasons for not doing it?
> 
>  Except the plain "defconfig" file wants to keep sitting in arch/mips to
> be picked up by configuration scripts.

I think it's means like arch/ppc/configs.

Yoichi

From vjv0vjv@yahoo.com Tue Dec 23 04:20:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 04:20:12 +0000 (GMT)
Received: from web21327.mail.yahoo.com ([IPv6:::ffff:216.136.175.216]:33980
	"HELO web21327.mail.yahoo.com") by linux-mips.org with SMTP
	id <S8225310AbTLWEUL>; Tue, 23 Dec 2003 04:20:11 +0000
Message-ID: <20031223041929.33936.qmail@web21327.mail.yahoo.com>
Received: from [12.33.17.145] by web21327.mail.yahoo.com via HTTP; Mon, 22 Dec 2003 20:19:29 PST
Date: Mon, 22 Dec 2003 20:19:29 -0800 (PST)
From: Vince Jameson <vjv0vjv@yahoo.com>
Subject: SCO heads-up
To: linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Return-Path: <vjv0vjv@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3823
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: vjv0vjv@yahoo.com
Precedence: bulk
X-list: linux-mips

I don't mean to bring up an unpleasant subject, but as
part of their latest antics, those wacky SCO folks are
claiming a list of 65 header files that were
supposedly copied verbatim into Linux from their
proprietary Unix codebase.  Among these files are
eight that are specific to the MIPS platform: 
include/asm-mips/errno.h, include/asm-mips64/errno.h,
include/asm-mips/signal.h,
include/asm-mips64/signal.h, include/asm-mips/ioctl.h,
include/asm-mips64/ioctl.h,
include/asm-mips64/ioctls.h, and
arch/mips/boot/ecoff.h.  

No, I am not making this up.  I swear.  They're really
claiming this.  Groklaw has a lively discussion going
about the whole topic, of course.  

In the near future, there are probably going to be
lawyers and other random people in suits wanting to
know precisely where these headers came from and how
they came to be, so I figured I should drop a heads-up
to the list.  

Vince

__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/

From dimitri@sonycom.com Tue Dec 23 09:03:54 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 09:03:57 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:21915 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225794AbTLWJDy>;
	Tue, 23 Dec 2003 09:03:54 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBN93oQF010980;
	Tue, 23 Dec 2003 10:03:50 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id KAA05325;
	Tue, 23 Dec 2003 10:03:51 +0100 (MET)
Date: Tue, 23 Dec 2003 10:03:51 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Subject: [PATCH 2.6] use struct uart_port for early_serial_setup()
Message-ID: <20031223090351.GA5300@sonycom.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="jI8keyz6grp/JLjh"
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3824
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips



--jI8keyz6grp/JLjh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

  I think early_serial_setup() should be called with struct uart_port* instead
  of struct serial_struct*. Patch for the Vr41xx series.

  Dimitri

-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


--jI8keyz6grp/JLjh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch

Index: arch/mips/vr41xx/common/serial.c
===================================================================
RCS file: /home/cvs/linux/arch/mips/vr41xx/common/serial.c,v
retrieving revision 1.4
diff -u -r1.4 serial.c
--- arch/mips/vr41xx/common/serial.c	31 Oct 2003 01:49:07 -0000	1.4
+++ arch/mips/vr41xx/common/serial.c	23 Dec 2003 08:51:07 -0000
@@ -41,7 +41,9 @@
  */
 #include <linux/init.h>
 #include <linux/types.h>
+#include <linux/tty.h>
 #include <linux/serial.h>
+#include <linux/serial_core.h>
 
 #include <asm/addrspace.h>
 #include <asm/cpu.h>
@@ -116,59 +118,62 @@
 
 void __init vr41xx_siu_init(int interface, int module)
 {
-	struct serial_struct s;
+#ifdef CONFIG_SERIAL_8250
+	struct uart_port p;
 
 	vr41xx_siu_ifselect(interface, module);
 
-	memset(&s, 0, sizeof(s));
+	memset(&p, 0, sizeof(p));
 
-	s.line = vr41xx_serial_ports;
-	s.baud_base = SIU_BASE_BAUD;
-	s.irq = SIU_IRQ;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	p.line = vr41xx_serial_ports;
+	p.uartclk = SIU_BASE_BAUD * 16;
+	p.irq = SIU_IRQ;
+	p.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	switch (current_cpu_data.cputype) {
 	case CPU_VR4111:
 	case CPU_VR4121:
-		s.iomem_base = (unsigned char *)VR4111_SIURB;
+		p.membase = (unsigned char *)VR4111_SIURB;
 		break;
 	case CPU_VR4122:
 	case CPU_VR4131:
 	case CPU_VR4133:
-		s.iomem_base = (unsigned char *)VR4122_SIURB;
+		p.membase = (unsigned char *)VR4122_SIURB;
 		break;
 	default:
 		panic("Unexpected CPU of NEC VR4100 series");
 		break;
 	}
-	s.iomem_reg_shift = 0;
-	s.io_type = SERIAL_IO_MEM;
-	if (early_serial_setup(&s) != 0)
+	p.regshift = 0;
+	p.iotype = UPIO_MEM;
+	if (early_serial_setup(&p) != 0)
 		printk(KERN_ERR "SIU setup failed!\n");
 
 	vr41xx_clock_supply(SIU_CLOCK);
 
 	vr41xx_serial_ports++;
+#endif
 }
 
 void __init vr41xx_dsiu_init(void)
 {
-	struct serial_struct s;
+#ifdef CONFIG_SERIAL_8250
+	struct uart_port p;
 
 	if (current_cpu_data.cputype != CPU_VR4122 &&
 	    current_cpu_data.cputype != CPU_VR4131 &&
 	    current_cpu_data.cputype != CPU_VR4133)
 		return;
 
-	memset(&s, 0, sizeof(s));
+	memset(&p, 0, sizeof(p));
 
-	s.line = vr41xx_serial_ports;
-	s.baud_base = DSIU_BASE_BAUD;
-	s.irq = DSIU_IRQ;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
-	s.iomem_base = (unsigned char *)DSIURB;
-	s.iomem_reg_shift = 0;
-	s.io_type = SERIAL_IO_MEM;
-	if (early_serial_setup(&s) != 0)
+	p.line = vr41xx_serial_ports;
+	p.uartclk = DSIU_BASE_BAUD * 16;
+	p.irq = DSIU_IRQ;
+	p.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	p.membase = (unsigned char *)DSIURB;
+	p.regshift = 0;
+	p.iotype = UPIO_MEM;
+	if (early_serial_setup(&p) != 0)
 		printk(KERN_ERR "DSIU setup failed!\n");
 
 	vr41xx_clock_supply(DSIU_CLOCK);
@@ -176,4 +181,5 @@
 	writew(INTDSIU, MDSIUINTREG);
 
 	vr41xx_serial_ports++;
+#endif
 }

--jI8keyz6grp/JLjh--

From yuasa@hh.iij4u.or.jp Tue Dec 23 09:55:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 09:55:24 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:56303 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225807AbTLWJzV>;
	Tue, 23 Dec 2003 09:55:21 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id SAA12707;
	Tue, 23 Dec 2003 18:55:16 +0900 (JST)
Received: 4UMDO01 id hBN9tGl17791; Tue, 23 Dec 2003 18:55:16 +0900 (JST)
Received: 4UMRO01 id hBN9tEV26182; Tue, 23 Dec 2003 18:55:15 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Tue, 23 Dec 2003 18:55:11 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.4] New NEC VRC4171 PCMCIA driver
Message-Id: <20031223185511.4dc7bd5c.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3825
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for VRC4171 PCMCIA driver.

The VRC4171 is companion chip for NEC VR4111 and VR4121.
The VRC4171 includes in the PCMCIA controller.

This patch exists for linux_2_4 tag of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/drivers/pcmcia/Config.in linux/drivers/pcmcia/Config.in
--- linux-orig/drivers/pcmcia/Config.in	Sun Dec 21 10:27:50 2003
+++ linux/drivers/pcmcia/Config.in	Tue Dec 23 18:44:20 2003
@@ -40,6 +40,9 @@
    if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]; then
       dep_bool '  SiByte PCMCIA support' CONFIG_PCMCIA_SIBYTE $CONFIG_PCMCIA $CONFIG_BLK_DEV_IDE_SIBYTE
    fi
+   if [ "$CONFIG_VRC4171" = "y" -o "$CONFIG_VRC4171" = "m" ]; then
+      dep_tristate '  NEC VRC4171 Card Controllers support' CONFIG_PCMCIA_VRC4171 $CONFIG_PCMCIA
+   fi
    if [ "$CONFIG_VRC4173" = "y" -o "$CONFIG_VRC4173" = "m" ]; then
       dep_tristate '  NEC VRC4173 CARDU support' CONFIG_PCMCIA_VRC4173 $CONFIG_PCMCIA
    fi
diff -urN -X dontdiff linux-orig/drivers/pcmcia/Makefile linux/drivers/pcmcia/Makefile
--- linux-orig/drivers/pcmcia/Makefile	Tue Jul 15 01:14:06 2003
+++ linux/drivers/pcmcia/Makefile	Tue Dec 23 18:44:42 2003
@@ -89,6 +89,7 @@
 sa1100_cs-objs-$(CONFIG_SA1100_XP860)		+= sa1100_xp860.o sa1111_generic.o
 sa1100_cs-objs-$(CONFIG_SA1100_YOPY)		+= sa1100_yopy.o
 
+obj-$(CONFIG_PCMCIA_VRC4171)	+= vrc4171_card.o
 obj-$(CONFIG_PCMCIA_VRC4173)	+= vrc4173_cardu.o
 
 include $(TOPDIR)/Rules.make
diff -urN -X dontdiff linux-orig/drivers/pcmcia/vrc4171_card.c linux/drivers/pcmcia/vrc4171_card.c
--- linux-orig/drivers/pcmcia/vrc4171_card.c	Thu Jan  1 09:00:00 1970
+++ linux/drivers/pcmcia/vrc4171_card.c	Tue Dec 23 18:44:20 2003
@@ -0,0 +1,886 @@
+/*
+ * vrc4171_card.c, NEC VRC4171 Card Controller driver for Socket Services.
+ *
+ * Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/ioport.h>
+#include <linux/irq.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/vr41xx/vrc4171.h>
+
+#include <pcmcia/ss.h>
+
+#include "i82365.h"
+
+MODULE_DESCRIPTION("NEC VRC4171 Card Controllers driver for Socket Services");
+MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>");
+MODULE_LICENSE("GPL");
+
+#define CARD_MAX_SLOTS		2
+#define CARD_SLOTA		0
+#define CARD_SLOTB		1
+#define CARD_SLOTB_OFFSET	0x40
+
+#define CARD_MEM_START		0x10000000
+#define CARD_MEM_END		0x13ffffff
+#define CARD_MAX_MEM_OFFSET	0x3ffffff
+#define CARD_MAX_MEM_SPEED	1000
+
+#define CARD_CONTROLLER_INDEX	0x03e0
+#define CARD_CONTROLLER_DATA	0x03e1
+#define CARD_CONTROLLER_SIZE	2
+ /* Power register */
+  #define VPP_GET_VCC		0x01
+  #define POWER_ENABLE		0x10
+ #define CARD_VOLTAGE_SENSE	0x1f
+  #define VCC_3VORXV_CAPABLE	0x00
+  #define VCC_XV_ONLY		0x01
+  #define VCC_3V_CAPABLE	0x02
+  #define VCC_5V_ONLY		0x03
+ #define CARD_VOLTAGE_SELECT	0x2f
+  #define VCC_3V		0x01
+  #define VCC_5V		0x00
+  #define VCC_XV		0x02
+  #define VCC_STATUS_3V		0x02
+  #define VCC_STATUS_5V		0x01
+  #define VCC_STATUS_XV		0x03
+ #define GLOBAL_CONTROL		0x1e
+  #define EXWRBK		0x04
+  #define IRQPM_EN		0x08
+  #define CLRPMIRQ		0x10
+
+#define IO_MAX_MAPS	2
+#define MEM_MAX_MAPS	5
+
+enum {
+	SLOTB_PROBE = 0,
+	SLOTB_NOPROBE_IO,
+	SLOTB_NOPROBE_MEM,
+	SLOTB_NOPROBE_ALL
+};
+
+typedef struct vrc4171_socket {
+	int noprobe;
+	void (*handler)(void *, unsigned int);
+	void *info;
+	socket_cap_t cap;
+	spinlock_t event_lock;
+	uint16_t events;
+	struct socket_info_t *pcmcia_socket;
+	struct tq_struct tq_task;
+	char name[24];
+	int csc_irq;
+	int io_irq;
+} vrc4171_socket_t;
+
+static vrc4171_socket_t vrc4171_sockets[CARD_MAX_SLOTS];
+static int vrc4171_slotb = SLOTB_IS_NONE;
+static unsigned int vrc4171_irq;
+static uint16_t vrc4171_irq_mask = 0xdeb8;
+
+extern struct socket_info_t *pcmcia_register_socket(int slot,
+                                                    struct pccard_operations *vtable,
+                                                    int use_bus_pm);
+extern void pcmcia_unregister_socket(struct socket_info_t *s);
+
+static inline uint8_t exca_read_byte(int slot, uint8_t index)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	return inb(CARD_CONTROLLER_DATA);
+}
+
+static inline uint16_t exca_read_word(int slot, uint8_t index)
+{
+	uint16_t data;
+
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index++, CARD_CONTROLLER_INDEX);
+	data = inb(CARD_CONTROLLER_DATA);
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	data |= ((uint16_t)inb(CARD_CONTROLLER_DATA)) << 8;
+
+	return data;
+}
+
+static inline uint8_t exca_write_byte(int slot, uint8_t index, uint8_t data)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	outb(data, CARD_CONTROLLER_DATA);
+
+	return data;
+}
+
+static inline uint16_t exca_write_word(int slot, uint8_t index, uint16_t data)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index++, CARD_CONTROLLER_INDEX);
+	outb(data, CARD_CONTROLLER_DATA);
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	outb((uint8_t)(data >> 8), CARD_CONTROLLER_DATA);
+
+	return data;
+}
+
+static inline int search_nonuse_irq(void)
+{
+	int i;
+
+	for (i = 0; i < 16; i++) {
+		if (vrc4171_irq_mask & (1 << i)) {
+			vrc4171_irq_mask &= ~(1 << i);
+			return i;
+		}
+	}
+
+	return -1;
+}
+
+static int pccard_init(unsigned int slot)
+{
+	vrc4171_socket_t *socket = &vrc4171_sockets[slot];
+
+	socket->cap.features |= SS_CAP_PCCARD | SS_CAP_PAGE_REGS;
+	socket->cap.irq_mask = 0;
+	socket->cap.pci_irq = vrc4171_irq;
+	socket->cap.map_size = 0x1000;
+	socket->events = 0;
+	spin_lock_init(socket->event_lock);
+	socket->csc_irq = search_nonuse_irq();
+	socket->io_irq = search_nonuse_irq();
+
+	return 0;
+}
+
+static int pccard_suspend(unsigned int slot)
+{
+	return -EINVAL;
+}
+
+static int pccard_register_callback(unsigned int slot,
+                                    void (*handler)(void *, unsigned int),
+                                    void *info)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	socket->handler = handler;
+	socket->info = info;
+
+	if (handler)
+		MOD_INC_USE_COUNT;
+	else
+		MOD_DEC_USE_COUNT;
+
+	return 0;
+}
+
+static int pccard_inquire_socket(unsigned int slot, socket_cap_t *cap)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS || cap == NULL)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	*cap = socket->cap;
+
+	return 0;
+}
+
+static int pccard_get_status(unsigned int slot, u_int *value)
+{
+	uint8_t status, sense;
+	u_int val = 0;
+
+	if (slot >= CARD_MAX_SLOTS || value == NULL)
+		return -EINVAL;
+
+	status = exca_read_byte(slot, I365_STATUS);
+	if (exca_read_byte(slot, I365_INTCTL) & I365_PC_IOCARD) {
+		if (status & I365_CS_STSCHG)
+			val |= SS_STSCHG;
+	} else {
+		if (!(status & I365_CS_BVD1))
+			val |= SS_BATDEAD;
+		else if ((status & (I365_CS_BVD1 | I365_CS_BVD2)) == I365_CS_BVD1)
+			val |= SS_BATWARN;
+	}
+	if ((status & I365_CS_DETECT) == I365_CS_DETECT)
+		val |= SS_DETECT;
+	if (status & I365_CS_WRPROT)
+		val |= SS_WRPROT;
+	if (status & I365_CS_READY)
+		val |= SS_READY;
+	if (status & I365_CS_POWERON)
+		val |= SS_POWERON;
+
+	sense = exca_read_byte(slot, CARD_VOLTAGE_SENSE);
+	switch (sense) {
+	case VCC_3VORXV_CAPABLE:
+		val |= SS_3VCARD | SS_XVCARD;
+		break;
+	case VCC_XV_ONLY:
+		val |= SS_XVCARD;
+		break;
+	case VCC_3V_CAPABLE:
+		val |= SS_3VCARD;
+		break;
+	default:
+		/* 5V only */
+		break;
+	}
+
+	*value = val;
+
+	return 0;
+}
+
+static inline u_char get_Vcc_value(uint8_t voltage)
+{
+	switch (voltage) {
+	case VCC_STATUS_3V:
+		return 33;
+	case VCC_STATUS_5V:
+		return 50;
+	default:
+		break;
+	}
+
+	return 0;
+}
+
+static inline u_char get_Vpp_value(uint8_t power, u_char Vcc)
+{
+	if ((power & 0x03) == 0x01 || (power & 0x03) == 0x02)
+		return Vcc;
+
+	return 0;
+}
+
+static int pccard_get_socket(unsigned int slot, socket_state_t *state)
+{
+	vrc4171_socket_t *socket;
+	uint8_t power, voltage, control, cscint;
+
+	if (slot >= CARD_MAX_SLOTS || state == NULL)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	power = exca_read_byte(slot, I365_POWER);
+	voltage = exca_read_byte(slot, CARD_VOLTAGE_SELECT);
+
+	state->Vcc = get_Vcc_value(voltage);
+	state->Vpp = get_Vpp_value(power, state->Vcc);
+
+	state->flags = 0;
+	if (power & POWER_ENABLE)
+		state->flags |= SS_PWR_AUTO;
+	if (power & I365_PWR_OUT)
+		state->flags |= SS_OUTPUT_ENA;
+
+	control = exca_read_byte(slot, I365_INTCTL);
+	if (control & I365_PC_IOCARD)
+		state->flags |= SS_IOCARD;
+	if (!(control & I365_PC_RESET))
+		state->flags |= SS_RESET;
+
+        cscint = exca_read_byte(slot, I365_CSCINT);
+	state->csc_mask = 0;
+	if (state->flags & SS_IOCARD) {
+		if (cscint & I365_CSC_STSCHG)
+			state->flags |= SS_STSCHG;
+	} else {
+		if (cscint & I365_CSC_BVD1)  
+			state->csc_mask |= SS_BATDEAD;
+		if (cscint & I365_CSC_BVD2)  
+			state->csc_mask |= SS_BATWARN;
+	}
+	if (cscint & I365_CSC_READY)
+		state->csc_mask |= SS_READY;
+	if (cscint & I365_CSC_DETECT)
+		state->csc_mask |= SS_DETECT;
+
+	return 0;
+}
+
+static inline uint8_t set_Vcc_value(u_char Vcc)
+{
+	switch (Vcc) {
+	case 33:
+		return VCC_3V;
+	case 50:
+		return VCC_5V;
+	}
+
+	/* Small voltage is chosen for safety. */
+	return VCC_3V;
+}
+
+static int pccard_set_socket(unsigned int slot, socket_state_t *state)
+{
+	vrc4171_socket_t *socket;
+	uint8_t voltage, power, control, cscint;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    (state->Vpp != state->Vcc && state->Vpp != 0) ||
+	    (state->Vcc != 50 && state->Vcc != 33 && state->Vcc != 0))
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	spin_lock_irq(&socket->event_lock);
+
+	voltage = set_Vcc_value(state->Vcc);
+	exca_write_byte(slot, CARD_VOLTAGE_SELECT, voltage);
+
+	power = POWER_ENABLE;
+	if (state->Vpp == state->Vcc)
+		power |= VPP_GET_VCC;
+	if (state->flags & SS_OUTPUT_ENA)
+		power |= I365_PWR_OUT;
+	exca_write_byte(slot, I365_POWER, power);
+
+	control = 0;
+	if (state->io_irq != 0)
+		control |= socket->io_irq;
+	if (state->flags & SS_IOCARD)
+		control |= I365_PC_IOCARD;
+	if (state->flags & SS_RESET)
+		control	&= ~I365_PC_RESET;
+	else
+		control |= I365_PC_RESET;
+	exca_write_byte(slot, I365_INTCTL, control);
+
+        cscint = 0;
+        exca_write_byte(slot, I365_CSCINT, cscint);
+	exca_read_byte(slot, I365_CSC);	/* clear CardStatus change */
+	if (state->csc_mask != 0)
+		cscint |= socket->csc_irq << 8;
+	if (state->flags & SS_IOCARD) {
+		if (state->csc_mask & SS_STSCHG)
+			cscint |= I365_CSC_STSCHG;
+	} else {
+		if (state->csc_mask & SS_BATDEAD)
+			cscint |= I365_CSC_BVD1;
+		if (state->csc_mask & SS_BATWARN)
+			cscint |= I365_CSC_BVD2;
+	}
+	if (state->csc_mask & SS_READY)
+		cscint |= I365_CSC_READY;
+	if (state->csc_mask & SS_DETECT)
+		cscint |= I365_CSC_DETECT;
+        exca_write_byte(slot, I365_CSCINT, cscint);
+
+	spin_unlock_irq(&socket->event_lock);
+
+	return 0;
+}
+
+static int pccard_get_io_map(unsigned int slot, struct pccard_io_map *io)
+{
+	vrc4171_socket_t *socket;
+	uint8_t ioctl, addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS || io == NULL ||
+	    io->map >= IO_MAX_MAPS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = io->map;
+
+	io->start = exca_read_word(slot, I365_IO(map)+I365_W_START);
+	io->stop = exca_read_word(slot, I365_IO(map)+I365_W_STOP);
+
+	ioctl = exca_read_byte(slot, I365_IOCTL);
+	if (io->flags & I365_IOCTL_WAIT(map))
+		io->speed = 1;
+	else
+		io->speed = 0;
+
+	io->flags = 0;
+	if (ioctl & I365_IOCTL_16BIT(map))
+		io->flags |= MAP_16BIT;
+	if (ioctl & I365_IOCTL_IOCS16(map))
+		io->flags |= MAP_AUTOSZ;
+	if (ioctl & I365_IOCTL_0WS(map))
+		io->flags |= MAP_0WS;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_IO(map))
+		io->flags |= MAP_ACTIVE;
+
+	return 0;
+}
+
+static int pccard_set_io_map(unsigned int slot, struct pccard_io_map *io)
+{
+	vrc4171_socket_t *socket;
+	uint8_t ioctl, addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    io == NULL || io->map >= IO_MAX_MAPS ||
+	    io->start > 0xffff || io->stop > 0xffff || io->start > io->stop)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = io->map;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_IO(map)) {
+		addrwin &= ~I365_ENA_IO(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	exca_write_word(slot, I365_IO(map)+I365_W_START, io->start);
+	exca_write_word(slot, I365_IO(map)+I365_W_STOP, io->stop);
+
+	ioctl = 0;
+	if (io->speed > 0)
+		ioctl |= I365_IOCTL_WAIT(map);
+	if (io->flags & MAP_16BIT)
+		ioctl |= I365_IOCTL_16BIT(map);
+	if (io->flags & MAP_AUTOSZ)
+		ioctl |= I365_IOCTL_IOCS16(map);
+	if (io->flags & MAP_0WS)
+		ioctl |= I365_IOCTL_0WS(map);
+	exca_write_byte(slot, I365_IOCTL, ioctl);
+
+	if (io->flags & MAP_ACTIVE) {
+		addrwin |= I365_ENA_IO(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	return 0;
+}
+
+static int pccard_get_mem_map(unsigned int slot, struct pccard_mem_map *mem)
+{
+	vrc4171_socket_t *socket;
+	uint8_t addrwin;
+	u_long start, stop;
+	u_int offset;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS || mem == NULL || mem->map >= MEM_MAX_MAPS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = mem->map;
+
+	mem->flags = 0;
+	mem->speed = 0;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_MEM(map))
+		mem->flags |= MAP_ACTIVE;
+
+	start = exca_read_word(slot, I365_MEM(map)+I365_W_START);
+	if (start & I365_MEM_16BIT)
+		mem->flags |= MAP_16BIT;
+	mem->sys_start = (start & 0x3fffUL) << 12;
+
+	stop = exca_read_word(slot, I365_MEM(map)+I365_W_STOP);
+	if (start & I365_MEM_WS0)
+		mem->speed += 1;
+	if (start & I365_MEM_WS1)
+		mem->speed += 2;
+	mem->sys_stop = ((stop & 0x3fffUL) << 12) + 0xfffUL;
+
+	offset = exca_read_word(slot, I365_MEM(map)+I365_W_OFF);
+	if (offset & I365_MEM_REG)
+		mem->flags |= MAP_ATTRIB;
+	if (offset & I365_MEM_WRPROT)
+		mem->flags |= MAP_WRPROT;
+	mem->card_start = (offset & 0x3fffUL) << 12;
+
+	mem->sys_start += CARD_MEM_START;
+	mem->sys_stop += CARD_MEM_START;
+
+	return 0;
+}
+
+static int pccard_set_mem_map(unsigned int slot, struct pccard_mem_map *mem)
+{
+	vrc4171_socket_t *socket;
+	uint16_t start, stop, offset;
+	uint8_t addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    mem == NULL || mem->map >= MEM_MAX_MAPS ||
+	    mem->sys_start < CARD_MEM_START || mem->sys_start > CARD_MEM_END ||
+	    mem->sys_stop < CARD_MEM_START || mem->sys_stop > CARD_MEM_END ||
+	    mem->sys_start > mem->sys_stop ||
+	    mem->card_start > CARD_MAX_MEM_OFFSET ||
+	    mem->speed > CARD_MAX_MEM_SPEED)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = mem->map;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_MEM(map)) {
+		addrwin &= ~I365_ENA_MEM(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	start = (mem->sys_start >> 12) & 0x3fff;
+	if (mem->flags & MAP_16BIT)
+		start |= I365_MEM_16BIT;
+	exca_write_word(slot, I365_MEM(map)+I365_W_START, start);
+
+	stop = (mem->sys_stop >> 12) & 0x3fff;
+	switch (mem->speed) {
+	case 0:
+		break;
+	case 1:
+		stop |= I365_MEM_WS0;
+		break;
+	case 2:
+		stop |= I365_MEM_WS1;
+		break;
+	default:
+		stop |= I365_MEM_WS0 | I365_MEM_WS1;
+		break;
+	}
+	exca_write_word(slot, I365_MEM(map)+I365_W_STOP, stop);
+
+	offset = (mem->card_start >> 12) & 0x3fff;
+	if (mem->flags & MAP_ATTRIB)
+		offset |= I365_MEM_REG;
+	if (mem->flags & MAP_WRPROT)
+		offset |= I365_MEM_WRPROT;
+	exca_write_word(slot, I365_MEM(map)+I365_W_OFF, offset);
+
+	if (mem->flags & MAP_ACTIVE) {
+		addrwin |= I365_ENA_MEM(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	return 0;
+}
+
+static void pccard_proc_setup(unsigned int slot, struct proc_dir_entry *base)
+{          
+}
+
+static struct pccard_operations vrc4171_pccard_operations = {
+	.init			= pccard_init,
+	.suspend		= pccard_suspend,
+	.register_callback	= pccard_register_callback,
+	.inquire_socket		= pccard_inquire_socket,
+	.get_status		= pccard_get_status,
+	.get_socket		= pccard_get_socket,
+	.set_socket		= pccard_set_socket,
+	.get_io_map		= pccard_get_io_map,
+	.set_io_map		= pccard_set_io_map,
+	.get_mem_map		= pccard_get_mem_map,
+	.set_mem_map		= pccard_set_mem_map,
+	.proc_setup		= pccard_proc_setup,
+};
+
+static void pccard_bh(void *data)
+{
+	vrc4171_socket_t *socket = (vrc4171_socket_t *)data;
+	uint16_t events;
+
+	spin_lock_irq(&socket->event_lock);
+	events = socket->events;
+	socket->events = 0;
+	spin_unlock_irq(&socket->event_lock);
+ 
+	if (socket->handler)
+		socket->handler(socket->info, events);
+}
+
+static inline uint16_t get_events(int slot)
+{
+	uint16_t events = 0;
+	uint8_t status, csc;
+
+	status = exca_read_byte(slot, I365_STATUS);
+	csc = exca_read_byte(slot, I365_CSC);
+
+	if (exca_read_byte(slot, I365_INTCTL) & I365_PC_IOCARD) {
+		if ((csc & I365_CSC_STSCHG) && (status & I365_CS_STSCHG))
+			events |= SS_STSCHG;
+	} else {
+		if (csc & (I365_CSC_BVD1 | I365_CSC_BVD2)) {
+			if (!(status & I365_CS_BVD1))
+				events |= SS_BATDEAD;
+			else if ((status & (I365_CS_BVD1 | I365_CS_BVD2)) == I365_CS_BVD1)
+				events |= SS_BATWARN;
+		}
+	}
+	if ((csc & I365_CSC_READY) && (status & I365_CS_READY))
+		events |= SS_READY;
+	if ((csc & I365_CSC_DETECT) && ((status & I365_CS_DETECT) == I365_CS_DETECT))
+		events |= SS_DETECT;
+
+	return events;
+}
+
+static void pccard_status_change(int slot, vrc4171_socket_t *socket)
+{
+	uint16_t events;
+
+	socket->tq_task.routine = pccard_bh;
+	socket->tq_task.data = socket;
+
+	events = get_events(slot);
+	if (events) {
+		spin_lock(&socket->event_lock);
+		socket->events |= events;
+		spin_unlock(&socket->event_lock);
+		schedule_task(&socket->tq_task);
+	}
+}
+
+static void pccard_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+	vrc4171_socket_t *socket;
+	uint16_t status;
+
+	status = vrc4171_get_irq_status();
+	if (status & IRQ_A) {
+		socket = &vrc4171_sockets[CARD_SLOTA];
+		if (socket->noprobe == SLOTB_PROBE) {
+			if (status & (1 << socket->csc_irq))
+				pccard_status_change(CARD_SLOTA, socket);
+		}
+	}
+
+	if (status & IRQ_B) {
+		socket = &vrc4171_sockets[CARD_SLOTB];
+		if (socket->noprobe == SLOTB_PROBE) {
+			if (status & (1 << socket->csc_irq))
+				pccard_status_change(CARD_SLOTB, socket);
+		}
+	}
+}
+
+static inline void reserve_using_irq(int slot)
+{
+	unsigned int irq;
+
+	irq = exca_read_byte(slot, I365_INTCTL);
+	irq &= 0x0f;
+	vrc4171_irq_mask &= ~(1 << irq);
+
+	irq = exca_read_byte(slot, I365_CSCINT);
+	irq = (irq & 0xf0) >> 4;
+	vrc4171_irq_mask &= ~(1 << irq);
+}
+
+static int __devinit vrc4171_add_socket(int slot)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	if (socket->noprobe != SLOTB_PROBE) {
+		uint8_t addrwin;
+
+		switch (socket->noprobe) {
+		case SLOTB_NOPROBE_MEM:
+			addrwin = exca_read_byte(slot, I365_ADDRWIN);
+			addrwin &= 0x1f;
+			exca_write_byte(slot, I365_ADDRWIN, addrwin);
+			break;
+		case SLOTB_NOPROBE_IO:
+			addrwin = exca_read_byte(slot, I365_ADDRWIN);
+			addrwin &= 0xc0;
+			exca_write_byte(slot, I365_ADDRWIN, addrwin);
+			break;
+		default:
+			break;
+		}
+
+		reserve_using_irq(slot);
+
+		return 0;
+	}
+
+	sprintf(socket->name, "NEC VRC4171 Card Slot %1c", 'A' + slot);
+
+	socket->pcmcia_socket = pcmcia_register_socket(slot, &vrc4171_pccard_operations, 1);
+	if (socket->pcmcia_socket == NULL)
+		return -ENOMEM;
+
+	exca_write_byte(slot, I365_ADDRWIN, 0);
+
+	exca_write_byte(slot, GLOBAL_CONTROL, 0);
+
+	return 0;
+}
+
+static void vrc4171_remove_socket(int slot)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return;
+
+	socket = &vrc4171_sockets[slot];
+
+	if (socket->pcmcia_socket != NULL) {
+		pcmcia_unregister_socket(socket->pcmcia_socket);
+		socket->pcmcia_socket = NULL;
+	}
+}
+
+static int __devinit vrc4171_card_setup(char *options)
+{
+	if (options == NULL || *options == '\0')
+		return 0;
+
+	if (strncmp(options, "irq:", 4) == 0) {
+		int irq;
+		options += 4;
+		irq = simple_strtoul(options, &options, 0);
+		if (irq >= 0 && irq < NR_IRQS)
+			vrc4171_irq = irq;
+
+		if (*options != ',')
+			return 0;
+		options++;
+	}
+
+	if (strncmp(options, "slota:", 6) == 0) {
+		options += 6;
+		if (*options != '\0') {
+			if (strncmp(options, "noprobe", 7) == 0) {
+				vrc4171_sockets[CARD_SLOTA].noprobe = 1;
+				options += 7;
+			}
+
+			if (*options != ',')
+				return 0;
+			options++;
+		} else
+			return 0;
+
+	}
+
+	if (strncmp(options, "slotb:", 6) == 0) {
+		options += 6;
+		if (*options != '\0') {
+			if (strncmp(options, "pccard", 6) == 0) {
+				vrc4171_slotb = SLOTB_IS_PCCARD;
+				options += 6;
+			} else if (strncmp(options, "cf", 2) == 0) {
+				vrc4171_slotb = SLOTB_IS_CF;
+				options += 2;
+			} else if (strncmp(options, "flashrom", 8) == 0) {
+				vrc4171_slotb = SLOTB_IS_FLASHROM;
+				options += 8;
+			} else if (strncmp(options, "none", 4) == 0) {
+				vrc4171_slotb = SLOTB_IS_NONE;
+				options += 4;
+			}
+
+			if (*options != ',')
+				return 0;
+			options++;
+
+			if ( strncmp(options, "memnoprobe", 10) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_MEM;
+			if ( strncmp(options, "ionoprobe", 9) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_IO;
+			if ( strncmp(options, "noprobe", 7) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_ALL;
+		}
+	}
+
+	return 0;
+}
+
+__setup("vrc4171_card=", vrc4171_card_setup);
+
+static int __devinit vrc4171_card_init(void)
+{
+	int retval, slot;
+
+	vrc4171_set_multifunction_pin(vrc4171_slotb);
+
+	if (request_region(CARD_CONTROLLER_INDEX, CARD_CONTROLLER_SIZE,
+	                       "NEC VRC4171 Card Controller") == NULL)
+		return -EBUSY;
+
+	for (slot = 0; slot < CARD_MAX_SLOTS; slot++) {
+		if (slot == CARD_SLOTB && vrc4171_slotb == SLOTB_IS_NONE)
+			break;
+
+		retval = vrc4171_add_socket(slot);
+		if (retval != 0)
+			return retval;
+	}
+
+	retval = request_irq(vrc4171_irq, pccard_interrupt, SA_SHIRQ,
+	                     "NEC VRC4171 Card Controller", vrc4171_sockets);
+	if (retval < 0) {
+		for (slot = 0; slot < CARD_MAX_SLOTS; slot++)
+			vrc4171_remove_socket(slot);
+
+		return retval;
+	}
+
+	printk(KERN_INFO "NEC VRC4171 Card Controller, connected to IRQ %d\n", vrc4171_irq);
+
+	return 0;
+}
+
+static void __devexit vrc4171_card_exit(void)
+{
+	int slot;
+
+	for (slot = 0; slot < CARD_MAX_SLOTS; slot++)
+		vrc4171_remove_socket(slot);
+
+	release_region(CARD_CONTROLLER_INDEX, CARD_CONTROLLER_SIZE);
+}
+
+module_init(vrc4171_card_init);
+module_exit(vrc4171_card_exit);

From yuasa@hh.iij4u.or.jp Tue Dec 23 09:57:35 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 09:57:38 +0000 (GMT)
Received: from mo02.iij4u.or.jp ([IPv6:::ffff:210.130.0.19]:46037 "EHLO
	mo02.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225807AbTLWJ5f>;
	Tue, 23 Dec 2003 09:57:35 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo02.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id SAA08920;
	Tue, 23 Dec 2003 18:57:31 +0900 (JST)
Received: 4UMDO00 id hBN9vVZ12096; Tue, 23 Dec 2003 18:57:31 +0900 (JST)
Received: 4UMRO01 id hBN9vTV26339; Tue, 23 Dec 2003 18:57:29 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Tue, 23 Dec 2003 18:57:26 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.6] New NEC VRC4171 PCMCIA driver
Message-Id: <20031223185726.510bc3a4.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3826
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for VRC4171 PCMCIA driver.

This patch exists for HEAD of linux-mips.org CVS.
Please apply this patch.

Yoichi

diff -urN -X dontdiff linux-orig/drivers/pcmcia/Kconfig linux/drivers/pcmcia/Kconfig
--- linux-orig/drivers/pcmcia/Kconfig	2003-09-30 23:27:25.000000000 +0900
+++ linux/drivers/pcmcia/Kconfig	2003-12-19 19:58:55.000000000 +0900
@@ -113,6 +113,10 @@
 	bool
 	default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X
 
+config PCMCIA_VRC4171
+	tristate "NEC VRC4171 Card Controllers support"
+	depends on VRC4171 && PCMCIA
+
 config PCMCIA_VRC4173
 	tristate "NEC VRC4173 CARDU support"
 	depends on CPU_VR41XX && PCI && PCMCIA
diff -urN -X dontdiff linux-orig/drivers/pcmcia/Makefile linux/drivers/pcmcia/Makefile
--- linux-orig/drivers/pcmcia/Makefile	2003-06-23 10:23:06.000000000 +0900
+++ linux/drivers/pcmcia/Makefile	2003-12-19 19:58:55.000000000 +0900
@@ -11,6 +11,7 @@
 obj-$(CONFIG_HD64465_PCMCIA)		+= hd64465_ss.o
 obj-$(CONFIG_PCMCIA_SA1100)		+= sa1100_cs.o
 obj-$(CONFIG_PCMCIA_SA1111)		+= sa1111_cs.o
+obj-$(CONFIG_PCMCIA_VRC4171)		+= vrc4171_card.o
 obj-$(CONFIG_PCMCIA_VRC4173)		+= vrc4173_cardu.o
 
 pcmcia_core-objs-y				:= cistpl.o rsrc_mgr.o bulkmem.o cs.o
diff -urN -X dontdiff linux-orig/drivers/pcmcia/vrc4171_card.c linux/drivers/pcmcia/vrc4171_card.c
--- linux-orig/drivers/pcmcia/vrc4171_card.c	1970-01-01 09:00:00.000000000 +0900
+++ linux/drivers/pcmcia/vrc4171_card.c	2003-12-19 19:58:55.000000000 +0900
@@ -0,0 +1,885 @@
+/*
+ * vrc4171_card.c, NEC VRC4171 Card Controller driver for Socket Services.
+ *
+ * Copyright (C) 2003  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#include <linux/init.h>
+#include <linux/ioport.h>
+#include <linux/irq.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+
+#include <asm/io.h>
+#include <asm/vr41xx/vrc4171.h>
+
+#include <pcmcia/ss.h>
+
+#include "i82365.h"
+
+MODULE_DESCRIPTION("NEC VRC4171 Card Controllers driver for Socket Services");
+MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>");
+MODULE_LICENSE("GPL");
+
+#define CARD_MAX_SLOTS		2
+#define CARD_SLOTA		0
+#define CARD_SLOTB		1
+#define CARD_SLOTB_OFFSET	0x40
+
+#define CARD_MEM_START		0x10000000
+#define CARD_MEM_END		0x13ffffff
+#define CARD_MAX_MEM_OFFSET	0x3ffffff
+#define CARD_MAX_MEM_SPEED	1000
+
+#define CARD_CONTROLLER_INDEX	0x03e0
+#define CARD_CONTROLLER_DATA	0x03e1
+#define CARD_CONTROLLER_SIZE	2
+ /* Power register */
+  #define VPP_GET_VCC		0x01
+  #define POWER_ENABLE		0x10
+ #define CARD_VOLTAGE_SENSE	0x1f
+  #define VCC_3VORXV_CAPABLE	0x00
+  #define VCC_XV_ONLY		0x01
+  #define VCC_3V_CAPABLE	0x02
+  #define VCC_5V_ONLY		0x03
+ #define CARD_VOLTAGE_SELECT	0x2f
+  #define VCC_3V		0x01
+  #define VCC_5V		0x00
+  #define VCC_XV		0x02
+  #define VCC_STATUS_3V		0x02
+  #define VCC_STATUS_5V		0x01
+  #define VCC_STATUS_XV		0x03
+ #define GLOBAL_CONTROL		0x1e
+  #define EXWRBK		0x04
+  #define IRQPM_EN		0x08
+  #define CLRPMIRQ		0x10
+
+#define IO_MAX_MAPS	2
+#define MEM_MAX_MAPS	5
+
+enum {
+	SLOTB_PROBE = 0,
+	SLOTB_NOPROBE_IO,
+	SLOTB_NOPROBE_MEM,
+	SLOTB_NOPROBE_ALL
+};
+
+typedef struct vrc4171_socket {
+	int noprobe;
+	void (*handler)(void *, unsigned int);
+	void *info;
+	socket_cap_t cap;
+	spinlock_t event_lock;
+	uint16_t events;
+	struct socket_info_t *pcmcia_socket;
+	struct work_struct tq_work;
+	char name[24];
+	int csc_irq;
+	int io_irq;
+} vrc4171_socket_t;
+
+static vrc4171_socket_t vrc4171_sockets[CARD_MAX_SLOTS];
+static int vrc4171_slotb = SLOTB_IS_NONE;
+static unsigned int vrc4171_irq;
+static uint16_t vrc4171_irq_mask = 0xdeb8;
+
+extern struct socket_info_t *pcmcia_register_socket(int slot,
+                                                    struct pccard_operations *vtable,
+                                                    int use_bus_pm);
+extern void pcmcia_unregister_socket(struct socket_info_t *s);
+
+static inline uint8_t exca_read_byte(int slot, uint8_t index)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	return inb(CARD_CONTROLLER_DATA);
+}
+
+static inline uint16_t exca_read_word(int slot, uint8_t index)
+{
+	uint16_t data;
+
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index++, CARD_CONTROLLER_INDEX);
+	data = inb(CARD_CONTROLLER_DATA);
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	data |= ((uint16_t)inb(CARD_CONTROLLER_DATA)) << 8;
+
+	return data;
+}
+
+static inline uint8_t exca_write_byte(int slot, uint8_t index, uint8_t data)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	outb(data, CARD_CONTROLLER_DATA);
+
+	return data;
+}
+
+static inline uint16_t exca_write_word(int slot, uint8_t index, uint16_t data)
+{
+	if (slot == CARD_SLOTB)
+		index += CARD_SLOTB_OFFSET;
+
+	outb(index++, CARD_CONTROLLER_INDEX);
+	outb(data, CARD_CONTROLLER_DATA);
+
+	outb(index, CARD_CONTROLLER_INDEX);
+	outb((uint8_t)(data >> 8), CARD_CONTROLLER_DATA);
+
+	return data;
+}
+
+static inline int search_nonuse_irq(void)
+{
+	int i;
+
+	for (i = 0; i < 16; i++) {
+		if (vrc4171_irq_mask & (1 << i)) {
+			vrc4171_irq_mask &= ~(1 << i);
+			return i;
+		}
+	}
+
+	return -1;
+}
+
+static int pccard_init(unsigned int slot)
+{
+	vrc4171_socket_t *socket = &vrc4171_sockets[slot];
+
+	socket->cap.features |= SS_CAP_PCCARD | SS_CAP_PAGE_REGS;
+	socket->cap.irq_mask = 0;
+	socket->cap.pci_irq = vrc4171_irq;
+	socket->cap.map_size = 0x1000;
+	socket->events = 0;
+	spin_lock_init(socket->event_lock);
+	socket->csc_irq = search_nonuse_irq();
+	socket->io_irq = search_nonuse_irq();
+
+	return 0;
+}
+
+static int pccard_suspend(unsigned int slot)
+{
+	return -EINVAL;
+}
+
+static int pccard_register_callback(unsigned int slot,
+                                    void (*handler)(void *, unsigned int),
+                                    void *info)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	socket->handler = handler;
+	socket->info = info;
+
+	if (handler)
+		MOD_INC_USE_COUNT;
+	else
+		MOD_DEC_USE_COUNT;
+
+	return 0;
+}
+
+static int pccard_inquire_socket(unsigned int slot, socket_cap_t *cap)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS || cap == NULL)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	*cap = socket->cap;
+
+	return 0;
+}
+
+static int pccard_get_status(unsigned int slot, u_int *value)
+{
+	uint8_t status, sense;
+	u_int val = 0;
+
+	if (slot >= CARD_MAX_SLOTS || value == NULL)
+		return -EINVAL;
+
+	status = exca_read_byte(slot, I365_STATUS);
+	if (exca_read_byte(slot, I365_INTCTL) & I365_PC_IOCARD) {
+		if (status & I365_CS_STSCHG)
+			val |= SS_STSCHG;
+	} else {
+		if (!(status & I365_CS_BVD1))
+			val |= SS_BATDEAD;
+		else if ((status & (I365_CS_BVD1 | I365_CS_BVD2)) == I365_CS_BVD1)
+			val |= SS_BATWARN;
+	}
+	if ((status & I365_CS_DETECT) == I365_CS_DETECT)
+		val |= SS_DETECT;
+	if (status & I365_CS_WRPROT)
+		val |= SS_WRPROT;
+	if (status & I365_CS_READY)
+		val |= SS_READY;
+	if (status & I365_CS_POWERON)
+		val |= SS_POWERON;
+
+	sense = exca_read_byte(slot, CARD_VOLTAGE_SENSE);
+	switch (sense) {
+	case VCC_3VORXV_CAPABLE:
+		val |= SS_3VCARD | SS_XVCARD;
+		break;
+	case VCC_XV_ONLY:
+		val |= SS_XVCARD;
+		break;
+	case VCC_3V_CAPABLE:
+		val |= SS_3VCARD;
+		break;
+	default:
+		/* 5V only */
+		break;
+	}
+
+	*value = val;
+
+	return 0;
+}
+
+static inline u_char get_Vcc_value(uint8_t voltage)
+{
+	switch (voltage) {
+	case VCC_STATUS_3V:
+		return 33;
+	case VCC_STATUS_5V:
+		return 50;
+	default:
+		break;
+	}
+
+	return 0;
+}
+
+static inline u_char get_Vpp_value(uint8_t power, u_char Vcc)
+{
+	if ((power & 0x03) == 0x01 || (power & 0x03) == 0x02)
+		return Vcc;
+
+	return 0;
+}
+
+static int pccard_get_socket(unsigned int slot, socket_state_t *state)
+{
+	vrc4171_socket_t *socket;
+	uint8_t power, voltage, control, cscint;
+
+	if (slot >= CARD_MAX_SLOTS || state == NULL)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	power = exca_read_byte(slot, I365_POWER);
+	voltage = exca_read_byte(slot, CARD_VOLTAGE_SELECT);
+
+	state->Vcc = get_Vcc_value(voltage);
+	state->Vpp = get_Vpp_value(power, state->Vcc);
+
+	state->flags = 0;
+	if (power & POWER_ENABLE)
+		state->flags |= SS_PWR_AUTO;
+	if (power & I365_PWR_OUT)
+		state->flags |= SS_OUTPUT_ENA;
+
+	control = exca_read_byte(slot, I365_INTCTL);
+	if (control & I365_PC_IOCARD)
+		state->flags |= SS_IOCARD;
+	if (!(control & I365_PC_RESET))
+		state->flags |= SS_RESET;
+
+        cscint = exca_read_byte(slot, I365_CSCINT);
+	state->csc_mask = 0;
+	if (state->flags & SS_IOCARD) {
+		if (cscint & I365_CSC_STSCHG)
+			state->flags |= SS_STSCHG;
+	} else {
+		if (cscint & I365_CSC_BVD1)  
+			state->csc_mask |= SS_BATDEAD;
+		if (cscint & I365_CSC_BVD2)  
+			state->csc_mask |= SS_BATWARN;
+	}
+	if (cscint & I365_CSC_READY)
+		state->csc_mask |= SS_READY;
+	if (cscint & I365_CSC_DETECT)
+		state->csc_mask |= SS_DETECT;
+
+	return 0;
+}
+
+static inline uint8_t set_Vcc_value(u_char Vcc)
+{
+	switch (Vcc) {
+	case 33:
+		return VCC_3V;
+	case 50:
+		return VCC_5V;
+	}
+
+	/* Small voltage is chosen for safety. */
+	return VCC_3V;
+}
+
+static int pccard_set_socket(unsigned int slot, socket_state_t *state)
+{
+	vrc4171_socket_t *socket;
+	uint8_t voltage, power, control, cscint;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    (state->Vpp != state->Vcc && state->Vpp != 0) ||
+	    (state->Vcc != 50 && state->Vcc != 33 && state->Vcc != 0))
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+
+	spin_lock_irq(&socket->event_lock);
+
+	voltage = set_Vcc_value(state->Vcc);
+	exca_write_byte(slot, CARD_VOLTAGE_SELECT, voltage);
+
+	power = POWER_ENABLE;
+	if (state->Vpp == state->Vcc)
+		power |= VPP_GET_VCC;
+	if (state->flags & SS_OUTPUT_ENA)
+		power |= I365_PWR_OUT;
+	exca_write_byte(slot, I365_POWER, power);
+
+	control = 0;
+	if (state->io_irq != 0)
+		control |= socket->io_irq;
+	if (state->flags & SS_IOCARD)
+		control |= I365_PC_IOCARD;
+	if (state->flags & SS_RESET)
+		control	&= ~I365_PC_RESET;
+	else
+		control |= I365_PC_RESET;
+	exca_write_byte(slot, I365_INTCTL, control);
+
+        cscint = 0;
+        exca_write_byte(slot, I365_CSCINT, cscint);
+	exca_read_byte(slot, I365_CSC);	/* clear CardStatus change */
+	if (state->csc_mask != 0)
+		cscint |= socket->csc_irq << 8;
+	if (state->flags & SS_IOCARD) {
+		if (state->csc_mask & SS_STSCHG)
+			cscint |= I365_CSC_STSCHG;
+	} else {
+		if (state->csc_mask & SS_BATDEAD)
+			cscint |= I365_CSC_BVD1;
+		if (state->csc_mask & SS_BATWARN)
+			cscint |= I365_CSC_BVD2;
+	}
+	if (state->csc_mask & SS_READY)
+		cscint |= I365_CSC_READY;
+	if (state->csc_mask & SS_DETECT)
+		cscint |= I365_CSC_DETECT;
+        exca_write_byte(slot, I365_CSCINT, cscint);
+
+	spin_unlock_irq(&socket->event_lock);
+
+	return 0;
+}
+
+static int pccard_get_io_map(unsigned int slot, struct pccard_io_map *io)
+{
+	vrc4171_socket_t *socket;
+	uint8_t ioctl, addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS || io == NULL ||
+	    io->map >= IO_MAX_MAPS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = io->map;
+
+	io->start = exca_read_word(slot, I365_IO(map)+I365_W_START);
+	io->stop = exca_read_word(slot, I365_IO(map)+I365_W_STOP);
+
+	ioctl = exca_read_byte(slot, I365_IOCTL);
+	if (io->flags & I365_IOCTL_WAIT(map))
+		io->speed = 1;
+	else
+		io->speed = 0;
+
+	io->flags = 0;
+	if (ioctl & I365_IOCTL_16BIT(map))
+		io->flags |= MAP_16BIT;
+	if (ioctl & I365_IOCTL_IOCS16(map))
+		io->flags |= MAP_AUTOSZ;
+	if (ioctl & I365_IOCTL_0WS(map))
+		io->flags |= MAP_0WS;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_IO(map))
+		io->flags |= MAP_ACTIVE;
+
+	return 0;
+}
+
+static int pccard_set_io_map(unsigned int slot, struct pccard_io_map *io)
+{
+	vrc4171_socket_t *socket;
+	uint8_t ioctl, addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    io == NULL || io->map >= IO_MAX_MAPS ||
+	    io->start > 0xffff || io->stop > 0xffff || io->start > io->stop)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = io->map;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_IO(map)) {
+		addrwin &= ~I365_ENA_IO(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	exca_write_word(slot, I365_IO(map)+I365_W_START, io->start);
+	exca_write_word(slot, I365_IO(map)+I365_W_STOP, io->stop);
+
+	ioctl = 0;
+	if (io->speed > 0)
+		ioctl |= I365_IOCTL_WAIT(map);
+	if (io->flags & MAP_16BIT)
+		ioctl |= I365_IOCTL_16BIT(map);
+	if (io->flags & MAP_AUTOSZ)
+		ioctl |= I365_IOCTL_IOCS16(map);
+	if (io->flags & MAP_0WS)
+		ioctl |= I365_IOCTL_0WS(map);
+	exca_write_byte(slot, I365_IOCTL, ioctl);
+
+	if (io->flags & MAP_ACTIVE) {
+		addrwin |= I365_ENA_IO(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	return 0;
+}
+
+static int pccard_get_mem_map(unsigned int slot, struct pccard_mem_map *mem)
+{
+	vrc4171_socket_t *socket;
+	uint8_t addrwin;
+	u_long start, stop;
+	u_int offset;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS || mem == NULL || mem->map >= MEM_MAX_MAPS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = mem->map;
+
+	mem->flags = 0;
+	mem->speed = 0;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_MEM(map))
+		mem->flags |= MAP_ACTIVE;
+
+	start = exca_read_word(slot, I365_MEM(map)+I365_W_START);
+	if (start & I365_MEM_16BIT)
+		mem->flags |= MAP_16BIT;
+	mem->sys_start = (start & 0x3fffUL) << 12;
+
+	stop = exca_read_word(slot, I365_MEM(map)+I365_W_STOP);
+	if (start & I365_MEM_WS0)
+		mem->speed += 1;
+	if (start & I365_MEM_WS1)
+		mem->speed += 2;
+	mem->sys_stop = ((stop & 0x3fffUL) << 12) + 0xfffUL;
+
+	offset = exca_read_word(slot, I365_MEM(map)+I365_W_OFF);
+	if (offset & I365_MEM_REG)
+		mem->flags |= MAP_ATTRIB;
+	if (offset & I365_MEM_WRPROT)
+		mem->flags |= MAP_WRPROT;
+	mem->card_start = (offset & 0x3fffUL) << 12;
+
+	mem->sys_start += CARD_MEM_START;
+	mem->sys_stop += CARD_MEM_START;
+
+	return 0;
+}
+
+static int pccard_set_mem_map(unsigned int slot, struct pccard_mem_map *mem)
+{
+	vrc4171_socket_t *socket;
+	uint16_t start, stop, offset;
+	uint8_t addrwin;
+	u_char map;
+
+	if (slot >= CARD_MAX_SLOTS ||
+	    mem == NULL || mem->map >= MEM_MAX_MAPS ||
+	    mem->sys_start < CARD_MEM_START || mem->sys_start > CARD_MEM_END ||
+	    mem->sys_stop < CARD_MEM_START || mem->sys_stop > CARD_MEM_END ||
+	    mem->sys_start > mem->sys_stop ||
+	    mem->card_start > CARD_MAX_MEM_OFFSET ||
+	    mem->speed > CARD_MAX_MEM_SPEED)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	map = mem->map;
+
+	addrwin = exca_read_byte(slot, I365_ADDRWIN);
+	if (addrwin & I365_ENA_MEM(map)) {
+		addrwin &= ~I365_ENA_MEM(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	start = (mem->sys_start >> 12) & 0x3fff;
+	if (mem->flags & MAP_16BIT)
+		start |= I365_MEM_16BIT;
+	exca_write_word(slot, I365_MEM(map)+I365_W_START, start);
+
+	stop = (mem->sys_stop >> 12) & 0x3fff;
+	switch (mem->speed) {
+	case 0:
+		break;
+	case 1:
+		stop |= I365_MEM_WS0;
+		break;
+	case 2:
+		stop |= I365_MEM_WS1;
+		break;
+	default:
+		stop |= I365_MEM_WS0 | I365_MEM_WS1;
+		break;
+	}
+	exca_write_word(slot, I365_MEM(map)+I365_W_STOP, stop);
+
+	offset = (mem->card_start >> 12) & 0x3fff;
+	if (mem->flags & MAP_ATTRIB)
+		offset |= I365_MEM_REG;
+	if (mem->flags & MAP_WRPROT)
+		offset |= I365_MEM_WRPROT;
+	exca_write_word(slot, I365_MEM(map)+I365_W_OFF, offset);
+
+	if (mem->flags & MAP_ACTIVE) {
+		addrwin |= I365_ENA_MEM(map);
+		exca_write_byte(slot, I365_ADDRWIN, addrwin);
+	}
+
+	return 0;
+}
+
+static void pccard_proc_setup(unsigned int slot, struct proc_dir_entry *base)
+{          
+}
+
+static struct pccard_operations vrc4171_pccard_operations = {
+	.init			= pccard_init,
+	.suspend		= pccard_suspend,
+	.register_callback	= pccard_register_callback,
+	.inquire_socket		= pccard_inquire_socket,
+	.get_status		= pccard_get_status,
+	.get_socket		= pccard_get_socket,
+	.set_socket		= pccard_set_socket,
+	.get_io_map		= pccard_get_io_map,
+	.set_io_map		= pccard_set_io_map,
+	.get_mem_map		= pccard_get_mem_map,
+	.set_mem_map		= pccard_set_mem_map,
+	.proc_setup		= pccard_proc_setup,
+};
+
+static void pccard_bh(void *data)
+{
+	vrc4171_socket_t *socket = (vrc4171_socket_t *)data;
+	uint16_t events;
+
+	spin_lock_irq(&socket->event_lock);
+	events = socket->events;
+	socket->events = 0;
+	spin_unlock_irq(&socket->event_lock);
+ 
+	if (socket->handler)
+		socket->handler(socket->info, events);
+}
+
+static inline uint16_t get_events(int slot)
+{
+	uint16_t events = 0;
+	uint8_t status, csc;
+
+	status = exca_read_byte(slot, I365_STATUS);
+	csc = exca_read_byte(slot, I365_CSC);
+
+	if (exca_read_byte(slot, I365_INTCTL) & I365_PC_IOCARD) {
+		if ((csc & I365_CSC_STSCHG) && (status & I365_CS_STSCHG))
+			events |= SS_STSCHG;
+	} else {
+		if (csc & (I365_CSC_BVD1 | I365_CSC_BVD2)) {
+			if (!(status & I365_CS_BVD1))
+				events |= SS_BATDEAD;
+			else if ((status & (I365_CS_BVD1 | I365_CS_BVD2)) == I365_CS_BVD1)
+				events |= SS_BATWARN;
+		}
+	}
+	if ((csc & I365_CSC_READY) && (status & I365_CS_READY))
+		events |= SS_READY;
+	if ((csc & I365_CSC_DETECT) && ((status & I365_CS_DETECT) == I365_CS_DETECT))
+		events |= SS_DETECT;
+
+	return events;
+}
+
+static void pccard_status_change(int slot, vrc4171_socket_t *socket)
+{
+	uint16_t events;
+
+	INIT_WORK(&socket->tq_work, pccard_bh, socket);
+
+	events = get_events(slot);
+	if (events) {
+		spin_lock(&socket->event_lock);
+		socket->events |= events;
+		spin_unlock(&socket->event_lock);
+		schedule_work(&socket->tq_task);
+	}
+}
+
+static void pccard_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+	vrc4171_socket_t *socket;
+	uint16_t status;
+
+	status = vrc4171_get_irq_status();
+	if (status & IRQ_A) {
+		socket = &vrc4171_sockets[CARD_SLOTA];
+		if (socket->noprobe == SLOTB_PROBE) {
+			if (status & (1 << socket->csc_irq))
+				pccard_status_change(CARD_SLOTA, socket);
+		}
+	}
+
+	if (status & IRQ_B) {
+		socket = &vrc4171_sockets[CARD_SLOTB];
+		if (socket->noprobe == SLOTB_PROBE) {
+			if (status & (1 << socket->csc_irq))
+				pccard_status_change(CARD_SLOTB, socket);
+		}
+	}
+}
+
+static inline void reserve_using_irq(int slot)
+{
+	unsigned int irq;
+
+	irq = exca_read_byte(slot, I365_INTCTL);
+	irq &= 0x0f;
+	vrc4171_irq_mask &= ~(1 << irq);
+
+	irq = exca_read_byte(slot, I365_CSCINT);
+	irq = (irq & 0xf0) >> 4;
+	vrc4171_irq_mask &= ~(1 << irq);
+}
+
+static int __devinit vrc4171_add_socket(int slot)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return -EINVAL;
+
+	socket = &vrc4171_sockets[slot];
+	if (socket->noprobe != SLOTB_PROBE) {
+		uint8_t addrwin;
+
+		switch (socket->noprobe) {
+		case SLOTB_NOPROBE_MEM:
+			addrwin = exca_read_byte(slot, I365_ADDRWIN);
+			addrwin &= 0x1f;
+			exca_write_byte(slot, I365_ADDRWIN, addrwin);
+			break;
+		case SLOTB_NOPROBE_IO:
+			addrwin = exca_read_byte(slot, I365_ADDRWIN);
+			addrwin &= 0xc0;
+			exca_write_byte(slot, I365_ADDRWIN, addrwin);
+			break;
+		default:
+			break;
+		}
+
+		reserve_using_irq(slot);
+
+		return 0;
+	}
+
+	sprintf(socket->name, "NEC VRC4171 Card Slot %1c", 'A' + slot);
+
+	socket->pcmcia_socket = pcmcia_register_socket(slot, &vrc4171_pccard_operations, 1);
+	if (socket->pcmcia_socket == NULL)
+		return -ENOMEM;
+
+	exca_write_byte(slot, I365_ADDRWIN, 0);
+
+	exca_write_byte(slot, GLOBAL_CONTROL, 0);
+
+	return 0;
+}
+
+static void vrc4171_remove_socket(int slot)
+{
+	vrc4171_socket_t *socket;
+
+	if (slot >= CARD_MAX_SLOTS)
+		return;
+
+	socket = &vrc4171_sockets[slot];
+
+	if (socket->pcmcia_socket != NULL) {
+		pcmcia_unregister_socket(socket->pcmcia_socket);
+		socket->pcmcia_socket = NULL;
+	}
+}
+
+static int __devinit vrc4171_card_setup(char *options)
+{
+	if (options == NULL || *options == '\0')
+		return 0;
+
+	if (strncmp(options, "irq:", 4) == 0) {
+		int irq;
+		options += 4;
+		irq = simple_strtoul(options, &options, 0);
+		if (irq >= 0 && irq < NR_IRQS)
+			vrc4171_irq = irq;
+
+		if (*options != ',')
+			return 0;
+		options++;
+	}
+
+	if (strncmp(options, "slota:", 6) == 0) {
+		options += 6;
+		if (*options != '\0') {
+			if (strncmp(options, "noprobe", 7) == 0) {
+				vrc4171_sockets[CARD_SLOTA].noprobe = 1;
+				options += 7;
+			}
+
+			if (*options != ',')
+				return 0;
+			options++;
+		} else
+			return 0;
+
+	}
+
+	if (strncmp(options, "slotb:", 6) == 0) {
+		options += 6;
+		if (*options != '\0') {
+			if (strncmp(options, "pccard", 6) == 0) {
+				vrc4171_slotb = SLOTB_IS_PCCARD;
+				options += 6;
+			} else if (strncmp(options, "cf", 2) == 0) {
+				vrc4171_slotb = SLOTB_IS_CF;
+				options += 2;
+			} else if (strncmp(options, "flashrom", 8) == 0) {
+				vrc4171_slotb = SLOTB_IS_FLASHROM;
+				options += 8;
+			} else if (strncmp(options, "none", 4) == 0) {
+				vrc4171_slotb = SLOTB_IS_NONE;
+				options += 4;
+			}
+
+			if (*options != ',')
+				return 0;
+			options++;
+
+			if ( strncmp(options, "memnoprobe", 10) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_MEM;
+			if ( strncmp(options, "ionoprobe", 9) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_IO;
+			if ( strncmp(options, "noprobe", 7) == 0)
+				vrc4171_sockets[CARD_SLOTB].noprobe = SLOTB_NOPROBE_ALL;
+		}
+	}
+
+	return 0;
+}
+
+__setup("vrc4171_card=", vrc4171_card_setup);
+
+static int __devinit vrc4171_card_init(void)
+{
+	int retval, slot;
+
+	vrc4171_set_multifunction_pin(vrc4171_slotb);
+
+	if (request_region(CARD_CONTROLLER_INDEX, CARD_CONTROLLER_SIZE,
+	                       "NEC VRC4171 Card Controller") == NULL)
+		return -EBUSY;
+
+	for (slot = 0; slot < CARD_MAX_SLOTS; slot++) {
+		if (slot == CARD_SLOTB && vrc4171_slotb == SLOTB_IS_NONE)
+			break;
+
+		retval = vrc4171_add_socket(slot);
+		if (retval != 0)
+			return retval;
+	}
+
+	retval = request_irq(vrc4171_irq, pccard_interrupt, SA_SHIRQ,
+	                     "NEC VRC4171 Card Controller", vrc4171_sockets);
+	if (retval < 0) {
+		for (slot = 0; slot < CARD_MAX_SLOTS; slot++)
+			vrc4171_remove_socket(slot);
+
+		return retval;
+	}
+
+	printk(KERN_INFO "NEC VRC4171 Card Controller, connected to IRQ %d\n", vrc4171_irq);
+
+	return 0;
+}
+
+static void __devexit vrc4171_card_exit(void)
+{
+	int slot;
+
+	for (slot = 0; slot < CARD_MAX_SLOTS; slot++)
+		vrc4171_remove_socket(slot);
+
+	release_region(CARD_CONTROLLER_INDEX, CARD_CONTROLLER_SIZE);
+}
+
+module_init(vrc4171_card_init);
+module_exit(vrc4171_card_exit);

From dimitri@sonycom.com Tue Dec 23 11:46:54 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 11:46:55 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:38794 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225839AbTLWLqy>;
	Tue, 23 Dec 2003 11:46:54 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBNBkhQF024198;
	Tue, 23 Dec 2003 12:46:44 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id MAA05473;
	Tue, 23 Dec 2003 12:46:44 +0100 (MET)
Date: Tue, 23 Dec 2003 12:46:44 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: macro@ds2.pg.gda.pl
Cc: linux-mips@linux-mips.org
Subject: Support for newer gcc/gas options
Message-ID: <20031223114644.GA5458@sonycom.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3827
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

Hi,

  I just upgraded to the arch/mips/Makefile which adds support for newer
  gcc/gas options. I now get the warning

  "cc1: warning: The -march option is incompatible to -mipsN and therefore
+ignored."

  when compiling. I have the CONFIG_CPU_VR41XX option set, which sets
  the c-flags to:

  "-I /home/dimitri/work/linux/include/asm/gcc -G 0 -mno-abicalls
  -fno-pic -pipe  -finline-limit=100000 -mabi=32 -march=r4100 -mips3
  -Wa,-32 -Wa,-march=r4100 -Wa,-mips3 -Wa,--trap"

  I suppose that for the newer gcc versions only -march= should be
  set (I'm using gcc-3.2.2) ?

  Dimitri

-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


From macro@ds2.pg.gda.pl Tue Dec 23 12:05:33 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 12:05:42 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:55460 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225845AbTLWMFd>; Tue, 23 Dec 2003 12:05:33 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 0B9E64781E; Tue, 23 Dec 2003 13:05:30 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id 00FE03B036; Tue, 23 Dec 2003 13:05:29 +0100 (CET)
Date: Tue, 23 Dec 2003 13:05:29 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: Dimitri Torfs <dimitri@sonycom.com>
Cc: linux-mips@linux-mips.org
Subject: Re: Support for newer gcc/gas options
In-Reply-To: <20031223114644.GA5458@sonycom.com>
Message-ID: <Pine.LNX.4.55.0312231303030.27594@jurand.ds.pg.gda.pl>
References: <20031223114644.GA5458@sonycom.com>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3828
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

On Tue, 23 Dec 2003, Dimitri Torfs wrote:

>   I just upgraded to the arch/mips/Makefile which adds support for newer
>   gcc/gas options. I now get the warning
> 
>   "cc1: warning: The -march option is incompatible to -mipsN and therefore
> +ignored."
> 
>   when compiling. I have the CONFIG_CPU_VR41XX option set, which sets
>   the c-flags to:
> 
>   "-I /home/dimitri/work/linux/include/asm/gcc -G 0 -mno-abicalls
>   -fno-pic -pipe  -finline-limit=100000 -mabi=32 -march=r4100 -mips3
>   -Wa,-32 -Wa,-march=r4100 -Wa,-mips3 -Wa,--trap"
> 
>   I suppose that for the newer gcc versions only -march= should be
>   set (I'm using gcc-3.2.2) ?

 Thanks for the report -- I suppose we can remove "-mips" whenever
"-mabi=" is supported by gcc.  I'll do an update in January after I am 
back from vacation.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

From anemo@mba.ocn.ne.jp Tue Dec 23 12:58:54 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 12:58:55 +0000 (GMT)
Received: from mba.ocn.ne.jp ([IPv6:::ffff:210.190.142.172]:47095 "HELO
	smtp.mba.ocn.ne.jp") by linux-mips.org with SMTP
	id <S8225869AbTLWM6y>; Tue, 23 Dec 2003 12:58:54 +0000
Received: from localhost (p3070-ipad28funabasi.chiba.ocn.ne.jp [220.107.202.70])
	by smtp.mba.ocn.ne.jp (Postfix) with ESMTP
	id 3F29749EC; Tue, 23 Dec 2003 21:58:46 +0900 (JST)
Date: Tue, 23 Dec 2003 22:02:13 +0900 (JST)
Message-Id: <20031223.220213.74756743.anemo@mba.ocn.ne.jp>
To: macro@ds2.pg.gda.pl
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: [patch] 2.4: Support for newer gcc/gas options
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
In-Reply-To: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
References: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
X-Fingerprint: 6ACA 1623 39BD 9A94 9B1A  B746 CA77 FE94 2874 D52F
X-Pgp-Public-Key: http://wwwkeys.pgp.net/pks/lookup?op=get&search=0x2874D52F
X-Mailer: Mew version 2.2 on Emacs 20.7 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <anemo@mba.ocn.ne.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3829
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: anemo@mba.ocn.ne.jp
Precedence: bulk
X-list: linux-mips

>>>>> On Tue, 16 Dec 2003 22:33:41 +0100 (CET), "Maciej W. Rozycki" <macro@ds2.pg.gda.pl> said:
macro>  The patch implements a make macro called set_gccflags which
macro> accepts two sets of options consisting of a CPU name and an ISA
macro> name each.  Within both sets "-march=" and failing that
macro> "-mcpu=" is checked with the CPU name and the ISA name is
macro> checked simultaneously.  For gcc if the first set of options
macro> fails, the second one is selected even if it would lead to a
macro> failure.  For gas both sets are checked and if none succeeds,
macro> an empty set is selected.

With this patch, most r4k use MIPS3 ISA, right?

If so, please fix include/asm-mips/asm.h or arch/mips/kernel/entry.S
on 2.4 branch also.

As I wrote in August, handle_adel_int will be broken with MIPS3 ISA.
<http://www.linux-mips.org/archives/linux-mips/2003-08/msg00072.html>


Excerpt from include/asm-mips/asm.h:

#if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
    (_MIPS_ISA == _MIPS_ISA_MIPS32)
#define REG_S           sw 
#define REG_L           lw 
#define REG_SUBU        subu
#define REG_ADDU        addu
#endif
#if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
    (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
#define REG_S           sd
#define REG_L           ld
#define REG_SUBU        dsubu
#define REG_ADDU        daddu
#endif

#if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
    (_MIPS_ISA == _MIPS_ISA_MIPS32)
#define MFC0		mfc0
#define MTC0		mtc0
#endif
#if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
    (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
#define MFC0		dmfc0
#define MTC0		dmtc0
#endif

Excerpt from arch/mips/kernel/entry.S:

#define __BUILD_clear_ade(exception)                                    \
		.set	reorder;					\
		MFC0	t0,CP0_BADVADDR;                                \
		.set	noreorder;					\
		REG_S	t0,PT_BVADDR(sp);                               \
		KMODE

With MIPS3 ISA, handle_adel_int will be:

8002630c <handle_adel_int> 40284000 	dmfc0	t0,$8
80026310 <handle_adel_int+0x4> 00000000 	nop
80026314 <handle_adel_int+0x8> ffa800a4 	sd	t0,164(sp)

which is wrong for 32bit kernel.

---
Atsushi Nemoto

From macro@ds2.pg.gda.pl Tue Dec 23 13:08:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 13:08:02 +0000 (GMT)
Received: from jurand.ds.pg.gda.pl ([IPv6:::ffff:153.19.208.2]:4268 "EHLO
	jurand.ds.pg.gda.pl") by linux-mips.org with ESMTP
	id <S8225872AbTLWNIB>; Tue, 23 Dec 2003 13:08:01 +0000
Received: by jurand.ds.pg.gda.pl (Postfix, from userid 1011)
	id 93CE7478A8; Tue, 23 Dec 2003 14:07:56 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by jurand.ds.pg.gda.pl (Postfix) with ESMTP
	id E60533B036; Tue, 23 Dec 2003 14:07:56 +0100 (CET)
Date: Tue, 23 Dec 2003 14:07:55 +0100 (CET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: [patch] 2.4: Support for newer gcc/gas options
In-Reply-To: <20031223.220213.74756743.anemo@mba.ocn.ne.jp>
Message-ID: <Pine.LNX.4.55.0312231403110.27594@jurand.ds.pg.gda.pl>
References: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl>
 <20031223.220213.74756743.anemo@mba.ocn.ne.jp>
Organization: Technical University of Gdansk
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <macro@ds2.pg.gda.pl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3830
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@ds2.pg.gda.pl
Precedence: bulk
X-list: linux-mips

On Tue, 23 Dec 2003, Atsushi Nemoto wrote:

> With MIPS3 ISA, handle_adel_int will be:
> 
> 8002630c <handle_adel_int> 40284000 	dmfc0	t0,$8
> 80026310 <handle_adel_int+0x4> 00000000 	nop
> 80026314 <handle_adel_int+0x8> ffa800a4 	sd	t0,164(sp)
> 
> which is wrong for 32bit kernel.

 Which clearly indicates it should be selected with the CONFIG_MIPS32 (or 
CONFIG_MIPS64) option.

 Unfortunately I'm going away right now, so please feel free to fix the
code or alternatively I'll have a fix early in January.

  Maciej

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

From drow@crack.them.org Tue Dec 23 17:57:41 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 17:57:42 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:62373 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8226032AbTLWR5l>;
	Tue, 23 Dec 2003 17:57:41 +0000
Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian))
	id 1AYqmi-0006mZ-Ln; Tue, 23 Dec 2003 12:57:32 -0500
Date: Tue, 23 Dec 2003 12:57:32 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Subject: 2.5 n32 syscall numbers are wrong
Message-ID: <20031223175732.GA26052@nevyn.them.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3831
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

If you take a look at scall64-n32.S, you'll find that there's no hole after
sendfile64.  But in <asm/unistd.h> there is.  So glibc gets built with the
wrong number for clock_gettime and confusion ensues...

Index: unistd.h
===================================================================
RCS file: /home/cvs/linux/include/asm-mips/unistd.h,v
retrieving revision 1.55
diff -u -p -r1.55 unistd.h
--- unistd.h	9 Oct 2003 15:43:22 -0000	1.55
+++ unistd.h	23 Dec 2003 17:56:25 -0000
@@ -769,17 +769,17 @@
 #define __NR_statfs64			(__NR_Linux + 217)
 #define __NR_fstatfs64			(__NR_Linux + 218)
 #define __NR_sendfile64			(__NR_Linux + 219)
-#define __NR_timer_create		(__NR_Linux + 221)
-#define __NR_timer_settime		(__NR_Linux + 222)
-#define __NR_timer_gettime		(__NR_Linux + 223)
-#define __NR_timer_getoverrun		(__NR_Linux + 224)
-#define __NR_timer_delete		(__NR_Linux + 225)
-#define __NR_clock_settime		(__NR_Linux + 226)
-#define __NR_clock_gettime		(__NR_Linux + 227)
-#define __NR_clock_getres		(__NR_Linux + 228)
-#define __NR_clock_nanosleep		(__NR_Linux + 229)
-#define __NR_tgkill			(__NR_Linux + 230)
-#define __NR_utimes			(__NR_Linux + 231)
+#define __NR_timer_create		(__NR_Linux + 220)
+#define __NR_timer_settime		(__NR_Linux + 221)
+#define __NR_timer_gettime		(__NR_Linux + 222)
+#define __NR_timer_getoverrun		(__NR_Linux + 223)
+#define __NR_timer_delete		(__NR_Linux + 224)
+#define __NR_clock_settime		(__NR_Linux + 225)
+#define __NR_clock_gettime		(__NR_Linux + 226)
+#define __NR_clock_getres		(__NR_Linux + 227)
+#define __NR_clock_nanosleep		(__NR_Linux + 228)
+#define __NR_tgkill			(__NR_Linux + 229)
+#define __NR_utimes			(__NR_Linux + 230)
 
 /*
  * Offset of the last N32 flavoured syscall

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From ica2_ts@csv.ica.uni-stuttgart.de Tue Dec 23 20:44:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 20:44:12 +0000 (GMT)
Received: from iris1.csv.ica.uni-stuttgart.de ([IPv6:::ffff:129.69.118.2]:50991
	"EHLO iris1.csv.ica.uni-stuttgart.de") by linux-mips.org with ESMTP
	id <S8224916AbTLWUoL>; Tue, 23 Dec 2003 20:44:11 +0000
Received: from rembrandt.csv.ica.uni-stuttgart.de ([129.69.118.42])
	by iris1.csv.ica.uni-stuttgart.de with esmtp
	id 1AYtNt-000259-00; Tue, 23 Dec 2003 21:44:05 +0100
Received: from ica2_ts by rembrandt.csv.ica.uni-stuttgart.de with local (Exim 3.35 #1 (Debian))
	id 1AYtNt-0002ta-00; Tue, 23 Dec 2003 21:44:05 +0100
Date: Tue, 23 Dec 2003 21:44:05 +0100
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: macro@ds2.pg.gda.pl, ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: [patch] 2.4: Support for newer gcc/gas options
Message-ID: <20031223204405.GL12050@rembrandt.csv.ica.uni-stuttgart.de>
References: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl> <20031223.220213.74756743.anemo@mba.ocn.ne.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031223.220213.74756743.anemo@mba.ocn.ne.jp>
User-Agent: Mutt/1.5.4i
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Return-Path: <ica2_ts@csv.ica.uni-stuttgart.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3832
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ica2_ts@csv.ica.uni-stuttgart.de
Precedence: bulk
X-list: linux-mips

Atsushi Nemoto wrote:
[snip]
> >>>>> On Tue, 16 Dec 2003 22:33:41 +0100 (CET), "Maciej W. Rozycki" <macro@ds2.pg.gda.pl> said:
> macro>  The patch implements a make macro called set_gccflags which
> macro> accepts two sets of options consisting of a CPU name and an ISA
> macro> name each.  Within both sets "-march=" and failing that
> macro> "-mcpu=" is checked with the CPU name and the ISA name is
> macro> checked simultaneously.  For gcc if the first set of options
> macro> fails, the second one is selected even if it would lead to a
> macro> failure.  For gas both sets are checked and if none succeeds,
> macro> an empty set is selected.
> 
> With this patch, most r4k use MIPS3 ISA, right?

Since -mips2 is retained they actually use -march=r6000 and still
MIPS2 ISA.

> If so, please fix include/asm-mips/asm.h or arch/mips/kernel/entry.S
> on 2.4 branch also.
> 
> As I wrote in August, handle_adel_int will be broken with MIPS3 ISA.
> <http://www.linux-mips.org/archives/linux-mips/2003-08/msg00072.html>
> 
> 
> Excerpt from include/asm-mips/asm.h:
> 
> #if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
>     (_MIPS_ISA == _MIPS_ISA_MIPS32)
> #define REG_S           sw 
> #define REG_L           lw 
> #define REG_SUBU        subu
> #define REG_ADDU        addu
> #endif
> #if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
>     (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
> #define REG_S           sd
> #define REG_L           ld
> #define REG_SUBU        dsubu
> #define REG_ADDU        daddu
> #endif
> 
> #if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
>     (_MIPS_ISA == _MIPS_ISA_MIPS32)
> #define MFC0		mfc0
> #define MTC0		mtc0
> #endif
> #if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
>     (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
> #define MFC0		dmfc0
> #define MTC0		dmtc0
> #endif

This should use either CONFIG_MIPS{32,64} or the compiler intrinsic
_MIPS_SIM (which did unfortunately change for O32 in gcc 3.4).


Thiemo

From ica2_ts@csv.ica.uni-stuttgart.de Tue Dec 23 22:01:43 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 23 Dec 2003 22:01:44 +0000 (GMT)
Received: from iris1.csv.ica.uni-stuttgart.de ([IPv6:::ffff:129.69.118.2]:34608
	"EHLO iris1.csv.ica.uni-stuttgart.de") by linux-mips.org with ESMTP
	id <S8224941AbTLWWBn>; Tue, 23 Dec 2003 22:01:43 +0000
Received: from rembrandt.csv.ica.uni-stuttgart.de ([129.69.118.42])
	by iris1.csv.ica.uni-stuttgart.de with esmtp
	id 1AYuay-0002nd-00; Tue, 23 Dec 2003 23:01:40 +0100
Received: from ica2_ts by rembrandt.csv.ica.uni-stuttgart.de with local (Exim 3.35 #1 (Debian))
	id 1AYuay-00039E-00; Tue, 23 Dec 2003 23:01:40 +0100
Date: Tue, 23 Dec 2003 23:01:40 +0100
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: macro@ds2.pg.gda.pl, ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: [patch] 2.4: Support for newer gcc/gas options
Message-ID: <20031223220140.GO12050@rembrandt.csv.ica.uni-stuttgart.de>
References: <Pine.LNX.4.55.0312161822240.8262@jurand.ds.pg.gda.pl> <20031223.220213.74756743.anemo@mba.ocn.ne.jp> <20031223204405.GL12050@rembrandt.csv.ica.uni-stuttgart.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031223204405.GL12050@rembrandt.csv.ica.uni-stuttgart.de>
User-Agent: Mutt/1.5.4i
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Return-Path: <ica2_ts@csv.ica.uni-stuttgart.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3833
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ica2_ts@csv.ica.uni-stuttgart.de
Precedence: bulk
X-list: linux-mips

Thiemo Seufer wrote:
> Atsushi Nemoto wrote:
> [snip]
> > >>>>> On Tue, 16 Dec 2003 22:33:41 +0100 (CET), "Maciej W. Rozycki" <macro@ds2.pg.gda.pl> said:
> > macro>  The patch implements a make macro called set_gccflags which
> > macro> accepts two sets of options consisting of a CPU name and an ISA
> > macro> name each.  Within both sets "-march=" and failing that
> > macro> "-mcpu=" is checked with the CPU name and the ISA name is
> > macro> checked simultaneously.  For gcc if the first set of options
> > macro> fails, the second one is selected even if it would lead to a
> > macro> failure.  For gas both sets are checked and if none succeeds,
> > macro> an empty set is selected.
> > 
> > With this patch, most r4k use MIPS3 ISA, right?
> 
> Since -mips2 is retained they actually use -march=r6000 and still
> MIPS2 ISA.

Well, I should actually read the code instead of speculating. :-)
Now it is -mips3, which means -march=r4000. All _MIPS_ISA defines
abused to check for the O32 ABI are broken now.


Thiemo

From ralf@linux-mips.org Thu Dec 25 13:03:35 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 25 Dec 2003 13:03:40 +0000 (GMT)
Received: from p508B7C62.dip.t-dialin.net ([IPv6:::ffff:80.139.124.98]:37004
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8224858AbTLYNDf>; Thu, 25 Dec 2003 13:03:35 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBPD3LoK013059;
	Thu, 25 Dec 2003 14:03:21 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBPD3H4w013058;
	Thu, 25 Dec 2003 14:03:17 +0100
Date: Thu, 25 Dec 2003 14:03:16 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Jamie Lokier <jamie@shareable.org>
Cc: Peter Horton <pdh@colonel-panic.org>,
	Linus Torvalds <torvalds@osdl.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
Message-ID: <20031225130316.GB8341@linux-mips.org>
References: <20031213114134.GA9896@skeleton-jack> <20031213222626.GA20153@mail.shareable.org> <Pine.LNX.4.58.0312131740120.14336@home.osdl.org> <20031214103803.GA916@skeleton-jack> <20031214171637.GA28923@mail.shareable.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031214171637.GA28923@mail.shareable.org>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3834
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sun, Dec 14, 2003 at 05:16:37PM +0000, Jamie Lokier wrote:

> Peter Horton wrote:
> > I've seen code written for X86 use MAP_FIXED to create self wrapping
> > ring buffers. Surely it's better to fail the mmap() on other archs
> > rather than for the code to fail in unexpected ways?
> 
> Such code should test the buffers or just not create ring buffers on
> architectures it doesn't know about.  (You can usually simulate them
> by copying data).  On some architectures there is _no_ alignment which
> works, and even on x86 aligning aliases to 32k results in faster
> memory accesses on some chips (AMD ones).
> 
> Also, sometimes a self wrapping ring buffer can work even when the
> separation isn't coherent, provided the code using it forces cache
> line flushes at the appropriate points.

Still I don't see why we shouldn't simply return EINVAL if a user is
trying to something obviously stupid - assuming full coherency in
application is a somewhat common thing and there's better things to waste
time on.  And yes while we could support coherency for arbitrary mappings
I agree it's a bad idea - but there's a huge difference between just
checking arguments and adding the large extra complexity of supporting
arbitrary combinations of addresses for mappings.

  Ralf

From bottoms@airborne.nrl.navy.mil Sat Dec 27 17:16:33 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 27 Dec 2003 17:16:36 +0000 (GMT)
Received: from airborne.nrl.navy.mil ([IPv6:::ffff:132.250.182.112]:43182 "EHLO
	airborne.nrl.navy.mil") by linux-mips.org with ESMTP
	id <S8224915AbTL0RQd>; Sat, 27 Dec 2003 17:16:33 +0000
Received: from airborne.nrl.navy.mil (localhost [127.0.0.1])
	by airborne.nrl.navy.mil (8.12.10/8.12.10/Debian-0woody2) with ESMTP id hBRHGLJb005482
	(version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT)
	for <linux-mips@linux-mips.org>; Sat, 27 Dec 2003 12:16:21 -0500
Received: (from bottoms@localhost)
	by airborne.nrl.navy.mil (8.12.10/8.12.10/Debian-0woody2) id hBRHGKYl005473;
	Sat, 27 Dec 2003 12:16:20 -0500
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <16365.48740.594791.853479@airborne.nrl.navy.mil>
Date: Sat, 27 Dec 2003 12:16:20 -0500
From: Maitland Bottoms <bottoms@debian.org>
To: linux-mips@linux-mips.org
Subject: Origin 200
X-Mailer: VM 7.03 under Emacs 21.2.1
X-Face: #_Z/6E$=iDx1F]P+Ihzq7A<v$oCzxp*t+AV4bAbTX:5Ksc|%b>.ptGp'9^{lq:).f}z;/C~
 TS*Y?KNb=~^*%0FWY>#8tyl]O')dv!Y:s~a#BK?fuo;~J8u,S>HZ&|o9gi~'<@woChY;)>#|">)vr+
 9Zd,@,)F[7)5O!Ry2>BJC%<N.ALz7)FHAt-t.eSF$Z{j'*vE
X-Tom-Swifty: "Quick!  Change the baby's diaper," Tom said rashly
X-Scanned-By: MIMEDefang 2.35
Return-Path: <bottoms@airborne.nrl.navy.mil>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3835
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bottoms@debian.org
Precedence: bulk
X-list: linux-mips

Hi,

I would like to bring up Linux on an Origin 200.

Has anyone netbooted one of these? Is there a bootable
CDROM image around?

I would prefer to netboot/nfsroot, but if I must I could
find a SCSI disk.

Thanks,
-Maitland

From yuasa@hh.iij4u.or.jp Sun Dec 28 02:48:45 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 28 Dec 2003 02:48:50 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:57337 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8224934AbTL1Csp>;
	Sun, 28 Dec 2003 02:48:45 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id LAA15760;
	Sun, 28 Dec 2003 11:48:42 +0900 (JST)
Received: 4UMDO01 id hBS2mf308021; Sun, 28 Dec 2003 11:48:41 +0900 (JST)
Received: 4UMRO00 id hBS2meQ20543; Sun, 28 Dec 2003 11:48:41 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Sun, 28 Dec 2003 11:48:39 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: yuasa@hh.iij4u.or.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2.6] Add early_initcall for TANBAC TB0226
Message-Id: <20031228114839.445d3b70.yuasa@hh.iij4u.or.jp>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3836
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

Hello Ralf,

I made the patch for setup.c of TANBAC TB0226.
I added early_initcall() for tanbac_tb0226_setup().

This patch exists for HEAD of linux-mips.org CVS.
Please apply this patch.

diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/tanbac-tb0226/setup.c linux/arch/mips/vr41xx/tanbac-tb0226/setup.c
--- linux-orig/arch/mips/vr41xx/tanbac-tb0226/setup.c	Fri Oct 31 11:30:39 2003
+++ linux/arch/mips/vr41xx/tanbac-tb0226/setup.c	Sun Dec 28 11:36:26 2003
@@ -111,3 +111,5 @@
 	vr41xx_pciu_init(&pci_address_map);
 #endif
 }
+
+early_initcall(tanbac_tb0226_setup);

From agx@sigxcpu.org Sun Dec 28 19:56:04 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 28 Dec 2003 19:56:07 +0000 (GMT)
Received: from honk1.physik.uni-konstanz.de ([IPv6:::ffff:134.34.140.224]:2199
	"EHLO honk1.physik.uni-konstanz.de") by linux-mips.org with ESMTP
	id <S8225238AbTL1T4E>; Sun, 28 Dec 2003 19:56:04 +0000
Received: from localhost (localhost [127.0.0.1])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id E08B72BC3C
	for <linux-mips@linux-mips.org>; Sun, 28 Dec 2003 20:56:02 +0100 (CET)
Received: from honk1.physik.uni-konstanz.de ([127.0.0.1])
 by localhost (honk [127.0.0.1:10024]) (amavisd-new) with ESMTP id 30299-02
 for <linux-mips@linux-mips.org>; Sun, 28 Dec 2003 20:55:41 +0100 (CET)
Received: from bogon.sigxcpu.org (p213.54.170.161.tisdip.tiscali.de [213.54.170.161])
	by honk1.physik.uni-konstanz.de (Postfix) with ESMTP id 7E5FE2BC39
	for <linux-mips@linux-mips.org>; Sun, 28 Dec 2003 20:55:41 +0100 (CET)
Received: by bogon.sigxcpu.org (Postfix, from userid 1000)
	id 14AFC41D9; Sun, 28 Dec 2003 20:54:34 +0100 (CET)
Date: Sun, 28 Dec 2003 20:54:34 +0100
From: Guido Guenther <agx@sigxcpu.org>
To: linux-mips@linux-mips.org
Subject: 2.6 64bit kernels
Message-ID: <20031228195433.GH1298@bogon.ms20.nix>
Mail-Followup-To: Guido Guenther <agx@sigxcpu.org>,
	linux-mips@linux-mips.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.4i
X-Virus-Scanned: by amavisd-new-20021227-p2 (Debian)
Return-Path: <agx@sigxcpu.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3837
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: agx@sigxcpu.org
Precedence: bulk
X-list: linux-mips

Hi,
could anybody explain to me how one builds 2.6 (current CVS) 64bit
kernel resulting in a 32bit ELF executable with a current (gcc >= 3.3,
bintuils >= 2.14.90.0.5) toolchain.
Major showstopper is that -Wa,-mabi=o64 doesn't work anymore, but
-Wa,-mabi=32 -Wa,-mgp64 doesn't either since the assembler doesn't
accept it.
Thanks for any help,
 -- Guido

From deltha@analog.ro Sun Dec 28 19:57:12 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 28 Dec 2003 19:57:12 +0000 (GMT)
Received: from main.analog.ro ([IPv6:::ffff:81.196.32.141]:5580 "EHLO
	main.analog.ro") by linux-mips.org with ESMTP id <S8225198AbTL1T5M>;
	Sun, 28 Dec 2003 19:57:12 +0000
Received: from contabili (deltha@networkadministrator.analog.ro [192.168.6.2])
	by main.analog.ro (8.12.10/8.12.9) with ESMTP id hBSJvdgr027526
	for <linux-mips@linux-mips.org>; Sun, 28 Dec 2003 21:57:39 +0200
Date: Sun, 28 Dec 2003 21:57:17 +0200
From: none <deltha@analog.ro>
X-Mailer: The Bat! (v1.62i) Personal
Reply-To: none <deltha@analog.ro>
Organization: S.C. Analog S.A.
X-Priority: 3 (Normal)
Message-ID: <59201944070.20031228215717@analog.ro>
To: linux-mips@linux-mips.org
Subject: philips nino 300 - 4mb ram
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <deltha@analog.ro>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3838
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: deltha@analog.ro
Precedence: bulk
X-list: linux-mips

Hello,
   I tried to boot the precompiled kernel :
   ftp://ftp.realitydiluted.com/Nino/kernel/precompiled/vmlinux-2.4.17.gz
   using pbsdboot but
   all I can see is the display scrambled,
   and not a bootup sequence, nothing at hyperterminal set as 115200 8-N-1
   How to get it working? (booting)
Manually:
I tried to crosscompile a kernel from sources
  ftp://ftp.realitydiluted.com/Nino/kernel/
  on a x86 machine but I encountered some errors when making dep

# make dep
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/mkdep scripts/mkdep.c
scripts/mkdep.c: In function `add_path':
scripts/mkdep.c:221: `PATH_MAX' undeclared (first use in this function)
scripts/mkdep.c:221: (Each undeclared identifier is reported only once
scripts/mkdep.c:221: for each function it appears in.)
scripts/mkdep.c:221: warning: unused variable `resolved_path'
make: *** [scripts/mkdep] Error 1
# gcc -v
Reading specs from /opt/toolchains/mips/lib/gcc-lib/mipsel-linux/3.1/specs
Configured with: ../gcc-3.1/configure --prefix=/opt/toolchains/mips --target=mipsel-linux i686-pc-linux-gnu --includedir=/opt/toolchains/mips/mipsel-linux/include --with-gxx-include-dir=/opt/toolchains/mips/mipsel-linux/include --mandir=/opt/toolchains/mips/man --infodir=/opt/toolchains/mips/info --enable-languages=c,c++ --enable-threads --enable-shared --disable-checking
Thread model: posix
gcc version 3.1
[root@crosscompiling linux]# echo $PATH
/opt/toolchains/mips/bin:/opt/toolchains/mips/mipsel-linux:/opt/toolchains/mips/mipsel-linux/bin:/usr/bin:/usr/sbin:/bin


So after modifying value PATH_MAX with 4095 in the mkdep.c I got

 # make dep
 gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/mkdep scripts/mkdep.c
 if [ ! -f /usr/src/linux/include/asm-mips/offset.h ]; then \
  touch /usr/src/linux/include/asm-mips/offset.h; \
 fi;
 make[1]: Entering directory `/usr/src/linux/arch/mips/boot'
 make[1]: Nothing to be done for `dep'.
 make[1]: Leaving directory `/usr/src/linux/arch/mips/boot'
 scripts/mkdep -- init/*.c > .depend
 /bin/sh: scripts/mkdep: cannot execute binary file
 make: *** [dep-files] Error 126

]# cat .config |grep "CONFIG_CROSS"
 CONFIG_CROSSCOMPILE=y
 
 #file scripts/mkdep
 scripts/mkdep: ELF 32-bit LSB mips-1 executable, MIPS R3000_LE [bfd bug], version 1, dynamically linked (uses shared libs), not stripped
-- 
Thanx in advance,
 Rujinski Remus Nikolai                          mailto:deltha@analog.ro


From ilya@gateway.total-knowledge.com Sun Dec 28 20:02:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 28 Dec 2003 20:02:04 +0000 (GMT)
Received: from alpha.total-knowledge.com ([IPv6:::ffff:209.157.135.102]:24035
	"EHLO alpha.total-knowledge.com") by linux-mips.org with ESMTP
	id <S8225198AbTL1UCB>; Sun, 28 Dec 2003 20:02:01 +0000
Received: (qmail 25544 invoked from network); 28 Dec 2003 20:01:50 -0000
Received: from unknown (HELO gateway.total-knowledge.com) (12.234.207.60)
  by alpha.total-knowledge.com with DES-CBC3-SHA encrypted SMTP; 28 Dec 2003 20:01:50 -0000
Received: (qmail 635 invoked by uid 502); 28 Dec 2003 12:01:49 -0800
Date: Sun, 28 Dec 2003 12:01:49 -0800
From: ilya@theIlya.com
To: Guido Guenther <agx@sigxcpu.org>, linux-mips@linux-mips.org
Subject: Re: 2.6 64bit kernels
Message-ID: <20031228200149.GA617@gateway.total-knowledge.com>
References: <20031228195433.GH1298@bogon.ms20.nix>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031228195433.GH1298@bogon.ms20.nix>
User-Agent: Mutt/1.5.4i
Return-Path: <ilya@gateway.total-knowledge.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3839
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ilya@theIlya.com
Precedence: bulk
X-list: linux-mips

See arch/mips/Makefile part of my minimal patchset:
http://www.selfsoft.com/progs/mips/patches/

in shor, to get things to work, one needs to play with
-mabi=o64/-64/-32 options.


On Sun, Dec 28, 2003 at 08:54:34PM +0100, Guido Guenther wrote:
> Hi,
> could anybody explain to me how one builds 2.6 (current CVS) 64bit
> kernel resulting in a 32bit ELF executable with a current (gcc >= 3.3,
> bintuils >= 2.14.90.0.5) toolchain.
> Major showstopper is that -Wa,-mabi=o64 doesn't work anymore, but
> -Wa,-mabi=32 -Wa,-mgp64 doesn't either since the assembler doesn't
> accept it.
> Thanks for any help,
>  -- Guido
> 

From Geert.Uytterhoeven@sonycom.com Sun Dec 28 20:30:22 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 28 Dec 2003 20:30:23 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:22517 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225205AbTL1UaW>;
	Sun, 28 Dec 2003 20:30:22 +0000
Received: from waterleaf.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBSKUHQG029495;
	Sun, 28 Dec 2003 21:30:19 +0100 (MET)
Date: Sun, 28 Dec 2003 21:30:17 +0100 (MET)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Jan-Benedict Glaw <jbglaw@lug-owl.de>
cc: Linux-Mips <linux-mips@linux-mips.org>
Subject: Re: What toolchain for vr4181
In-Reply-To: <Pine.GSO.4.21.0310091320000.7430-100000@waterleaf.sonytel.be>
Message-ID: <Pine.GSO.4.21.0312282120390.2325-100000@waterleaf.sonytel.be>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-15
Content-Transfer-Encoding: 8BIT
Return-Path: <Geert.Uytterhoeven@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3840
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: geert@linux-m68k.org
Precedence: bulk
X-list: linux-mips

On Thu, 9 Oct 2003, Geert Uytterhoeven wrote:
> On Thu, 9 Oct 2003, Jan-Benedict Glaw wrote:
> > If companies have some kind of scripts or the like they use, I'd really
> > love to see them published. That'd really help all those guys out
> > there:)
> 
> Binutils (binutils-2.13.2.1.tar.bz2):
>     configure --target=mips-linux --prefix=/wherever/you/want
> 
> Gcc (gcc-core-3.2.2.tar.bz2):
>     configure --target=mips-linux --prefix=/wherever/you/want --enable-languages=c --enable-shared --with-gnu-as --with-gnu-ld --with-systemm-zlib --enable-long-long --enable-nls --without-included-gettext
> 
> I took the development libraries and includes from Debian:
>     libc6-dev_2.2.5-11.2_mips.deb
>     libc6_2.2.5-11.2_mips.deb
>     zlib1g-dev_1%3a1.1.4-1_mips.deb
>     zlib1g_1%3a1.1.4-1_mips.deb
> 
> I wrote very simple Perl clones of dpkg and dpkg-deb with just enough
> functionality to get `dpkg-cross -i' working on Solaris. I don't know whether I
> can share them, though.

It took me a while, but here they are, wrapped as a Christmas gift! :-)

You also have to take /usr/bin/dpkg-cross from a Debian system and probably
want to hardcode crossbase=/wherever/you/want, unless you're root.

BTW, I'd still really like to have some scripts so I can install (from binary
or from sources) Debian binaries in my home dir on a Red Hat or Solaris box.
Wishful thinking?

--- /dev/null	2003-12-21 17:51:51.000000000 +0100
+++ dpkg	2003-12-28 21:23:47.000000000 +0100
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+#
+# Very simple dpkg clone with just enough functionality to get `dpkg-cross -i'
+# working on Solaris
+#
+# © Copyright 2003 by Geert Uytterhoeven <geert@linux-m68k.org>
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.
+#
+
+$progname = $0;
+$progname =~ s@^.*/@@g;
+
+
+$args = join(' ', @ARGV);
+print STDERR "$progname $args...\n";
+
+$arg = shift @ARGV or goto failed;
+if ($arg eq '-i') {
+  $archive = shift @ARGV or goto failed;
+  system("ar -p $archive data.tar.gz | (cd / && tar zxf - )");
+  exit(0);
+}
+
+failed:
+die "$progname $args: failed\n";
+
--- /dev/null	2003-12-21 17:51:51.000000000 +0100
+++ dpkg-deb	2003-12-28 21:23:25.000000000 +0100
@@ -0,0 +1,82 @@
+#!/usr/bin/perl
+
+#
+# Very simple dpkg-deb clone with just enough functionality to get
+# `dpkg-cross -i' working on Solaris
+#
+# © Copyright 2003 by Geert Uytterhoeven <geert@linux-m68k.org>
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.
+#
+
+$progname = $0;
+$progname =~ s@^.*/@@g;
+
+
+$args = join(' ', @ARGV);
+
+$arg = shift @ARGV or goto failed;
+if ($arg eq '-f') {
+  # Get package name, version, or architecture
+  $archive = shift @ARGV or goto failed;
+  $field = shift @ARGV or goto failed;
+  ($package, $version, $architecture) = $archive =~ /(.*)_(.*)_(.*).deb/;
+  $package =~ s,.*/,,;
+  if ($field eq 'package') {
+    print "$package\n";
+    exit(0);
+  } elsif ($field eq 'version') {
+    print "$version\n";
+    exit(0);
+  } elsif ($field eq 'architecture') {
+    print "$architecture\n";
+    exit(0);
+  }
+} elsif ($arg eq '-e') {
+  # Extract the contents of control.tar.gz to a specified subdirectory
+  $archive = shift @ARGV or goto failed;
+  $dir = shift @ARGV or goto failed;
+  system("mkdir -p $dir && ar -p $archive control.tar.gz | (cd $dir && tar zxf - )");
+  exit(0);
+} elsif ($arg eq '--fsys-tarfile') {
+  # Extract the contents of data.tar.gz to stdout
+  $archive = shift @ARGV or goto failed;
+  system("ar -p $archive data.tar.gz | zcat");
+  exit(0);
+} elsif ($arg eq '-I') {
+  # Extract the control file to stdout
+  $archive = shift @ARGV or goto failed;
+  $name = shift @ARGV or goto failed;
+  system("ar -p $archive control.tar.gz | tar Ozxf - ./$name");
+  exit(0);
+} elsif ($arg eq '-b') {
+  $dir1 = shift @ARGV or goto failed;
+  $dir2 = shift @ARGV or goto failed;
+  # Extract package name and version from the control file
+  open(IN, "<$dir1/DEBIAN/control") or die;
+  $line = <IN>;
+  chomp($line);
+  ($package) = $line =~ /^Package: (.*)/;
+  $line = <IN>;
+  chomp($line);
+  ($version) = $line =~ /^Version: (.*)/;
+  close(IN);
+  $name = $package.'_'.$version.'_all.deb';
+  $name =~ s/:/%3a/g;
+  # Create control.tar.gz
+  system("cd $dir1/DEBIAN && tar zcf ../../control.tar.gz .");
+  system("cd $dir1 && rm -rf DEBIAN");
+  # Create data.tar.gz
+  system("cd $dir1 && tar zcf ../data.tar.gz .");
+  # Create debian-binary
+  system("echo '2.0' > $dir1/../debian-binary");
+  # Build a new Debian package
+  system("cd $dir1/.. && ar -r $name debian-binary control.tar.gz data.tar.gz");
+  system("mv $dir1/../$name $dir2/$name");
+  exit(0);
+}
+
+failed:
+die "$progname $args: failed\n";
+

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


From ralf@linux-mips.org Mon Dec 29 00:26:01 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 00:26:02 +0000 (GMT)
Received: from p508B62E6.dip.t-dialin.net ([IPv6:::ffff:80.139.98.230]:34478
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8224948AbTL2A0B>; Mon, 29 Dec 2003 00:26:01 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBT0Pqa5013139;
	Mon, 29 Dec 2003 01:25:52 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBT0Pps1013138;
	Mon, 29 Dec 2003 01:25:51 +0100
Date: Mon, 29 Dec 2003 01:25:50 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: Daniel Jacobowitz <dan@debian.org>
Cc: linux-mips@linux-mips.org
Subject: Re: 2.5 n32 syscall numbers are wrong
Message-ID: <20031229002550.GA13103@linux-mips.org>
References: <20031223175732.GA26052@nevyn.them.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031223175732.GA26052@nevyn.them.org>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3841
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Tue, Dec 23, 2003 at 12:57:32PM -0500, Daniel Jacobowitz wrote:

> If you take a look at scall64-n32.S, you'll find that there's no hole after
> sendfile64.  But in <asm/unistd.h> there is.  So glibc gets built with the
> wrong number for clock_gettime and confusion ensues...

Applied.  I also fixed __NR_Linux_syscalls and __NR_N32_Linux_syscalls
which also were off by one but didn't get fixed by your patch.

  Ralf

From indigo@bitglue.com Mon Dec 29 00:39:06 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 00:39:09 +0000 (GMT)
Received: from 50.69-93-10.reverse.theplanet.com ([IPv6:::ffff:69.93.10.50]:55020
	"EHLO spaghetti.theross.com") by linux-mips.org with ESMTP
	id <S8225217AbTL2AjG>; Mon, 29 Dec 2003 00:39:06 +0000
Received: from pcp02792195pcs.roylok01.mi.comcast.net ([68.62.5.21] helo=bitglue.com)
	by spaghetti.theross.com with smtp (Exim 4.22)
	id 1AalQy-00007Z-Nq
	for linux-mips@linux-mips.org; Sun, 28 Dec 2003 19:39:00 -0500
Received: (qmail 3008 invoked by uid 100); 29 Dec 2003 00:38:58 -0000
Date: Sun, 28 Dec 2003 19:38:58 -0500
From: Phil Frost <indigo@bitglue.com>
To: Maitland Bottoms <bottoms@debian.org>
Cc: linux-mips@linux-mips.org
Message-ID: <20031229003858.GA3018@europa.lair>
Mail-Followup-To: Maitland Bottoms <bottoms@debian.org>,
	linux-mips@linux-mips.org
References: <16365.48740.594791.853479@airborne.nrl.navy.mil>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <16365.48740.594791.853479@airborne.nrl.navy.mil>
User-Agent: Mutt/1.4.1i
X-SA-Exim-Mail-From: indigo@bitglue.com
Subject: Re: Origin 200
Content-Type: text/plain; charset=us-ascii
X-SA-Exim-Version: 3.1 (built Wed Aug 20 09:38:54 PDT 2003)
X-SA-Exim-Scanned: Yes
Return-Path: <indigo@bitglue.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3842
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: indigo@bitglue.com
Precedence: bulk
X-list: linux-mips

It can be netbooted. Simply configure a bootp (dhcp) and tftp server, then type
bootp() at the SGI maintenance prompt.

However, currently the kernel does not run on uniprocessor origins. Someone was
working on this though...

On Sat, Dec 27, 2003 at 12:16:20PM -0500, Maitland Bottoms wrote:
> Hi,
> 
> I would like to bring up Linux on an Origin 200.
> 
> Has anyone netbooted one of these? Is there a bootable
> CDROM image around?
> 
> I would prefer to netboot/nfsroot, but if I must I could
> find a SCSI disk.
> 
> Thanks,
> -Maitland
> 

From drow@crack.them.org Mon Dec 29 02:30:22 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 02:30:23 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:47491 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225226AbTL2CaW>;
	Mon, 29 Dec 2003 02:30:22 +0000
Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian))
	id 1AanAL-0000xR-6s; Sun, 28 Dec 2003 21:29:57 -0500
Date: Sun, 28 Dec 2003 21:29:57 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: Guido Guenther <agx@sigxcpu.org>, linux-mips@linux-mips.org
Subject: Re: 2.6 64bit kernels
Message-ID: <20031229022957.GA3652@nevyn.them.org>
References: <20031228195433.GH1298@bogon.ms20.nix>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031228195433.GH1298@bogon.ms20.nix>
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3843
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

On Sun, Dec 28, 2003 at 08:54:34PM +0100, Guido Guenther wrote:
> Hi,
> could anybody explain to me how one builds 2.6 (current CVS) 64bit
> kernel resulting in a 32bit ELF executable with a current (gcc >= 3.3,
> bintuils >= 2.14.90.0.5) toolchain.
> Major showstopper is that -Wa,-mabi=o64 doesn't work anymore, but
> -Wa,-mabi=32 -Wa,-mgp64 doesn't either since the assembler doesn't
> accept it.
> Thanks for any help,

I have found that the best way is to build a 64-bit ELF executable. 
Then, use:
  mips64_fp_le-objcopy -O elf32-ntradlittlemips vmlinux vmlinux.32bit

or the equivalent command.

You lose some space (lots) on wasted addressing calculations; no one
has found a good solution AFAIK.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From kevink@mips.com Mon Dec 29 11:38:36 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 11:38:36 +0000 (GMT)
Received: from ftp.mips.com ([IPv6:::ffff:206.31.31.227]:36752 "EHLO
	mx2.mips.com") by linux-mips.org with ESMTP id <S8225230AbTL2Lig>;
	Mon, 29 Dec 2003 11:38:36 +0000
Received: from newman.mips.com (ns-dmz [206.31.31.225])
	by mx2.mips.com (8.12.5/8.12.5) with ESMTP id hBTBWPvq007802;
	Mon, 29 Dec 2003 03:32:26 -0800 (PST)
Received: from grendel (grendel [192.168.236.16])
	by newman.mips.com (8.9.3/8.9.0) with SMTP id DAA07763;
	Mon, 29 Dec 2003 03:38:22 -0800 (PST)
Message-ID: <056401c3ce00$5cd8a690$10eca8c0@grendel>
From: "Kevin D. Kissell" <kevink@mips.com>
To: "Mark and Janice Juszczec" <juszczec@hotmail.com>,
	<linux-mips@linux-mips.org>
References: <Law10-F61XsDQ1sMzqi00015abf@hotmail.com>
Subject: Re: hardware questions
Date: Mon, 29 Dec 2003 12:39:02 +0100
Organization: MIPS Technologies Inc.
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <kevink@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3844
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kevink@mips.com
Precedence: bulk
X-list: linux-mips

As Geert pointed out, the big-endian SGI hardware configuration
and the little-endian PDA configuration mean that you'll be cross-compiling
for "mipsel" (MIPS endian-little) on the Indigo anyway.  SGI did
use industry-standard monitors, keyboards, and disks units of the
period (which was 10 years ago - they could be hard to find today), 
but used non-standard NIC and memory cards. You're probably better 
off using a Linux PC as your development host.

----- Original Message ----- 
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: <linux-mips@linux-mips.org>
Sent: Sunday, December 21, 2003 17:20
Subject: hardware questions


> 
> Hi folks
> 
> I'm the guy with the Helio pda running an r3912 chip.  In an effort to 
> create a better development environment, I'm thinking about puchasing a 
> Silicon Graphics Iris Indigo Workstation.
> 
> But, I'm unfamiliar with MIPS hardware.
> 
> First of all, will code developed on this machine run on the r3912 chip?  
> The r3912 is little endian mips, 16 bit I think but maybe 32 bit.
> 
> Can off the shelf monitors, keyboards, hard drives, NICs and memory be 
> installed in this system?
> 
> Mark
> 
> _________________________________________________________________
> Grab our best dial-up Internet access offer: 6 months @$9.95/month.  
> http://join.msn.com/?page=dept/dialup
> 
> 
> 

From juszczec@hotmail.com Mon Dec 29 14:09:26 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 14:09:29 +0000 (GMT)
Received: from law10-f109.law10.hotmail.com ([IPv6:::ffff:64.4.15.109]:28168
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8224934AbTL2OJ0>; Mon, 29 Dec 2003 14:09:26 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Mon, 29 Dec 2003 06:09:17 -0800
Received: from 63.121.54.5 by lw10fd.law10.hotmail.msn.com with HTTP;
	Mon, 29 Dec 2003 14:09:17 GMT
X-Originating-IP: [63.121.54.5]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: kevink@mips.com, linux-mips@linux-mips.org
Subject: gdbserver and Re: hardware questions
Date: Mon, 29 Dec 2003 14:09:17 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F1098NvzHr4sR00062b5c@hotmail.com>
X-OriginalArrivalTime: 29 Dec 2003 14:09:17.0954 (UTC) FILETIME=[59037620:01C3CE15]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3845
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Kevin

Good to hear from you.

Thank you to you and Geert for saving me the grief of buying the wrong 
hardware!

The whole point of buying some mipsel hardware is to better track down a 
SIGSEGV I'm having with kaffe on my mipsel pda.

People on this list have suggested I use gdbserver.  I've played around with 
it over the last month and have a feeling that it won't work.

I use busybox so its init applet can handle all the linux startup stuff I 
don't understand.  One side effect is it starts a shell on /dev/ttyS0.  No 
problem.

I can start gdbserver on the pda:  gdbserver /dev/ttyS0 ...

On my linux laptop, I can start gdb but, when I do:

target remote /dev/ttyS0

I never get connected to gdbserver on the pda.

I suspect its because there's alread a shell running on /dev/ttyS0.  Does 
this sound reasonable?

Other than debugging with gdb, any suggestions as to tracking down a SIGSEGV 
on a pda with a shell on /dev/ttyS0?

Mark




>From: "Kevin D. Kissell" <kevink@mips.com>
>To: "Mark and Janice Juszczec" <juszczec@hotmail.com>,   
><linux-mips@linux-mips.org>
>Subject: Re: hardware questions
>Date: Mon, 29 Dec 2003 12:39:02 +0100
>
>As Geert pointed out, the big-endian SGI hardware configuration
>and the little-endian PDA configuration mean that you'll be cross-compiling
>for "mipsel" (MIPS endian-little) on the Indigo anyway.  SGI did
>use industry-standard monitors, keyboards, and disks units of the
>period (which was 10 years ago - they could be hard to find today),
>but used non-standard NIC and memory cards. You're probably better
>off using a Linux PC as your development host.
>
>----- Original Message -----
>From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
>To: <linux-mips@linux-mips.org>
>Sent: Sunday, December 21, 2003 17:20
>Subject: hardware questions
>
>
> >
> > Hi folks
> >
> > I'm the guy with the Helio pda running an r3912 chip.  In an effort to
> > create a better development environment, I'm thinking about puchasing a
> > Silicon Graphics Iris Indigo Workstation.
> >
> > But, I'm unfamiliar with MIPS hardware.
> >
> > First of all, will code developed on this machine run on the r3912 chip?
> > The r3912 is little endian mips, 16 bit I think but maybe 32 bit.
> >
> > Can off the shelf monitors, keyboards, hard drives, NICs and memory be
> > installed in this system?
> >
> > Mark
> >
> > _________________________________________________________________
> > Grab our best dial-up Internet access offer: 6 months @$9.95/month.
> > http://join.msn.com/?page=dept/dialup
> >
> >
> >

_________________________________________________________________
Working moms: Find helpful tips here on managing kids, home, work —  and 
yourself.   http://special.msn.com/msnbc/workingmom.armx


From kevink@mips.com Mon Dec 29 14:18:27 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 14:18:28 +0000 (GMT)
Received: from mx2.mips.com ([IPv6:::ffff:206.31.31.227]:62103 "EHLO
	mx2.mips.com") by linux-mips.org with ESMTP id <S8224934AbTL2OS1>;
	Mon, 29 Dec 2003 14:18:27 +0000
Received: from newman.mips.com (ns-dmz [206.31.31.225])
	by mx2.mips.com (8.12.5/8.12.5) with ESMTP id hBTECJvq010529;
	Mon, 29 Dec 2003 06:12:19 -0800 (PST)
Received: from grendel (grendel [192.168.236.16])
	by newman.mips.com (8.9.3/8.9.0) with SMTP id GAA14918;
	Mon, 29 Dec 2003 06:18:18 -0800 (PST)
Message-ID: <002401c3ce16$b44b1e10$10eca8c0@grendel>
From: "Kevin D. Kissell" <kevink@mips.com>
To: "Mark and Janice Juszczec" <juszczec@hotmail.com>,
	<linux-mips@linux-mips.org>
References: <Law10-F1098NvzHr4sR00062b5c@hotmail.com>
Subject: Re: gdbserver and Re: hardware questions
Date: Mon, 29 Dec 2003 15:18:58 +0100
Organization: MIPS Technologies Inc.
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Return-Path: <kevink@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3846
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kevink@mips.com
Precedence: bulk
X-list: linux-mips

If you want more of a "large format" mipsel platform
to experiment with, you might be able to find an old
"RISC PC" from Siemens or NEC with an R4000
configured little-endian to run NT.  Maybe Ralf has
one in his attic he'd care to sell you. ;o)

I've never used gdbserver myself.  I did manage to get
some use out of the old 2.2-style kernel gdb hooks.
I don't know that it's the root of your problem, but
you should definitely get getty/shells off of whatever
serial port you're trying to use for debug.  In theory,
there are protocols to multiplex serial ports between
gdb streams and other stuff, but I've never had any
luck with them.   You may also need to make sure that
you're starting gdb and gdbserver in the right order.
Certainly, that was the case when booting with kgdb.

            Regards,

            Kevin K.

----- Original Message ----- 
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: <kevink@mips.com>; <linux-mips@linux-mips.org>
Sent: Monday, December 29, 2003 15:09
Subject: gdbserver and Re: hardware questions


> 
> Kevin
> 
> Good to hear from you.
> 
> Thank you to you and Geert for saving me the grief of buying the wrong 
> hardware!
> 
> The whole point of buying some mipsel hardware is to better track down a 
> SIGSEGV I'm having with kaffe on my mipsel pda.
> 
> People on this list have suggested I use gdbserver.  I've played around with 
> it over the last month and have a feeling that it won't work.
> 
> I use busybox so its init applet can handle all the linux startup stuff I 
> don't understand.  One side effect is it starts a shell on /dev/ttyS0.  No 
> problem.
> 
> I can start gdbserver on the pda:  gdbserver /dev/ttyS0 ...
> 
> On my linux laptop, I can start gdb but, when I do:
> 
> target remote /dev/ttyS0
> 
> I never get connected to gdbserver on the pda.
> 
> I suspect its because there's alread a shell running on /dev/ttyS0.  Does 
> this sound reasonable?
> 
> Other than debugging with gdb, any suggestions as to tracking down a SIGSEGV 
> on a pda with a shell on /dev/ttyS0?
> 
> Mark
> 
> 
> 
> 
> >From: "Kevin D. Kissell" <kevink@mips.com>
> >To: "Mark and Janice Juszczec" <juszczec@hotmail.com>,   
> ><linux-mips@linux-mips.org>
> >Subject: Re: hardware questions
> >Date: Mon, 29 Dec 2003 12:39:02 +0100
> >
> >As Geert pointed out, the big-endian SGI hardware configuration
> >and the little-endian PDA configuration mean that you'll be cross-compiling
> >for "mipsel" (MIPS endian-little) on the Indigo anyway.  SGI did
> >use industry-standard monitors, keyboards, and disks units of the
> >period (which was 10 years ago - they could be hard to find today),
> >but used non-standard NIC and memory cards. You're probably better
> >off using a Linux PC as your development host.
> >
> >----- Original Message -----
> >From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
> >To: <linux-mips@linux-mips.org>
> >Sent: Sunday, December 21, 2003 17:20
> >Subject: hardware questions
> >
> >
> > >
> > > Hi folks
> > >
> > > I'm the guy with the Helio pda running an r3912 chip.  In an effort to
> > > create a better development environment, I'm thinking about puchasing a
> > > Silicon Graphics Iris Indigo Workstation.
> > >
> > > But, I'm unfamiliar with MIPS hardware.
> > >
> > > First of all, will code developed on this machine run on the r3912 chip?
> > > The r3912 is little endian mips, 16 bit I think but maybe 32 bit.
> > >
> > > Can off the shelf monitors, keyboards, hard drives, NICs and memory be
> > > installed in this system?
> > >
> > > Mark
> > >
> > > _________________________________________________________________
> > > Grab our best dial-up Internet access offer: 6 months @$9.95/month.
> > > http://join.msn.com/?page=dept/dialup
> > >
> > >
> > >
> 
> _________________________________________________________________
> Working moms: Find helpful tips here on managing kids, home, work -  and 
> yourself.   http://special.msn.com/msnbc/workingmom.armx
> 
> 

From juszczec@hotmail.com Mon Dec 29 15:31:46 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 15:31:49 +0000 (GMT)
Received: from law10-f22.law10.hotmail.com ([IPv6:::ffff:64.4.15.22]:29958
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8224934AbTL2Pbq>; Mon, 29 Dec 2003 15:31:46 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Mon, 29 Dec 2003 07:31:36 -0800
Received: from 63.121.54.5 by lw10fd.law10.hotmail.msn.com with HTTP;
	Mon, 29 Dec 2003 15:31:36 GMT
X-Originating-IP: [63.121.54.5]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: kevink@mips.com, linux-mips@linux-mips.org
Subject: Re: gdbserver and Re: hardware questions
Date: Mon, 29 Dec 2003 15:31:36 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F22bcHeTHOF2m00063144@hotmail.com>
X-OriginalArrivalTime: 29 Dec 2003 15:31:36.0925 (UTC) FILETIME=[D8DEA0D0:01C3CE20]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3847
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Kevin, et al


>
>If you want more of a "large format" mipsel platform
>to experiment with, you might be able to find an old
>"RISC PC" from Siemens or NEC with an R4000
>configured little-endian to run NT.  Maybe Ralf has
>one in his attic he'd care to sell you. ;o)
>

Ralf?

>I don't know that it's the root of your problem, but
>you should definitely get getty/shells off of whatever
>serial port you're trying to use for debug.

If I have no shell running on the serial port, how would I start gdbserver?  
Would I have to hard code it into the kernel somehow?

Mark

_________________________________________________________________
Expand your wine savvy — and get some great new recipes — at MSN Wine. 
http://wine.msn.com


From drow@crack.them.org Mon Dec 29 16:08:30 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 16:08:33 +0000 (GMT)
Received: from nevyn.them.org ([IPv6:::ffff:66.93.172.17]:21905 "EHLO
	nevyn.them.org") by linux-mips.org with ESMTP id <S8225240AbTL2QIa>;
	Mon, 29 Dec 2003 16:08:30 +0000
Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian))
	id 1AazwN-0003iY-0h; Mon, 29 Dec 2003 11:08:23 -0500
Date: Mon, 29 Dec 2003 11:08:22 -0500
From: Daniel Jacobowitz <dan@debian.org>
To: Mark and Janice Juszczec <juszczec@hotmail.com>
Cc: kevink@mips.com, linux-mips@linux-mips.org
Subject: Re: gdbserver and Re: hardware questions
Message-ID: <20031229160822.GA14229@nevyn.them.org>
References: <Law10-F22bcHeTHOF2m00063144@hotmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Law10-F22bcHeTHOF2m00063144@hotmail.com>
User-Agent: Mutt/1.5.1i
Return-Path: <drow@crack.them.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3848
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 29, 2003 at 03:31:36PM +0000, Mark and Janice Juszczec wrote:
> 
> Kevin, et al
> 
> 
> >
> >If you want more of a "large format" mipsel platform
> >to experiment with, you might be able to find an old
> >"RISC PC" from Siemens or NEC with an R4000
> >configured little-endian to run NT.  Maybe Ralf has
> >one in his attic he'd care to sell you. ;o)
> >
> 
> Ralf?
> 
> >I don't know that it's the root of your problem, but
> >you should definitely get getty/shells off of whatever
> >serial port you're trying to use for debug.
> 
> If I have no shell running on the serial port, how would I start gdbserver? 
> Would I have to hard code it into the kernel somehow?

Try changing /etc/inittab to disable the getty, and starting gdbserver
from the system startup scripts in /etc/rc*.  I'm assuming you have
some other way than that shell on ttyS0 to modify the filesystem :)

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

From juszczec@hotmail.com Mon Dec 29 16:27:40 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 16:27:42 +0000 (GMT)
Received: from law10-f105.law10.hotmail.com ([IPv6:::ffff:64.4.15.105]:53007
	"EHLO hotmail.com") by linux-mips.org with ESMTP
	id <S8224934AbTL2Q1k>; Mon, 29 Dec 2003 16:27:40 +0000
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Mon, 29 Dec 2003 08:27:32 -0800
Received: from 63.121.54.5 by lw10fd.law10.hotmail.msn.com with HTTP;
	Mon, 29 Dec 2003 16:27:32 GMT
X-Originating-IP: [63.121.54.5]
X-Originating-Email: [juszczec@hotmail.com]
X-Sender: juszczec@hotmail.com
From: "Mark and Janice Juszczec" <juszczec@hotmail.com>
To: dan@debian.org
Cc: kevink@mips.com, linux-mips@linux-mips.org
Subject: Re: gdbserver and Re: hardware questions
Date: Mon, 29 Dec 2003 16:27:32 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <Law10-F10555qtVdTVv000632af@hotmail.com>
X-OriginalArrivalTime: 29 Dec 2003 16:27:32.0941 (UTC) FILETIME=[A93607D0:01C3CE28]
Return-Path: <juszczec@hotmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3849
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: juszczec@hotmail.com
Precedence: bulk
X-list: linux-mips


Daniel et al


>
>Try changing /etc/inittab to disable the getty, and starting gdbserver
>from the system startup scripts in /etc/rc*.

I'm using busybox since, at the time, it was easier than figuring out what 
goes on in /etc/rc*
I'll check if there's a way to disable the busybox init or at least tell it 
not to start a shell on the serial port.  I suppose I could hack busybox to 
start gdbserver.    Hmmmmm

>I'm assuming you have
>some other way than that shell on ttyS0 to modify the filesystem :)
>

Yes.  I flash a filesystem image to the pda.  I generate the image from 
files on my laptop.  The problem is squeezing everything into 2mb of flash.  
I wonder if I can shove stuff in the 8Mb of ram somehow.

Mark


>--
>Daniel Jacobowitz
>MontaVista Software                         Debian GNU/Linux Developer

_________________________________________________________________
Working moms: Find helpful tips here on managing kids, home, work —  and 
yourself.   http://special.msn.com/msnbc/workingmom.armx


From ralf@linux-mips.org Mon Dec 29 18:11:47 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 18:11:48 +0000 (GMT)
Received: from p508B5A82.dip.t-dialin.net ([IPv6:::ffff:80.139.90.130]:46571
	"EHLO mail.linux-mips.net") by linux-mips.org with ESMTP
	id <S8225240AbTL2SLr>; Mon, 29 Dec 2003 18:11:47 +0000
Received: from dea.linux-mips.net (localhost [127.0.0.1])
	by mail.linux-mips.net (8.12.8/8.12.8) with ESMTP id hBTIBha5006179;
	Mon, 29 Dec 2003 19:11:43 +0100
Received: (from ralf@localhost)
	by dea.linux-mips.net (8.12.8/8.12.8/Submit) id hBTIBdjU006178;
	Mon, 29 Dec 2003 19:11:39 +0100
Date: Mon, 29 Dec 2003 19:11:39 +0100
From: Ralf Baechle <ralf@linux-mips.org>
To: "Kevin D. Kissell" <kevink@mips.com>
Cc: Mark and Janice Juszczec <juszczec@hotmail.com>,
	linux-mips@linux-mips.org
Subject: Re: gdbserver and Re: hardware questions
Message-ID: <20031229181139.GA5946@linux-mips.org>
References: <Law10-F1098NvzHr4sR00062b5c@hotmail.com> <002401c3ce16$b44b1e10$10eca8c0@grendel>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <002401c3ce16$b44b1e10$10eca8c0@grendel>
User-Agent: Mutt/1.4.1i
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3850
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Mon, Dec 29, 2003 at 03:18:58PM +0100, Kevin D. Kissell wrote:

> If you want more of a "large format" mipsel platform
> to experiment with, you might be able to find an old
> "RISC PC" from Siemens or NEC with an R4000
> configured little-endian to run NT.  Maybe Ralf has
> one in his attic he'd care to sell you. ;o)

Unfortunately no.  Since Thomas Bogendoerfer stopped maintaining the Olivetti
support the support for MIPS Magnum 4000, MIPS Millenium, Olivetti M700-10
and Acer PICA is rotting away ...

> I've never used gdbserver myself.  I did manage to get
> some use out of the old 2.2-style kernel gdb hooks.
> I don't know that it's the root of your problem, but
> you should definitely get getty/shells off of whatever
> serial port you're trying to use for debug.  In theory,
> there are protocols to multiplex serial ports between
> gdb streams and other stuff, but I've never had any
> luck with them.   You may also need to make sure that
> you're starting gdb and gdbserver in the right order.
> Certainly, that was the case when booting with kgdb.

We have a special GDB console kernel option which is meant to support
exactly that kind of gdb + console multiplexing.

  Ralf

From karsten@excalibur.cologne.de Mon Dec 29 19:36:19 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 19:36:22 +0000 (GMT)
Received: from natsmtp01.rzone.de ([IPv6:::ffff:81.169.145.166]:63175 "EHLO
	natsmtp01.rzone.de") by linux-mips.org with ESMTP
	id <S8224989AbTL2TgT>; Mon, 29 Dec 2003 19:36:19 +0000
Received: from excalibur.cologne.de (pD9E40158.dip.t-dialin.net [217.228.1.88])
	by post.webmailer.de (8.12.10/8.12.10) with ESMTP id hBTJaGZV019808;
	Mon, 29 Dec 2003 20:36:16 +0100 (MET)
Received: from karsten by excalibur.cologne.de with local (Exim 3.35 #1 (Debian))
	id 1Ab3GW-0000O0-00; Mon, 29 Dec 2003 20:41:24 +0100
Date: Mon, 29 Dec 2003 20:41:24 +0100
From: Karsten Merker <karsten@excalibur.cologne.de>
To: Mark and Janice Juszczec <juszczec@hotmail.com>,
	linux-mips@linux-mips.org
Subject: Re: gdbserver and Re: hardware questions
Message-ID: <20031229194124.GC910@excalibur.cologne.de>
Mail-Followup-To: Karsten Merker <karsten@excalibur.cologne.de>,
	Mark and Janice Juszczec <juszczec@hotmail.com>,
	linux-mips@linux-mips.org
References: <Law10-F1098NvzHr4sR00062b5c@hotmail.com> <002401c3ce16$b44b1e10$10eca8c0@grendel> <20031229181139.GA5946@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031229181139.GA5946@linux-mips.org>
User-Agent: Mutt/1.3.28i
X-No-Archive: yes
Return-Path: <karsten@excalibur.cologne.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3851
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: karsten@excalibur.cologne.de
Precedence: bulk
X-list: linux-mips

On Mon, Dec 29, 2003 at 07:11:39PM +0100, Ralf Baechle wrote:
> On Mon, Dec 29, 2003 at 03:18:58PM +0100, Kevin D. Kissell wrote:
> 
> > If you want more of a "large format" mipsel platform
> > to experiment with, you might be able to find an old
> > "RISC PC" from Siemens or NEC with an R4000
> > configured little-endian to run NT.  Maybe Ralf has
> > one in his attic he'd care to sell you. ;o)
> 
> Unfortunately no.  Since Thomas Bogendoerfer stopped maintaining the Olivetti
> support the support for MIPS Magnum 4000, MIPS Millenium, Olivetti M700-10
> and Acer PICA is rotting away ...

An R4000/R4400-based DECstation would be another option.  Most of the
DECstations are quite slow by today's standards, but a DECstation
5000/150 or 5000/260 is about as fast as a low-end SGI Indy
(50/100MHz R4000 in the /150, 60/120MHz R4400 in the /260).

HTH,
Karsten
-- 
#include <standard_disclaimer>
Nach Paragraph 28 Abs. 3 Bundesdatenschutzgesetz widerspreche ich der Nutzung
oder Uebermittlung meiner Daten fuer Werbezwecke oder fuer die Markt- oder
Meinungsforschung.

From kph@cisco.com Mon Dec 29 22:51:45 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 29 Dec 2003 22:51:46 +0000 (GMT)
Received: from adsl-66-123-66-42.dsl.pltn13.pacbell.net ([IPv6:::ffff:66.123.66.42]:22657
	"EHLO stella-blue.herbertphamily.com") by linux-mips.org with ESMTP
	id <S8225247AbTL2Wvp>; Mon, 29 Dec 2003 22:51:45 +0000
Received: from [192.168.1.106] (adsl-68-120-138-250.dsl.snfc21.pacbell.net [68.120.138.250])
	(authenticated bits=0)
	by stella-blue.herbertphamily.com (8.12.8/8.12.8) with ESMTP id hBTMpafG026203
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <linux-mips@linux-mips.org>; Mon, 29 Dec 2003 14:51:42 -0800
Subject: Recommended gcc/gas for SB1 builds?
From: Kevin Paul Herbert <kph@cisco.com>
To: linux-mips@linux-mips.org
Content-Type: text/plain
Organization: cisco Systems, Inc.
Message-Id: <1072738240.15369.310.camel@shakedown>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) 
Date: 29 Dec 2003 14:51:37 -0800
Content-Transfer-Encoding: 7bit
Return-Path: <kph@cisco.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3852
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kph@cisco.com
Precedence: bulk
X-list: linux-mips

What's the recommended gcc/gas versions for building the 2.6 kernel for
the SB1 processor? I'm being bit by the use of dclz in
arch/mips/sibyte/sb1250/irq_handler.S when compiling with 3.3.2. I am in
the process of building the 20030910 snapshot of gcc 3.4 and while it
does have dclz support there are various warnings when compiling the
machine description, so I am wondering if there is a better version to
try.

Thanks,
Kevin
-- 
Kevin Paul Herbert <kph@cisco.com>
cisco Systems, Inc.


From dimitri@sonycom.com Tue Dec 30 14:49:07 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 14:49:10 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:43496 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225228AbTL3OtH>;
	Tue, 30 Dec 2003 14:49:07 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBUEn4QF007485
	for <linux-mips@linux-mips.org>; Tue, 30 Dec 2003 15:49:04 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id PAA10378
	for linux-mips@linux-mips.org; Tue, 30 Dec 2003 15:49:04 +0100 (MET)
Date: Tue, 30 Dec 2003 15:49:04 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: linux-mips@linux-mips.org
Subject: supported systems running on 2.6 ?
Message-ID: <20031230144904.GA10358@sonycom.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3853
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

Hi,

  are there already MIPS systems running on 2.6.0 ? If so, which ones
  ? I'm currently porting a VR41xx based configuration from 2.4.24 to
  2.6.0: boot sequence seems to be OK, but the init process doesn't
  come up (it looks like its not properly laid out in memory, thus
  continuously generating exceptions (do_signal()) ...). Is it too
  soon to expect it to work ?

  Dimitri

-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


From yuasa@hh.iij4u.or.jp Tue Dec 30 15:17:21 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 15:17:23 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:1988 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225269AbTL3PRV>;
	Tue, 30 Dec 2003 15:17:21 +0000
Received: from mdo01.iij4u.or.jp (mdo01.iij4u.or.jp [210.130.0.171])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id AAA23432;
	Wed, 31 Dec 2003 00:17:08 +0900 (JST)
Received: 4UMDO01 id hBUFH8V00636; Wed, 31 Dec 2003 00:17:08 +0900 (JST)
Received: 4UMRO00 id hBUFH4x24770; Wed, 31 Dec 2003 00:17:07 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Wed, 31 Dec 2003 00:17:01 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Dimitri Torfs <dimitri@sonycom.com>
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: Re: supported systems running on 2.6 ?
Message-Id: <20031231001701.4c43637b.yuasa@hh.iij4u.or.jp>
In-Reply-To: <20031230144904.GA10358@sonycom.com>
References: <20031230144904.GA10358@sonycom.com>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3854
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

On Tue, 30 Dec 2003 15:49:04 +0100
Dimitri Torfs <dimitri@sonycom.com> wrote:

> Hi,
> 
>   are there already MIPS systems running on 2.6.0 ? If so, which ones
>   ? I'm currently porting a VR41xx based configuration from 2.4.24 to
>   2.6.0: boot sequence seems to be OK, but the init process doesn't
>   come up (it looks like its not properly laid out in memory, thus
>   continuously generating exceptions (do_signal()) ...). Is it too
>   soon to expect it to work ?

Which Vr41xx's configuration did you use?

Yoichi

From dimitri@sonycom.com Tue Dec 30 15:43:41 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 15:43:42 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:15239 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225269AbTL3Pnl>;
	Tue, 30 Dec 2003 15:43:41 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBUFhaQF010996;
	Tue, 30 Dec 2003 16:43:36 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id QAA10593;
	Tue, 30 Dec 2003 16:43:36 +0100 (MET)
Date: Tue, 30 Dec 2003 16:43:36 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: linux-mips@linux-mips.org
Subject: Re: supported systems running on 2.6 ?
Message-ID: <20031230154336.GA10535@sonycom.com>
References: <20031230144904.GA10358@sonycom.com> <20031231001701.4c43637b.yuasa@hh.iij4u.or.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031231001701.4c43637b.yuasa@hh.iij4u.or.jp>
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3855
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

On Wed, Dec 31, 2003 at 12:17:01AM +0900, Yoichi Yuasa wrote:
> On Tue, 30 Dec 2003 15:49:04 +0100
> Dimitri Torfs <dimitri@sonycom.com> wrote:
> 
> > Hi,
> > 
> >   are there already MIPS systems running on 2.6.0 ? If so, which ones
> >   ? I'm currently porting a VR41xx based configuration from 2.4.24 to
> >   2.6.0: boot sequence seems to be OK, but the init process doesn't
> >   come up (it looks like its not properly laid out in memory, thus
> >   continuously generating exceptions (do_signal()) ...). Is it too
> >   soon to expect it to work ?
> 
> Which Vr41xx's configuration did you use?

None of the default ones in the tree, it's not a board listed in the
configs (the board has a VR4120A and a VR4131 cpu). I'm currently
using a configuration with CONFIG_EMBEDDED_RAMDISK set and
CONFIG_MACH_VR41XX. 

Is there a working config with a VR41xx on 2.6.0 ? It would surprise
me since I had to do some fixes for the VR41xx series (for some I
already sent a patch) which seem to indicate the VR41xx specifics have
not yet been actively looked at for 2.6.0 (although I know you
have been submitting patches for the Vr41xx).


Dimitri




-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


From ilya@gateway.total-knowledge.com Tue Dec 30 16:08:11 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 16:08:13 +0000 (GMT)
Received: from alpha.total-knowledge.com ([IPv6:::ffff:209.157.135.102]:7079
	"EHLO alpha.total-knowledge.com") by linux-mips.org with ESMTP
	id <S8225269AbTL3QIL>; Tue, 30 Dec 2003 16:08:11 +0000
Received: (qmail 22131 invoked from network); 30 Dec 2003 16:08:08 -0000
Received: from unknown (HELO gateway.total-knowledge.com) (12.234.207.60)
  by alpha.total-knowledge.com with DES-CBC3-SHA encrypted SMTP; 30 Dec 2003 16:08:08 -0000
Received: (qmail 7473 invoked by uid 502); 30 Dec 2003 08:08:08 -0800
Date: Tue, 30 Dec 2003 08:08:08 -0800
From: ilya@theIlya.com
To: Dimitri Torfs <dimitri@sonycom.com>
Cc: linux-mips@linux-mips.org
Subject: Re: supported systems running on 2.6 ?
Message-ID: <20031230160807.GB30019@gateway.total-knowledge.com>
References: <20031230144904.GA10358@sonycom.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031230144904.GA10358@sonycom.com>
User-Agent: Mutt/1.5.4i
Return-Path: <ilya@gateway.total-knowledge.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3856
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ilya@theIlya.com
Precedence: bulk
X-list: linux-mips

Are you trying 2.6.0 from linux-mips.org CVS?
If so, make sure it is no earlier then from yesterday. There was
non-CPU specific bug that was just fixed.

For reference: I have R212K-based SGI O2 running almost stable with
2.6.0. R5K O2's also boot, but show random segfaults and oopses, but
I still do not know what exactly is the reason for that.

	Ilya.

On Tue, Dec 30, 2003 at 03:49:04PM +0100, Dimitri Torfs wrote:
> Hi,
> 
>   are there already MIPS systems running on 2.6.0 ? If so, which ones
>   ? I'm currently porting a VR41xx based configuration from 2.4.24 to
>   2.6.0: boot sequence seems to be OK, but the init process doesn't
>   come up (it looks like its not properly laid out in memory, thus
>   continuously generating exceptions (do_signal()) ...). Is it too
>   soon to expect it to work ?
> 
>   Dimitri
> 
> -- 
> Dimitri Torfs             |  NSCE 
> dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
> tel: +32 2 2908451        |  1130 Brussel
> fax: +32 2 7262686        |  Belgium
> 
> 

From dimitri@sonycom.com Tue Dec 30 16:17:56 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 16:17:58 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:55193 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225269AbTL3QR4>;
	Tue, 30 Dec 2003 16:17:56 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBUGHqQF013144;
	Tue, 30 Dec 2003 17:17:53 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id RAA10806;
	Tue, 30 Dec 2003 17:17:53 +0100 (MET)
Date: Tue, 30 Dec 2003 17:17:53 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: ilya@theIlya.com
Cc: linux-mips@linux-mips.org
Subject: Re: supported systems running on 2.6 ?
Message-ID: <20031230161753.GA10785@sonycom.com>
References: <20031230144904.GA10358@sonycom.com> <20031230160807.GB30019@gateway.total-knowledge.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031230160807.GB30019@gateway.total-knowledge.com>
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3857
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

On Tue, Dec 30, 2003 at 08:08:08AM -0800, ilya@theIlya.com wrote:
> Are you trying 2.6.0 from linux-mips.org CVS?

Yep.

> If so, make sure it is no earlier then from yesterday. There was
> non-CPU specific bug that was just fixed.

Ok, will update.

> 
> For reference: I have R212K-based SGI O2 running almost stable with
> 2.6.0. R5K O2's also boot, but show random segfaults and oopses, but
> I still do not know what exactly is the reason for that.
> 

Thanks for the info,

  Dimitri

-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


From yuasa@hh.iij4u.or.jp Tue Dec 30 17:10:29 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 17:10:30 +0000 (GMT)
Received: from mo03.iij4u.or.jp ([IPv6:::ffff:210.130.0.20]:11219 "EHLO
	mo03.iij4u.or.jp") by linux-mips.org with ESMTP id <S8225274AbTL3RK3>;
	Tue, 30 Dec 2003 17:10:29 +0000
Received: from mdo00.iij4u.or.jp (mdo00.iij4u.or.jp [210.130.0.170])
	by mo03.iij4u.or.jp (8.8.8/MFO1.5) with ESMTP id CAA03036;
	Wed, 31 Dec 2003 02:10:24 +0900 (JST)
Received: 4UMDO00 id hBUHANN24530; Wed, 31 Dec 2003 02:10:23 +0900 (JST)
Received: 4UMRO01 id hBUHANf05815; Wed, 31 Dec 2003 02:10:23 +0900 (JST)
	from stratos.frog (64.43.138.210.xn.2iij.net [210.138.43.64]) (authenticated)
Date: Wed, 31 Dec 2003 02:10:18 +0900
From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
To: Dimitri Torfs <dimitri@sonycom.com>
Cc: yuasa@hh.iij4u.or.jp, linux-mips@linux-mips.org
Subject: Re: supported systems running on 2.6 ?
Message-Id: <20031231021018.224b6c20.yuasa@hh.iij4u.or.jp>
In-Reply-To: <20031230154336.GA10535@sonycom.com>
References: <20031230144904.GA10358@sonycom.com>
	<20031231001701.4c43637b.yuasa@hh.iij4u.or.jp>
	<20031230154336.GA10535@sonycom.com>
X-Mailer: Sylpheed version 0.9.8a (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yuasa@hh.iij4u.or.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3858
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yuasa@hh.iij4u.or.jp
Precedence: bulk
X-list: linux-mips

On Tue, 30 Dec 2003 16:43:36 +0100
Dimitri Torfs <dimitri@sonycom.com> wrote:

> On Wed, Dec 31, 2003 at 12:17:01AM +0900, Yoichi Yuasa wrote:
> > On Tue, 30 Dec 2003 15:49:04 +0100
> > Dimitri Torfs <dimitri@sonycom.com> wrote:
> > 
> > > Hi,
> > > 
> > >   are there already MIPS systems running on 2.6.0 ? If so, which ones
> > >   ? I'm currently porting a VR41xx based configuration from 2.4.24 to
> > >   2.6.0: boot sequence seems to be OK, but the init process doesn't
> > >   come up (it looks like its not properly laid out in memory, thus
> > >   continuously generating exceptions (do_signal()) ...). Is it too
> > >   soon to expect it to work ?
> > 
> > Which Vr41xx's configuration did you use?
> 
> None of the default ones in the tree, it's not a board listed in the
> configs (the board has a VR4120A and a VR4131 cpu). I'm currently
> using a configuration with CONFIG_EMBEDDED_RAMDISK set and
> CONFIG_MACH_VR41XX. 
> 
> Is there a working config with a VR41xx on 2.6.0 ? It would surprise
> me since I had to do some fixes for the VR41xx series (for some I
> already sent a patch) which seem to indicate the VR41xx specifics have
> not yet been actively looked at for 2.6.0 (although I know you
> have been submitting patches for the Vr41xx).

About 2.6 of linux-mips, development progressed quickly
several of these months.

Therefore, we are not completing Vr41xx about 2.6.

Yoichi

From dimitri@sonycom.com Tue Dec 30 20:24:32 2003
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 30 Dec 2003 20:24:33 +0000 (GMT)
Received: from witte.sonytel.be ([IPv6:::ffff:80.88.33.193]:31881 "EHLO
	witte.sonytel.be") by linux-mips.org with ESMTP id <S8225279AbTL3UYc>;
	Tue, 30 Dec 2003 20:24:32 +0000
Received: from teasel.sonytel.be (localhost [127.0.0.1])
	by witte.sonytel.be (8.12.10/8.12.10) with ESMTP id hBUKOTQF025990;
	Tue, 30 Dec 2003 21:24:29 +0100 (MET)
Received: (from dimitri@localhost)
	by teasel.sonytel.be (8.9.3+Sun/8.9.3) id VAA11136;
	Tue, 30 Dec 2003 21:24:29 +0100 (MET)
Date: Tue, 30 Dec 2003 21:24:29 +0100
From: Dimitri Torfs <dimitri@sonycom.com>
To: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Subject: [PATCH][2.6] VR41xx pte fix and VR413x cpu-probe fix
Message-ID: <20031230202429.GA11117@sonycom.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
Return-Path: <dimitri@sonycom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 3859
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dimitri@sonycom.com
Precedence: bulk
X-list: linux-mips

Hi,

  here are two patches related to the VR41xx series. The first patch
  fixes the pte calculation (pte_pfn and pfn_pte) for VR41xx. Second
  patch fixes the cpu detection for the VR413x cpu's (missing break).


--- linux-mips-2.6.orig/include/asm-mips/pgtable-32.h	2003-10-19 02:50:11.000000000 +0200
+++ linux.work/include/asm-mips/pgtable-32.h	2003-12-30 20:36:19.000000000 +0100
@@ -131,8 +131,15 @@
 static inline void pgd_clear(pgd_t *pgdp)	{ }
 
 #define pte_page(x)		pfn_to_page(pte_pfn(x))
+
+
+#ifdef CONFIG_CPU_VR41XX
+#define pte_pfn(x)		((unsigned long)((x).pte >> (PAGE_SHIFT + 2)))
+#define pfn_pte(pfn, prot)	__pte(((pfn) << (PAGE_SHIFT + 2)) | pgprot_val(prot))
+#else
 #define pte_pfn(x)		((unsigned long)((x).pte >> PAGE_SHIFT))
 #define pfn_pte(pfn, prot)	__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
+#endif
 
 #if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)
 

  
--- linux-mips-2.6.orig/arch/mips/kernel/cpu-probe.c	2003-12-11 03:05:21.000000000 +0100
+++ linux.work/arch/mips/kernel/cpu-probe.c	2003-12-29 13:12:35.000000000 +0100
@@ -228,6 +228,7 @@
 				c->cputype = CPU_VR4131;
 			else
 				c->cputype = CPU_VR4133;
+			break;
 		default:
 			printk(KERN_INFO "Unexpected CPU of NEC VR4100 series\n");
 				c->cputype = CPU_VR41XX;


  

  Dimitri


-- 
Dimitri Torfs             |  NSCE 
dimitri.torfs@sonycom.com |  Sint Stevens Woluwestraat 55
tel: +32 2 2908451        |  1130 Brussel
fax: +32 2 7262686        |  Belgium


