Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/riscv64/src/riscv64.c

    r6c742f5e r8b6aa39  
    3434
    3535#include <arch.h>
    36 #include <stddef.h>
    37 #include <arch/arch.h>
     36#include <typedefs.h>
    3837#include <arch/interrupt.h>
    3938#include <arch/asm.h>
    40 #include <arch/drivers/ucb.h>
    4139
    4240#include <func.h>
     
    5048#include <proc/thread.h>
    5149#include <console/console.h>
    52 #include <mem.h>
    53 #include <str.h>
     50#include <memstr.h>
    5451
    5552char memcpy_from_uspace_failover_address;
    5653char memcpy_to_uspace_failover_address;
    5754
    58 static void riscv64_post_mm_init(void);
    59 
    6055arch_ops_t riscv64_ops = {
    61         .post_mm_init = riscv64_post_mm_init
    6256};
    6357
    6458arch_ops_t *arch_ops = &riscv64_ops;
    65 
    66 void riscv64_pre_main(bootinfo_t *bootinfo)
    67 {
    68         physmem_start = bootinfo->physmem_start;
    69         htif_frame = bootinfo->htif_frame;
    70         pt_frame = bootinfo->pt_frame;
    71        
    72         htif_init(bootinfo->ucbinfo.tohost, bootinfo->ucbinfo.fromhost);
    73        
    74         /* Copy tasks map. */
    75         init.cnt = min3(bootinfo->taskmap.cnt, TASKMAP_MAX_RECORDS,
    76             CONFIG_INIT_TASKS);
    77        
    78         for (size_t i = 0; i < init.cnt; i++) {
    79                 init.tasks[i].paddr = KA2PA(bootinfo->taskmap.tasks[i].addr);
    80                 init.tasks[i].size = bootinfo->taskmap.tasks[i].size;
    81                 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN,
    82                     bootinfo->taskmap.tasks[i].name);
    83         }
    84        
    85         /* Copy physical memory map. */
    86         memmap.total = bootinfo->memmap.total;
    87         memmap.cnt = min(bootinfo->memmap.cnt, MEMMAP_MAX_RECORDS);
    88         for (size_t i = 0; i < memmap.cnt; i++) {
    89                 memmap.zones[i].start = bootinfo->memmap.zones[i].start;
    90                 memmap.zones[i].size = bootinfo->memmap.zones[i].size;
    91         }
    92 }
    93 
    94 void riscv64_post_mm_init(void)
    95 {
    96         outdev_t *htifout = htifout_init();
    97         if (htifout)
    98                 stdout_wire(htifout);
    99 }
    10059
    10160void calibrate_delay_loop(void)
     
    13190}
    13291
     92int context_save_arch(context_t *ctx)
     93{
     94        return 1;
     95}
     96
     97void context_restore_arch(context_t *ctx)
     98{
     99        while (true);
     100}
     101
    133102void fpu_init(void)
    134103{
     
    153122}
    154123
     124void early_putchar(wchar_t ch)
     125{
     126}
     127
    155128/** @}
    156129 */
Note: See TracChangeset for help on using the changeset viewer.