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
2467 6236 d 10 h jermar /trunk/ Improve comments for arch-specific implementations of hierarchical
4-level page tables. Improve formatting.
 
2465 6241 d 13 h jermar /trunk/ Merge arm32 into trunk.  
2089 6372 d 14 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6383 d 7 h jermar /trunk/ (c) versus (C)  
2007 6430 d 6 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 6504 d 6 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
1890 6504 d 16 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 6505 d 8 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 6508 d 11 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6573 d 9 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6580 d 11 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1730 6597 d 3 h decky /kernel/trunk/arch/ppc32/ ppc32: BAT-less memory mapping (broken yet)
VSID support (broken yet)
boot API change
cleanup
 
1726 6597 d 10 h decky /kernel/trunk/arch/ppc32/ ppc32: more generic page hash table handling
(preliminary code, will be fixed properly later)
 
1702 6601 d 13 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1609 6608 d 14 h decky /kernel/trunk/arch/ppc32/ generalize ppc32 exception handling  
1511 6612 d 13 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1475 6614 d 5 h jermar /kernel/trunk/arch/ Fix ppc32 and ppc64 to compile again.  
1423 6618 d 14 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1398 6624 d 7 h decky /kernel/trunk/arch/ port ppc32 changes to ppc64 (raw)  
1388 6624 d 9 h bondari /kernel/trunk/arch/ppc32/include/mm/  
1374 6627 d 4 h decky /kernel/trunk/arch/ppc32/ ppc32 work
update framebuffer
get rid of the BAT memory mapping (not finished yet)
 
1270 6644 d 7 h decky /kernel/trunk/arch/ppc32/ page index and VSID fixes  
1269 6644 d 8 h decky /kernel/trunk/ PHT Refill handler  
1215 6653 d 8 h decky /kernel/trunk/arch/ ppc32: stub for Page Hash Table support  
1070 6689 d 18 h jermar /kernel/trunk/ More checks for address space area conflicts.  
977 6692 d 14 h jermar /kernel/trunk/ Add sys_mremap() syscall.  
970 6692 d 17 h decky /kernel/trunk/arch/ppc32/ ppc32: get memory map from loader  
967 6692 d 17 h palkovsky /kernel/trunk/ Allowed userspace to include page.h.  
957 6693 d 8 h decky /kernel/trunk/arch/ run ppc32 kernel above 2 GB  
951 6693 d 13 h decky /kernel/trunk/arch/ppc32/ ppc32 boots again (temporarily)  
940 6694 d 9 h jermar /kernel/trunk/ Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader.
 
934 6694 d 11 h decky /kernel/trunk/arch/ppc32/ remove all OpenFirmware bindings from ppc32 kernel code
kernel now runs in real mode (ppc32)
 
867 6712 d 13 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 6718 d 7 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 6722 d 3 h jermar /kernel/trunk/arch/ppc32/include/mm/ Fix ppc32 to at least compile again.  
823 6726 d 4 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
765 6732 d 7 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6732 d 13 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6732 d 15 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 6734 d 4 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.