Rev |
Age |
Author |
Path |
Log message |
Diff |
3862 |
5804 d 14 h |
rimsky |
/branches/sparc/kernel/ |
Changed the structure of header files, which have sun4u and sun4v versions. Implemented some sun4v TSB functions. |
|
3743 |
5845 d 0 h |
rimsky |
/branches/sparc/ |
Started to implement support for sun4v. Bootloader adapted to autodetect the architecture (sun4u, sun4v). Some generic sparc64 kernel files split into sun4u and sun4v versions (but the sun4u is still the default in many cases - in order to keep the code compilable). Implemented taking over the MMU. Implemented routines for performing the hypervisor API calls. Implemented a trivial standard output driver. HelenOS banner can now be printed from the kernel on Niagara. |
|
3343 |
5973 d 20 h |
decky |
/branches/sparc/ |
add sparc branch |
|
2141 |
6484 d 13 h |
jermar |
/trunk/ |
The Ultimate Solution To Illegal Virtual Aliases.
It is better to avoid them completely than to fight them.
Switch the sparc64 port to 16K pages. The TLBs and TSBs
continue to operate with 8K pages only. Page tables and
other generic parts operate with 16K pages.
Because the MMU doesn't support 16K directly, each 16K
page is emulated by a pair of 8K pages. With 16K pages,
illegal aliases cannot be created in 16K D-cache. |
|
2089 |
6542 d 23 h |
decky |
/trunk/ |
huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes |
|
2071 |
6553 d 16 h |
jermar |
/trunk/ |
(c) versus (C) |
|
2009 |
6597 d 15 h |
jermar |
/trunk/kernel/ |
Initial support for handling illegal virtual aliases on sparc64. |
|
1889 |
6675 d 16 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 |
|
1864 |
6689 d 13 h |
jermar |
/trunk/ |
sparc64 update.
- Prototype userspace layer implementation that
at least relates to sparc64 and compiles cleanly.
- Fixes for kernel's preemptible_handler and code
related to running userspace.
- Enable userspace. Several dozen instructions
are now run in userspace! We are pretty near
the userspace milestone for sparc64. |
|
1860 |
6692 d 18 h |
jermar |
/trunk/kernel/ |
A lot of untested sparc64 stuff:
- Write ASID to hardware when a thread is about to run in userspace.
- Add userspace() and switch_to_userspace() functions.
- Handle special cases when the userspace spill/fill handler causes MMU trap.
- Resolve some TODOs in the existing sparc64 code.
- sparc64 has now C99 compliant header guards.
- Formatting and indentation fixes. |
|
1787 |
6743 d 18 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1702 |
6771 d 22 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
1511 |
6782 d 22 h |
palkovsky |
/kernel/trunk/arch/ |
Remove __address from include file included by uspace |
|
1070 |
6860 d 2 h |
jermar |
/kernel/trunk/ |
More checks for address space area conflicts. |
|
940 |
6864 d 18 h |
jermar |
/kernel/trunk/ |
Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader. |
|
756 |
6904 d 13 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. |
|
703 |
6923 d 0 h |
jermar |
/kernel/trunk/ |
Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping(). |
|
646 |
6948 d 14 h |
jermar |
/kernel/trunk/ |
Fix cpu_init(): frame_alloc() can return 0 as the valid address of block of frames. Do not signal error.
sparc64 work.
Reorganize kernel vs. userspace memory layout.
Add panic_printf().
Turn dummy() into nop rather than into infinite loop. |
|
534 |
6962 d 17 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
532 |
6962 d 17 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|