josh
ae5dc7df6f
in the middle of clearing page tables allocated during mm_map() and mm_early_map()
...
git-svn-id: svn://anubis/hos/trunk@99 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-02-01 01:47:19 +00:00
josh
d41ffbbedc
added mm_early_vpage_alloc(); kernel still crashing...
...
git-svn-id: svn://anubis/hos/trunk@98 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-28 04:22:02 +00:00
josh
5ac343a2e8
fixed mm bug, now crashing because IDT isn't mapped via paging
...
git-svn-id: svn://anubis/hos/trunk@97 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-27 05:25:05 +00:00
josh
1027b8c346
compiling again after updating mm_early_map() and mm_map() for new page allocation scheme
...
git-svn-id: svn://anubis/hos/trunk@96 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-27 05:06:12 +00:00
josh
08491bace9
still reworking physical page allocator
...
git-svn-id: svn://anubis/hos/trunk@95 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-26 05:25:46 +00:00
josh
96ba9fabb1
reworking memory management... again
...
git-svn-id: svn://anubis/hos/trunk@94 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-25 23:03:23 +00:00
josh
24485b8143
fixed line endings on text files
...
git-svn-id: svn://anubis/hos/trunk@93 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-25 16:04:08 +00:00
josh
ca82cc32ac
cleaned up a few page allocation page issues, still crashing
...
git-svn-id: svn://anubis/hos/trunk@92 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-25 15:59:27 +00:00
josh
4816102139
kernel compiling with new page allocation mechanism but crashing
...
git-svn-id: svn://anubis/hos/trunk@91 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-25 05:56:40 +00:00
josh
0bc304328d
kernel now keeping track of total/free number of physical pages instead of free/used
...
git-svn-id: svn://anubis/hos/trunk@90 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-22 20:51:34 +00:00
josh
0c78e21e14
added STACK_INITIAL_SIZE to control the number of initial stack pages; added BUILD_BUG_ON() macro to catch compile-time errors
...
git-svn-id: svn://anubis/hos/trunk@88 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-22 19:35:43 +00:00
josh
53407d7b59
rearranged slightly
...
git-svn-id: svn://anubis/hos/trunk@87 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-22 18:19:20 +00:00
josh
e4701b8d96
merged in removing-assembly branch to do more in C
...
git-svn-id: svn://anubis/hos/trunk@80 5b3e749e-e535-0410-8002-a9bb6afbdfca
2010-01-07 15:38:15 +00:00
josh
bc7064e92a
got interrupts working, added sys/{pic,timer,cpu} modules, ready to work on multitasking
...
git-svn-id: svn://anubis/hos/trunk@69 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-29 22:30:52 +00:00
josh
2c5a5d7093
moved gdtr_t definition from mm.h to hos_types.h
...
git-svn-id: svn://anubis/hos/trunk@68 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-24 17:05:11 +00:00
josh
ddd8c9fd71
split mm_map() and mm_page_alloc() into regular and "early" versions (mm_early_map() and mm_early_page_alloc()); removed mm_use_virtual_offset flag
...
git-svn-id: svn://anubis/hos/trunk@67 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-24 14:51:23 +00:00
josh
c21caccb1f
printing memory map, used pages, and free pages on boot
...
git-svn-id: svn://anubis/hos/trunk@58 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-16 00:05:44 +00:00
josh
1dd8250048
moved call to stack_bootstrap() into mm_bootstrap() since stack_bootstrap() relies on calling mm_map() and mm_use_virtual_offset was getting unset at the end of mm_bootstrap(); calling k_main() now works!
...
git-svn-id: svn://anubis/hos/trunk@54 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-14 16:08:06 +00:00
josh
bf9c7d74eb
added mm/stack module; initializing "permanent" stack for kernel use while paging, crashing when calling k_main() though...
...
git-svn-id: svn://anubis/hos/trunk@52 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-14 13:31:08 +00:00
josh
594625b0fa
changed lgdt instruction to load from linear address instead of physical address for [mm_gdtr]
...
git-svn-id: svn://anubis/hos/trunk@50 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-14 00:26:40 +00:00
josh
df719b4281
added code to reset segmentation and enable paging; added fmt_xl2a() in kio; added debug prints in k_bootstrap() since kernel is crashing when trying to enable paging
...
git-svn-id: svn://anubis/hos/trunk@49 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-13 22:58:48 +00:00
josh
0fb590a407
changed kio routines to accept const char *; added MAKE_DESCRIPTOR() macro to mm
...
git-svn-id: svn://anubis/hos/trunk@48 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-13 22:38:53 +00:00
josh
1aace858da
Moved page_directory from an allocated object to a pointer to a run-time allocated page of RAM
...
git-svn-id: svn://anubis/hos/trunk@42 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-06 21:48:04 +00:00
josh
54b42c0226
added set_cr3() macro and called it to set the PDBR
...
git-svn-id: svn://anubis/hos/trunk@40 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-04 00:22:18 +00:00
josh
e55f2cdfc4
mapping in kernel virtual address space
...
git-svn-id: svn://anubis/hos/trunk@39 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-03 20:48:51 +00:00
josh
edb1a6426d
minor mm.cc comment changes
...
git-svn-id: svn://anubis/hos/trunk@38 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-02 19:26:52 +00:00
josh
e907902ca0
changed mm functions to C++ linkage
...
git-svn-id: svn://anubis/hos/trunk@36 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-02 03:35:24 +00:00
josh
a8947f8aa3
added mm_map() to map addresses and mm_page_alloc() to allocate physical pages
...
git-svn-id: svn://anubis/hos/trunk@35 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-02 03:28:25 +00:00
josh
2bddc1d428
filled out more of mm_bootstrap() including initializing the free page linked list
...
git-svn-id: svn://anubis/hos/trunk@34 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-02 01:09:09 +00:00
josh
db192f6d36
added CXXFLAGS to disable rtti and exceptions; added C++ support to header files; moved mm.c to mm.cc to use C++ functionality
...
git-svn-id: svn://anubis/hos/trunk@32 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-01 19:52:18 +00:00
josh
2faa2cc8d6
added mm_bootstrap() skeleton function
...
git-svn-id: svn://anubis/hos/trunk@31 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-01 17:34:52 +00:00
josh
be8d6015ff
Added mm_record_mmap_entry() and calls to it in k_bootstrap().
...
git-svn-id: svn://anubis/hos/trunk@26 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-06-30 21:29:44 +00:00
josh
90e03d4f95
Added include folder with hos_types.h and hos_defines.h
...
Added mm build subdir with mm.c
Updated subdir.mak to build $(subdir)_all.o instead of $(subdir).o
Updated main Makefile to pass SUBDIR in to subdirectory builds, add $(HOS_TOPLEVEL)/include to compiler include path, and made the linker write a map file
Updated boot.asm to use the page_directory symbol from the .bss section defined in mm.o as its temporary stack area
git-svn-id: svn://anubis/hos/trunk@22 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-06-29 19:55:50 +00:00
josh
43d1ca0e18
initial creation of trunk directory
...
git-svn-id: svn://anubis/hos/trunk@1 5b3e749e-e535-0410-8002-a9bb6afbdfca
2007-07-23 03:11:24 +00:00
79ca453f66
Import backup from 2005-09-13
2017-07-25 22:23:51 -04:00
0521733e20
Import backup from 2005-09-11
2017-07-25 22:23:51 -04:00
83a5b032f8
Import backup from 2005-08-25
2017-07-25 22:23:50 -04:00
345ef6c9f3
Import backup from 2005-08-18
2017-07-25 22:23:50 -04:00
e1682a2fe7
Import backup from 2005-08-17
2017-07-25 22:23:50 -04:00
692cf2fc08
Import backup from 2005-06-02
2017-07-25 22:23:50 -04:00
76a243d894
Import backup from 2004-12-30
2017-07-25 22:23:49 -04:00
bad7f79ed1
Import backup from 2004-09-21
2017-07-25 22:23:48 -04:00
8a8f56decb
Import backup from 2004-08-15
2017-07-25 22:23:48 -04:00
b9c77827bd
Import backup from 2004-08-06
2017-07-25 22:23:48 -04:00
a50c2a1233
Import backup from 2004-08-02
2017-07-25 22:23:48 -04:00
07e8a0f4cf
Import backup from 2004-07-31
2017-07-25 22:23:48 -04:00
6d23c76e84
Import backup from 2004-07-29
2017-07-25 22:23:48 -04:00
11da8cb162
Import backup from 2004-07-25
2017-07-25 22:23:48 -04:00
1063a68a21
Import backup from 2004-07-20
2017-07-25 22:23:47 -04:00
286b5e9ae1
Import backup from 2004-07-17
2017-07-25 22:23:47 -04:00