Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2131 6434 d 6 h decky /branches/ add development branches  
2089 6489 d 10 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6500 d 2 h jermar /trunk/ (c) versus (C)  
2007 6547 d 1 h jermar /trunk/kernel/ Introduce page colors. So far, only sparc64 uses correct page color bits. Other architectures have a dummy define
specifying zero bits for a page color.

There is a new check of page color in as_area_share(). Because of lack of support for this in the userspace, the
check has been #ifef'ed out.
 
1958 6582 d 9 h decky /trunk/kernel/arch/amd64/ amd64: adopt new IRQ interface  
1888 6625 d 6 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6690 d 5 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6697 d 6 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1702 6718 d 9 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1423 6735 d 9 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1411 6738 d 6 h jermar /kernel/trunk/ Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault.
 
1064 6806 d 22 h palkovsky /kernel/trunk/arch/amd64/ Cleanup of amd64 code.  
1063 6806 d 23 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
977 6809 d 9 h jermar /kernel/trunk/ Add sys_mremap() syscall.  
967 6809 d 12 h palkovsky /kernel/trunk/ Allowed userspace to include page.h.  
832 6841 d 0 h jermar /kernel/trunk/ Change pt_mapping_remove() to deallocate frames for empty PTL1, PTL2 and PTL3.  
831 6841 d 7 h jermar /kernel/trunk/ Make use of one unused bit in PTE formats of amd64, ia32 and mips32 to store 1 in valid mappings.
This helps to distinguish valid entries from not present entries with 0 content (i.e. not present
entries with PFN 0 and other bits cleared).
 
825 6842 d 6 h jermar /kernel/trunk/ Remove WAKEUP_IPI stuff.

Make it possible to use PAGE_GLOBAL on ia32, amd64 and mips32.
Make ia32 and amd64 map the kernel using PAGE_GLOBAL.
 
808 6844 d 13 h palkovsky /kernel/trunk/arch/amd64/ Doc updates.  
765 6849 d 2 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
760 6849 d 10 h jermar /kernel/trunk/ mips32 is not supposed to allocate page table.
This is done by the generic code now.
Remove PTL0 pointer as it is not needed.

Remove GET_PTL0_ADDRESS from kernel.

Update sparc64 comments in barrier.h.
 
534 6909 d 3 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6909 d 4 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6921 d 8 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
391 6970 d 1 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
349 6989 d 2 h jermar /SPARTAN/trunk/ Optimize sorting functions so that malloc() and free() is called only for e_size > EBUFSIZE.
Smaller buffers are allocated directly on the stack.

Some copyright holder fixes on some files written by Ondrej Palkovsky.
 
289 7000 d 3 h palkovsky /SPARTAN/trunk/ Added preprocessed linker script to AMD architecture, so that
the constants are all only in the header files.
 
251 7001 d 23 h palkovsky /SPARTAN/trunk/ Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first.
 
226 7003 d 9 h palkovsky /SPARTAN/trunk/ Fixed typo in 'outb' instruction.
Paging basically working.
 
194 7005 d 5 h palkovsky /SPARTAN/trunk/arch/amd64/ Code cleanup.  
188 7005 d 8 h palkovsky /SPARTAN/trunk/arch/amd64/ AMD64 now can switch into long mode.
Basic page tables working.
 
172 7011 d 10 h palkovsky /SPARTAN/trunk/arch/amd64/ Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout.
 
169 7015 d 1 h jermar /SPARTAN/trunk/arch/ For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA().  
164 7018 d 4 h palkovsky /SPARTAN/trunk/ Basics for amd64 architecture. It does compile, but it does not work yet.