[BACK]Return to fdt_machdep.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / evbarm / fdt

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/evbarm/fdt/fdt_machdep.c between version 1.30 and 1.31

version 1.30, 2018/08/03 13:48:24 version 1.31, 2018/08/05 06:48:50
Line 419  initarm(void *arg)
Line 419  initarm(void *arg)
         parse_mi_bootargs(mi_bootargs);          parse_mi_bootargs(mi_bootargs);
 #endif  #endif
   
 #ifndef __aarch64__  
         VPRINTF("KERNEL_BASE=0x%x, "  
                 "KERNEL_VM_BASE=0x%x, "  
                 "KERNEL_VM_BASE - KERNEL_BASE=0x%x, "  
                 "KERNEL_BASE_VOFFSET=0x%x\n",  
                 KERNEL_BASE,  
                 KERNEL_VM_BASE,  
                 KERNEL_VM_BASE - KERNEL_BASE,  
                 KERNEL_BASE_VOFFSET);  
 #endif  
   
         fdt_get_memory(&memory_start, &memory_end);          fdt_get_memory(&memory_start, &memory_end);
   
 #if !defined(_LP64)  #if !defined(_LP64)
Line 437  initarm(void *arg)
Line 426  initarm(void *arg)
         if (memory_end >= 0x100000000ULL)          if (memory_end >= 0x100000000ULL)
                 memory_end = 0x100000000ULL - PAGE_SIZE;                  memory_end = 0x100000000ULL - PAGE_SIZE;
   
         uint64_t memory_size = memory_end - memory_start;  
 #endif  
   
 #ifndef __aarch64__  
 #ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS  
         const bool mapallmem_p = true;  
 #ifndef PMAP_NEED_ALLOC_POOLPAGE  
         if (memory_size > KERNEL_VM_BASE - KERNEL_BASE) {  
                 VPRINTF("%s: dropping RAM size from %luMB to %uMB\n",  
                     __func__, (unsigned long) (memory_size >> 20),  
                     (KERNEL_VM_BASE - KERNEL_BASE) >> 20);  
                 memory_size = KERNEL_VM_BASE - KERNEL_BASE;  
         }  
 #endif  
 #else  
         const bool mapallmem_p = false;  
 #endif  
 #endif  #endif
           uint64_t memory_size = memory_end - memory_start;
   
         /* Parse ramdisk info */          /* Parse ramdisk info */
         fdt_probe_initrd(&initrd_start, &initrd_end);          fdt_probe_initrd(&initrd_start, &initrd_end);
Line 465  initarm(void *arg)
Line 438  initarm(void *arg)
          */           */
         fdt_build_bootconfig(memory_start, memory_end);          fdt_build_bootconfig(memory_start, memory_end);
   
 #ifdef __aarch64__          /* Perform PT build and VM init */
         extern char __kernel_text[];          cpu_kernel_vm_init(memory_start, memory_size);
         extern char _end[];  
   
         vaddr_t kernstart = trunc_page((vaddr_t)__kernel_text);  
         vaddr_t kernend = round_page((vaddr_t)_end);  
   
         paddr_t kernstart_phys = KERN_VTOPHYS(kernstart);  
         paddr_t kernend_phys = KERN_VTOPHYS(kernend);  
   
         VPRINTF("%s: kernel phys start %lx end %lx\n", __func__, kernstart_phys, kernend_phys);  
   
         fdt_add_reserved_memory_range(kernstart_phys,  
              kernend_phys - kernstart_phys);  
 #else  
         arm32_bootmem_init(memory_start, memory_size, KERNEL_BASE_PHYS);  
         arm32_kernel_vm_init(KERNEL_VM_BASE, ARM_VECTORS_HIGH, 0,  
             plat->devmap(), mapallmem_p);  
 #endif  
   
         VPRINTF("bootargs: %s\n", bootargs);          VPRINTF("bootargs: %s\n", bootargs);
   

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

CVSweb <webmaster@jp.NetBSD.org>