b51f8f8422
Consolidate physical page frame declaration from all archs
2013-01-01 23:58:10 -05:00
1c75a68815
config: add CONFIG_PAGE_SIZE and CONFIG_INIT_PAGE_SIZE
2013-01-01 23:53:18 -05:00
e69440c698
Add include/arch/properties.h files
...
Will include architecture-specific properties about the kernel.
Currently they mainly hold macros for calculating where the kernel
starts and ends in physical and virtual memory.
2013-01-01 23:50:02 -05:00
806d00f471
mm.c/h -> frames.c/h: Naming indicating dealing with physical not virtual memory
2013-01-01 23:49:52 -05:00
e279d83d7d
arch/arm: MMU comment spelling fixups
2012-12-24 13:10:42 -05:00
b98aa76334
arch/i386: Add multiboot support
2012-12-24 12:44:48 -05:00
62755b8f38
Move atags support to be ARM arch-specific
2012-12-24 12:40:30 -05:00
ed52a8af5c
arch/arm: Fixup formatting to match arch/i386
2012-12-17 00:36:25 -05:00
c51062ce87
arch/i386: Boot to kernel main() with proper initial segmentation/paging setup
2012-12-17 00:35:23 -05:00
cee0ac7dda
i386: Add new arch support! (woefully incomplete)
2012-11-15 00:38:10 -05:00
c76991b1b5
Makefile: Generalize flags and tools in preparation for i386 arch
2012-11-15 00:30:17 -05:00
ccd5a9025a
types.h: Add arch_uint_ptr to make comparing native pointer types easier
2012-11-15 00:27:49 -05:00
a1fb385d97
arch/arm: Separate out architecture-specifics
2012-10-14 23:02:14 -04:00
03dfa30b70
init.h: Protect against multiple includes
2012-10-09 23:31:50 -04:00
c90edb451d
init: Move all init into init.c from start_kernel.c
2012-10-09 23:31:50 -04:00
5f59e07432
print: Allow for more than one output for console messages
2012-10-09 23:13:37 -04:00
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