Port-arm archive

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

Re: Gumstix Verdex not booting with NetBSD 7.0 and newer



Hi!


From: smesgr <smesgr%gmail.com@localhost>
Date: Wed, 4 Jan 2017 11:00:18 +0100

> 
>>> 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.

Sorry, I think require this:

#ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS
       const bool mapallmem_p = true;
       KASSERT(ram_size <= KERNEL_VM_BASE - KERNEL_BASE);
#else
	const bool mapallmem_p = false;
#endif

I will try to fix with my verdex-pro-borad after a few days later.
Please wait.

Thanks,
--
kiyohara


Home | Main Index | Thread Index | Old Index