Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3582 5688 d 7 h rimsky /branches/sparc/ Made changes making HelenOS run on US-IV CPUs. Minor refactoring of the SGCN driver.  
3549 5695 d 17 h rimsky /branches/sparc/ Implemented uspace Serengeti drivers for kbd and fb. Integrated with other parts of HelenOS. Now it is possible to play Tetris on a simulated Serengeti machine (usiii.simics).  
3479 5732 d 3 h rimsky /branches/sparc/ Names containing 'UPA' replaced with strings containing more general 'ICBUS'. SMART_FIRMWARE option replaced with CPU autodetection + new option CONFIG_A_OUT_ISOFS_B.  
3398 5749 d 3 h rimsky /branches/sparc/ US used as a code for the UltraSPARC I-II subarchitecture instead of US2.  
3365 5766 d 19 h rimsky /branches/sparc/ Integrated US-III port into the build process; added script for downloading and patching SILO; added patched SILO binaries; modified sources of the Sparc64 port up to the beginning of the main_bsp_separated_stack function: phys. address size not hardwired but configurable (41 bits on US-II, 43 bits on US-III), WSTATE register implicitly written 0 on startup.  
3343 5773 d 0 h decky /branches/sparc/ add sparc branch  
3274 5782 d 1 h jermar /trunk/ memcpy(), memmove() and similar functions return dst instead of src.
Fix all implementations, including those in assembly. ppc32 assembly
version didn't seem to be affected by this.
 
3146 5838 d 6 h jermar /trunk/boot/arch/sparc64/loader/ Don't make any assumptions about the contents of the I-cache in sparc64
loader and before passing control to the kernel, invalidate the I-cache.
 
3144 5838 d 20 h jermar /trunk/boot/arch/sparc64/loader/ Issue a sparc64 write barrier before passing control from the loader to
the kernel.
 
2071 6352 d 20 h jermar /trunk/ (c) versus (C)  
1978 6413 d 20 h jermar /trunk/ sparc64 code to support physical memory that starts on non-zero addresses.
Still needs to be tested on systems with such setup.
 
1899 6466 d 4 h jermar /trunk/ sparc64 work:
- Loader now starts all processors.
- Kernel halts all but the bootstrup processor for now.
- Read clock-frequency from the respective processor node in the device tree
 
1791 6540 d 21 h jermar /trunk/boot/arch/sparc64/loader/ Switch to identically mapped stack during boot.
Put stack related and register related macros to dedicated
header files.
 
1790 6540 d 23 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 6542 d 22 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1783 6543 d 20 h jermar /boot/trunk/ Some 32-bit vs. 64-bit fixes.

Make the call to OpenFirmware client interface architecture dependent.
For instance and contrary to my previous experience, the sparc64 version of
'translate' method would not work reliably unless the Address Mask bit in the
PSTATE register is cleared during duration of the call.

sparc64 and ppc32 OpenFirmware seem to differ in details, for example, the above
mentioned method 'translate' signals success by setting the first return value
to -1 on sparc64 while on ppc32 the value is/stays (???) zero.
 
1778 6550 d 2 h jermar /boot/trunk/arch/sparc64/ sparc64 is now booted by HelenOS boot loader.  
1773 6550 d 18 h jermar /boot/trunk/arch/sparc64/loader/ Work on sparc64 boot loader (still inactive).  
1771 6550 d 21 h jermar /boot/trunk/ Cleanup OpenFirmware driver and prepare it for integration with sparc64 bootloader.
Start sparc64 boot loader (now inactive and unfunctional).
 
1685 6574 d 6 h decky /boot/trunk/arch/mips32/ mips piggybacker  

Show All