Rev |
Age |
Author |
Path |
Log message |
Diff |
1889 |
6593 d 18 h |
jermar |
/trunk/kernel/ |
Fix bug in mm/as.c:
- as_area_destroy() should not work with AS but as
sparc64 work:
- start implementing TSB support |
|
1888 |
6596 d 21 h |
jermar |
/trunk/ |
C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64. |
|
1851 |
6621 d 0 h |
jermar |
/trunk/kernel/ |
sparc64 work.
Define the istate structure.
Move the identity-mapping handler to assembly.
Make the preemptible handler more general so that TL=1 MMU exceptions can make use of it.
Little bit of formatting and indentation. |
|
1787 |
6661 d 19 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1780 |
6668 d 21 h |
jermar |
/kernel/trunk/ |
Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.). |
|
1767 |
6677 d 4 h |
palkovsky |
/kernel/trunk/ |
Remove unneeded FRAME_PANIC.
Fix some things broken by last commit. |
|
1760 |
6679 d 22 h |
palkovsky |
/kernel/trunk/ |
Changed interface of frame_alloc/free to use address of frame instead of the pfn.
This makes it impossible to use >4GB of memory on 32-bit machines, but who cares... |
|
1705 |
6689 d 2 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 |
6689 d 23 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
1637 |
6696 d 13 h |
jermar |
/kernel/trunk/genarch/src/mm/ |
Improve comment. |
|
1636 |
6696 d 13 h |
jermar |
/kernel/trunk/ |
Move comment.
Do TLB shootdown also when allocating new ASID. |
|
1468 |
6702 d 21 h |
jermar |
/kernel/trunk/ |
Function for destroying address space for which there is no other reference in the kernel. |
|
1424 |
6706 d 20 h |
jermar |
/kernel/trunk/ |
Move the sharing functionality to address space area backends.
Add backend for continuous regions of physical memory.
Sharing for these areas works automagically now. |
|
1380 |
6713 d 18 h |
jermar |
/kernel/trunk/ |
Turn address space lock, address space area lock and
page_ht_lock into mutexes. |
|
1266 |
6733 d 0 h |
jermar |
/kernel/trunk/genarch/ |
Rename acpi/matd.c to madt.c (Multiple APIC Description Table).
Improve Doxygen comments in genarch/. |
|
1248 |
6736 d 21 h |
jermar |
/kernel/trunk/ |
Add some @file doxygen comments and improve already existing comments. |
|
1229 |
6740 d 1 h |
jermar |
/kernel/trunk/ |
Remove the outdated TODO file.
Improve doxygen comments here and there. |
|
1059 |
6778 d 18 h |
jermar |
/kernel/trunk/ |
Clear user address space when creating new page tables.
Fix mapping of l_apic and io_apic on amd64. |
|
1044 |
6779 d 1 h |
jermar |
/kernel/trunk/ |
Page table locking. |
|
922 |
6785 d 16 h |
jermar |
/kernel/trunk/genarch/src/mm/ |
Fix generic page hash table to align down page addresses.
This was the ia64 userspace show stopper. |
|
902 |
6794 d 1 h |
jermar |
/kernel/trunk/ |
ia64 work.
More capable TLB miss handlers.
The ia64 kernel now passes mm/mapping1 test.
Fix generic hash table to properly initialize lists.
Change page_ht() to properly initialize inserted PTE's.
Change format of generic page hash table PTE's. |
|
832 |
6812 d 15 h |
jermar |
/kernel/trunk/ |
Change pt_mapping_remove() to deallocate frames for empty PTL1, PTL2 and PTL3. |
|
831 |
6812 d 22 h |
jermar |
/kernel/trunk/ |
Make use of one unused bit in PTE formats of amd64, ia32 and mips32 to store 1 in valid mappings.
This helps to distinguish valid entries from not present entries with 0 content (i.e. not present
entries with PFN 0 and other bits cleared). |
|
830 |
6813 d 0 h |
jermar |
/kernel/trunk/ |
Make ASID FIFO for mips32 be allocated statically.
Make ASID FIFO for sparc64 and ia64 be allocated dynamically.
Fix ia64 to call asid_fifo_init().
All three architectures now call asid_fifo_init() from as_arch_init(). |
|
826 |
6813 d 16 h |
jermar |
/kernel/trunk/ |
Add page_mapping_remove(). |
|
823 |
6814 d 14 h |
jermar |
/kernel/trunk/ |
Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization. |
|
815 |
6815 d 1 h |
jermar |
/kernel/trunk/ |
Fix sparc64 and ia64 to work with the changed frame allocator.
Fix ppc32 to at least compile. |
|
814 |
6815 d 1 h |
palkovsky |
/kernel/trunk/ |
Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print. |
|
793 |
6816 d 23 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. |
|
792 |
6817 d 0 h |
jermar |
/kernel/trunk/ |
Page hash table architectures now use generic hash table to manage
mappings. |
|
788 |
6817 d 20 h |
jermar |
/kernel/trunk/ |
Move list and fifo data types to adt/. |
|
786 |
6817 d 22 h |
bondari |
/kernel/trunk/ |
frame_alloc() functions variations in order to avoid problems with frame_alloc_generic() changes.
IMPORTANT: Parameter order for frame_alloc() was changed |
|
762 |
6821 d 0 h |
palkovsky |
/kernel/trunk/ |
Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference |
|
757 |
6821 d 17 h |
jermar |
/kernel/trunk/ |
Blacklist addresses between 0xa0000 and 0xfffff on ia64 for frame allocator.
This area contains VGA text frame buffer and should be avoided.
falloc2 test now passes on ia64. |
|
756 |
6822 d 14 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 |
6823 d 13 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. |
|
753 |
6823 d 21 h |
jermar |
/kernel/trunk/ |
Convert ASID management of ia64 to ASID FIFO mechanism.
18-bit RIDs are supported. |
|
746 |
6828 d 0 h |
jermar |
/kernel/trunk/ |
Page hash table modifications. |
|
741 |
6829 d 17 h |
jermar |
/kernel/trunk/ |
Unlock address space prior TLB shootdown in get_asid() to unify
the locking order among mips32, sparc64 and ia64.
Add ASID_STEALING_ENABLED macro to disable the stealing part on ia64
in a clean way. |
|
740 |
6829 d 23 h |
jermar |
/kernel/trunk/ |
ia64 ASID management code (not tested). |
|