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
1915 6452 d 1 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.
 
1849 6504 d 9 h jermar /trunk/kernel/ sparc64 work.
interrupt_vector trap experimental handling.
Minimal reverse-engineered FireHose Controller driver (documentation needed!).
Keyboard on Sun Enterprise is now interrupt driven. Keyboard on Sun Ultra
is still polled.
 
1787 6541 d 3 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1761 6558 d 23 h jermar /kernel/trunk/doc/arch/ Upgrade amd64 hw compatibility list.  
1731 6564 d 20 h jermar /kernel/trunk/ Updates in Doxygen-style comments.
Make architecture specific modules appear conditionally in the documentation.
Add time management module.
Improve names of other modules and sort module order
to be more like in the design documentation.
 
1705 6568 d 10 h cejka /kernel/trunk/ Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place.
 
1543 6579 d 10 h palkovsky /kernel/trunk/doc/ Note about mips bug making tetris to fail.  
1422 6586 d 9 h jermar /kernel/trunk/ Modify ia64 linker script to make compilation with gcc 4.1.x possible.  
1420 6586 d 10 h jermar /kernel/trunk/ Upgrade toolchain to use gcc 4.1.1.
ia64 still cannot be built with combination of binutils 2.16.1 and gcc 4.1.x
 
1323 6599 d 12 h jermar /kernel/trunk/ Increase "timeout" for debugging spinlock so that false positive
deadlock reports are suppressed on real hardware.

Also add one HT configuration to hardware compatibility list.
 
1297 6606 d 6 h jermar /kernel/trunk/ Add SYS_CAP_GRANT and SYS_CAP_REVOKE syscalls.
Move SYS_PREEMPT_CONTROL to ddi.c.
Add some comments and fix some small issues.
 
1229 6619 d 8 h jermar /kernel/trunk/ Remove the outdated TODO file.
Improve doxygen comments here and there.
 
1169 6632 d 23 h jermar /kernel/trunk/doc/ Change developer emails to their aliases in helenos.eu.  
912 6669 d 1 h jermar /kernel/trunk/ ia64 work.

ivt.S:
Detect userspace stack in heavyweight handler and switch to kernel stack.
Remember the old stack pointer.
As for register stack, kernel stack is assumed still.
Fix alignment issues that showed when STACK_ITEMS was odd.
Fix ld8 instruction that did subtraction of 8 instead of addition of 8.

scheduler.c:
Change before_thread_runs_arch() to calculate address of top of the stack
for the interrupt handler.
 
905 6671 d 22 h jermar /kernel/trunk/ Upgrade toolchain build scripts to install binutils 2.16.1 and gcc 4.1.0.
The only exception is ia64, where the kernel does not build with gcc 4.1.0.
 
832 6691 d 22 h jermar /kernel/trunk/ Change pt_mapping_remove() to deallocate frames for empty PTL1, PTL2 and PTL3.  
822 6693 d 22 h palkovsky /kernel/trunk/ Changed malloc to include second parameter and documented
recommended usage.
Added zone merging, made ia32 & amd64 to merge found zones.
 
812 6694 d 23 h jermar /kernel/trunk/ Documentation and dot.bochsrc upgrade.  
761 6700 d 8 h jermar /kernel/trunk/doc/ Remove document describing more relaxed preemption model than the one used in the current kernel.  
750 6704 d 1 h jermar /kernel/trunk/ ia32 SMP updates.
Update info about supported version of Bochs (bump the counter to 2.2.6).
Add Task Priority Register type and initialize this register to a known state.
 
703 6720 d 8 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().
 
681 6725 d 9 h jermar /kernel/trunk/ Minor changes.  
558 6757 d 7 h palkovsky /kernel/trunk/ Clean up of build system. Use:
make config
make
make clean
 
534 6760 d 1 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6760 d 2 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
523 6766 d 5 h jermar /kernel/trunk/ Clean up.  
516 6770 d 2 h jermar /kernel/trunk/ Add VMware Workstation 5.5 to SMP compatibility list.  
501 6772 d 6 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
436 6789 d 0 h decky /SPARTAN/trunk/doc/arch/ new tested IA-32 SMP machines  
410 6809 d 2 h jermar /SPARTAN/trunk/ Doxygen-style comments.  
400 6817 d 12 h jermar /SPARTAN/trunk/ Finalize mapping1 test.
Record omitted excMod bug in msim.
 
398 6818 d 9 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
365 6835 d 0 h jermar /SPARTAN/trunk/ Replace #define's in list.h with type-safe inlines.

Update mips32 documentation.
 
347 6842 d 1 h jermar /SPARTAN/trunk/ Documentation updates for amd64, mips32 and ia32.

Replace %L with %P printf() formatter in MPS and ACPI detection functions to print addresses in maximal width.

Tweak memmap.S and IA-32 and AMd64 boot.S.
Cancel unneeded instructions.
Replace cmpl $0, %ebx with testl %ebx, %ebx.
Move memmap.S data to K_DATA_START section.
 
346 6843 d 0 h jermar /SPARTAN/trunk/doc/ Update documentation of ports.  
344 6843 d 1 h palkovsky /SPARTAN/trunk/ Added more code to arc.
Fixed bad name in byteorder.h
 
341 6843 d 7 h jermar /SPARTAN/trunk/ Rename mips port to mips32.  
340 6843 d 9 h palkovsky /SPARTAN/trunk/doc/  
328 6845 d 10 h jermar /SPARTAN/trunk/ IA-32 can be now cross-compiled by ./build.ia32 cross.
Unify IA-32 Makefile.inc and Makefile.inc.cross.

Update doc/requirements.

Small changes elsewere.
 
327 6845 d 20 h palkovsky /SPARTAN/trunk/ Doc updates, small fixes.