Port-arm archive

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

Re: Fwd: Gumstix Verdex not booting with NetBSD 7.0 and newer



On 01/04/17 10:00, smesgr wrote:

ram_size: 134217728 KERNEL_VM: 0xc1000000 KERNEL_BASE: 0xc0000000

That KASSERT is checking that all memory can be mapped in the area

     [KERNEL_BASE - KERNEL_VM_BASE)

which it obviously can't with that KERNEL_VM_BASE.

Obviously there is a complete missunderstanding of those values on my side. The virtual address mapping of the board is:

                             Physical Virtual        Num
                       Starting    Ending    Starting Ending Pages
               SDRAM: 0xa0000000 0xa7ffffff 0xc0000000 0xc7ffffff 32768
        text section: 0xa0200000 0xa0638fff 0xc0200000 0xc0638fff 1081
        data section: 0xa06c0000 0xa07a61d8 0xc06c0000 0xc07a61d8 231
         bss section: 0xa07a61d8 0xa07cd9c8 0xc07a61d8 0xc07cd9c8 40
   L1 page directory: 0xa07d0000 0xa07d3fff 0xc07d0000 0xc07d3fff 4
   ABT stack (CPU 0): 0xa07dd000 0xa07ddfff 0xc07dd000 0xc07ddfff 1
   FIQ stack (CPU 0): 0xa07de000 0xa07defff 0xc07de000 0xc07defff 1
   IRQ stack (CPU 0): 0xa07df000 0xa07dffff 0xc07df000 0xc07dffff 1
   UND stack (CPU 0): 0xa07e0000 0xa07e0fff 0xc07e0000 0xc07e0fff 1
  IDLE stack (CPU 0): 0xa07e1000 0xa07e2fff 0xc07e1000 0xc07e2fff 2
           SVC stack: 0xa07e3000 0xa07e4fff 0xc07e3000 0xc07e4fff 2
      Message Buffer: 0xa07e5000 0xa07e8fff 0xc07e5000 0xc07e8fff 4
   Exception Vectors: 0xa07e9000 0xa07e9fff 0x00000000 0x00000fff 1
         Free Memory: 0xa07eb000 0xa7ffffff 30741
         Free Memory: 0xa0000000 0xa01fffff 512

which looks good to me. In VM terms the kernel is located at 0xc0200000 to 0xc1000000. Afterwards the KERNEL_VM_SIZE points up to 0xccffffff. To my understanding the KERNEL_VM_BASE is the starting point not the end address. (considering starting point to have the lowest address values). Thus I would expect KERNEL_VM_BASE - KERNEL_BASE + KERNEL_VM_SIZE.


Does this help?


Index: sys/arch/evbarm/gumstix/gumstix_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/evbarm/gumstix/gumstix_machdep.c,v
retrieving revision 1.57
diff -u -p -r1.57 gumstix_machdep.c
--- sys/arch/evbarm/gumstix/gumstix_machdep.c	20 Oct 2016 09:53:08 -0000	1.57
+++ sys/arch/evbarm/gumstix/gumstix_machdep.c	19 Jan 2017 21:02:21 -0000
@@ -206,13 +206,16 @@
 #endif
 
 /*
- * The range 0xc1000000 - 0xcfffffff is available for kernel VM space
- * Core-logic registers and I/O mappings occupy 0xfd000000 - 0xffffffff
+ * The range 0xc1000000 - 0xfd000000 is available for kernel VM space
+ * Core-logic registers and I/O mappings occupy
+ *
+ *    0xfd000000 - 0xfd800000	on gumstix
+ *    0xc0000000 - 0xc0400000	on overo, duovero and pepper
  */
 #ifndef KERNEL_VM_BASE
-#define	KERNEL_VM_BASE		0xc1000000
+#define	KERNEL_VM_BASE		0xc8000000
 #endif
-#define KERNEL_VM_SIZE		0x0f000000
+#define KERNEL_VM_SIZE		0x35000000
 
 BootConfig bootconfig;		/* Boot config storage */
 static char bootargs[MAX_BOOT_STRING];


Home | Main Index | Thread Index | Old Index