7 class Kmem : public Mem_layout
13 static Mword *kernel_sp();
14 static void kernel_sp(Mword *);
16 static Mword is_tcb_page_fault( Mword pfa, Mword error );
17 static Mword is_kmem_page_fault( Mword pfa, Mword error );
18 static Mword is_io_bitmap_page_fault( Mword pfa );
20 static Address virt_to_phys(const void *addr);
26 //---------------------------------------------------------------------------
27 IMPLEMENTATION [ppc32]:
29 #include "mem_layout.h"
33 char kernel_page_directory[sizeof(Pdir)];
34 Pdir *Kmem::_kdir = (Pdir *)&kernel_page_directory;
46 Mword *Kmem::kernel_sp()
50 void Kmem::kernel_sp(Mword *sp)
53 PUBLIC static inline NEEDS["mem_layout.h", "panic.h"]
54 Address Kmem::ipc_window(unsigned /*win*/)
56 panic("%s not implemented", __PRETTY_FUNCTION__);
60 IMPLEMENT inline NEEDS["paging.h"]
61 Address Kmem::virt_to_phys(const void *addr)
63 Address a = reinterpret_cast<Address>(addr);
64 return kdir()->virt_to_phys(a);
67 //------------------------------------------------------------------------------
69 * dummy implementations
73 Mword Kmem::is_kmem_page_fault(Mword pfa, Mword /*error*/)
75 return in_kernel(pfa);
79 Mword Kmem::is_tcb_page_fault(Mword /*pfa*/, Mword /*error*/ )
85 Mword Kmem::is_io_bitmap_page_fault( Mword /*pfa*/ )