[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.20.2.4 and 1.20.2.5

version 1.20.2.4, 2018/09/06 06:55:30 version 1.20.2.5, 2018/09/30 01:45:41
Line 38  __KERNEL_RCSID(0, "$NetBSD$");
Line 38  __KERNEL_RCSID(0, "$NetBSD$");
 #include "opt_cpuoptions.h"  #include "opt_cpuoptions.h"
   
 #include "ukbd.h"  #include "ukbd.h"
   #include "wsdisplay.h"
   
 #include <sys/param.h>  #include <sys/param.h>
 #include <sys/systm.h>  #include <sys/systm.h>
Line 84  __KERNEL_RCSID(0, "$NetBSD$");
Line 85  __KERNEL_RCSID(0, "$NetBSD$");
 #if NUKBD > 0  #if NUKBD > 0
 #include <dev/usb/ukbdvar.h>  #include <dev/usb/ukbdvar.h>
 #endif  #endif
   #if NWSDISPLAY > 0
   #include <dev/wscons/wsdisplayvar.h>
   #endif
   
 #ifdef MEMORY_DISK_DYNAMIC  #ifdef MEMORY_DISK_DYNAMIC
 #include <dev/md.h>  #include <dev/md.h>
Line 108  static uint64_t initrd_start, initrd_end
Line 112  static uint64_t initrd_start, initrd_end
   
 #include <libfdt.h>  #include <libfdt.h>
 #include <dev/fdt/fdtvar.h>  #include <dev/fdt/fdtvar.h>
 #define FDT_BUF_SIZE    (256*1024)  #define FDT_BUF_SIZE    (512*1024)
 static uint8_t fdt_data[FDT_BUF_SIZE];  static uint8_t fdt_data[FDT_BUF_SIZE];
   
 extern char KERNEL_BASE_phys[];  extern char KERNEL_BASE_phys[];
Line 116  extern char KERNEL_BASE_phys[];
Line 120  extern char KERNEL_BASE_phys[];
   
 static void fdt_update_stdout_path(void);  static void fdt_update_stdout_path(void);
 static void fdt_device_register(device_t, void *);  static void fdt_device_register(device_t, void *);
   static void fdt_device_register_post_config(device_t, void *);
 static void fdt_cpu_rootconf(void);  static void fdt_cpu_rootconf(void);
 static void fdt_reset(void);  static void fdt_reset(void);
 static void fdt_powerdown(void);  static void fdt_powerdown(void);
Line 160  earlyconsgetc(dev_t dev)
Line 165  earlyconsgetc(dev_t dev)
 #ifdef VERBOSE_INIT_ARM  #ifdef VERBOSE_INIT_ARM
 #define VPRINTF(...)    printf(__VA_ARGS__)  #define VPRINTF(...)    printf(__VA_ARGS__)
 #else  #else
 #define VPRINTF(...)  #define VPRINTF(...)    do { } while (/* CONSTCOND */ 0)
 #endif  #endif
   
 /*  /*
Line 372  initarm(void *arg)
Line 377  initarm(void *arg)
         /* Load FDT */          /* Load FDT */
         int error = fdt_check_header(fdt_addr_r);          int error = fdt_check_header(fdt_addr_r);
         if (error == 0) {          if (error == 0) {
                 error = fdt_move(fdt_addr_r, fdt_data, sizeof(fdt_data));                  /* If the DTB is too big, try to pack it in place first. */
                   if (fdt_totalsize(fdt_addr_r) > sizeof(fdt_data))
                           (void)fdt_pack(__UNCONST(fdt_addr_r));
                   error = fdt_open_into(fdt_addr_r, fdt_data, sizeof(fdt_data));
                 if (error != 0)                  if (error != 0)
                         panic("fdt_move failed: %s", fdt_strerror(error));                          panic("fdt_move failed: %s", fdt_strerror(error));
                 fdtbus_set_data(fdt_data);                  fdtbus_set_data(fdt_data);
Line 413  initarm(void *arg)
Line 421  initarm(void *arg)
          */           */
         fdt_update_stdout_path();          fdt_update_stdout_path();
   
           /*
            * Done making changes to the FDT.
            */
           fdt_pack(fdt_data);
   
         VPRINTF("consinit ");          VPRINTF("consinit ");
         consinit();          consinit();
         VPRINTF("ok\n");          VPRINTF("ok\n");
Line 423  initarm(void *arg)
Line 436  initarm(void *arg)
         cpu_reset_address = fdt_reset;          cpu_reset_address = fdt_reset;
         cpu_powerdown_address = fdt_powerdown;          cpu_powerdown_address = fdt_powerdown;
         evbarm_device_register = fdt_device_register;          evbarm_device_register = fdt_device_register;
           evbarm_device_register_post_config = fdt_device_register_post_config;
         evbarm_cpu_rootconf = fdt_cpu_rootconf;          evbarm_cpu_rootconf = fdt_cpu_rootconf;
   
         /* Talk to the user */          /* Talk to the user */
Line 459  initarm(void *arg)
Line 473  initarm(void *arg)
   
         parse_mi_bootargs(boot_args);          parse_mi_bootargs(boot_args);
   
         #define MAX_PHYSMEM 16          #define MAX_PHYSMEM 64
         static struct boot_physmem fdt_physmem[MAX_PHYSMEM];          static struct boot_physmem fdt_physmem[MAX_PHYSMEM];
         int nfdt_physmem = 0;          int nfdt_physmem = 0;
         struct extent_region *er;          struct extent_region *er;
Line 536  consinit(void)
Line 550  consinit(void)
   
         cons->consinit(&faa, uart_freq);          cons->consinit(&faa, uart_freq);
   
 #if NUKBD > 0  
         ukbd_cnattach();        /* allow USB keyboard to become console */  
 #endif  
   
         initialized = true;          initialized = true;
 }  }
   
Line 621  fdt_device_register(device_t self, void 
Line 631  fdt_device_register(device_t self, void 
 }  }
   
 static void  static void
   fdt_device_register_post_config(device_t self, void *aux)
   {
   #if NUKBD > 0 && NWSDISPLAY > 0
           if (device_is_a(self, "wsdisplay")) {
                   struct wsdisplay_softc *sc = device_private(self);
                   if (wsdisplay_isconsole(sc))
                           ukbd_cnattach();
           }
   #endif
   }
   
   static void
 fdt_cpu_rootconf(void)  fdt_cpu_rootconf(void)
 {  {
         device_t dev;          device_t dev;
Line 634  fdt_cpu_rootconf(void)
Line 656  fdt_cpu_rootconf(void)
                 if (get_bootconf_option(boot_args, "root", BOOTOPT_TYPE_STRING, &ptr) != 0)                  if (get_bootconf_option(boot_args, "root", BOOTOPT_TYPE_STRING, &ptr) != 0)
                         break;                          break;
   
                 if (device_is_a(dev, "ld") || device_is_a(dev, "sd") || device_is_a(dev, "ld"))                  if (device_is_a(dev, "ld") || device_is_a(dev, "sd") || device_is_a(dev, "wd"))
                         fdt_detect_root_device(dev);                          fdt_detect_root_device(dev);
         }          }
         deviter_release(&di);          deviter_release(&di);

Legend:
Removed from v.1.20.2.4  
changed lines
  Added in v.1.20.2.5

CVSweb <webmaster@jp.NetBSD.org>