2012-10-08 03:38:03 +02:00
|
|
|
|
|
|
|
#include "kernel/kernel.h"
|
|
|
|
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <machine/cpu.h>
|
|
|
|
#include <assert.h>
|
|
|
|
#include <signal.h>
|
|
|
|
#include <machine/vm.h>
|
|
|
|
|
|
|
|
#include <minix/u64.h>
|
|
|
|
|
|
|
|
#include "archconst.h"
|
|
|
|
#include "arch_proto.h"
|
|
|
|
#include "serial.h"
|
|
|
|
#include "kernel/proc.h"
|
|
|
|
#include "kernel/debug.h"
|
|
|
|
#include "direct_utils.h"
|
|
|
|
#include <machine/multiboot.h>
|
|
|
|
|
2012-10-18 12:03:34 +02:00
|
|
|
void
|
|
|
|
halt_cpu(void)
|
2012-10-08 03:38:03 +02:00
|
|
|
{
|
2012-10-18 12:03:34 +02:00
|
|
|
asm volatile("dsb");
|
|
|
|
asm volatile("cpsie i");
|
|
|
|
asm volatile("wfi");
|
2013-02-15 01:07:04 +01:00
|
|
|
asm volatile("cpsid i");
|
2012-10-08 03:38:03 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
reset(void)
|
|
|
|
{
|
|
|
|
while (1);
|
|
|
|
}
|
|
|
|
|
2012-10-18 12:03:34 +02:00
|
|
|
__dead void
|
|
|
|
arch_shutdown(int how)
|
2012-10-08 03:38:03 +02:00
|
|
|
{
|
2012-10-18 12:03:34 +02:00
|
|
|
while (1);
|
2012-10-08 03:38:03 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef DEBUG_SERIAL
|
2012-10-18 12:03:34 +02:00
|
|
|
void
|
|
|
|
ser_putc(char c)
|
2012-10-08 03:38:03 +02:00
|
|
|
{
|
2012-10-18 12:03:34 +02:00
|
|
|
omap3_ser_putc(c);
|
2012-10-08 03:38:03 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|