Rev |
Age |
Author |
Path |
Log message |
Diff |
3973 |
5647 d 15 h |
decky |
/trunk/kernel/ |
kernel memory management revisited (phase 2): map physical memory according to zones
- ia32: register reserved and ACPI zones
- pareas are now used only for mapping of present physical memory (hw_area() is gone)
- firmware zones and physical addresses outside any zones are allowed to be mapped generally
- fix nasty antient bug in zones_insert_zone() |
|
3940 |
5654 d 10 h |
decky |
/trunk/kernel/ |
make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64 |
|
3908 |
5658 d 8 h |
decky |
/trunk/ |
overhaul pareas: use one single physical area for the physical address space not belonging to physical memory |
|
3790 |
5697 d 15 h |
svoboda |
/trunk/kernel/ |
Make newlines in panic messages consistent. Add periods at end of messages so that it is obvious whether they are printed entirely. |
|
3788 |
5698 d 4 h |
svoboda |
/trunk/kernel/ |
Unify newlines in fault_if_from_uspace() format strings. (Remove them and print newline automatically). Also start messages with caps. |
|
2745 |
6013 d 15 h |
decky |
/trunk/ |
code cleanup (mostly signed/unsigned)
allow extra compiler warnings |
|
2725 |
6034 d 12 h |
decky |
/trunk/kernel/ |
remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability) |
|
2723 |
6035 d 11 h |
decky |
/trunk/kernel/arch/ |
remove memory_print_map(), as it duplicates functionality of physmem_print() |
|
2697 |
6056 d 14 h |
decky |
/trunk/kernel/ |
amd64: shorten kernel address space by 2 GB to support proper mapping of more than 2 GB of physical memory |
|
2222 |
6338 d 6 h |
decky |
/trunk/kernel/ |
map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust |
|
2106 |
6402 d 14 h |
jermar |
/trunk/kernel/ |
Merge as_t structure into one and leave the differring parts in as_genarch_t.
Indentation and formatting changes in header files. |
|
2089 |
6408 d 13 h |
decky |
/trunk/ |
huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes |
|
2087 |
6409 d 9 h |
jermar |
/trunk/kernel/ |
Indentaion and formatting changes even Martin will like :-) |
|
2071 |
6419 d 6 h |
jermar |
/trunk/ |
(c) versus (C) |
|
1958 |
6501 d 13 h |
decky |
/trunk/kernel/arch/amd64/ |
amd64: adopt new IRQ interface |
|
1888 |
6544 d 10 h |
jermar |
/trunk/ |
C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64. |
|
1833 |
6588 d 2 h |
decky |
/trunk/kernel/ |
more sophisticated initial stack handling |
|
1787 |
6609 d 8 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1780 |
6616 d 10 h |
jermar |
/kernel/trunk/ |
Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.). |
|
1735 |
6632 d 16 h |
decky |
/kernel/trunk/ |
make kernel prints case consistent |
|
1705 |
6636 d 15 h |
cejka |
/kernel/trunk/ |
Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place. |
|
1702 |
6637 d 12 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
1595 |
6644 d 19 h |
palkovsky |
/kernel/trunk/ |
Added kernel circular buffer klog.
Added automatic killing of tasks raising inappropriate exceptions.
TODO: Fix vsnprintf return value(and behaviour according to specs) and remove workaround in klog. |
|
1411 |
6657 d 10 h |
jermar |
/kernel/trunk/ |
Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault. |
|
1382 |
6661 d 6 h |
decky |
/kernel/trunk/ |
make hardware memory mapping more generic |
|
1288 |
6676 d 15 h |
jermar |
/kernel/trunk/ |
Complete implementation of copy_from_uspace() and copy_to_uspace()
for amd64 and ia32. Other architectures still compile and run,
but need to implement their own assembly-only memcpy(), memcpy_from_uspace(),
memcpy_to_uspace() and their failover parts. For these architectures
only dummy implementations are provided. |
|
1212 |
6689 d 9 h |
palkovsky |
/kernel/trunk/ |
Added uspace call to enable/disable interrupts. |
|
1196 |
6695 d 14 h |
cejka |
/kernel/trunk/ |
Printf ported back from uspace to kernel.
Printf calls changed to match new conventions. |
|
1064 |
6726 d 2 h |
palkovsky |
/kernel/trunk/arch/amd64/ |
Cleanup of amd64 code. |
|
1063 |
6726 d 3 h |
palkovsky |
/kernel/trunk/ |
Add support for more then 2GB of address space for AMD64. |
|
1051 |
6726 d 10 h |
jermar |
/kernel/trunk/arch/amd64/ |
Move amd64's ident_page_mapper() and page_fault() to page.h. |
|
825 |
6761 d 10 h |
jermar |
/kernel/trunk/ |
Remove WAKEUP_IPI stuff.
Make it possible to use PAGE_GLOBAL on ia32, amd64 and mips32.
Make ia32 and amd64 map the kernel using PAGE_GLOBAL. |
|
814 |
6762 d 14 h |
palkovsky |
/kernel/trunk/ |
Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print. |
|
799 |
6764 d 6 h |
palkovsky |
/kernel/trunk/ |
Preliminary work on AMD userspace. |
|
793 |
6764 d 12 h |
jermar |
/kernel/trunk/ |
Use hash_table_get_instance instead of list_get_instance.
Rename page_operations to page_mapping_operations.
Rename page_pt_operations to pt_mapping_operations.
Rename page_ht_operations to ht_mapping_operations. |
|
756 |
6770 d 3 h |
jermar |
/kernel/trunk/ |
Memory management work.
Remove the last (i.e. 'root') argument from page_mapping_insert() and page_mapping_find().
Page table address is now extracted from the first (i.e. 'as') argument.
Add a lot of infrastructure to make the above possible.
sparc64 is now broken, most likely because of insufficient identity mapping of physical memory. |
|
755 |
6771 d 2 h |
jermar |
/kernel/trunk/ |
Change page_mapping_find/insert interfaces to take as_t * as first argument
and not asid_t as second argument. This change was necessitated by the
removal of mapping array from as_area_t and the fact that an address
space doesn't have an ASID when it is created. |
|
694 |
6793 d 9 h |
decky |
/kernel/trunk/arch/amd64/ |
break AMD64, will be fixed soon |
|
691 |
6793 d 10 h |
jermar |
/kernel/trunk/arch/ |
Cleanup. |
|
690 |
6793 d 10 h |
bondari |
/kernel/trunk/arch/ |
Fixes of 3-param frame_alloc() function calls |
|