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
3863 5758 d 0 h rimsky /branches/sparc/ Simics machine: modifications needed to run userspace (the next step will be to implement the trap handler for uspace); real machine: small fixes, after them the machine passes some parts of the initialization, but fails to determine CPU frequency (probably due to a different format of Machine Description).  
3582 5845 d 14 h rimsky /branches/sparc/ Made changes making HelenOS run on US-IV CPUs. Minor refactoring of the SGCN driver.  
3549 5853 d 0 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 5889 d 9 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 5906 d 9 h rimsky /branches/sparc/ US used as a code for the UltraSPARC I-II subarchitecture instead of US2.  
3365 5924 d 1 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 5930 d 7 h decky /branches/sparc/ add sparc branch  
3274 5939 d 8 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 5995 d 12 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 5996 d 3 h jermar /trunk/boot/arch/sparc64/loader/ Issue a sparc64 write barrier before passing control from the loader to
the kernel.
 
2071 6510 d 3 h jermar /trunk/ (c) versus (C)  
1978 6571 d 3 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 6623 d 11 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 6698 d 4 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 6698 d 6 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 6700 d 5 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1783 6701 d 3 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 6707 d 9 h jermar /boot/trunk/arch/sparc64/ sparc64 is now booted by HelenOS boot loader.  
1773 6708 d 1 h jermar /boot/trunk/arch/sparc64/loader/ Work on sparc64 boot loader (still inactive).  
1771 6708 d 4 h jermar /boot/trunk/ Cleanup OpenFirmware driver and prepare it for integration with sparc64 bootloader.
Start sparc64 boot loader (now inactive and unfunctional).
 

Show All