ddd8c9fd71split 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
josh
2009-07-24 14:51:23 +00:00
d7be0159c9created /kernel/isr subdir, moved isr.asm from boot to isr module, added interrupts.cc for isr() main function and isr_bootstrap() routine
josh
2009-07-24 14:19:31 +00:00
d352afd079added int_stack_t type in hos_types.h for interrupt stack access
josh
2009-07-24 14:02:11 +00:00
1105e6e203optimized isr.asm a bit
josh
2009-07-24 13:50:29 +00:00
339eef5976build process generating assembly list files for .asm sources; ignoring .lst files in /kernel/boot
josh
2009-07-23 22:03:57 +00:00
6a75fdfc10Added isr.asm with 50 isr_%d labels defined, ready to call isr()
josh
2009-07-23 22:02:11 +00:00
2f810cc2ecReduced grub timeout in menu.lst
josh
2009-07-22 21:00:18 +00:00
63289deadeupdated include/portio.h to not use gcc-specific "statement blocks" but instead have inportX() be static inline functions. Verified that the compiler does in fact inline them
josh
2009-07-20 19:21:20 +00:00
e70b1a5213removed special cases for formatting of lowest signed values due to Corrin' rationale; fixed formatting routines to handle formatting "0" values
josh
2009-07-20 19:10:54 +00:00
c21caccb1fprinting memory map, used pages, and free pages on boot
josh
2009-07-16 00:05:44 +00:00
fd02ee26e1added kputs_pad(); implemented padding in kprintf(); put some padding tests in k_main()
josh
2009-07-15 14:53:58 +00:00
ecd74fe35bstarting kio change
josh
2009-07-15 02:47:46 +00:00
08af04897cadded include/portio.h; using it to update cursor position in kputc()
josh
2009-07-14 20:37:10 +00:00
1dd8250048moved 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!
josh
2009-07-14 16:08:06 +00:00
118021a0f6added Makefile commands to build a binary and an ELF kernel and do disassemble the ELF version
josh
2009-07-14 13:50:29 +00:00
bf9c7d74ebadded mm/stack module; initializing "permanent" stack for kernel use while paging, crashing when calling k_main() though...
josh
2009-07-14 13:31:08 +00:00
cf2d28f5ceadded k_main.cc, need to set up a stack before calling k_main()
josh
2009-07-14 03:34:16 +00:00
594625b0fachanged lgdt instruction to load from linear address instead of physical address for [mm_gdtr]
josh
2009-07-14 00:26:40 +00:00
df719b4281added 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
josh
2009-07-13 22:58:48 +00:00
0fb590a407changed kio routines to accept const char *; added MAKE_DESCRIPTOR() macro to mm
josh
2009-07-13 22:38:53 +00:00
5b9651299efixed a few formatting and string bugs, kprintf() working when called during bootstrapping!
josh
2009-07-13 21:54:27 +00:00
a4d497544eadded memcpy{,w,d}(), memset{,w,d}(); filled in kputc()
josh
2009-07-13 21:42:18 +00:00
6a69fd06ecfilled in a few more formatting routines; linking with libgcc.a to work with 64-bit unsigned integer division/modulus
josh
2009-07-13 20:08:16 +00:00
6a8c7431ffhos_defines.h should include hos_types.h first
josh
2009-07-13 17:15:39 +00:00
be17cde305added devices and lang directories, added skeleton kio and string modules
josh
2009-07-13 15:34:39 +00:00
1aace858daMoved page_directory from an allocated object to a pointer to a run-time allocated page of RAM
josh
2009-07-06 21:48:04 +00:00
f07e34c849updated link script to pack things better
josh
2009-07-02 03:43:44 +00:00
e907902ca0changed mm functions to C++ linkage
josh
2009-07-02 03:35:24 +00:00
a8947f8aa3added mm_map() to map addresses and mm_page_alloc() to allocate physical pages
josh
2009-07-02 03:28:25 +00:00
2bddc1d428filled out more of mm_bootstrap() including initializing the free page linked list
josh
2009-07-02 01:09:09 +00:00
bfb4f3bdd0changed k_bootstrap from C to C++ source file
josh
2009-07-01 21:17:24 +00:00
db192f6d36added CXXFLAGS to disable rtti and exceptions; added C++ support to header files; moved mm.c to mm.cc to use C++ functionality
josh
2009-07-01 19:52:18 +00:00
2faa2cc8d6added mm_bootstrap() skeleton function
josh
2009-07-01 17:34:52 +00:00
02c2b25dedadded DEPS definition in subdir.mak so dependency files are automatically generated again
josh
2009-07-01 12:39:43 +00:00
39ea3f231badded bootstrap_stack so the temporary stack is not in the same place as the page directory
josh
2009-07-01 01:53:43 +00:00
981a01ba9badded linker script symbols and address macros to hos_defines.h
josh
2009-07-01 01:51:02 +00:00
3eea1b4fd3building in linux with i586-elf cross-compiler as well
josh
2009-06-30 23:31:30 +00:00
be8d6015ffAdded mm_record_mmap_entry() and calls to it in k_bootstrap().
josh
2009-06-30 21:29:44 +00:00
6ea8fe1a27Added k_bootstrap.c, k_early_panic.[ch] Calling k_bootstrap() from boot.asm in segmented mode
josh
2009-06-30 20:12:39 +00:00
1548e7327aadded SUBDIRS support to subdir.mak for recursive building
josh
2009-06-30 17:54:09 +00:00
90e03d4f95Added 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
josh
2009-06-29 19:55:50 +00:00
fb807847bffixed SUBDIRS_clean definition in Makefile
josh
2009-06-29 13:40:33 +00:00
d8f7e731e1moved boot.asm into kernel/boot, added kernel/boot/Makefile using new subdir.mak
josh
2009-06-25 21:57:50 +00:00
a5ca4348d9changing Makefile system a bit, again
josh
2009-06-25 19:46:49 +00:00
8fe8d78051realigned assembly a bit
josh
2009-06-25 19:12:25 +00:00
1b0da72e5amoved PLATFORM and associated definitions from Makefile to kernel/Makefile so the kernel can be built by itself
josh
2009-06-25 18:03:39 +00:00
8493002072removed jump at start symbol since the bootloader starts after the multiboot header anyway; added diagnostic characters "a", "b"
josh
2009-06-25 15:16:01 +00:00
1ba82ac77fadded svn:ignore to a few directories; kernel linked to virtual address 0xE000_0000 and running there in segmented mode
josh
2009-06-25 15:02:46 +00:00