Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

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.