1
0
Fork 0
Commit Graph

58 Commits

Author SHA1 Message Date
Aaron Lindsay cee0ac7dda i386: Add new arch support! (woefully incomplete) 2012-11-15 00:38:10 -05:00
Aaron Lindsay c76991b1b5 Makefile: Generalize flags and tools in preparation for i386 arch 2012-11-15 00:30:17 -05:00
Aaron Lindsay ccd5a9025a types.h: Add arch_uint_ptr to make comparing native pointer types easier 2012-11-15 00:27:49 -05:00
Aaron Lindsay a1fb385d97 arch/arm: Separate out architecture-specifics 2012-10-14 23:02:14 -04:00
Aaron Lindsay 03dfa30b70 init.h: Protect against multiple includes 2012-10-09 23:31:50 -04:00
Aaron Lindsay c90edb451d init: Move all init into init.c from start_kernel.c 2012-10-09 23:31:50 -04:00
Aaron Lindsay 5f59e07432 print: Allow for more than one output for console messages 2012-10-09 23:13:37 -04:00
Aaron Lindsay a64668b239 Store device's names and add more startup messages 2012-10-07 23:41:02 -04:00
Aaron Lindsay d7f354221f Remove device header files unneeded after initcall setup and generlization 2012-10-07 23:41:02 -04:00
Aaron Lindsay c64bfea238 fb: Generalize framebuffer device initialization 2012-10-07 23:40:56 -04:00
Aaron Lindsay 0b7e14c69b serial: Allow more than one serial device to be registered 2012-10-07 10:28:33 -04:00
Aaron Lindsay 828beb45bd Raspberry Pi VideoCore: Wait for framebuffer address if not available
Sometimes the VideoCore does not immediately provide the framebuffer
address, even after it has returned success via a mailbox read.
2012-10-06 18:54:37 -04:00
Aaron Lindsay 8cb4100463 init: Initialize serial subsystem before init_earlyinitcalls()
Otherwise, the serial sybsystem isn't initialized before the serial
drivers attempt to register themselves.
2012-10-06 14:53:00 -04:00
Aaron Lindsay 9d86813d8c initcalls: Add initial implementation
Create simple serial subsystem which makes use of initcalls, and convert
existing serial drivers to its use.
2012-10-04 00:28:44 -04:00
Aaron Lindsay 3f624153e7 devices -> drivers 2012-10-04 00:08:56 -04:00
Aaron Lindsay 9b66a78569 Makefile: Fixup config.h generation
Handle comments better, add comment to target
2012-10-03 07:35:10 -04:00
Aaron Lindsay 3876937ae9 Add simple config system for both #ifdef's and conditional compilation 2012-10-03 00:19:28 -04:00
Aaron Lindsay 736155ce99 console: Initial commit of simple framebuffer console output 2012-10-02 23:17:25 -04:00
Aaron Lindsay 53863654c3 pl11[01]: Dynamically allocate framebuffer instead of assuming 0x200000 2012-10-02 23:12:16 -04:00
Aaron Lindsay 5a836d0af5 math: add math library (currently only log_2) 2012-10-02 23:08:38 -04:00
Aaron Lindsay 9150109729 print: Add print_func() - output text w/ custom putc() 2012-10-02 23:07:31 -04:00
Aaron Lindsay ea66b3dd3a pl11[01]: use types.h instead of own uint32 typedef 2012-09-30 22:51:06 -04:00
Aaron Lindsay af22b6fe46 Add BCM2835 (Raspberry Pi) framebuffer and mailbox implementations 2012-09-30 22:48:44 -04:00
Aaron Lindsay 925192fca1 start_kernel.c: Use Raspberry Pi's mini_UART for print() 2012-09-29 23:29:35 -04:00
Aaron Lindsay 787a46f2ca mm: Never return page struct at 0x0, check for invalid number of pages 2012-09-29 23:27:59 -04:00
Aaron Lindsay 375ef2eddf print: Add '\r' whenever '\n' appears for actual serial consoles 2012-09-29 23:24:55 -04:00
Aaron Lindsay ba10785eb9 kmalloc: initialize initial page power 2012-09-29 23:24:05 -04:00
Aaron Lindsay 9efb28980c Add Raspberry PI's mini-UART 2012-09-29 23:12:10 -04:00
Aaron Lindsay e550deab5c pl011: use types.h definition of uint32 instead of 'unsigned long' 2012-09-29 23:11:30 -04:00
Aaron Lindsay fa96f9293b mm: remove debug 2012-09-28 01:00:25 -04:00
Aaron Lindsay ccbee1d142 kmalloc: initial implementation 2012-09-28 01:00:08 -04:00
Aaron Lindsay d7292f1fe2 list: Don't leave out last element in for_each_list() 2012-09-28 01:00:08 -04:00
Aaron Lindsay 580ab1f584 Add GPLv2 license and source file headers 2012-09-26 23:59:58 -04:00
Aaron Lindsay c84fd58ce4 Makefile: Add automatic dependency generation 2012-09-26 23:35:52 -04:00
Aaron Lindsay c455b1eeb3 Makefile: refactor subdirectory makefiles 2012-09-26 15:35:52 -04:00
Aaron Lindsay f9244836e1 Makefile: output formatting changes 2012-09-25 22:58:50 -04:00
Aaron Lindsay afba079256 Properly detect memory using atags and add it to the memory-management subsystem 2012-09-25 22:45:06 -04:00
Aaron Lindsay d6e3899fc1 Enable the MMU even if the kernel is not loaded in physical memory at
the same place it was linked against.
2012-09-23 01:39:09 -04:00
Aaron Lindsay e2a3ab602c Makefile: Add aedrix-kernel.objdump target 2012-09-23 01:39:09 -04:00
Aaron Lindsay ab29c2c442 mmu: Add initial implementation of identity mapping 2012-09-23 01:39:09 -04:00
Aaron Lindsay ae45deb789 Makefile: do .PHONY all in one 2012-09-23 01:39:09 -04:00
Aaron Lindsay 583765fd7c Add %b to print() to print integers in binary 2012-09-23 01:39:09 -04:00
Aaron Lindsay 2bd44726e4 Add aedrix-kernel.img to Makefile and update .gitignore 2012-09-23 01:39:09 -04:00
Aaron Lindsay 563ad96efb Add memory initialization to start_kernel.c 2012-09-23 01:39:07 -04:00
Aaron Lindsay 0b3865d16a Add simple page allocator and doubly-linked list implementation. 2012-09-17 23:31:01 -04:00
Aaron Lindsay b531496f8e Update printing in hex format to be more straight-forward 2012-09-10 23:59:30 -04:00
Aaron Lindsay a7bd2c8ae6 Update PL011 base address to match that of the CoreTile Express A9 2012-09-10 23:37:12 -04:00
Aaron Lindsay 0050438c80 Change "boot" make target to use qemu's "vexpress-a9" machine 2012-09-10 23:36:30 -04:00
Aaron Lindsay 955d15803f Add pl111 support 2012-09-10 22:44:54 -04:00
Aaron Lindsay aaa714d89a Start adding simple video console which uses framebuffer 2012-09-09 01:58:38 -04:00