]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/arm/boot_info-arch.cpp
b112027a8e28f186a2801890bfa152423e5e87e5
[l4.git] / kernel / fiasco / src / kern / arm / boot_info-arch.cpp
1 /* ARM specific boot_info */
2
3 INTERFACE [arm]:
4
5 class Kip;
6
7 EXTENSION class Boot_info
8 {
9 public:
10   static void set_kip(Kip *kip);
11   static Kip *kip();
12 };
13
14 //---------------------------------------------------------------------------
15 IMPLEMENTATION [arm]:
16
17 #include <cstring>
18 #include <cstdio> // for debug printf's
19
20 static Kip *boot_info_kip;
21
22 IMPLEMENT
23 void Boot_info::set_kip(Kip *kip)
24 {
25   boot_info_kip = kip;
26
27
28 IMPLEMENT
29 Kip *Boot_info::kip()
30 {
31   return boot_info_kip;
32
33
34 extern "C" char _etext, _sstack, _stack, _edata, _end;
35
36 IMPLEMENT static 
37 void Boot_info::init()
38 {
39     
40   // Dependent on how we've been booted, the BSS might not have been
41   // cleaned out.  Do this now.  This is safe because we made sure in
42   // crt0.S that our stack is not in the BSS.
43   //  memset(&_edata, 0, &_sstack - &_edata);
44   //  memset(&_stack, 0, &_end - &_stack);
45
46   // We save the checksum for read-only data to be able to compare it against
47   // the kernel image later (in jdb::enter_kdebug())
48   //saved_checksum_ro = boot_info::get_checksum_ro();
49
50 #if 0
51   kmbi = *(multiboot_info *)(phys_to_virt(get_mbi_pa()));
52   
53    Cmdline::init (kmbi.flags & MULTIBOOT_CMDLINE ?
54                  static_cast<char*>(phys_to_virt (kmbi.cmdline)) : "");
55 #endif
56 }
57
58 PUBLIC static
59 void
60 Boot_info::reset_checksum_ro(void)
61 {}