Rev |
Age |
Author |
Path |
Log message |
Diff |
4277 |
5735 d 0 h |
jermar |
/trunk/kernel/arch/sparc64/ |
On sparc64, do fast indentity mapping only for physical memory.
For addresses above physical memory, such as I/O devices,
fall through to the C miss handler and map the memory noncacheably.
Replace deprecated Bicc instructions with proper Bcc instructions. |
|
3973 |
5781 d 4 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() |
|
3908 |
5791 d 21 h |
decky |
/trunk/ |
overhaul pareas: use one single physical area for the physical address space not belonging to physical memory |
|
2745 |
6147 d 4 h |
decky |
/trunk/ |
code cleanup (mostly signed/unsigned)
allow extra compiler warnings |
|
2267 |
6462 d 20 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Fix indentation. |
|
2071 |
6552 d 19 h |
jermar |
/trunk/ |
(c) versus (C) |
|
2048 |
6584 d 20 h |
jermar |
/trunk/ |
Formatting and indentation changes. |
|
1988 |
6610 d 17 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Update comment and move initialization code away from application processor codepath. |
|
1983 |
6612 d 23 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
sparc64 work:
- fix computation of the frame allocator configuration frame
- mark the first physical frame unavailable, no matter what is its address
Because of that, we can now boot past the frame_arch_init() on the Ultra 60 now. |
|
1903 |
6664 d 19 h |
jermar |
/trunk/ |
SMP stuff for sparc64.
Almost complete except for IPIs.
The absence of IPI support deadlocks
the kernel when more CPUs are configured. |
|
1793 |
6740 d 4 h |
jermar |
/trunk/kernel/ |
Change hw_map() on sparc64 to use virtual addresses that are
beyond the end of physical memory. It is beneficial in two
ways: first, physical memory is no longer being wasted by
otherwise necessary calls to frame_alloc() and, second,
virtual addresses for devices are now correctly allocated
and do not overlap with the 4M TLB-locked mapping for
kernel text and data. |
|
1790 |
6740 d 22 h |
jermar |
/trunk/ |
Remove OpenFirmware calls from kernel/ entirely.
Switch the sparc64 port to use bootinfo.
Copy memcpy from boot/ to sparc64 kernel/ and
adjust it for memcpy_from/to_uspace. |
|
1787 |
6742 d 21 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1784 |
6743 d 18 h |
jermar |
/kernel/trunk/ |
Sync OpenFirmware functionality with boot.
Random cleanup. |
|
1702 |
6771 d 1 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
867 |
6882 d 1 h |
jermar |
/kernel/trunk/ |
Move OFW functionality of ppc32 memory_init to genarch so that the code can also be used by sparc64.
sparc64 is now close to broken as it lacks functionality to provide identity mapping for the whole phyisical memory. |
|
823 |
6895 d 16 h |
jermar |
/kernel/trunk/ |
Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization. |
|
821 |
6895 d 17 h |
jermar |
/kernel/trunk/arch/sparc64/src/mm/ |
Do not add CONFIG_STACK_SIZE to kernel.size. |
|
820 |
6895 d 17 h |
jermar |
/kernel/trunk/ |
Convert size_t, count_t and index_t to 64-bits on 64-bit architectures.
Change some pfn_t usages to count_t, size_t and index_t. |
|
815 |
6896 d 2 h |
jermar |
/kernel/trunk/ |
Fix sparc64 and ia64 to work with the changed frame allocator.
Fix ppc32 to at least compile. |
|
813 |
6896 d 15 h |
jermar |
/kernel/trunk/ |
Change ia64 kernel image to link and load at 0x100000 where
it (or its heap or stack) won't mess up with the ROM region.
Blacklist ia64 frame 0 from frame allocator so that 0 won't be
returned to malloc and friends. This can be reenabled again
once the kernel is not identity mapped. |
|
793 |
6898 d 0 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 |
6898 d 1 h |
jermar |
/kernel/trunk/ |
Page hash table architectures now use generic hash table to manage
mappings. |
|
538 |
6960 d 21 h |
jermar |
/kernel/trunk/ |
Buddy allocator cleanup and fixes II.
- Rewrite IS_BUDDY_LEFT_BLOCK so that it does not need floating point on some architectures (e.g. IA-64).
- Get rid of IS_BUDDY_RIGHT_BLOCK.
- Make sparc64 use zone_create_in_region. |
|
534 |
6961 d 20 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
532 |
6961 d 20 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
501 |
6974 d 0 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
426 |
6997 d 2 h |
jermar |
/SPARTAN/trunk/ |
sparc64 work.
Add context_save(), context_set() and context_restore().
Remove putchar() definition from ofw.c.
Add sparc64 putchar().
Add ppc32 putchar() (i.e. the original ofw.c putchar()).
Make arg.h use the builtin va_* constructs. |
|