Rev |
Age |
Author |
Path |
Log message |
Diff |
3343 |
5917 d 21 h |
decky |
/branches/sparc/ |
add sparc branch |
|
2071 |
6497 d 18 h |
jermar |
/trunk/ |
(c) versus (C) |
|
1915 |
6598 d 18 h |
jermar |
/trunk/kernel/ |
A quote from from SPARC V9 specification:
The Y register is deprecated; it is provided only for compatibility with previous versions
of the architecture. It should not be used in new SPARC-V9 software. It is
recommended that all instructions that reference the Y register (i.e., SMUL,
SMULcc, UMUL, UMULcc, MULScc, SDIV, SDIVcc, UDIV, UDIVcc, RDY, and
WRY) be avoided. See the appropriate pages in Appendix A, “Instruction Definitions,”
for suitable substitute instructions.
Still gcc is generating code which uses Y and some of the instructions above.
This change modifies the preemptible_handler() to preserve the Y register
across preemption. |
|
1882 |
6624 d 1 h |
jermar |
/trunk/kernel/ |
Support for sparc64 FPU context. |
|
1881 |
6625 d 1 h |
jermar |
/trunk/ |
sparc64 work:
- find a CPU node and read its clock_frequency attribute
- implement asm_delay_loop()
- set TICK_COMPARE register according to processor frequency
- small improvements at random places
OpenFirmware work:
- two new functions for walking the device tree
Generic boot loader work:
- added basic string functions
Usual pile of indentation and formatting fixes. |
|
1877 |
6628 d 5 h |
jermar |
/trunk/kernel/ |
Coding style fixes.
Remove unneeded sparc64 dummy functions. |
|
1860 |
6636 d 19 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 |
6687 d 20 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1124 |
6797 d 3 h |
jermar |
/kernel/trunk/arch/ |
Small changes.
Make sparc64 and ppc32 compile again. |
|
663 |
6886 d 2 h |
jermar |
/kernel/trunk/arch/sparc64/ |
sparc64 work.
Initial interrupt_vector_trap handler and fixes needed to make it do the right thing (i.e. panic()). |
|
650 |
6891 d 15 h |
jermar |
/kernel/trunk/ |
sparc64 work.
Implement interrupt_disable(), interrupt_enable(), interrupt_restore() and interrupt_read() functions.
Fix context save/restore to save/restore register %i7. |
|
646 |
6892 d 15 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. |
|
640 |
6893 d 15 h |
jermar |
/kernel/trunk/ |
sparc64 work.
CPU identification. |
|
534 |
6906 d 18 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
532 |
6906 d 19 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
501 |
6918 d 23 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
426 |
6942 d 0 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. |
|
424 |
6943 d 0 h |
jermar |
/SPARTAN/trunk/ |
sparc64 work.
Link kernel with load address 0x4000.
Add fragment of Linux image header to force SILO to always load the kernel at 0x4000.
Adjust ofw.h and ofw.c to work also on sparc64. |
|
421 |
6946 d 14 h |
jermar |
/SPARTAN/trunk/ |
Create genarch directory.
Move ppc32 ofw.[ch] to genarch.
Fix prototype for ofw_call() to return __address instead of int (please review).
Fix copyright notice in sparc64/boot/boot.S. |
|
420 |
6946 d 16 h |
jermar |
/SPARTAN/trunk/arch/sparc64/ |
Small sparc64 changes.
Start native boot loader. |
|