# CONFIG_64BIT is not set
# CONFIG_64BIT_PHYS_ADDR is not set
# CONFIG_8139TOO is not set
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
# CONFIG_ATM is not set
# CONFIG_AX25 is not set
# CONFIG_B44 is not set
CONFIG_BASE_SMALL=0
+CONFIG_BITREVERSE=y
CONFIG_BLK_DEV_CF_MIPS=y
# CONFIG_BT is not set
# CONFIG_CPU_BIG_ENDIAN is not set
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_EXT2_FS=y
-# CONFIG_FIRMWARE_EDID is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
# CONFIG_GEN_RTC is not set
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
CONFIG_HZ=100
CONFIG_IRQ_CPU=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_KORINA=y
-# CONFIG_LAN_SAA9730 is not set
# CONFIG_MACH_DECSTATION is not set
# CONFIG_MACH_JAZZ is not set
# CONFIG_MACH_VR41XX is not set
# CONFIG_MOMENCO_OCELOT_G is not set
CONFIG_MTD=y
# CONFIG_MTD_ABSENT is not set
+CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_BLOCK2MTD=y
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_SLRAM is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
+CONFIG_NET_SCH_FIFO=y
# CONFIG_NET_VENDOR_3COM is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CT_ACCT=y
+# CONFIG_NF_NAT_AMANDA is not set
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_NEEDED=y
+# CONFIG_NF_NAT_PPTP is not set
+CONFIG_NF_NAT_SIP=m
+# CONFIG_NF_NAT_TFTP is not set
# CONFIG_PAGE_SIZE_16KB is not set
CONFIG_PAGE_SIZE_4KB=y
# CONFIG_PAGE_SIZE_64KB is not set
# CONFIG_PAGE_SIZE_8KB is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_PNPACPI is not set
# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_V2PCI is not set
+# CONFIG_PNX8550_STB810 is not set
# CONFIG_RTC is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_SOUND is not set
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SWAP_IO_SPACE=y
+CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y
CONFIG_YAFFS_YAFFS1=y
CONFIG_YAFFS_YAFFS2=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA_FLAG=1
diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
--- linux.old/arch/mips/Kconfig 2006-11-29 22:57:37.000000000 +0100
+++ linux.dev/arch/mips/Kconfig 2006-12-14 04:09:50.000000000 +0100
-@@ -728,6 +728,19 @@
+@@ -780,6 +780,19 @@
select SYS_SUPPORTS_BIG_ENDIAN
select TOSHIBA_BOARDS
config TOSHIBA_RBTX4927
bool "Toshiba TBTX49[23]7 board"
select DMA_NONCOHERENT
-@@ -1015,7 +1028,7 @@
+@@ -1106,7 +1119,7 @@
config MIPS_L1_CACHE_SHIFT
int
-- default "4" if MACH_DECSTATION
-+ default "4" if MACH_DECSTATION || MIKROTIK_RB500
+- default "4" if MACH_DECSTATION || SNI_RM
++ default "4" if MACH_DECSTATION || SNI_RM || MIKROTIK_RB500
default "7" if SGI_IP27
default "5"
--- linux.old/drivers/net/via-rhine.c 2006-11-29 22:57:37.000000000 +0100
+++ linux.dev/drivers/net/via-rhine.c 2006-12-14 03:39:01.000000000 +0100
@@ -33,6 +33,7 @@
- #define DRV_VERSION "1.4.2"
- #define DRV_RELDATE "Sept-11-2006"
+ #define DRV_VERSION "1.4.3"
+ #define DRV_RELDATE "2007-03-06"
+#define PKT_ALIGN 1
#include <asm/irq.h>
#include <asm/uaccess.h>
+#include <asm/unaligned.h>
+ #include <linux/dmi.h>
/* These identify the driver base version and may not be removed. */
- static char version[] __devinitdata =
-@@ -123,12 +127,14 @@
+@@ -124,12 +128,14 @@
module_param(max_interrupt_work, int, 0);
module_param(debug, int, 0);
/*
Theory of Operation
-@@ -923,7 +929,7 @@
+@@ -924,7 +930,7 @@
/* Fill in the Rx buffers. Handle allocation failure gracefully. */
for (i = 0; i < RX_RING_SIZE; i++) {
rp->rx_skbuff[i] = skb;
if (skb == NULL)
break;
-@@ -1481,6 +1487,9 @@
+@@ -1482,6 +1488,9 @@
/* Length should omit the CRC */
int pkt_len = data_size - 4;
/* Check if the packet is long enough to accept without
copying to a minimally-sized skbuff. */
if (pkt_len < rx_copybreak &&
-@@ -1500,7 +1509,9 @@
+@@ -1501,7 +1510,9 @@
rp->rx_skbuff_dma[entry],
rp->rx_buf_sz,
PCI_DMA_FROMDEVICE);
skb = rp->rx_skbuff[entry];
if (skb == NULL) {
printk(KERN_ERR "%s: Inconsistent Rx "
-@@ -1514,6 +1525,14 @@
+@@ -1515,6 +1526,14 @@
rp->rx_skbuff_dma[entry],
rp->rx_buf_sz,
PCI_DMA_FROMDEVICE);
}
skb->protocol = eth_type_trans(skb, dev);
#ifdef CONFIG_VIA_RHINE_NAPI
+