aboutsummaryrefslogtreecommitdiffstats
path: root/grub-core/kern/mips/qemu-mips/init.c
blob: f2bb652a805e4627d1274a9c51bed57e1c1f8a1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <grub/kernel.h>
#include <grub/misc.h>
#include <grub/env.h>
#include <grub/time.h>
#include <grub/types.h>
#include <grub/misc.h>
#include <grub/mm.h>
#include <grub/time.h>
#include <grub/machine/kernel.h>
#include <grub/machine/memory.h>
#include <grub/cpu/kernel.h>

#define RAMSIZE (*(grub_uint32_t *) ((16 << 20) - 264))

grub_uint32_t
grub_get_rtc (void)
{
  static int calln = 0;
  return calln++;
}

void
grub_machine_init (void)
{
  grub_mm_init_region ((void *) GRUB_MACHINE_MEMORY_USABLE,
		       RAMSIZE - (GRUB_MACHINE_MEMORY_USABLE & 0x7fffffff));
  grub_install_get_time_ms (grub_rtc_get_time_ms);
}

void
grub_machine_fini (void)
{
}

void
grub_exit (void)
{
  while (1);
}

void
grub_halt (void)
{
  while (1);
}

void
grub_reboot (void)
{
  while (1);
}

grub_err_t 
grub_machine_mmap_iterate (grub_memory_hook_t hook)
{
  hook (0, RAMSIZE, GRUB_MEMORY_AVAILABLE);
  return GRUB_ERR_NONE;
}