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
2089 6459 d 8 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6470 d 1 h jermar /trunk/ (c) versus (C)  
2007 6516 d 23 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.
 
1891 6590 d 23 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
1890 6591 d 10 h jermar /trunk/ - Create a dedicated slab cache for as_t objects and switch from malloc/free to slab_alloc/slab_free for
them.

- Slightly fix and improve both the kernel and userspace atomic_add() on sparc64.

- More TSB work on the sparc64 front.
 
1889 6592 d 1 h jermar /trunk/kernel/ Fix bug in mm/as.c:
- as_area_destroy() should not work with AS but as

sparc64 work:
- start implementing TSB support
 
1888 6595 d 4 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6660 d 3 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6667 d 4 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1730 6683 d 21 h decky /kernel/trunk/arch/ppc32/ ppc32: BAT-less memory mapping (broken yet)
VSID support (broken yet)
boot API change
cleanup
 
1726 6684 d 4 h decky /kernel/trunk/arch/ppc32/ ppc32: more generic page hash table handling
(preliminary code, will be fixed properly later)
 
1702 6688 d 7 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1609 6695 d 8 h decky /kernel/trunk/arch/ppc32/ generalize ppc32 exception handling  
1511 6699 d 7 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1475 6700 d 23 h jermar /kernel/trunk/arch/ Fix ppc32 and ppc64 to compile again.  
1423 6705 d 8 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1398 6711 d 1 h decky /kernel/trunk/arch/ port ppc32 changes to ppc64 (raw)  
1388 6711 d 3 h bondari /kernel/trunk/arch/ppc32/include/mm/  
1374 6713 d 22 h decky /kernel/trunk/arch/ppc32/ ppc32 work
update framebuffer
get rid of the BAT memory mapping (not finished yet)
 
1270 6731 d 0 h decky /kernel/trunk/arch/ppc32/ page index and VSID fixes  
1269 6731 d 2 h decky /kernel/trunk/ PHT Refill handler  
1215 6740 d 1 h decky /kernel/trunk/arch/ ppc32: stub for Page Hash Table support  
1070 6776 d 11 h jermar /kernel/trunk/ More checks for address space area conflicts.  
977 6779 d 7 h jermar /kernel/trunk/ Add sys_mremap() syscall.  
970 6779 d 10 h decky /kernel/trunk/arch/ppc32/ ppc32: get memory map from loader  
967 6779 d 11 h palkovsky /kernel/trunk/ Allowed userspace to include page.h.  
957 6780 d 2 h decky /kernel/trunk/arch/ run ppc32 kernel above 2 GB  
951 6780 d 6 h decky /kernel/trunk/arch/ppc32/ ppc32 boots again (temporarily)  
940 6781 d 3 h jermar /kernel/trunk/ Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader.
 
934 6781 d 4 h decky /kernel/trunk/arch/ppc32/ remove all OpenFirmware bindings from ppc32 kernel code
kernel now runs in real mode (ppc32)
 
867 6799 d 7 h jermar /kernel/trunk/ Move OFW functionality of ppc32 memory_init to genarch so that the code can also be used by sparc64.
sparc64 is now close to broken as it lacks functionality to provide identity mapping for the whole phyisical memory.
 
843 6805 d 1 h palkovsky /kernel/trunk/ Made powerpc to get on PearPC to the version print when compiled with -O1:
- create proper memory zones
- switch to real mode on boot
TODO
- kernel relocation during boot
- autodetection of framebuffer settings (PCI?) - now includes hardcoded
settings for PearPc.
 
833 6808 d 21 h jermar /kernel/trunk/arch/ppc32/include/mm/ Fix ppc32 to at least compile again.  
823 6812 d 22 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
765 6819 d 0 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6819 d 6 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6819 d 9 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.
 
756 6820 d 21 h jermar /kernel/trunk/ Memory management work.
Remove the last (i.e. 'root') argument from page_mapping_insert() and page_mapping_find().
Page table address is now extracted from the first (i.e. 'as') argument.
Add a lot of infrastructure to make the above possible.
sparc64 is now broken, most likely because of insufficient identity mapping of physical memory.
 
727 6832 d 23 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
703 6839 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().