Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm32 Fixed the bug that crept into giving support ...



details:   https://anonhg.NetBSD.org/src/rev/07c427e0275b
branches:  trunk
changeset: 504415:07c427e0275b
user:      reinoud <reinoud%NetBSD.org@localhost>
date:      Fri Mar 02 01:46:57 2001 +0000

description:
Fixed the bug that crept into giving support for moving IOMDs during startup.
Initially I gave it the type `int *iomd_base' but some macro's defined in
iomdreg.h calculated with the value asuming it to be an int ... thus all the
registers offsets were multiplied by four and that can only mean trouble !
The kernel boots again ever happily. Sorry for the inconvenience... it was
a good bug hunt though!

diffstat:

 sys/arch/arm32/iomd/iomd.c          |   6 +++---
 sys/arch/arm32/iomd/iomdvar.h       |   5 +++--
 sys/arch/arm32/riscpc/rpc_machdep.c |  12 ++++++------
 3 files changed, 12 insertions(+), 11 deletions(-)

diffs (84 lines):

diff -r 0e9c00e07d4d -r 07c427e0275b sys/arch/arm32/iomd/iomd.c
--- a/sys/arch/arm32/iomd/iomd.c        Fri Mar 02 00:25:06 2001 +0000
+++ b/sys/arch/arm32/iomd/iomd.c        Fri Mar 02 01:46:57 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: iomd.c,v 1.7 2001/02/25 23:59:48 reinoud Exp $ */
+/*     $NetBSD: iomd.c,v 1.8 2001/03/02 01:46:57 reinoud Exp $ */
 
 /*
  * Copyright (c) 1996-1997 Mark Brinicombe.
@@ -91,8 +91,8 @@
 
 extern struct bus_space iomd_bs_tag;
 
-int iomd_found;
-int *iomd_base = (int *) IOMD_BASE;
+int       iomd_found;
+u_int32_t iomd_base = IOMD_BASE;
 
 /* Declare prototypes */
 
diff -r 0e9c00e07d4d -r 07c427e0275b sys/arch/arm32/iomd/iomdvar.h
--- a/sys/arch/arm32/iomd/iomdvar.h     Fri Mar 02 00:25:06 2001 +0000
+++ b/sys/arch/arm32/iomd/iomdvar.h     Fri Mar 02 01:46:57 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: iomdvar.h,v 1.2 2001/02/27 20:23:11 reinoud Exp $      */
+/*     $NetBSD: iomdvar.h,v 1.3 2001/03/02 01:46:57 reinoud Exp $      */
 
 /*
  * Copyright (c) 1997 Mark Brinicombe.
@@ -119,5 +119,6 @@
 /*
  * IOMD_BASE register variable
  */
-extern int *iomd_base;
+extern u_int32_t iomd_base;
+
 /* End of iomdvar.h */
diff -r 0e9c00e07d4d -r 07c427e0275b sys/arch/arm32/riscpc/rpc_machdep.c
--- a/sys/arch/arm32/riscpc/rpc_machdep.c       Fri Mar 02 00:25:06 2001 +0000
+++ b/sys/arch/arm32/riscpc/rpc_machdep.c       Fri Mar 02 01:46:57 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rpc_machdep.c,v 1.42 2001/02/27 20:23:12 reinoud Exp $ */
+/*     $NetBSD: rpc_machdep.c,v 1.43 2001/03/02 01:46:57 reinoud Exp $ */
 
 /*
  * Copyright (c) 2000-2001 Reinoud Zandijk.
@@ -112,8 +112,8 @@
 char *boot_args = NULL;
 char *boot_file = NULL;
 
-extern int *vidc_base;
-extern int *iomd_base;
+extern int       *vidc_base;
+extern u_int32_t  iomd_base;
 
 vm_offset_t physical_start;
 vm_offset_t physical_freestart;
@@ -452,7 +452,7 @@
                videomemory.vidm_type = VIDEOMEM_TYPE_DRAM
        ;
        vidc_base = (int *) VIDC_HW_BASE;
-       iomd_base = (int *) IOMD_HW_BASE;
+       iomd_base =         IOMD_HW_BASE;
 
        /*
         * Initialise the physical console
@@ -832,7 +832,7 @@
                bootconfig.display_start = VMEM_VBASE;
        };
        vidc_base = (int *) VIDC_BASE;
-       iomd_base = (int *) IOMD_BASE;
+       iomd_base =         IOMD_BASE;
        physcon_display_base(VMEM_VBASE);
        vidcrender_reinit();
 
@@ -1275,7 +1275,7 @@
                        videomemory.vidm_type = VIDEOMEM_TYPE_DRAM;
        };
        vidc_base = (int *) VIDC_BASE;
-       iomd_base = (int *) IOMD_BASE;
+       iomd_base =         IOMD_BASE;
 
        /*
         * Initialise the physical console



Home | Main Index | Thread Index | Old Index