Module Name: src Committed By: cliff Date: Sun Sep 13 07:00:31 UTC 2009
Modified Files: src/sys/arch/evbmips/rmixl [matt-nb5-mips64]: machdep.c src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_com.c rmixl_obio_space.c rmixl_obiovar.h rmixlvar.h Log Message: improve how some config data are managed To generate a diff of this commit: cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/arch/evbmips/rmixl/machdep.c cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/arch/mips/rmi/rmixl_com.c \ src/sys/arch/mips/rmi/rmixl_obio_space.c \ src/sys/arch/mips/rmi/rmixl_obiovar.h src/sys/arch/mips/rmi/rmixlvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/evbmips/rmixl/machdep.c diff -u src/sys/arch/evbmips/rmixl/machdep.c:1.1.2.1 src/sys/arch/evbmips/rmixl/machdep.c:1.1.2.2 --- src/sys/arch/evbmips/rmixl/machdep.c:1.1.2.1 Sun Sep 13 03:27:38 2009 +++ src/sys/arch/evbmips/rmixl/machdep.c Sun Sep 13 07:00:30 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $ */ +/* $NetBSD: machdep.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $ */ /* * Copyright 2001, 2002 Wasabi Systems, Inc. @@ -112,7 +112,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $"); #include "opt_ddb.h" #include "opt_com.h" @@ -264,7 +264,7 @@ physmem = btoc(memsize); rcp = &rmixl_configuration; - rcp->rc_io_base = rmixlfw_info.io_base; + rcp->rc_io_pbase = MIPS_KSEG1_TO_PHYS(rmixlfw_info.io_base); rmixl_bus_mem_init(&rcp->rc_memt, rcp); #ifdef NOTYET rmixl_bus_io_init(&rcp->rc_iot, rcp); @@ -392,7 +392,7 @@ goto found; } - rmixl_putchar_init(rmixlfw_info.io_base); + rmixl_putchar_init(MIPS_KSEG1_TO_PHYS(rmixlfw_info.io_base)); rmixl_puts("\r\nWARNING: untested psb_version: "); rmixl_puthex64(rmixlfw_info.psb_version); rmixl_puts("\r\n"); Index: src/sys/arch/mips/rmi/rmixl_com.c diff -u src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.1 src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.2 --- src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.1 Sun Sep 13 03:27:38 2009 +++ src/sys/arch/mips/rmi/rmixl_com.c Sun Sep 13 07:00:30 2009 @@ -1,4 +1,4 @@ -/* $Id: rmixl_com.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $ */ +/* $Id: rmixl_com.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $ */ /*- * Copyright (c) 2006 Urbana-Champaign Independent Media Center. * Copyright (c) 2006 Garrett D'Amore. @@ -101,7 +101,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -144,10 +144,9 @@ MIPS_PHYS_TO_KSEG1(RMIXL_IO_DEV_PBASE + RMIXL_IO_DEV_UART_1); void -rmixl_putchar_init(uint64_t io_base) +rmixl_putchar_init(uint64_t io_pbase) { - com0addr = (uint32_t *) - MIPS_PHYS_TO_KSEG1(io_base + RMIXL_IO_DEV_UART_1); + com0addr = (uint32_t *)MIPS_PHYS_TO_KSEG1(io_pbase + RMIXL_IO_DEV_UART_1); } void Index: src/sys/arch/mips/rmi/rmixl_obio_space.c diff -u src/sys/arch/mips/rmi/rmixl_obio_space.c:1.1.2.1 src/sys/arch/mips/rmi/rmixl_obio_space.c:1.1.2.2 --- src/sys/arch/mips/rmi/rmixl_obio_space.c:1.1.2.1 Sun Sep 13 03:27:38 2009 +++ src/sys/arch/mips/rmi/rmixl_obio_space.c Sun Sep 13 07:00:30 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rmixl_obio_space.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $ */ +/* $NetBSD: rmixl_obio_space.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,8 +34,9 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rmixl_obio_space.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rmixl_obio_space.c,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $"); +#include <sys/types.h> #include <sys/param.h> #include <machine/bus.h> @@ -50,32 +51,34 @@ /* MEM region 1 */ #define CHIP_W1_BUS_START(v) 0 #define CHIP_W1_BUS_END(v) (RMIXL_IO_DEV_SIZE - 1) -#define CHIP_W1_SYS_START(v) (((struct rmixl_config *)(v))->rc_io_base) +#define CHIP_W1_SYS_START(v) (((struct rmixl_config *)(v))->rc_io_pbase) #define CHIP_W1_SYS_END(v) (CHIP_W1_SYS_START(v) + RMIXL_IO_DEV_SIZE - 1) -struct mips_bus_space rmixl_bus_memt; -struct mips_bus_dma_tag rmixl_bus_dmat; - void rmixl_obio_bus_init(void) { static int done = 0; + if (done) return; done = 1; - - rmixl_bus_mem_init(&rmixl_bus_memt, &rmixl_configuration); + rmixl_bus_mem_init(&rmixl_configuration.rc_memt, &rmixl_configuration); #ifdef NOTYET - rmixl_dma_init(NULL, &rmixl_bus_dmat); + rmixl_dma_init(&rmixl_configuration.rc_pci_dmat); #endif } -/* this primarily exists so we can get to the console... */ bus_space_tag_t rmixl_obio_get_bus_space_tag(void) { - rmixl_obio_bus_init(); - return (bus_space_tag_t)&rmixl_bus_memt; + return (bus_space_tag_t)&rmixl_configuration.rc_memt; } +bus_addr_t +rmixl_obio_get_io_pbase(void) +{ + return (bus_addr_t)rmixl_configuration.rc_io_pbase; +} + + #include <mips/mips/bus_space_alignstride_chipdep.c> Index: src/sys/arch/mips/rmi/rmixl_obiovar.h diff -u src/sys/arch/mips/rmi/rmixl_obiovar.h:1.1.2.1 src/sys/arch/mips/rmi/rmixl_obiovar.h:1.1.2.2 --- src/sys/arch/mips/rmi/rmixl_obiovar.h:1.1.2.1 Sun Sep 13 03:27:38 2009 +++ src/sys/arch/mips/rmi/rmixl_obiovar.h Sun Sep 13 07:00:30 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rmixl_obiovar.h,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $ */ +/* $NetBSD: rmixl_obiovar.h,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $ */ #ifndef _MIPS_RMIXL_OBIOVAR_H_ #define _MIPS_RMIXL_OBIOVAR_H_ @@ -18,8 +18,8 @@ typedef struct obio_softc { struct device sc_dev; bus_dma_tag_t sc_dmat; - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; + bus_space_tag_t sc_bst; + bus_space_handle_t sc_bsh; bus_addr_t sc_base; bus_size_t sc_size; @@ -31,9 +31,6 @@ #endif } obio_softc_t; -extern void rmixl_obio_bus_init(void); -extern bus_space_tag_t rmixl_obio_get_bus_space_tag(void); - extern struct mips_bus_space rmixl_bus_mbst; extern struct mips_bus_dma_tag rmixl_bus_mdt; Index: src/sys/arch/mips/rmi/rmixlvar.h diff -u src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.1 src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.2 --- src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.1 Sun Sep 13 03:27:38 2009 +++ src/sys/arch/mips/rmi/rmixlvar.h Sun Sep 13 07:00:30 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rmixlvar.h,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $ */ +/* $NetBSD: rmixlvar.h,v 1.1.2.2 2009/09/13 07:00:30 cliff Exp $ */ /* * Copyright 2002 Wasabi Systems, Inc. @@ -39,8 +39,7 @@ #include <machine/bus.h> struct rmixl_config { - uint64_t rc_io_base; - struct mips_bus_space rc_iot; + uint64_t rc_io_pbase; struct mips_bus_space rc_memt; struct mips_bus_dma_tag rc_pci_dmat; struct mips_pci_chipset rc_pc; @@ -52,6 +51,9 @@ extern struct rmixl_config rmixl_configuration; extern void rmixl_bus_mem_init(bus_space_tag_t, void *); +extern void rmixl_obio_bus_init(void); +extern bus_space_tag_t rmixl_obio_get_bus_space_tag(void); +extern bus_addr_t rmixl_obio_get_io_pbase(void); extern void *rmixl_intr_establish(int, int, int (*)(void *), void *); extern void rmixl_intr_disestablish(void *);