1
0
Commit Graph

51 Commits

Author SHA1 Message Date
a64668b239 Store device's names and add more startup messages 2012-10-07 23:41:02 -04:00
d7f354221f Remove device header files unneeded after initcall setup and generlization 2012-10-07 23:41:02 -04:00
c64bfea238 fb: Generalize framebuffer device initialization 2012-10-07 23:40:56 -04:00
0b7e14c69b serial: Allow more than one serial device to be registered 2012-10-07 10:28:33 -04:00
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
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
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
3f624153e7 devices -> drivers 2012-10-04 00:08:56 -04:00
9b66a78569 Makefile: Fixup config.h generation
Handle comments better, add comment to target
2012-10-03 07:35:10 -04:00
3876937ae9 Add simple config system for both #ifdef's and conditional compilation 2012-10-03 00:19:28 -04:00
736155ce99 console: Initial commit of simple framebuffer console output 2012-10-02 23:17:25 -04:00
53863654c3 pl11[01]: Dynamically allocate framebuffer instead of assuming 0x200000 2012-10-02 23:12:16 -04:00
5a836d0af5 math: add math library (currently only log_2) 2012-10-02 23:08:38 -04:00
9150109729 print: Add print_func() - output text w/ custom putc() 2012-10-02 23:07:31 -04:00
ea66b3dd3a pl11[01]: use types.h instead of own uint32 typedef 2012-09-30 22:51:06 -04:00
af22b6fe46 Add BCM2835 (Raspberry Pi) framebuffer and mailbox implementations 2012-09-30 22:48:44 -04:00
925192fca1 start_kernel.c: Use Raspberry Pi's mini_UART for print() 2012-09-29 23:29:35 -04:00
787a46f2ca mm: Never return page struct at 0x0, check for invalid number of pages 2012-09-29 23:27:59 -04:00
375ef2eddf print: Add '\r' whenever '\n' appears for actual serial consoles 2012-09-29 23:24:55 -04:00
ba10785eb9 kmalloc: initialize initial page power 2012-09-29 23:24:05 -04:00
9efb28980c Add Raspberry PI's mini-UART 2012-09-29 23:12:10 -04:00
e550deab5c pl011: use types.h definition of uint32 instead of 'unsigned long' 2012-09-29 23:11:30 -04:00
fa96f9293b mm: remove debug 2012-09-28 01:00:25 -04:00
ccbee1d142 kmalloc: initial implementation 2012-09-28 01:00:08 -04:00
d7292f1fe2 list: Don't leave out last element in for_each_list() 2012-09-28 01:00:08 -04:00
580ab1f584 Add GPLv2 license and source file headers 2012-09-26 23:59:58 -04:00
c84fd58ce4 Makefile: Add automatic dependency generation 2012-09-26 23:35:52 -04:00
c455b1eeb3 Makefile: refactor subdirectory makefiles 2012-09-26 15:35:52 -04:00
f9244836e1 Makefile: output formatting changes 2012-09-25 22:58:50 -04:00
afba079256 Properly detect memory using atags and add it to the memory-management subsystem 2012-09-25 22:45:06 -04:00
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
e2a3ab602c Makefile: Add aedrix-kernel.objdump target 2012-09-23 01:39:09 -04:00
ab29c2c442 mmu: Add initial implementation of identity mapping 2012-09-23 01:39:09 -04:00
ae45deb789 Makefile: do .PHONY all in one 2012-09-23 01:39:09 -04:00
583765fd7c Add %b to print() to print integers in binary 2012-09-23 01:39:09 -04:00
2bd44726e4 Add aedrix-kernel.img to Makefile and update .gitignore 2012-09-23 01:39:09 -04:00
563ad96efb Add memory initialization to start_kernel.c 2012-09-23 01:39:07 -04:00
0b3865d16a Add simple page allocator and doubly-linked list implementation. 2012-09-17 23:31:01 -04:00
b531496f8e Update printing in hex format to be more straight-forward 2012-09-10 23:59:30 -04:00
a7bd2c8ae6 Update PL011 base address to match that of the CoreTile Express A9 2012-09-10 23:37:12 -04:00
0050438c80 Change "boot" make target to use qemu's "vexpress-a9" machine 2012-09-10 23:36:30 -04:00
955d15803f Add pl111 support 2012-09-10 22:44:54 -04:00
aaa714d89a Start adding simple video console which uses framebuffer 2012-09-09 01:58:38 -04:00
c96a4e2a57 Add simple 6x13 pixel font 2012-09-09 01:54:02 -04:00
332b86f520 framebuffer: fix 16- and 24-bit color. 8-bit still doesn't work. 2012-09-08 00:42:23 -04:00
29404c4199 Add .gitignore, update Makefile
Add 'boot' make target, which boots the kernel in a simple QEMU
configuration. Also updated CFLAGS in Makefile.
2012-09-07 23:58:19 -04:00
8fbb809a5e Move from 'hello.c' to 'start_kernel.c' to sound more professional...
...though at this point start_kernel.c just does a test of the video and
serial/printing capabilities and nothing else.
2012-09-07 23:56:32 -04:00
38f87f12c5 Add basic framebuffer support (probably not working right yet?)
Possibly (probably) calculating wrong pixel values, addresses.
2012-09-07 23:54:04 -04:00
12e890bb8a Add basic printing/formatting infrastructure for debugging 2012-09-07 23:53:27 -04:00
84dd295956 Add devices directory, and PL011 and PL110 basic (very!) device drivers 2012-09-07 23:52:43 -04:00