From 47d22a238a6c5d60c6abfac724e6ad91885cdd67 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Fri, 29 Aug 2014 19:56:40 +0200 Subject: added paging support --- kernel/x86.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'kernel/x86.c') diff --git a/kernel/x86.c b/kernel/x86.c index ee38599..cc7c303 100644 --- a/kernel/x86.c +++ b/kernel/x86.c @@ -36,3 +36,17 @@ uint32_t x86_inl(int port) return data; } + +void x86_set_pdbr(uint32_t addr) +{ + asm volatile("mov %0, %%cr3":: "b"(addr)); + +} + +void x86_paging_enable() +{ + unsigned int cr0; + asm volatile("mov %%cr0, %0": "=b"(cr0)); + cr0 |= 0x80000000; + asm volatile("mov %0, %%cr0":: "b"(cr0)); +} -- cgit v1.2.3