Subversion Repositories HelenOS

Rev

Rev 3136 | Rev 3880 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3136 Rev 3228
Line 46... Line 46...
46
#include <print.h>
46
#include <print.h>
47
#include <syscall/syscall.h>
47
#include <syscall/syscall.h>
48
#include <sysinfo/sysinfo.h>
48
#include <sysinfo/sysinfo.h>
49
 
49
 
50
#include <arch/interrupt.h>
50
#include <arch/interrupt.h>
51
#include <arch/drivers/arc.h>
-
 
52
#include <console/chardev.h>
51
#include <console/chardev.h>
53
#include <arch/barrier.h>
52
#include <arch/barrier.h>
54
#include <arch/debugger.h>
53
#include <arch/debugger.h>
55
#include <genarch/fb/fb.h>
54
#include <genarch/fb/fb.h>
56
#include <genarch/fb/visuals.h>
55
#include <genarch/fb/visuals.h>
Line 95... Line 94...
95
    /* It is not assumed by default */
94
    /* It is not assumed by default */
96
    interrupts_disable();
95
    interrupts_disable();
97
   
96
   
98
    /* Initialize dispatch table */
97
    /* Initialize dispatch table */
99
    exception_init();
98
    exception_init();
100
    arc_init();
-
 
101
 
99
 
102
    /* Copy the exception vectors to the right places */
100
    /* Copy the exception vectors to the right places */
103
    memcpy(TLB_EXC, (char *) tlb_refill_entry, EXCEPTION_JUMP_SIZE);
101
    memcpy(TLB_EXC, (char *) tlb_refill_entry, EXCEPTION_JUMP_SIZE);
104
    smc_coherence_block(TLB_EXC, EXCEPTION_JUMP_SIZE);
102
    smc_coherence_block(TLB_EXC, EXCEPTION_JUMP_SIZE);
105
    memcpy(NORM_EXC, (char *) exception_entry, EXCEPTION_JUMP_SIZE);
103
    memcpy(NORM_EXC, (char *) exception_entry, EXCEPTION_JUMP_SIZE);
Line 185... Line 183...
185
    return 0;
183
    return 0;
186
}
184
}
187
 
185
 
188
void arch_reboot(void)
186
void arch_reboot(void)
189
{
187
{
190
    if (!arc_reboot())
-
 
191
        ___halt();
188
    ___halt();
192
   
189
   
193
    while (1)
190
    while (1)
194
        ;
191
        ;
195
}
192
}
196
 
193