OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [sw/] [lib/] [source/] [neorv32_rte.c] - Diff between revs 61 and 63

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 61 Rev 63
Line 275... Line 275...
 
 
  neorv32_uart_printf("\n\n<<< Processor Configuration Overview >>>\n");
  neorv32_uart_printf("\n\n<<< Processor Configuration Overview >>>\n");
 
 
  // Processor - general stuff
  // Processor - general stuff
  neorv32_uart0_printf("\n=== << General >> ===\n"
  neorv32_uart0_printf("\n=== << General >> ===\n"
                       "Clock:         %u Hz\n"
                       "Clock speed:   %u Hz\n", SYSINFO_CLK);
                       "User ID:       0x%x\n", SYSINFO_CLK, SYSINFO_USER_CODE);
 
  neorv32_uart0_printf("Full HW reset: "); __neorv32_rte_print_true_false(SYSINFO_FEATURES & (1 << SYSINFO_FEATURES_HW_RESET));
  neorv32_uart0_printf("Full HW reset: "); __neorv32_rte_print_true_false(SYSINFO_FEATURES & (1 << SYSINFO_FEATURES_HW_RESET));
  neorv32_uart0_printf("Boot Config.:  Boot ");
  neorv32_uart0_printf("Boot Config.:  Boot ");
  if (SYSINFO_FEATURES & (1 << SYSINFO_FEATURES_BOOTLOADER)) {
  if (SYSINFO_FEATURES & (1 << SYSINFO_FEATURES_BOOTLOADER)) {
    neorv32_uart0_printf("via Bootloader\n");
    neorv32_uart0_printf("via Bootloader\n");
  }
  }
Line 328... Line 327...
      neorv32_uart0_putc(c);
      neorv32_uart0_putc(c);
      neorv32_uart0_putc(' ');
      neorv32_uart0_putc(' ');
    }
    }
  }
  }
 
 
  // Z* CPU extensions (from custom "mzext" CSR)
  // Z* CPU extensions
  tmp = neorv32_cpu_csr_read(CSR_MZEXT);
  tmp = SYSINFO_CPU;
  if (tmp & (1<<CSR_MZEXT_ZICSR)) {
  if (tmp & (1<<SYSINFO_CPU_ZICSR)) {
    neorv32_uart0_printf("Zicsr ");
    neorv32_uart0_printf("Zicsr ");
  }
  }
  if (tmp & (1<<CSR_MZEXT_ZIFENCEI)) {
  if (tmp & (1<<SYSINFO_CPU_ZIFENCEI)) {
    neorv32_uart0_printf("Zifencei ");
    neorv32_uart0_printf("Zifencei ");
  }
  }
  if (tmp & (1<<CSR_MZEXT_ZMMUL)) {
  if (tmp & (1<<SYSINFO_CPU_ZMMUL)) {
    neorv32_uart0_printf("Zmmul ");
    neorv32_uart0_printf("Zmmul ");
  }
  }
 
  if (tmp & (1<<SYSINFO_CPU_ZBB)) {
 
    neorv32_uart0_printf("Zbb ");
 
  }
 
 
  if (tmp & (1<<CSR_MZEXT_ZFINX)) {
  if (tmp & (1<<SYSINFO_CPU_ZFINX)) {
    neorv32_uart0_printf("Zfinx ");
    neorv32_uart0_printf("Zfinx ");
  }
  }
  if (tmp & (1<<CSR_MZEXT_ZXNOCNT)) {
  if (tmp & (1<<SYSINFO_CPU_ZXNOCNT)) {
    neorv32_uart0_printf("Zxnocnt(!) ");
    neorv32_uart0_printf("Zxnocnt(!) ");
  }
  }
  if (tmp & (1<<CSR_MZEXT_ZXSCNT)) {
  if (tmp & (1<<SYSINFO_CPU_ZXSCNT)) {
    neorv32_uart0_printf("Zxscnt(!) ");
    neorv32_uart0_printf("Zxscnt(!) ");
  }
  }
  if (tmp & (1<<CSR_MZEXT_DEBUGMODE)) {
  if (tmp & (1<<SYSINFO_CPU_DEBUGMODE)) {
    neorv32_uart0_printf("Debug-Mode ");
    neorv32_uart0_printf("Debug-Mode ");
  }
  }
 
 
 
  if (tmp & (1<<SYSINFO_CPU_FASTMUL)) {
 
    neorv32_uart0_printf("FAST_MUL ");
 
  }
 
  if (tmp & (1<<SYSINFO_CPU_FASTSHIFT)) {
 
    neorv32_uart0_printf("FAST_SHIFT ");
 
  }
 
 
  // check physical memory protection
  // check physical memory protection
  neorv32_uart0_printf("\nPMP:               ");
  neorv32_uart0_printf("\nPMP:               ");
  uint32_t pmp_num_regions = neorv32_cpu_pmp_get_num_regions();
  uint32_t pmp_num_regions = neorv32_cpu_pmp_get_num_regions();
  if (pmp_num_regions != 0)  {
  if (pmp_num_regions != 0)  {
    neorv32_uart0_printf("%u regions, %u bytes minimal granularity\n", pmp_num_regions, neorv32_cpu_pmp_get_granularity());
    neorv32_uart0_printf("%u regions, %u bytes minimal granularity\n", pmp_num_regions, neorv32_cpu_pmp_get_granularity());

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.