Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3770 5626 d 10 h rimsky /branches/sparc/ Working on Niagara port - TLB initialization, MMU fault status area initialization, hypercall enhancement, modified tick.c so that the (hyperprivileged) TICK register does not have to be accessed. Now the initialization phase proceeds, but some parts of it are omitted for now (e.g. CPU initialization).  
3743 5633 d 19 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.  
3742 5633 d 19 h rimsky /branches/sparc/ The sparc branch synchronized with trunk at revision 3722 (trunk@3722).  
3664 5657 d 9 h rimsky /branches/sparc/ Added some SunBlade 1500 stuff (part of it is just temporary - e.g. the new visual). Some small fixes and enhancements.  
3618 5667 d 9 h rimsky /branches/sparc/ Support for framebuffers, where the first pixel is mapped to a different address than the OBP 'reg' property claims. Cleanup, comments, C-style.  
3607 5668 d 8 h rimsky /branches/sparc/ Cleanup and minor fixes.  
3593 5672 d 9 h rimsky /branches/sparc/ Merged latest trunk changes into sparc branch.  
3591 5672 d 17 h rimsky /branches/sparc/ Making the code compatible also with US-IV (US-IV+) - TLB size based on CPU autodetection, cleanup of code waking up APs. General cleanup.  
3582 5677 d 22 h rimsky /branches/sparc/ Made changes making HelenOS run on US-IV CPUs. Minor refactoring of the SGCN driver.  
3549 5685 d 8 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).  
3502 5695 d 10 h rimsky /branches/sparc/ Implemented Serengeti console driver (only output, input TBD), all output now goes to the console instead of Simics CLI window.  
3492 5706 d 13 h rimsky /branches/sparc/ Changes in trunk merged into the sparc branch. SILO's ramdisk issue solved by the CONFIG_RD_EXTERNAL option.  
3479 5721 d 17 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.  
3467 5728 d 10 h rimsky /branches/sparc/ SMP and CPU initialiation modified to work even with Serengeti OFW tree layout; support for output to the Simics CLI console added (see my blog); some header files modified to conform US-III definition. Now HelenOS (on the sample configuration - usiii.simics) is able to run some userspace tasks.  
3398 5738 d 17 h rimsky /branches/sparc/ US used as a code for the UltraSPARC I-II subarchitecture instead of US2.  
3397 5738 d 18 h rimsky /branches/sparc/ Merged recent changes from trunk into the Sparc branch.  
3365 5756 d 9 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 5762 d 15 h decky /branches/sparc/ add sparc branch  
3324 5766 d 15 h jermar /trunk/boot/arch/sparc64/loader/ Boot support for FAT16 on sparc64.  
3274 5771 d 16 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.
 
3258 5772 d 14 h decky /trunk/boot/arch/ use less cryptic filenames  
3244 5776 d 10 h jermar /trunk/ Split mktmpfs.py to a TMPFS specific part and a HORD specific part. The latter
is moved to mkhord.py and can be reused for FAT16 images as well. mktmpfs.py and
mkfat.sh define the same interface now. Modify makefiles to use the modified
interface (e.g. do not pass alignment to either mktmpfs.py or mkfat.sh). FAT16
initrd image can be now loaded as initrd on amd64 and gets recognized as a
ramdisk image.
 
3222 5804 d 16 h svoboda /trunk/ Merge program-loader related stuff from dynload branch to trunk. (huge)  
3146 5827 d 20 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 5828 d 11 h jermar /trunk/boot/arch/sparc64/loader/ Issue a sparc64 write barrier before passing control from the loader to
the kernel.
 
3052 5839 d 17 h decky /trunk/boot/arch/ RAM disk / filesystem support  
3027 5843 d 17 h decky /trunk/boot/ finish unifying pack script  
3024 5844 d 16 h decky /trunk/boot/arch/ use unified pack script by arm32  
2649 6009 d 0 h jermar /trunk/boot/arch/ Enable tmpfs in arm32, ia32xen, ia64, ppc32, ppc64 and sparc64.  
2551 6088 d 14 h cejka /trunk/ DevMap, VFS and FAT added to boot images for all architectures.  
2511 6107 d 12 h vana /trunk/ IA64 loader (based on sparc loader)  
2507 6139 d 17 h jermar /trunk/boot/arch/sparc64/loader/ Fix sparc64 loader's pack script for use with gcc 4.2.1 by
avoiding pointer to int type casts so that the newer gcc doesn't emit a warning.
Due to the -Werror flags, such a warning would prevent a successful build.
 
2479 6185 d 18 h jermar /trunk/ New, better-structured, directory layout for uspace.  
2438 6208 d 10 h decky /trunk/ update for new compiler configuration scheme  
2250 6254 d 11 h jermar /trunk/boot/ Fix ticket #31.  
2185 6263 d 19 h decky /trunk/ rename ipcc to tester  
2160 6271 d 12 h decky /trunk/boot/arch/ remove duplicate dependency  
2141 6273 d 8 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.
 
2082 6337 d 18 h decky /trunk/ __asm__ __volatile__ -> asm volatile  
2071 6342 d 11 h jermar /trunk/ (c) versus (C)