diff --git a/arch/mips/onstor/cougar/prom.c b/arch/mips/onstor/cougar/prom.c
index 0556ed0..5664327 100644
--- a/arch/mips/onstor/cougar/prom.c
+++ b/arch/mips/onstor/cougar/prom.c
@@ -83,10 +83,10 @@ static __init void prom_meminit(void)
 	add_memory_region(initrd_pend, 0x10000000UL - initrd_pend, BOOT_MEM_RAM);
 
 #else
-	add_memory_region(0x0UL, COUGAR_PROM_SZ, BOOT_MEM_ROM_DATA);
-	add_memory_region(COUGAR_PROM_SZ, 0x10000000UL - COUGAR_PROM_SZ,
-		BOOT_MEM_RAM);
-	//add_memory_region(0x0UL, 0x10000000UL, BOOT_MEM_RAM);
+	//add_memory_region(0x0UL, COUGAR_PROM_SZ, BOOT_MEM_ROM_DATA);
+	//add_memory_region(COUGAR_PROM_SZ, 0x10000000UL - COUGAR_PROM_SZ,
+		//BOOT_MEM_RAM);
+	add_memory_region(0x0UL, 0x10000000UL, BOOT_MEM_RAM);
 
 #endif
 
@@ -97,8 +97,8 @@ static __init void prom_meminit(void)
 	/*
 	 * shared memory for communicating with phantoms
 	 */
-	add_memory_region(SHARED_MEM_START, SHARED_MEM_SIZE, BOOT_MEM_RESERVED);
-	mcpu_shared_memory = ioremap(SHARED_MEM_START, SHARED_MEM_SIZE);
+	add_memory_region(MY_SHARED_MEM, SHARED_MEM_MGMT_SIZE, BOOT_MEM_RESERVED);
+	mcpu_shared_memory = ioremap(MY_SHARED_MEM, SHARED_MEM_MGMT_SIZE);
 }
 
 void prom_cpu0_exit(void *unused)
diff --git a/arch/mips/onstor/tuxrx/prom.c b/arch/mips/onstor/tuxrx/prom.c
index 2b41bea..ad0fcda 100644
--- a/arch/mips/onstor/tuxrx/prom.c
+++ b/arch/mips/onstor/tuxrx/prom.c
@@ -87,12 +87,12 @@ prom_meminit(void)
 	 */
 	add_memory_region(TUXRX_RAM2_START, TUXRX_RAM2_SZ, BOOT_MEM_RAM);
 	add_memory_region(TUXRX_RAM3_START, TUXRX_RAM3_SZ, BOOT_MEM_RAM);
-	add_memory_region(TUXRX_RAM4_START, TUXRX_RAM4_SZ, BOOT_MEM_RAM);
+	add_memory_region(TUXRX_RAM4_START, TUXRX_RAM4_SIZE, BOOT_MEM_RAM);
+	add_memory_region(TUXRX_RAM4_HOLE_START, TUXRX_RAM4_HOLE_SZ, BOOT_MEM_RAM);
+	add_memory_region(TUXRX_RAM5_START, TUXRX_RAM5_SZ, BOOT_MEM_RAM);
 	/*
 	 * shared memory for communicating with phantoms
 	 */
-	//add_memory_region(0x8f000000UL, 0x1000000UL, BOOT_MEM_RESERVED);
-	//mcpu_shared_memory = ioremap(0x8f000000UL, 0x1000000UL);
 }
 
 void
diff --git a/arch/mips/onstor/tuxrx/setup.c b/arch/mips/onstor/tuxrx/setup.c
index 92db497..8c1fe12 100644
--- a/arch/mips/onstor/tuxrx/setup.c
+++ b/arch/mips/onstor/tuxrx/setup.c
@@ -86,6 +86,14 @@ cougar_be_handler(struct pt_regs *regs, int is_fixup)
 }
 
 #ifdef CONFIG_SMP
+
+static struct resource rez = {
+	.start = SHARED_MEM_MGMT,
+	.end   = SHARED_MEM_MGMT + SHARED_MEM_MGMT_SIZE - 1,
+	.name  = "TuxRx Management Bus SharedMem",
+	.flags = IORESOURCE_MEM | IORESOURCE_BUSY,
+};
+
 /*
  * Assume cpus are already set up by whatever prom is in the system.
  * Set up phys_cpu_present_map and the logical/physical mappings.
@@ -113,7 +121,7 @@ plat_smp_setup(void)
 	 * special sauce for reserving memory chunk for sharing with
 	 * SSC and FP
 	 */
-	reserve_bootmem(SHARED_MEM_START, SHARED_MEM_MGMT_SIZE);
+	reserve_bootmem(SHARED_MEM_MGMT, SHARED_MEM_MGMT_SIZE);
 }
 #endif
 
diff --git a/arch/mips/pci/fixup-tuxrx.c b/arch/mips/pci/fixup-tuxrx.c
index 96ab7bf..c26d092 100644
--- a/arch/mips/pci/fixup-tuxrx.c
+++ b/arch/mips/pci/fixup-tuxrx.c
@@ -64,7 +64,7 @@ tuxrx_pci_program_shared_mem_config(struct pci_dev *dev)
 	       dev->vendor, dev->device, dev->bus->number);
 
 	cfg_space = ioremap(A_BCM1480_PHYS_PCI_CFG_MATCH_BITS, 16*1024*1024);
-	addr = SHARED_MEM_START;
+	addr = SHARED_MEM_MGMT;
 
 	printk(KERN_INFO "%s: cfg_space 0x%p, addr 0x%p\n",
 	       __func__, cfg_space, (void *)addr);
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 2958bab..174fd41 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -84,6 +84,6 @@ source "drivers/auxdisplay/Kconfig"
 
 source "drivers/kvm/Kconfig"
 
-source "drivers/ssc-mgmt-bus/Kconfig"
+source "drivers/mgmt-bus/Kconfig"
 
 endmenu
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index f68741e..c282f22 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -3,7 +3,7 @@
  *
  *  Copyright (C) 1991, 1992  Linus Torvalds
  *
- *  Added devfs support. 
+ *  Added devfs support.
  *    Jan-11-1998, C. Scott Ananian <cananian@alumni.princeton.edu>
  *  Shared /dev/zero mmaping support, Feb 2000, Kanoj Sarcar <kanoj@sgi.com>
  */
@@ -869,10 +869,13 @@ static int open_port(struct inode * inode, struct file * filp)
 
 #if defined(CONFIG_ONSTOR_COUGAR) || defined(CONFIG_ONSTOR_BOBCAT)
 
+#define IS_ALIGNED(x, v) \
+	(((unsigned long)(x) & ~((v) - 1)) == (unsigned long)(x))
+
 static inline void *
-xlate_dev_mipsphys_ptr(void *addr)
+xlate_dev_mipsphys_ptr(loff_t addr)
 {
-	return IO_BASE + addr;
+	return (void *)(IO_BASE + addr);
 }
 
 static ssize_t read_mipsphys(struct file * file, char __user * buf,
@@ -885,17 +888,17 @@ static ssize_t read_mipsphys(struct file * file, char __user * buf,
 
 	switch (count) {
 	case 1:
-		val8 = *(uint8_t *)xlate_dev_mipsphys_ptr((void *)p);
+		val8 = *(uint8_t *)xlate_dev_mipsphys_ptr(p);
 		if (copy_to_user(buf, &val8, count))
 			return -EFAULT;
 		break;
 	case 4:
-		val32 = *(uint32_t *)xlate_dev_mipsphys_ptr((void *)p);
+		val32 = *(uint32_t *)xlate_dev_mipsphys_ptr(p);
 		if (copy_to_user(buf, &val32, count))
 			return -EFAULT;
 		break;
 	case 8:
-		val64 = *(uint64_t *)xlate_dev_mipsphys_ptr((void *)p);
+		val64 = *(uint64_t *)xlate_dev_mipsphys_ptr(p);
 		if (copy_to_user(buf, &val64, count))
 			return -EFAULT;
 		break;
@@ -910,33 +913,84 @@ static ssize_t read_mipsphys(struct file * file, char __user * buf,
 static ssize_t write_mipsphys(struct file * file, const char __user * buf,
 			      size_t count, loff_t *ppos)
 {
-	unsigned long p = *ppos;
 	uint64_t val64;
+	uint64_t *saddr64;
 	uint32_t val32;
-	uint8_t val8;
+	uint32_t *saddr32;
+	size_t x;
+	size_t n;
 
-	switch (count) {
-	case 1:
-		if (copy_from_user(&val8, buf, count))
-			return -EFAULT;
-		*(uint8_t *)xlate_dev_mipsphys_ptr((void *)p) = val8;
-		break;
-	case 4:
-		if (copy_from_user(&val32, buf, count))
-			return -EFAULT;
-		*(uint32_t *)xlate_dev_mipsphys_ptr((void *)p) = val32;
-		break;
-	case 8:
-		if (copy_from_user(&val64, buf, count))
-			return -EFAULT;
-		*(uint64_t *)xlate_dev_mipsphys_ptr((void *)p) = val64;
+	n = count;
+	x = 0;
+
+	while (n) {
+		switch (n) {
+		case 1:
+		case 2:
+		case 3:
+			if (copy_from_user(&val32, &buf[x], n)) {
+				goto fault_return;
+			}
+			/*
+			 * we're done with buf, so reuse x
+			 */
+			for (x = 0; x < n; x++) {
+				uint8_t *d = (uint8_t *)xlate_dev_mipsphys_ptr(*ppos);
+
+				d[x] = ((uint8_t *)&val32)[x];
+			}
+			*ppos += x;
+			break;
+		case 4:
+		case 5:
+		case 6:
+		case 7:
+			/*
+			 * check that alignment restrictions are met
+			 */
+			if (!IS_ALIGNED(*ppos, 4) || !IS_ALIGNED(&buf[x], 4)) {
+				goto inval_return;
+			}
+			saddr32 = (uint32_t *)&buf[x];
+			if (get_user(val32, saddr32)) {
+				goto fault_return;
+			}
+			*(uint32_t *)xlate_dev_mipsphys_ptr(*ppos) = val32;
+			n -= 4;
+			*ppos += 4;
+			x += 4;
+			continue;
+		default:
+			/*
+			 * check that alignment restrictions are met
+			 */
+			if (!IS_ALIGNED(*ppos, 8) || !IS_ALIGNED(&buf[x], 8)) {
+				goto inval_return;
+			}
+			saddr64 = (uint64_t *)&buf[x];
+			if (get_user(val64, saddr64)) {
+				goto fault_return;
+			}
+			*(uint64_t *)xlate_dev_mipsphys_ptr(*ppos) = val64;
+			n -= 8;
+			*ppos += 8;
+			x += 8;
+			continue;
+		}
 		break;
-	default:
-		return -EINVAL;
 	}
 
-	*ppos += count;
 	return count;
+
+fault_return:
+	printk(KERN_ERR "%s: memory fault at %p\n", __func__, (void *)*ppos);
+	return -EFAULT;
+
+inval_return:
+	printk(KERN_WARNING "One of these: %#llx/%p is not aligned\n",
+		*ppos, &buf[x]);
+	return -EINVAL;
+
 }
 
 #endif
diff --git a/drivers/mgmt-bus/mgmt-bus.c b/drivers/mgmt-bus/mgmt-bus.c
index 3838284..0a00e16 100644
--- a/drivers/mgmt-bus/mgmt-bus.c
+++ b/drivers/mgmt-bus/mgmt-bus.c
@@ -139,7 +139,14 @@
  * CONFIG_ONSTOR_COUGAR ONLY
  */
 #include <asm/io.h>
-#include <asm/mach-cougar/cougar.h>
+
+#ifdef CONFIG_ONSTOR_TUXRX
+# include <asm/mach-tuxrx/tuxrx.h>
+#elif defined(CONFIG_ONSTOR_COUGAR)
+# include <asm/mach-cougar/cougar.h>
+#elif defined(CONFIG_ONSTOR_BOBCAT)
+# include <asm/mach-bobcat/bobcat.h>
+#endif
 
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
 #include <asm/sibyte/bcm1480_regs.h>
@@ -209,13 +216,11 @@
 /* define MGMTBUS_DEBUG 1 */
 
 #ifdef MGMTBUS_DEBUG
-#define MGMTBUS_PRINTK(x) printk x
+#define MGMTBUS_PRINTK(fmt, ...) printk("%s: " fmt "\n", __func__, ##__VA_ARGS__)
 #else
-#define MGMTBUS_PRINTK(x)
+#define MGMTBUS_PRINTK(fmt, ...)
 #endif /* MGMTBUS_DEBUG */
 
-#define MGMTBUS_PRINTK_X(x)
-
 /*
  * Device Driver software context.
  */
@@ -316,23 +321,10 @@ struct net_device mgmtbus_dev = {
 #define MGMTBUS_ALIGN(addr) ALIGN(addr, MGMTBUS_ALIGNMENT)
 
 /*
- * Physical start of PCI space, different on SSC versus TxRx
- */
-#if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
-/*
- * On TxRx PCI Physical Address'es start at following address on Linux
- */
-#define PCI_PHYS_START 0x1000000000UL
-#else
-#define PCI_PHYS_START 0xF800000000UL
-#endif /* CONFIG_SIBYTE_BCM1x55 || CONFIG_SIBYTE_BCM1x80 */
-
-/*
  * On TxRx Linux this PCI Share Memory(16 MB) area is mapped to
  * the following Physical Address of local memory.
  */
 #define TXRX_PCI_PHY_START 0x1F0000000UL
-#define TXRX_PCI_PHY_SIZE     0x800000UL
 
 /*
  * Offsets of the CPUs memory in the PCI space.
@@ -366,31 +358,31 @@ mgmtbus_phys_to_virt(unsigned long phys)
     if (MGMTBUS_SSC_BASE_ADDR <= phys &&
                 phys < MGMTBUS_SSC_BASE_ADDR + SHARED_MEM_MGMT_SIZE) {
 
-            virt_addr = (void *)(Mgmtbus_softc.ssc_pci_virt + ((phys) - MGMTBUS_SSC_BASE_ADDR));
-	    MGMTBUS_PRINTK_X(("%s: SSC BASE_ADDR: phys 0x%p, virtual 0x%p\n",
-		__FUNCTION__, (void *)phys, virt_addr));
+		virt_addr = (void *)(Mgmtbus_softc.ssc_pci_virt + ((phys) -
+			MGMTBUS_SSC_BASE_ADDR));
+
+	    MGMTBUS_PRINTK("SSC BASE_ADDR: phys 0x%p, virtual 0x%p", (void *)phys,
+			virt_addr);
 
     } else if (Mgmtbus_softc.ssc_pci_base <= phys &&
                phys < Mgmtbus_softc.ssc_pci_base + SHARED_MEM_MGMT_SIZE) {
 
             virt_addr = (void *)(Mgmtbus_softc.ssc_pci_virt +
 				 (phys - Mgmtbus_softc.ssc_pci_base));
-	    MGMTBUS_PRINTK_X(("%s: SSC ssc_pci_base: phys 0x%p, virtual 0x%p\n",
-		__FUNCTION__, (void *)phys, virt_addr));
+	    MGMTBUS_PRINTK("SSC ssc_pci_base: phys 0x%p, virtual 0x%p",
+			(void *)phys, virt_addr);
 
     } else if (Mgmtbus_softc.txrx_pci_base <= phys &&
                phys < Mgmtbus_softc.txrx_pci_base + SHARED_MEM_MGMT_SIZE) {
             virt_addr = (void *)(Mgmtbus_softc.txrx_pci_virt +
 				 (phys - Mgmtbus_softc.txrx_pci_base));
-	    MGMTBUS_PRINTK_X(("%s: TXRX phys 0x%p, virtual 0x%p\n",
-		__FUNCTION__, (void *)phys, virt_addr));
+	    MGMTBUS_PRINTK("TXRX phys 0x%p, virtual 0x%p", (void *)phys, virt_addr);
 
     } else if (Mgmtbus_softc.fp_pci_base <= phys &&
                phys < Mgmtbus_softc.fp_pci_base + SHARED_MEM_MGMT_SIZE) {
              virt_addr = (void *)(Mgmtbus_softc.fp_pci_virt +
 				  (phys - Mgmtbus_softc.fp_pci_base));
-	    MGMTBUS_PRINTK_X(("%s: FP phys 0x%p, virtual 0x%p\n",
-		__FUNCTION__, (void *)phys, virt_addr));
+	    MGMTBUS_PRINTK("FP phys 0x%p, virtual 0x%p", (void *)phys, virt_addr);
     } else {
 		struct pt_regs *regs = get_irq_regs();
 
@@ -560,9 +552,7 @@ initConfigTable(void)
     mgmtbus_dumpRingConfig(t);
 #endif /* MGMTBUS_DEBUG */
 
-    MGMTBUS_PRINTK(("%s: initRingTable START: txrx_addr 0x%p\n",
-		    __FUNCTION__,
-		    (void *)txrx_addr));
+    MGMTBUS_PRINTK("initRingTable START: txrx_addr 0x%p", (void *)txrx_addr);
     /*
      * Set AVAILABLE addresses for TxRx Entries as src index
      */
@@ -614,9 +604,7 @@ initConfigTable(void)
     t->table[MGMTBUS_ADDR_FC][MGMTBUS_ADDR_TXRX].used_ring_address = txrx_addr;
     txrx_addr += MGMTBUS_RING_SIZE(MGMTBUS_FC_2_TXRX_RING_SIZE);
 
-    MGMTBUS_PRINTK(("%s: initRingTable END: txrx_addr 0x%p\n",
-		    __FUNCTION__,
-		    (void *)txrx_addr));
+    MGMTBUS_PRINTK("initRingTable END: txrx_addr 0x%p", (void *)txrx_addr);
 
     Mgmtbus_softc.txrx_pci_next_virt_avail = txrx_addr;
 #else
@@ -709,7 +697,7 @@ initDescriptorRingsOnTxRx(void)
      * processor and the 'used_ring_address' is set by dst processor.
      * The destination processor initializes the ring table[src][dst]
      * entries when it starts.
-     * 'src' processor initializes ring_table[src][dst].avail_ring_address 
+     * 'src' processor initializes ring_table[src][dst].avail_ring_address
      * 'dst' processor initializes ring_table[src][dst].used_ring_address
      *
      * Set txrx_addr to the starting address of the TXRX message buffers.
@@ -723,9 +711,8 @@ initDescriptorRingsOnTxRx(void)
      */
     txrx_addr = Mgmtbus_softc.txrx_pci_next_virt_avail;
 
-    MGMTBUS_PRINTK(("%s: ENTRY; ring_config 0x%p, txrx 0x%p\n",
-		    __FUNCTION__,
-		    (void *)t, (void *)txrx_addr));
+    MGMTBUS_PRINTK("ENTRY; ring_config 0x%p, txrx 0x%p", (void *)t,
+		(void *)txrx_addr);
 
     // Following should have been set in initConfig when TXRX runs, prior to calling us
     // tx_avail_ring = t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].avail_ring_address;
@@ -733,17 +720,16 @@ initDescriptorRingsOnTxRx(void)
     // Following should have been set in initConfig when SSC runs, prior to calling us
     // tx_used_ring =  t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].used_ring_address;
 
-    MGMTBUS_PRINTK(("%s: t->table[TXRX][SSC].avail(tx_avail_ring) Phys: 0x%x, Used(tx_used_ring) Phys 0x%x\n",
-		__FUNCTION__,
+    MGMTBUS_PRINTK("t->table[TXRX][SSC].avail(tx_avail_ring) "
+		"Phys: 0x%x, Used(tx_used_ring) Phys 0x%x",
 		t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].avail_ring_address,
-		t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].used_ring_address));
+		t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].used_ring_address);
 
-    rx_avail_ring_phy = t->table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX].avail_ring_address; 
+    rx_avail_ring_phy = t->table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX].avail_ring_address;
     rx_avail_ring_virt = mgmtbus_phys_to_virt(rx_avail_ring_phy);
 
-    MGMTBUS_PRINTK(("%s: t->table[SSC][TXRX].avail_ring_addr(rx_avail) <Phys: 0x%x, Virt: 0x%p>\n",
-		__FUNCTION__,
-		rx_avail_ring_phy, rx_avail_ring_virt));
+    MGMTBUS_PRINTK("t->table[SSC][TXRX].avail_ring_addr(rx_avail) "
+		"<Phys: 0x%x, Virt: 0x%p>", rx_avail_ring_phy, rx_avail_ring_virt);
 
     /*
      * t->table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX].used_ring_address
@@ -752,10 +738,8 @@ initDescriptorRingsOnTxRx(void)
     rx_used_ring_phy = t->table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX].used_ring_address;
     rx_used_ring_virt = mgmtbus_phys_to_virt(rx_used_ring_phy);
 
-    MGMTBUS_PRINTK(("%s: t->table[SSC][TXRX].used_ring_addr(rx_used) <Phys: 0x%x, Virt: 0x%p>\n",
-		__FUNCTION__,
-		rx_used_ring_phy,
-		rx_used_ring_virt));
+    MGMTBUS_PRINTK("t->table[SSC][TXRX].used_ring_addr(rx_used) "
+		"<Phys: 0x%x, Virt: 0x%p>\n", rx_used_ring_phy, rx_used_ring_virt);
 
     rx_used_ring_virt->next_index = 0;
     /*
@@ -766,42 +750,39 @@ initDescriptorRingsOnTxRx(void)
      * t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].ring_size
      * is set in initConfigTable()
      */
-    MGMTBUS_PRINTK(("%s: INIT USED DESC; t->table[TXRX][SSC].ring_size 0x%x\n",
-		__FUNCTION__,
-		t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].ring_size));
+    MGMTBUS_PRINTK("INIT USED DESC; t->table[TXRX][SSC].ring_size 0x%x",
+		t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].ring_size);
 
     rx_used_ring_virt->ring_size = ring_size = t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].ring_size;
 
     for (i = 0; i < ring_size; i++) {
-	rx_used_ring_virt->ring[i].flags = 0;
-	rx_used_ring_virt->ring[i].index = i;
-	rx_used_ring_virt->ring[i].size = MGMTBUS_MTU;
-	rx_used_ring_virt->ring[i].address = txrx_addr;
-
-	rx_avail_ring_virt->ring[i].flags = 0;
-	rx_avail_ring_virt->ring[i].index = i;
-	rx_avail_ring_virt->ring[i].size = MGMTBUS_MTU;
-	rx_avail_ring_virt->ring[i].address = txrx_addr;
-        txrx_addr += MGMTBUS_MTU;
+		rx_used_ring_virt->ring[i].flags = 0;
+		rx_used_ring_virt->ring[i].index = i;
+		rx_used_ring_virt->ring[i].size = MGMTBUS_MTU;
+		rx_used_ring_virt->ring[i].address = txrx_addr;
+
+		rx_avail_ring_virt->ring[i].flags = 0;
+		rx_avail_ring_virt->ring[i].index = i;
+		rx_avail_ring_virt->ring[i].size = MGMTBUS_MTU;
+		rx_avail_ring_virt->ring[i].address = txrx_addr;
+		txrx_addr += MGMTBUS_MTU;
     }
 
 #ifdef MGMTBUS_DEBUG
     for (i = 0; i < 4; i++) {
-    MGMTBUS_PRINTK(("%s: rx_used_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x\n",
-		__FUNCTION__,
+		MGMTBUS_PRINTK("rx_used_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x",
 		i,
 		&(rx_used_ring_virt->ring[i]),
 		rx_used_ring_virt->ring[i].index,
 		rx_used_ring_virt->ring[i].size,
-		rx_used_ring_virt->ring[i].address));
+		rx_used_ring_virt->ring[i].address);
 
-    MGMTBUS_PRINTK(("%s: rx_avail_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x\n",
-		__FUNCTION__,
+    MGMTBUS_PRINTK("rx_avail_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x",
 		i,
 		&(rx_avail_ring_virt->ring[i]),
 		rx_avail_ring_virt->ring[i].index,
 		rx_avail_ring_virt->ring[i].size,
-		rx_avail_ring_virt->ring[i].address));
+		rx_avail_ring_virt->ring[i].address);
     }
 #endif /* MGMTBUS_DEBUG */
 
@@ -827,39 +808,35 @@ initDescriptorRingsOnTxRx(void)
 
     tx_avail_ring_virt->ring_size = ring_size = t->table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC].ring_size;
 
-    MGMTBUS_PRINTK(("%s: TXRX INIT AVAIL DESC, t->table[TXRX][SSC].avail virt 0x%p, phy 0x%x, ring_size 0x%x\n",
-		__FUNCTION__,
-		tx_avail_ring_virt, tx_avail_ring_phy, ring_size));
+    MGMTBUS_PRINTK("TXRX INIT AVAIL DESC, t->table[TXRX][SSC].avail virt 0x%p, phy 0x%x, ring_size 0x%x",
+		tx_avail_ring_virt, tx_avail_ring_phy, ring_size);
 
-    MGMTBUS_PRINTK(("%s: TXRX INIT AVAIL DESC, SSC Used; t->table[TXRX][SSC].used virt 0x%p, phy 0x%x\n",
-		__FUNCTION__,
+    MGMTBUS_PRINTK("TXRX INIT AVAIL DESC, SSC Used; t->table[TXRX][SSC].used virt 0x%p, phy 0x%x",
 		rx_used_ring_virt,
-		rx_used_ring_phy));
+		rx_used_ring_phy);
 
     for (i = 0; i < ring_size; i++) {
-	tx_avail_ring_virt->ring[i].flags = 0;
-	tx_avail_ring_virt->ring[i].index = i;
-	tx_avail_ring_virt->ring[i].size = MGMTBUS_MTU;
-	tx_avail_ring_virt->ring[i].address = rx_used_ring_virt->ring[i].address;
+		tx_avail_ring_virt->ring[i].flags = 0;
+		tx_avail_ring_virt->ring[i].index = i;
+		tx_avail_ring_virt->ring[i].size = MGMTBUS_MTU;
+		tx_avail_ring_virt->ring[i].address = rx_used_ring_virt->ring[i].address;
     }
 
 #ifdef MGMTBUS_DEBUG
     for (i = 0; i < 4; i++) {
-    MGMTBUS_PRINTK(("%s: SSC Set; rx_used_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x\n",
-		__FUNCTION__,
+    MGMTBUS_PRINTK("SSC Set; rx_used_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x",
 		i,
 		&(rx_used_ring_virt->ring[i]),
 		rx_used_ring_virt->ring[i].index,
 		rx_used_ring_virt->ring[i].size,
-		rx_used_ring_virt->ring[i].address));
+		rx_used_ring_virt->ring[i].address);
 
-    MGMTBUS_PRINTK(("%s: TXRX Set; tx_avail_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x\n",
-		__FUNCTION__,
+    MGMTBUS_PRINTK("TXRX Set; tx_avail_ring_virt->ring[%d] 0x%p, index %d, size %d, address Phys: 0x%x",
 		i,
 		&(tx_avail_ring_virt->ring[i]),
 		tx_avail_ring_virt->ring[i].index,
 		tx_avail_ring_virt->ring[i].size,
-		tx_avail_ring_virt->ring[i].address));
+		tx_avail_ring_virt->ring[i].address);
     }
 #endif /* MGMTBUS_DEBUG */
 
@@ -869,8 +846,8 @@ initDescriptorRingsOnTxRx(void)
     /* Save next available txrx buffer address */
     Mgmtbus_softc.txrx_pci_next_virt_avail = txrx_addr;
 
-    MGMTBUS_PRINTK(("%s: RingConfig 0x%p, END Ring Init: phy txrx_addr 0x%p\n",
-		    __FUNCTION__, (void *)t, (void *)txrx_addr));
+	MGMTBUS_PRINTK("RingConfig 0x%p, END Ring Init: phy txrx_addr 0x%p",
+		(void *)t, (void *)txrx_addr);
 
     mgmtbus_dumpRingConfig(t);
     return;
@@ -908,9 +885,7 @@ initDescriptorRingsOnSSC(void)
     mgmtbus_addr_index = MGMTBUS_ADDR_SSC;
     ssc_addr = Mgmtbus_softc.ssc_pci_next_virt_avail;
 
-    MGMTBUS_PRINTK(("%s: ring_config 0x%p, ssc 0x%p\n",
-		    __FUNCTION__,
-		    (void *)t, (void *)ssc_addr));
+    MGMTBUS_PRINTK("ring_config 0x%p, ssc 0x%p", (void *)t, (void *)ssc_addr);
     /*
      * SSC: Initialize AVAILABLE Descriptor Rings in SSC memory.
      * These rings are used for sending data from the SSC to other CPUs.
@@ -926,11 +901,10 @@ initDescriptorRingsOnSSC(void)
         ring->next_index = 0;
         ring->ring_size = t->table[MGMTBUS_ADDR_SSC][dest].ring_size;
 
-	MGMTBUS_PRINTK(("%s: Initialize AVAIL DESC RING ring 0x%p, ring->ring[0] 0x%p, ring_size %d\n",
-		__FUNCTION__,
+		MGMTBUS_PRINTK("Initialize AVAIL DESC RING ring 0x%p, ring->ring[0] 0x%p, ring_size %d",
 		ring,
 		&(ring->ring[0]),
-	        ring->ring_size));
+		ring->ring_size);
 
         for (i = 0; i < ring->ring_size; i++) {
 	        /*
@@ -946,14 +920,13 @@ initDescriptorRingsOnSSC(void)
 	if (dest == MGMTBUS_ADDR_TXRX) { /* dump first few ring entries */
 
 	  for (i = 0; i < 4; i++) {
- MGMTBUS_PRINTK(("%s: AVAIL Entry; table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX]; ring->ring[%d] 0x%p, flags 0x%x, index %d, size %d, address 0x%x\n",
-		__FUNCTION__,
-		i,
-		&(ring->ring[i]),
-		ring->ring[i].flags,
-		ring->ring[i].index,
-		ring->ring[i].size,
-		ring->ring[i].address));
+		MGMTBUS_PRINTK("AVAIL Entry; table[MGMTBUS_ADDR_SSC][MGMTBUS_ADDR_TXRX]; ring->ring[%d] 0x%p, flags 0x%x, index %d, size %d, address 0x%x",
+			i,
+			&(ring->ring[i]),
+			ring->ring[i].flags,
+			ring->ring[i].index,
+			ring->ring[i].size,
+			ring->ring[i].address);
 	  }
 	}
 
@@ -972,11 +945,10 @@ initDescriptorRingsOnSSC(void)
         ring->next_index = 0;
         ring->ring_size = t->table[src][MGMTBUS_ADDR_SSC].ring_size;
 
-	MGMTBUS_PRINTK(("%s: Initialize USED ring 0x%p, ring->ring[0] 0x%p, ring_size %d\n",
-		__FUNCTION__,
-		ring,
-		&(ring->ring[0]),
-	        ring->ring_size));
+		MGMTBUS_PRINTK("Initialize USED ring 0x%p, ring->ring[0] 0x%p, ring_size %d",
+			ring,
+			&(ring->ring[0]),
+	        ring->ring_size);
 
         for (i = 0; i < ring->ring_size; i++) {
             ring->ring[i].flags = 0;
@@ -988,27 +960,27 @@ initDescriptorRingsOnSSC(void)
 
 	if (src == MGMTBUS_ADDR_TXRX) { /* dump first few ring entries */
 
-	  for (i = 0; i < 4; i++) {
- MGMTBUS_PRINTK(("%s: USED Entry; table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC]; ring->ring[%d] 0x%p, flags 0x%x, index %d, size %d, address 0x%x\n",
-		__FUNCTION__,
-		i,
-		&(ring->ring[i]),
-		ring->ring[i].flags,
-		ring->ring[i].index,
-		ring->ring[i].size,
-		ring->ring[i].address));
-	  }
+		for (i = 0; i < 4; i++) {
+			MGMTBUS_PRINTK("USED Entry; table[MGMTBUS_ADDR_TXRX][MGMTBUS_ADDR_SSC]; ring->ring[%d] 0x%p, flags 0x%x, index %d, size %d, address 0x%x",
+			i,
+			&(ring->ring[i]),
+			ring->ring[i].flags,
+			ring->ring[i].index,
+			ring->ring[i].size,
+			ring->ring[i].address);
+		}
 	}
 
-        MGMTBUS_SYNC_CACHE(ring,
-         sizeof(mgmtbus_msg_desc_ring_t)+(ring->ring_size*sizeof(mgmtbus_msg_desc_t)),1);
+	MGMTBUS_SYNC_CACHE(ring,
+		sizeof(mgmtbus_msg_desc_ring_t) +
+			(ring->ring_size * sizeof(mgmtbus_msg_desc_t)), 1);
     }
 
     /* Save next available ssc buffer address */
     Mgmtbus_softc.ssc_pci_next_virt_avail = ssc_addr;
 
-    MGMTBUS_PRINTK(("%s: RingConfig 0x%p, END Ring Init: phy ssc_addr 0x%p\n",
-		    __FUNCTION__, (void *)t, (void *)ssc_addr));
+    MGMTBUS_PRINTK("RingConfig 0x%p, END Ring Init: phy ssc_addr 0x%p",
+		    (void *)t, (void *)ssc_addr);
     mgmtbus_dumpRingConfig(t);
 
     return;
@@ -1158,7 +1130,7 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
     unsigned char data_byte;
     unsigned char *src_addr, *dst_addr;
 #endif /* MGMTBUS_DEBUG */
-    
+
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
     table_src_index = MGMTBUS_ADDR_TXRX;
 #else
@@ -1167,7 +1139,7 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
     /* Get ring configuration record */
     t = Mgmtbus_softc.ring_config;
- 
+
     /* Get pointers to mac and agile header from skb */
     skb_protocol = ntohs(skb->protocol);
 
@@ -1176,11 +1148,13 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
      */
     hdr = (agile_hdr_t *)skb_mac_header(skb);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt START; skb 0x%p, skb->len %d, skb->protocol 0x%x, dev: %s\n",
-	__FUNCTION__, skb, skb->len, skb_protocol, skb->dev->name));
+    MGMTBUS_PRINTK("TX Pkt START; skb 0x%p, skb->len %d, "
+		"skb->protocol 0x%x, dev: %s",
+		skb, skb->len, skb_protocol, skb->dev->name);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt; skb->data 0x%p, skb->mac_hdr 0x%p, skb->net_hdr 0x%p, hdr 0x%p\n",
-	__FUNCTION__, skb->data, skb->mac_header, skb->network_header, hdr));
+    MGMTBUS_PRINTK("TX Pkt; skb->data 0x%p, skb->mac_hdr 0x%p, "
+		"skb->net_hdr 0x%p, hdr 0x%p\n",
+		skb->data, skb->mac_header, skb->network_header, hdr);
 
     /*
      * Claim lock to prevent transmit ring corruption
@@ -1191,60 +1165,55 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
       case ETH_P_IP:   /* Transmit IPv4 Packet to other end */
 
-	MGMTBUS_PRINTK(("%s: TX IPv4 Pkt; skb_protocol 0x%x\n",
-		__FUNCTION__, skb_protocol));
+		MGMTBUS_PRINTK("TX IPv4 Pkt; skb_protocol 0x%x", skb_protocol);
 
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
-	/* On TxRx, send to SSC */
-	table_dst_index = MGMTBUS_ADDR_SSC;
+		/* On TxRx, send to SSC */
+		table_dst_index = MGMTBUS_ADDR_SSC;
 #else
-	/* On SSC, send to TXRX */
-	table_dst_index = MGMTBUS_ADDR_TXRX;
+		/* On SSC, send to TXRX */
+		table_dst_index = MGMTBUS_ADDR_TXRX;
 #endif /* CONFIG_SIBYTE_BCM1x55 || CONFIG_SIBYTE_BCM1x80 */
 	break;
 
       case ETH_P_IPV6:
 
-	/* drop it until IPv6 support added, if ever for forwarding */
-	MGMTBUS_PRINTK(("%s: TX IPv6 Pkt; DROPPING skb_protocol 0x%x\n",
-		__FUNCTION__,
-		skb_protocol));
-	Mgmtbus_softc.mgmtbus_stats.rx_dropped++;;
-	goto out;
+		/* drop it until IPv6 support added, if ever for forwarding */
+		MGMTBUS_PRINTK("TX IPv6 Pkt; DROPPING skb_protocol 0x%x", skb_protocol);
+		Mgmtbus_softc.mgmtbus_stats.rx_dropped++;;
+		goto out;
 
        case ETH_P_EEE:
 
-	MGMTBUS_PRINTK(("%s: TX NETEEE Pkt; skb_protocol 0x%x\n",
-		__FUNCTION__, skb_protocol));
+		MGMTBUS_PRINTK("TX NETEEE Pkt; skb_protocol 0x%x", skb_protocol);
 
-	hdr = (agile_hdr_t *)skb_network_header(skb);
+		hdr = (agile_hdr_t *)skb_network_header(skb);
 
 #ifdef MGMTBUS_DEBUG
-	printk("%s: TX NETEEE Pkt; Agile hdr; dst 0x%x, src 0x%x, offset 0x%x, h_proto 0x%x\n",
-	__FUNCTION__,
-	hdr->dest_port,
-	hdr->src_port,
-	hdr->offset,
-	ntohs(hdr->h_proto));
-
-	src_addr = (unsigned char *)hdr;
-	printk("%s: TX NETEEE Pkt; AGILE Hdr\n", __FUNCTION__);
-	for (i = 0; i < sizeof(agile_hdr_t); i++) {
-	  data_byte = *((unsigned char *)(src_addr+i));
-	  printk("%02x ", data_byte);
-	}
-	printk("\n");
+		printk("%s: TX NETEEE Pkt; Agile hdr; dst 0x%x, src 0x%x, offset 0x%x, h_proto 0x%x\n",
+			__FUNCTION__,
+			hdr->dest_port,
+			hdr->src_port,
+			hdr->offset,
+			ntohs(hdr->h_proto));
+
+		src_addr = (unsigned char *)hdr;
+		printk("%s: TX NETEEE Pkt; AGILE Hdr\n", __FUNCTION__);
+		for (i = 0; i < sizeof(agile_hdr_t); i++) {
+		  data_byte = *((unsigned char *)(src_addr+i));
+		  printk("%02x ", data_byte);
+		}
+		printk("\n");
 #endif /* MGMTBUS_DEBUG */
 
-	MGMTBUS_PRINTK(("%s: TX NETEEE Pkt; <slot,cpu,app> FROM %d.%d.%d TO %d:%d:%d, h_proto 0x%x\n",
-		__FUNCTION__,
+		MGMTBUS_PRINTK("TX NETEEE Pkt; <slot,cpu,app> FROM %d.%d.%d TO %d:%d:%d, h_proto 0x%x",
 		EEE_GET_SLOT_NUM(hdr->src_port),
 		EEE_GET_DEST_CPU(hdr->src_port),
 		EEE_GET_APP_ID(hdr->src_port),
 		EEE_GET_SLOT_NUM(hdr->dest_port),
 		EEE_GET_DEST_CPU(hdr->dest_port),
 		EEE_GET_APP_ID(hdr->dest_port),
-		ntohs(hdr->h_proto)));
+		ntohs(hdr->h_proto));
 
 	 /*
 	  * NetEEE pkt so examine Agile header
@@ -1255,26 +1224,25 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 	 if (table_dst_index == -1)  { /* failure */
 
-    MGMTBUS_PRINTK(("%s: TX NETEEE Pkt; Dropping pkt No dest_port(addr) support 0x%x, <slot,cpu,app> FROM %d.%d.%d TO %d:%d:%d\n",
-		__FUNCTION__,
-		hdr->dest_port,
-		EEE_GET_SLOT_NUM(hdr->src_port),
-		EEE_GET_DEST_CPU(hdr->src_port),
-		EEE_GET_APP_ID(hdr->src_port),
-		EEE_GET_SLOT_NUM(hdr->dest_port),
-		EEE_GET_DEST_CPU(hdr->dest_port),
-		EEE_GET_APP_ID(hdr->dest_port)));
+		MGMTBUS_PRINTK("TX NETEEE Pkt; Dropping pkt No dest_port(addr) support 0x%x, <slot,cpu,app> FROM %d.%d.%d TO %d:%d:%d",
+			hdr->dest_port,
+			EEE_GET_SLOT_NUM(hdr->src_port),
+			EEE_GET_DEST_CPU(hdr->src_port),
+			EEE_GET_APP_ID(hdr->src_port),
+			EEE_GET_SLOT_NUM(hdr->dest_port),
+			EEE_GET_DEST_CPU(hdr->dest_port),
+			EEE_GET_APP_ID(hdr->dest_port));
 
-             Mgmtbus_softc.mgmtbus_stats.tx_dropped++;
+		 Mgmtbus_softc.mgmtbus_stats.tx_dropped++;
 	     goto out;
 	 }
 	break;
 
        default: /* Ignore protocol type */
-         MGMTBUS_PRINTK(("%s: TX Pkt END; UNKNOWN skb_protocol 0x%x, Dropping Pkt\n",
-		__FUNCTION__, skb_protocol));
-	 Mgmtbus_softc.mgmtbus_stats.rx_dropped++;;
-	 goto out;
+         MGMTBUS_PRINTK("TX Pkt END; UNKNOWN skb_protocol 0x%x, Dropping Pkt",
+			skb_protocol);
+		 Mgmtbus_softc.mgmtbus_stats.rx_dropped++;;
+		 goto out;
     }
 
     MGMTBUS_SYNC_CACHE(t, sizeof(mgmtbus_ring_config_t), 0);
@@ -1283,12 +1251,11 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
      */
     if (t->table[table_src_index][table_dst_index].used_ring_address == 0) {
 
-      MGMTBUS_PRINTK(("%s: TX Pkt END; <slot,cpu,app> TO %d:%d:%d, NULL table[%d][%d].used_ring_address\n",
-		      __FUNCTION__,
+      MGMTBUS_PRINTK("TX Pkt END; <slot,cpu,app> TO %d:%d:%d, NULL table[%d][%d].used_ring_address",
 		      EEE_GET_SLOT_NUM(hdr->dest_port),
 		      EEE_GET_DEST_CPU(hdr->dest_port),
 		      EEE_GET_APP_ID(hdr->dest_port),
-		      table_src_index, table_dst_index));
+		      table_src_index, table_dst_index);
 
         Mgmtbus_softc.mgmtbus_stats.tx_dropped++;
         goto out;
@@ -1304,18 +1271,14 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
     avail_msg_desc = &avail_ring->ring[avail_ring->next_index];
     MGMTBUS_SYNC_CACHE(avail_msg_desc, sizeof(*avail_msg_desc), 0);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt; table[%d][%d] avail_ring 0x%p, used_ring 0x%p, avail_ring->next_index %d\n",
-        __FUNCTION__,
+    MGMTBUS_PRINTK("TX Pkt; table[%d][%d] avail_ring 0x%p, used_ring 0x%p, avail_ring->next_index %d",
         table_src_index, table_dst_index,
-        avail_ring, used_ring, avail_ring->next_index));
+        avail_ring, used_ring, avail_ring->next_index);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt; avail_msg_desc 0x%p, addr 0x%x, flags 0x%x, size %d\n",
-        __FUNCTION__,
-	avail_msg_desc, avail_msg_desc->address, avail_msg_desc->flags, avail_msg_desc->size));
+    MGMTBUS_PRINTK("TX Pkt; avail_msg_desc 0x%p, addr 0x%x, flags 0x%x, size %d",
+	avail_msg_desc, avail_msg_desc->address, avail_msg_desc->flags, avail_msg_desc->size);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt; skb 0x%p, skb->len %d\n",
-        __FUNCTION__,
-        skb, skb->len));
+    MGMTBUS_PRINTK("TX Pkt; skb 0x%p, skb->len %d", skb, skb->len);
     /*
      * Verify that ring has free slots to use
      */
@@ -1391,7 +1354,7 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	  */
 	ip_hdr = (struct iphdr *)skb_network_header(skb);
 
-	MGMTBUS_PRINTK(("%s: TX IPv4 Pkt; IP hdr 0x%p\n", __FUNCTION__, ip_hdr));
+	MGMTBUS_PRINTK("TX IPv4 Pkt; IP hdr 0x%p", ip_hdr);
 
 #ifdef MGMTBUS_DEBUG
 	 src_addr = (unsigned char *)ip_hdr;
@@ -1523,8 +1486,7 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	 break;
 
       default:
-	MGMTBUS_PRINTK(("%s: TX Pkt; Drop Pkt; UNKNOWN skb_protocol 0x%x\n",
-			__FUNCTION__, skb_protocol));
+	MGMTBUS_PRINTK("TX Pkt; Drop Pkt; UNKNOWN skb_protocol 0x%x", skb_protocol);
          Mgmtbus_softc.mgmtbus_stats.tx_dropped++;
 	 goto out;
     }
@@ -1546,9 +1508,8 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
     used_msg_desc->flags = MGMTBUS_DESC_FLAGS_USED;
     MGMTBUS_SYNC_CACHE(used_msg_desc, sizeof(*used_msg_desc), 1);
 
-    MGMTBUS_PRINTK(("%s: TX Pkt; used_msg_desc 0x%p, addr 0x%x, flags 0x%x, size %d\n",
-        __FUNCTION__,
-	used_msg_desc, used_msg_desc->address, used_msg_desc->flags, used_msg_desc->size));
+    MGMTBUS_PRINTK("TX Pkt; used_msg_desc 0x%p, addr 0x%x, flags 0x%x, size %d",
+	used_msg_desc, used_msg_desc->address, used_msg_desc->flags, used_msg_desc->size);
 
     /*
      * Advance the next available slot index
@@ -1589,9 +1550,8 @@ mgmtbus_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
     mgmtbus_send_interrupt_to_txrx();
 #endif /* CONFIG_SIBYTE_BCM1x55 || CONFIG_SIBYTE_BCM1x80 */
 
-    MGMTBUS_PRINTK(("%s: TX Pkt END; avail_ring->ring_size %d, avail_ring->next_index %d\n",
-	__FUNCTION__,
-	avail_ring->ring_size, avail_ring->next_index));
+    MGMTBUS_PRINTK("TX Pkt END; avail_ring->ring_size %d, avail_ring->next_index %d",
+	avail_ring->ring_size, avail_ring->next_index);
 
     return 0;
 out:
@@ -1637,7 +1597,7 @@ mgmtbus_intr(uint32_t cause)
     t = Mgmtbus_softc.ring_config;
     MGMTBUS_SYNC_CACHE(t, sizeof(mgmtbus_ring_config_t), 0);
 
-    MGMTBUS_PRINTK(("%s: RX PKT START; cause 0x%x\n", __FUNCTION__, cause));
+    MGMTBUS_PRINTK("RX PKT START; cause 0x%x\n", cause);
 
     /*
      * Originally for all hardware we checked all the cases
@@ -1667,8 +1627,8 @@ mgmtbus_intr(uint32_t cause)
          */
         if (t->table[table_src_index][table_dst_index].avail_ring_address == 0) { /* skip if not done */
 
-	  MGMTBUS_PRINTK(("%s: RX Pkt END; table[%d][%d].avail_ring_address NULL, cause 0x%x\n",
-                     __FUNCTION__, table_src_index, table_dst_index, cause));
+	  MGMTBUS_PRINTK("RX Pkt END; table[%d][%d].avail_ring_address NULL, cause 0x%x",
+                     table_src_index, table_dst_index, cause);
             return;
         }
 
@@ -1678,13 +1638,13 @@ mgmtbus_intr(uint32_t cause)
         avail_ring_phy =t->table[table_src_index][table_dst_index].avail_ring_address;
         avail_ring = mgmtbus_phys_to_virt(avail_ring_phy);
 
-	MGMTBUS_PRINTK(("%s: RX Pkt; table[%d][%d] used <0x%p, 0x%x>, avail <0x%p, 0x%x>\n",
-			__FUNCTION__, table_src_index, table_dst_index,
+	MGMTBUS_PRINTK("RX Pkt; table[%d][%d] used <0x%p, 0x%x>, avail <0x%p, 0x%x>",
+			table_src_index, table_dst_index,
 			used_ring, used_ring_phy,
-			avail_ring, avail_ring_phy));
-	MGMTBUS_PRINTK(("%s: RX Pkt; table[%d][%d] used_ring->next_index %d\n",
-                     __FUNCTION__, table_src_index, table_dst_index,
-		     used_ring->next_index));
+			avail_ring, avail_ring_phy);
+	MGMTBUS_PRINTK("RX Pkt; table[%d][%d] used_ring->next_index %d",
+                     table_src_index, table_dst_index,
+		     used_ring->next_index);
         /*
          * Interrogate the used ring for new packets.
          */
@@ -1700,12 +1660,12 @@ mgmtbus_intr(uint32_t cause)
             MGMTBUS_SYNC_CACHE(mgmtbus_phys_to_virt(used_desc->address),
                                used_desc->size, 0);
 
-	    MGMTBUS_PRINTK(("%s: RX Pkt; table[%d][%d] used_desc 0x%p, used_ring->next_index %d\n",
-                     __FUNCTION__, table_src_index, table_dst_index,
-			used_desc, used_ring->next_index));
-	    MGMTBUS_PRINTK(("%s: RX Pkt; table[%d][%d] avail_desc 0x%p\n",
-                     __FUNCTION__, table_src_index, table_dst_index,
-		     avail_desc));
+	    MGMTBUS_PRINTK("RX Pkt; table[%d][%d] used_desc 0x%p, used_ring->next_index %d",
+			table_src_index, table_dst_index,
+			used_desc, used_ring->next_index);
+	    MGMTBUS_PRINTK("RX Pkt; table[%d][%d] avail_desc 0x%p",
+             table_src_index, table_dst_index,
+		     avail_desc);
 
 	    used_desc_virt_addr = mgmtbus_phys_to_virt(used_desc->address);
 
@@ -1713,16 +1673,14 @@ mgmtbus_intr(uint32_t cause)
             hdr = (agile_hdr_t *)(used_desc_virt_addr - 2);
             hdr_h_proto = ntohs(hdr->h_proto);
 
-	    MGMTBUS_PRINTK(("%s: RX Pkt; used_desc 0x%p, addr <virt 0x%p, phy 0x%x>\n",
-                     __FUNCTION__,
+	    MGMTBUS_PRINTK("RX Pkt; used_desc 0x%p, addr <virt 0x%p, phy 0x%x>",
 		     used_desc,
 		     used_desc_virt_addr,
-		     used_desc->address));
-	    MGMTBUS_PRINTK(("%s: RX Pkt; used_desc <flags 0x%x, size %d>, h_proto 0x%x\n",
-                     __FUNCTION__,
+		     used_desc->address);
+	    MGMTBUS_PRINTK("RX Pkt; used_desc <flags 0x%x, size %d>, h_proto 0x%x",
 		     used_desc->flags,
 		     used_desc->size,
-		     hdr_h_proto));
+		     hdr_h_proto);
 
             /*
              * Check if we have a Legal Agile header
@@ -1766,18 +1724,16 @@ mgmtbus_intr(uint32_t cause)
                    used_desc_virt_addr,
                    used_desc->size);
 
-	    MGMTBUS_PRINTK(("%s: RX Pkt; ETH_P_EEE Agile h_proto 0x%x\n",
-                     __FUNCTION__, hdr_h_proto));
+	    MGMTBUS_PRINTK("RX Pkt; ETH_P_EEE Agile h_proto 0x%x", hdr_h_proto);
 
-            MGMTBUS_PRINTK(("%s: RX Pkt; h_proto 0x%x, <slot:cpu:app> FROM %d:%d:%d TO %d:%d:%d\n",
-                     __FUNCTION__,
+            MGMTBUS_PRINTK("RX Pkt; h_proto 0x%x, <slot:cpu:app> FROM %d:%d:%d TO %d:%d:%d",
                      hdr_h_proto,
                      EEE_GET_SLOT_NUM(hdr->src_port),
                      EEE_GET_DEST_CPU(hdr->src_port),
                      EEE_GET_APP_ID(hdr->src_port),
                      EEE_GET_SLOT_NUM(hdr->dest_port),
                      EEE_GET_DEST_CPU(hdr->dest_port),
-                     EEE_GET_APP_ID(hdr->dest_port)));
+                     EEE_GET_APP_ID(hdr->dest_port));
 
 #ifdef MGMTBUS_DEBUG
 	       printk("%s: RX Pkt; SRC(used_desc) 0x%p, used__desc buff <virt 0x%p, phy 0x%x>\n",
@@ -1821,8 +1777,8 @@ mgmtbus_intr(uint32_t cause)
 	       Mgmtbus_softc.mgmtbus_stats.rx_packets++;
 	       Mgmtbus_softc.mgmtbus_stats.rx_bytes += used_desc->size;
 
-	       MGMTBUS_PRINTK(("%s: RX Pkt; After eth_type_trans(), skb->len %d, skb->protocol 0x%x\n",
-			__FUNCTION__, skb->len, ntohs(skb->protocol)));
+	       MGMTBUS_PRINTK("RX Pkt; After eth_type_trans(), skb->len %d, skb->protocol 0x%x",
+				skb->len, ntohs(skb->protocol));
 
 	       /* Send packet to kernel protocol stack */
 	       netif_rx(skb);
@@ -1830,8 +1786,7 @@ mgmtbus_intr(uint32_t cause)
 
 	    case ETH_P_IP:
 
-	    MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; Agile h_proto 0x%x\n",
-                     __FUNCTION__, hdr_h_proto));
+	    MGMTBUS_PRINTK("RX IPv4 Pkt; Agile h_proto 0x%x", hdr_h_proto);
 	      /*
 	       * Allocate buffer for complete packet
 	       * Note this could be smaller since we
@@ -1857,8 +1812,7 @@ mgmtbus_intr(uint32_t cause)
 	      memset(eth->h_source, 0, ETH_ALEN);
 	      eth->h_proto = htons(ETH_P_IP);
 
-	      MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; After ETH HDR, skb->len %d\n",
-			__FUNCTION__, skb->len));
+	      MGMTBUS_PRINTK("RX IPv4 Pkt; After ETH HDR, skb->len %d", skb->len);
 	       /*
 		* Compute copy len excluding short Agile header
 		* This should cover the IP header and transmitted data.
@@ -1875,8 +1829,8 @@ mgmtbus_intr(uint32_t cause)
 	       */
 	      skb_dst_addr = skb_put(skb, copy_size);
 
-	      MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; After copy_size, skb->len %d, copy_size %d\n",
-			__FUNCTION__, skb->len, copy_size));
+	      MGMTBUS_PRINTK("RX IPv4 Pkt; After copy_size, skb->len %d, copy_size %d",
+			skb->len, copy_size);
 	      /*
 	       * Compute src address of IP header + data
 	       * After this point, used_desc_virt_addr should
@@ -1933,20 +1887,20 @@ mgmtbus_intr(uint32_t cause)
 		printk("\n");
 #endif /* MGMTBUS_DEBUG */
 
-	       MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; After memcpy(), skb->len %d, copy_size %d, skb->protocol 0x%x\n",
-			__FUNCTION__, skb->len, copy_size, ntohs(skb->protocol)));
+	       MGMTBUS_PRINTK("RX IPv4 Pkt; After memcpy(), skb->len %d, copy_size %d, skb->protocol 0x%x",
+			skb->len, copy_size, ntohs(skb->protocol));
 
 		skb->protocol = eth_type_trans(skb, &mgmtbus_dev);
 
 		/* Tell upper layer where IP header starts */
 		skb_set_network_header(skb, ETH_HLEN);
 
-		MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; Before netif_rx(), skb->len %d, skb->protocol 0x%x\n",
-			__FUNCTION__, skb->len, ntohs(skb->protocol)));
-		MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; skb head 0x%p, data 0x%p, tail 0x%x, end 0x%x\n",
-				__FUNCTION__, skb->head, skb->data, skb->tail, skb->end));
-		MGMTBUS_PRINTK(("%s: RX IPv4 Pkt; skb mac 0x%x, network 0x%x, transport 0x%x\n",
-				__FUNCTION__, skb->mac_header, skb->network_header, skb->transport_header));
+		MGMTBUS_PRINTK("RX IPv4 Pkt; Before netif_rx(), skb->len %d, skb->protocol 0x%x",
+			skb->len, ntohs(skb->protocol));
+		MGMTBUS_PRINTK("RX IPv4 Pkt; skb head 0x%p, data 0x%p, tail 0x%x, end 0x%x",
+				skb->head, skb->data, skb->tail, skb->end);
+		MGMTBUS_PRINTK("RX IPv4 Pkt; skb mac 0x%x, network 0x%x, transport 0x%x",
+				skb->mac_header, skb->network_header, skb->transport_header);
 
 		/* Update network interface statistics */
 		Mgmtbus_softc.mgmtbus_stats.rx_packets++;
@@ -1959,16 +1913,14 @@ mgmtbus_intr(uint32_t cause)
 		break;
 
             default:
-	       MGMTBUS_PRINTK((
-		"%s: RX Pkt; UNKNOWN Agile h_proto 0x%x, <slot,cpu,app> FROM %d:%d:%d TO %d:%d:%d\n",
-                __FUNCTION__,
-		hdr_h_proto,
+	       MGMTBUS_PRINTK("RX Pkt; UNKNOWN Agile h_proto 0x%x, <slot,cpu,app> FROM %d:%d:%d TO %d:%d:%d",
+				hdr_h_proto,
                 EEE_GET_SLOT_NUM(hdr->src_port),
                 EEE_GET_DEST_CPU(hdr->src_port),
                 EEE_GET_APP_ID(hdr->src_port),
                 EEE_GET_SLOT_NUM(hdr->dest_port),
                 EEE_GET_DEST_CPU(hdr->dest_port),
-                EEE_GET_APP_ID(hdr->dest_port)));
+                EEE_GET_APP_ID(hdr->dest_port));
 
 	        Mgmtbus_softc.mgmtbus_stats.rx_dropped++;;
 	        break;
@@ -1991,7 +1943,7 @@ mgmtbus_intr(uint32_t cause)
          used_desc = &used_ring->ring[used_ring->next_index];
     } /* end of while for-ever loop processing loop */
 
-    MGMTBUS_PRINTK(("%s: RX PKT END\n", __FUNCTION__));
+    MGMTBUS_PRINTK("RX PKT END\n");
     return;
 }
 
@@ -2106,21 +2058,19 @@ __init mgmtbus_init(void)
     * different physical address, which is required for the map operation.
     */
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
-    ssc_base_phy_addr = (void *)(ssc_base_offset | PCI_PHYS_START);
+    ssc_base_phy_addr = (void *)(ssc_base_offset | PCI_PHYS_M);
 
-    MGMTBUS_PRINTK(("%s: ringConfAddr ssc_pci_base 0x%p, ssc_base_offset 0x%p, phy 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("ringConfAddr ssc_pci_base 0x%p, ssc_base_offset 0x%p, phy 0x%p",
 	(void *)Mgmtbus_softc.ssc_pci_base,
 	(void *)(ssc_base_offset),
-	ssc_base_phy_addr));
+	ssc_base_phy_addr);
 
     /* NOTE: Compiler complains due to the macro definition or'ing top bits to void * ptr */
-    Mgmtbus_softc.ssc_pci_virt = (void *)PHYS_TO_XKSEG_UNCACHED((ssc_base_offset | PCI_PHYS_START));
+    Mgmtbus_softc.ssc_pci_virt = (void *)PHYS_TO_XKSEG_UNCACHED((ssc_base_offset | PCI_PHYS_M));
 
-    MGMTBUS_PRINTK(("%s: ssc <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("ssc <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.ssc_pci_virt,
-	(void *)Mgmtbus_softc.ssc_pci_base));
+	(void *)Mgmtbus_softc.ssc_pci_base);
 
     Mgmtbus_softc.ring_config = Mgmtbus_softc.ssc_pci_virt;
     magicmanagementbusringconfig = Mgmtbus_softc.ring_config;
@@ -2128,30 +2078,29 @@ __init mgmtbus_init(void)
     /*
      * On TxRx, Phyical address for start of txrx shared memory
      * area is different from SSC.
-     * The symbol 'PCI_PHYS_START' is defined for each case.
+     * The symbol 'PCI_PHYS_M' is defined for each case.
      * The txrx_pci_base is an offset into this area.
      *
      * HOWEVER: On the TxRx the memory area mapped to this
-     * area is NOT at 'PCI_PHYS_START' but 0x1F000 0000
+     * area is NOT at 'PCI_PHYS_M' but 0x1F000 0000
      * Get and uncached virtual address for this memory.
      *
-     * (void *)PHYS_TO_XKSEG_UNCACHED((Mgmtbus_softc.txrx_pci_base | PCI_PHYS_START));
+     * (void *)PHYS_TO_XKSEG_UNCACHED((Mgmtbus_softc.txrx_pci_base | PCI_PHYS_M));
      * Mgmtbus_softc.txrx_pci_virt = (void *)__va((void *)(TXRX_PCI_PHY_START));
      */
-    Mgmtbus_softc.txrx_pci_virt = (void *)ioremap(TXRX_PCI_PHY_START, TXRX_PCI_PHY_SIZE);
+    Mgmtbus_softc.txrx_pci_virt = (void *)ioremap(TXRX_PCI_PHY_START,
+		SHARED_MEM_MGMT_SIZE);
 
-    MGMTBUS_PRINTK(("%s: txrx <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("txrx <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.txrx_pci_virt,
-	(void *)Mgmtbus_softc.txrx_pci_base));
+	(void *)Mgmtbus_softc.txrx_pci_base);
 
     Mgmtbus_softc.fp_pci_virt =
-        (void *)PHYS_TO_XKSEG_UNCACHED((Mgmtbus_softc.fp_pci_base | PCI_PHYS_START));
+        (void *)PHYS_TO_XKSEG_UNCACHED((Mgmtbus_softc.fp_pci_base | PCI_PHYS_M));
 
-    MGMTBUS_PRINTK(("%s: fp <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("fp <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.fp_pci_virt,
-	(void *)Mgmtbus_softc.fp_pci_base));
+	(void *)Mgmtbus_softc.fp_pci_base);
 
     /*
      * On TxRx we must Wait for SSC to write the magic location in ringConfig
@@ -2163,15 +2112,13 @@ __init mgmtbus_init(void)
     ssc_base_phy_addr = (void *)(ssc_base_offset);
     Mgmtbus_softc.ssc_pci_virt = (void *)PHYS_TO_XKSEG_UNCACHED(ssc_base_offset);
 
-    MGMTBUS_PRINTK(("%s: ringConfAddr ssc_base_offset 0x%p, ssc_base_phy_addr 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("ringConfAddr ssc_base_offset 0x%p, ssc_base_phy_addr 0x%p",
 	(void *)(ssc_base_offset),
-	ssc_base_phy_addr));
+	ssc_base_phy_addr);
 
-    MGMTBUS_PRINTK(("%s: ssc <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("ssc <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.ssc_pci_virt,
-	(void *)Mgmtbus_softc.ssc_pci_base));
+	(void *)Mgmtbus_softc.ssc_pci_base);
 
     Mgmtbus_softc.ring_config = Mgmtbus_softc.ssc_pci_virt;
     magicmanagementbusringconfig = Mgmtbus_softc.ring_config;
@@ -2180,20 +2127,18 @@ __init mgmtbus_init(void)
      * On SSC, Top 8-Bits of physical address need to be 0xF8 for PCI access
      */
     Mgmtbus_softc.txrx_pci_virt =
-        (void *)PHYS_TO_XKSEG_UNCACHED(Mgmtbus_softc.txrx_pci_base | PCI_PHYS_START);
+        (void *)PHYS_TO_XKSEG_UNCACHED(Mgmtbus_softc.txrx_pci_base | PCI_PHYS_M);
 
-    MGMTBUS_PRINTK(("%s: txrx <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("txrx <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.txrx_pci_virt,
-	(void *)Mgmtbus_softc.txrx_pci_base));
+	(void *)Mgmtbus_softc.txrx_pci_base);
 
     Mgmtbus_softc.fp_pci_virt =
-        (void *)PHYS_TO_XKSEG_UNCACHED(Mgmtbus_softc.fp_pci_base | PCI_PHYS_START);
+        (void *)PHYS_TO_XKSEG_UNCACHED(Mgmtbus_softc.fp_pci_base | PCI_PHYS_M);
 
-    MGMTBUS_PRINTK(("%s: fp <virt,pci_base> 0x%p, 0x%p\n",
-	__FUNCTION__,
+    MGMTBUS_PRINTK("fp <virt,pci_base> 0x%p, 0x%p",
 	(void *)Mgmtbus_softc.fp_pci_virt,
-	(void *)Mgmtbus_softc.fp_pci_base));
+	(void *)Mgmtbus_softc.fp_pci_base);
 #endif /* CONFIG_SIBYTE_BCM1x55 || CONFIG_SIBYTE_BCM1x80 */
 
     initConfigTable();
diff --git a/drivers/mgmt-bus/mgmt-bus.h b/drivers/mgmt-bus/mgmt-bus.h
index 6fa3a43..e5b366e 100755
--- a/drivers/mgmt-bus/mgmt-bus.h
+++ b/drivers/mgmt-bus/mgmt-bus.h
@@ -144,22 +144,16 @@ typedef struct {
     u32 pad[5];
 } mgmtbus_ring_config_t;
 
-/*
- * Physical address of management bus ring configuration table
- * located in SSC local memory BUT accessed via PCI Bus Address.
- */
-#define MGMTBUS_RING_CONFIG_ADDR    SHARED_MEM_MGMT
 
 /*
- * 'MGMTBUS_SSC_BASE_ADDR' is defined as 'SHARED_MEM_MGMT' defined
- * in the cougar specific header file.
+ * 'MGMTBUS_SSC_BASE_ADDR' is defined as 'SSC_SHARED_MEM'
  * Under SSC, this is physical address 0x8F000000UL in local memory
  * Under TXRX this is physical address 0x60000000UL in PCI space.
  * However the top 8-Bits of the PCI physical address are different
  * for SSC versus TxRx.
  * Under SSC, it's the top 16 MB of a 256MB TLB cached memory area.
  */
-#define MGMTBUS_SSC_BASE_ADDR       SHARED_MEM_MGMT
+#define MGMTBUS_SSC_BASE_ADDR       SSC_SHARED_MEM
 
 /*
  * Maximum size (in bytes) of local memory used for management bus.
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 15e8605..0a568e7 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -35,6 +35,9 @@
 #include <asm/processor.h>		/* Processor type for cache alignment. */
 #include <asm/io.h>
 #include <asm/cache.h>
+#ifdef CONFIG_ONSTOR_TUXRX
+#include <asm/mach-tuxrx/tuxrx.h>
+#endif
 
 /* This is only here until the firmware is ready.  In that case,
    the firmware leaves the ethernet address in the register for us. */
@@ -1746,10 +1749,10 @@ static void sbmac_channel_start(struct sbmac_softc *s)
  *  Stop packet processing on this MAC.
  *
  *  Input parameters:
- *  	   s - sbmac structure
+ *	   s - sbmac structure
  *
  *  Return value:
- *  	   nothing
+ *	   nothing
  ********************************************************************* */
 
 static void sbmac_channel_stop(struct sbmac_softc *s)
@@ -1796,10 +1799,10 @@ static void sbmac_channel_stop(struct sbmac_softc *s)
  *  Set the channel's state ON or OFF
  *
  *  Input parameters:
- *  	   state - new state
+ *	   state - new state
  *
  *  Return value:
- *  	   old state
+ *	   old state
  ********************************************************************* */
 static sbmac_state_t sbmac_set_channel_state(struct sbmac_softc *sc,
 					     sbmac_state_t state)
@@ -1839,11 +1842,11 @@ static sbmac_state_t sbmac_set_channel_state(struct sbmac_softc *sc,
  *  Turn on or off promiscuous mode
  *
  *  Input parameters:
- *  	   sc - softc
+ *	   sc - softc
  *      onoff - 1 to turn on, 0 to turn off
  *
  *  Return value:
- *  	   nothing
+ *	   nothing
  ********************************************************************* */
 
 static void sbmac_promiscuous_mode(struct sbmac_softc *sc,int onoff)
@@ -1871,10 +1874,10 @@ static void sbmac_promiscuous_mode(struct sbmac_softc *sc,int onoff)
  *  Set the iphdr offset as 15 assuming ethernet encapsulation
  *
  *  Input parameters:
- *  	   sc - softc
+ *	   sc - softc
  *
  *  Return value:
- *  	   nothing
+ *	   nothing
  ********************************************************************* */
 
 static void sbmac_set_iphdr_offset(struct sbmac_softc *sc)
@@ -1903,10 +1906,10 @@ static void sbmac_set_iphdr_offset(struct sbmac_softc *sc)
  *  we typically write into the SBMAC's address/mcast registers
  *
  *  Input parameters:
- *  	   ptr - pointer to 6 bytes
+ *	   ptr - pointer to 6 bytes
  *
  *  Return value:
- *  	   register value
+ *	   register value
  ********************************************************************* */
 
 static uint64_t sbmac_addr2reg(unsigned char *ptr)
@@ -1938,11 +1941,11 @@ static uint64_t sbmac_addr2reg(unsigned char *ptr)
  *  Warning: must be called when MAC is off!
  *
  *  Input parameters:
- *  	   s - sbmac structure
- *  	   speed - speed to set MAC to (see sbmac_speed_t enum)
+ *	   s - sbmac structure
+ *	   speed - speed to set MAC to (see sbmac_speed_t enum)
  *
  *  Return value:
- *  	   1 if successful
+ *	   1 if successful
  *      0 indicates invalid parameters
  ********************************************************************* */
 
@@ -2308,17 +2311,17 @@ static void sbmac_setmulti(struct sbmac_softc *sc)
 	}
 }
 
-#if defined(SBMAC_ETH0_HWADDR) || defined(SBMAC_ETH1_HWADDR) || defined(SBMAC_ETH2_HWADDR) || defined(SBMAC_ETH3_HWADDR)
+#if defined(SBMAC_ETH0_HWADDR) || defined(SBMAC_ETH1_HWADDR) || defined(SBMAC_ETH2_HWADDR) || defined(SBMAC_ETH3_HWADDR) || defined(CONFIG_ONSTOR_TUXRX)
 /**********************************************************************
  *  SBMAC_PARSE_XDIGIT(str)
  *
  *  Parse a hex digit, returning its value
  *
  *  Input parameters:
- *  	   str - character
+ *	   str - character
  *
  *  Return value:
- *  	   hex value, or -1 if invalid
+ *	   hex value, or -1 if invalid
  ********************************************************************* */
 
 static int sbmac_parse_xdigit(char str)
@@ -2344,11 +2347,11 @@ static int sbmac_parse_xdigit(char str)
  *  Ethernet address.
  *
  *  Input parameters:
- *  	   str - string
- *  	   hwaddr - pointer to hardware address
+ *	   str - string
+ *	   hwaddr - pointer to hardware address
  *
  *  Return value:
- *  	   0 if ok, else -1
+ *	   0 if ok, else -1
  ********************************************************************* */
 
 static int sbmac_parse_hwaddr(char *str, unsigned char *hwaddr)
@@ -2514,9 +2517,9 @@ static int sbmac_open(struct net_device *dev)
 {
 	struct sbmac_softc *sc = netdev_priv(dev);
 
-	//if (debug > 1) {
+	if (debug > 1) {
 		printk(KERN_INFO "%s: sbmac_open() irq %d.\n", dev->name, dev->irq);
-	//}
+	}
 
 	/*
 	 * map/route interrupt (clear status first, in case something
@@ -2917,7 +2920,7 @@ static int sbmac_poll(struct net_device *dev, int *budget)
 	return (work_done >= work_to_do);
 }
 
-#if defined(SBMAC_ETH0_HWADDR) || defined(SBMAC_ETH1_HWADDR) || defined(SBMAC_ETH2_HWADDR) || defined(SBMAC_ETH3_HWADDR)
+#if defined(SBMAC_ETH0_HWADDR) || defined(SBMAC_ETH1_HWADDR) || defined(SBMAC_ETH2_HWADDR) || defined(SBMAC_ETH3_HWADDR) || defined(CONFIG_ONSTOR_TUXRX)
 static void
 sbmac_setup_hwaddr(int chan,char *addr)
 {
@@ -2931,6 +2934,12 @@ sbmac_setup_hwaddr(int chan,char *addr)
 	__raw_writeq(val, IOADDR(port+R_MAC_ETHERNET_ADDR));
 	val = __raw_readq(IOADDR(port+R_MAC_ETHERNET_ADDR));
 }
+
+#ifndef CONFIG_MGMT_BUS
+char *magicmanagementbusringconfig;
+#else
+extern char *magicmanagementbusringconfig;
+#endif
 #endif
 
 static struct net_device *dev_sbmac[MAX_UNITS];
@@ -2988,17 +2997,38 @@ sbmac_init_module(void)
 	  sbmac_setup_hwaddr(3,SBMAC_ETH3_HWADDR);
 #endif
 
+#ifdef CONFIG_ONSTOR_TUXRX
+	/*
+	 * on the tuxrx, the upper 3 bytes are onstor device identifier,
+	 * lower 3 bytes are copied from SSC mac addresses, with 0x10 or'd
+	 * into the last byte to indicate that it's a tuxrx port
+	 */
+//#ifndef CONFIG_MGMT_BUS
+	magicmanagementbusringconfig = (char *)ioremap(0x1000000000ULL
+			| PCI_SHARED_MEM_OFF, 0x100);
+//#endif
+	for (idx = 0; idx < chip_max_units; idx++) {
+		char ons_mac_str[] = "00:07:34:00:00:00";
+
+		sprintf(&ons_mac_str[9], "%02X:%02X:%02X",
+				*(magicmanagementbusringconfig + 198),
+				*(magicmanagementbusringconfig + 197),
+				*(magicmanagementbusringconfig + 196) | (0x10 | idx));
+		sbmac_setup_hwaddr(idx, ons_mac_str);
+	}
+#endif
+
 	/*
 	 * Walk through the Ethernet controllers and find
 	 * those who have their MAC addresses set.
 	 */
 	for (idx = 0; idx < chip_max_units; idx++) {
 
-	        /*
-	         * This is the base address of the MAC.
+		/*
+		 * This is the base address of the MAC.
 		 */
 
-	        port = A_MAC_CHANNEL_BASE(idx);
+		port = A_MAC_CHANNEL_BASE(idx);
 
 		/*
 		 * The R_MAC_ETHERNET_ADDR register will be set to some nonzero
diff --git a/include/asm-mips/mach-cougar/cougar.h b/include/asm-mips/mach-cougar/cougar.h
index 13baa6d..e036423 100644
--- a/include/asm-mips/mach-cougar/cougar.h
+++ b/include/asm-mips/mach-cougar/cougar.h
@@ -75,6 +75,11 @@ extern struct onstor_vectors *coug_vectors;
 # define dprintk(fmt, ...) printk(KERN_INFO "%s: " fmt "\n", __func__, ##__VA_ARGS__)
 
 /*
+ * the physical 64-bit overlay mask/offset for the PCI space
+ */
+#define PCI_PHYS_M 0xf800000000UL
+
+/*
  * various base address defines
  */
 #define COUGAR_FPGA_PADDR		0x1f400000ULL
@@ -83,8 +88,7 @@ extern struct onstor_vectors *coug_vectors;
 #define COUGAR_FPGA_VADDR		PHYS_TO_XKSEG_UNCACHED(COUGAR_FPGA_PADDR)
 #define COUGAR_PROM_SZ			0x2000000UL		/* 32MiB - time for a diet */
 
-#define SHARED_MEM_START	0x8f000000UL
-#define SHARED_MEM_SIZE		0x01000000UL/* 16 MiB */
+#define MY_SHARED_MEM		0x8f000000UL
 
 /*
  * The memory map for the shared memory.  Allocate statically because the FC
@@ -92,9 +96,11 @@ extern struct onstor_vectors *coug_vectors;
  * pool.
  */
 #define SHARED_MGMT_OFF 0x0
-#define SHARED_MEM_MGMT (SHARED_MEM_START + SHARED_MGMT_OFF)
+#define SHARED_MEM_MGMT (MY_SHARED_MEM + SHARED_MGMT_OFF)
 #define SHARED_MEM_MGMT_SIZE 0x1000000 /* 16 MiB */
 
+#define SSC_SHARED_MEM	MY_SHARED_MEM
+
 /*
  * PCI specific defines
  */
diff --git a/include/asm-mips/mach-tuxrx/tuxrx.h b/include/asm-mips/mach-tuxrx/tuxrx.h
index 938e9f7..1e4bd3f 100644
--- a/include/asm-mips/mach-tuxrx/tuxrx.h
+++ b/include/asm-mips/mach-tuxrx/tuxrx.h
@@ -59,6 +59,11 @@ extern struct onstor_vectors *coug_vectors;
 	printk(KERN_INFO "%s: " fmt "\n", __func__, ##__VA_ARGS__)
 
 /*
+ * the physical 64-bit overlay mask/offset for the PCI space
+ */
+#define PCI_PHYS_M 0x1000000000UL
+
+/*
  * tuxrx memory map - 4GB version
  */
 #define TUXRX_RAM1_SZ        0x10000000	/* 256 MiB */
@@ -67,9 +72,9 @@ extern struct onstor_vectors *coug_vectors;
 #define TUXRX_RAM3_START    0x0c0000000ULL
 #define TUXRX_RAM4_START    0x140000000ULL
 
-#define TUXRX_RAM2_SZ        0x20000000    /* 512 MiB */
-#define TUXRX_RAM3_SZ        0x10000000    /* 256 MiB */
-#define TUXRX_RAM4_SZ        0xc0000000    /* 3   GiB */
+#define TUXRX_RAM2_SZ        0x20000000U    /* 512 MiB */
+#define TUXRX_RAM3_SZ        0x10000000U    /* 256 MiB */
+#define TUXRX_RAM4_SZ        0xc0000000U    /* 3   GiB */
 
 /*
  * The BCM1480 has a regrettable bug whereby a memory chunk of 378M
@@ -77,66 +82,38 @@ extern struct onstor_vectors *coug_vectors;
  * across the HT bus.  So it can't be shared by other 1480s or
  * devices that might be on the the HT bus.  Very, very inconvenient.
  */
-#define SHAREABLE_HOLE_OFF   0x0a0000000ULL
-#define SHAREABLE_HOLE_SIZE  0x018000000ULL /* 378 MiB */
+#define NONSHAREABLE_HOLE_OFF   0x0a0000000ULL
+#define NONSHAREABLE_HOLE_SIZE  0x018000000ULL /* 378 MiB */
 
 /*
  * The physical address of the start of the hole in RAM4 memory
  * area.  This equates to 0x1,e000,0000
  */
-#define TUXRX_RAM4_HOLE_START (TUXRX_RAM4_START + SHAREABLE_HOLE_OFF)
+#define TUXRX_RAM4_HOLE_START (TUXRX_RAM4_START + NONSHAREABLE_HOLE_OFF)
+#define TUXRX_RAM4_HOLE_SZ  NONSHAREABLE_HOLE_SIZE
+#define TUXRX_RAM4_SIZE (TUXRX_RAM4_HOLE_START - TUXRX_RAM4_START)
+
+#define TUXRX_RAM5_START	TUXRX_RAM4_HOLE_START + TUXRX_RAM4_HOLE_SZ
+#define TUXRX_RAM5_SZ	TUXRX_RAM4_SZ - TUXRX_RAM4_SIZE - TUXRX_RAM4_HOLE_SZ
 
 /*
- * various base address defines
- * this equates to 0x1,f000,0000
+ * The start of the shared memory that is hosted on the txrx.
+ * This equates to 0x1,f000,0000 so that the chunk starts on a 256M boundary
  */
-#define SHARED_MEM_START	(TUXRX_RAM4_HOLE_START + (256 * 1024 * 1024))
+#define MY_SHARED_MEM	(TUXRX_RAM4_HOLE_START + (256 * 1024 * 1024))
 
 /*
  * The memory map for the shared memory.
  */
 #define SHARED_MGMT_OFF 0x0
-#define SHARED_MEM_MGMT (SHARED_MEM_START + SHARED_MGMT_OFF)
+#define SHARED_MEM_MGMT (MY_SHARED_MEM + SHARED_MGMT_OFF)
 #define SHARED_MEM_MGMT_SIZE 0x1000000
 
 /*
  * PCI specific defines
  */
-#define PCI_SHARED_MEM_OFF 0x60000000
+#define PCI_SHARED_MEM_OFF	0x60000000ULL
+#define SSC_SHARED_MEM		PCI_SHARED_MEM_OFF
 
-/*
- * shared memory map.
- */
-struct _shared_memregion {
-	unsigned long pa_start;
-	unsigned long pa_end;
-	unsigned long va_start;
-};
-
-/*
- * SEEP - Serial EEPROM defines
- */
-#define SEEP_SIG_LEN				(4+1)
-#define	SEEP_PCB_MODEL_LEN			(9+1)
-#define	SEEP_PCB_ASSEMBLY_LEN		(13+1)
-#define	SEEP_PCB_SERIAL_LEN			(10+1)
-#define	SEEP_PCB_REVISION_LEN		(4+1)
-#define	SEEP_PCB_DEVIATION_LEN		(11+1)
-#define	SEEP_PCB_IP_ADDR_LEN		(15+1)
-#define	SEEP_PCB_IP_MASK_LEN		(15+1)
-#define	SEEP_PCB_DIAG_TEST_LEN		(1+1)
-#define	SEEP_PCB_RESULT_LEN		(1+1)
-#define	SEEP_PCB_DATE_LEN		(6+1)
-#define	SEEP_PCB_MISC_INFO_LEN		(8+1)
-#define	SEEP_PCB_UPTIME_LEN		(3+1)
-#define	SEEP_PCB_REBOOTNUM_LEN		(1+1)
-
-#define SEEP_ENV_START		147
-#define SEEP_NVRAM_START	179
-#define SEEP_VER_STRING_LEN_SIZE  (SEEP_TOTAL_LEN - SEEP_NVRAM_START - 1)
-
-/*
- * HT specific defines
- */
 
 #endif
diff --git a/tuxrx-config b/tuxrx-config
index 4ba7466..a03c240 100644
--- a/tuxrx-config
+++ b/tuxrx-config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22
-# Tue Jan 13 17:10:50 2009
+# Thu Mar 26 20:13:45 2009
 #
 CONFIG_MIPS=y
 
@@ -68,6 +68,8 @@ CONFIG_SIBYTE_STANDALONE_RAM_SIZE=0
 # CONFIG_SIBYTE_SB1250_PROF is not set
 # CONFIG_SIBYTE_TBPROF is not set
 CONFIG_SIBYTE_HAS_ZBUS_PROFILING=y
+CONFIG_ONSTOR_TPL=y
+CONFIG_ONSTOR_NETEEE2=y
 CONFIG_RWSEM_GENERIC_SPINLOCK=y
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
@@ -301,7 +303,14 @@ CONFIG_PACKET=y
 CONFIG_PACKET_MMAP=y
 CONFIG_UNIX=y
 # CONFIG_NET_KEY is not set
+
+#
+# Onstor Options
+#
 CONFIG_NETEEE=y
+CONFIG_NETEEE2=y
+CONFIG_TPL=y
+CONFIG_TUXRX_ACPU=m
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -975,7 +984,7 @@ CONFIG_NET_DMA=y
 #
 # Management Bus Driver support
 #
-# CONFIG_MGMT_BUS is not set
+CONFIG_MGMT_BUS=y
 # CONFIG_RCON is not set
 # CONFIG_PROM is not set
 
