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
2007 6426 d 10 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 6500 d 10 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
1890 6500 d 21 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 6501 d 12 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 6504 d 15 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6569 d 14 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6576 d 15 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1730 6593 d 8 h decky /kernel/trunk/arch/ppc32/ ppc32: BAT-less memory mapping (broken yet)
VSID support (broken yet)
boot API change
cleanup
 
1726 6593 d 15 h decky /kernel/trunk/arch/ppc32/ ppc32: more generic page hash table handling
(preliminary code, will be fixed properly later)
 
1702 6597 d 18 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1609 6604 d 19 h decky /kernel/trunk/arch/ppc32/ generalize ppc32 exception handling  
1511 6608 d 18 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1475 6610 d 10 h jermar /kernel/trunk/arch/ Fix ppc32 and ppc64 to compile again.  
1423 6614 d 19 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1398 6620 d 12 h decky /kernel/trunk/arch/ port ppc32 changes to ppc64 (raw)  
1388 6620 d 14 h bondari /kernel/trunk/arch/ppc32/include/mm/  
1374 6623 d 9 h decky /kernel/trunk/arch/ppc32/ ppc32 work
update framebuffer
get rid of the BAT memory mapping (not finished yet)
 
1270 6640 d 11 h decky /kernel/trunk/arch/ppc32/ page index and VSID fixes  
1269 6640 d 13 h decky /kernel/trunk/ PHT Refill handler  
1215 6649 d 12 h decky /kernel/trunk/arch/ ppc32: stub for Page Hash Table support  
1070 6685 d 22 h jermar /kernel/trunk/ More checks for address space area conflicts.  
977 6688 d 18 h jermar /kernel/trunk/ Add sys_mremap() syscall.  
970 6688 d 21 h decky /kernel/trunk/arch/ppc32/ ppc32: get memory map from loader  
967 6688 d 22 h palkovsky /kernel/trunk/ Allowed userspace to include page.h.  
957 6689 d 13 h decky /kernel/trunk/arch/ run ppc32 kernel above 2 GB  
951 6689 d 17 h decky /kernel/trunk/arch/ppc32/ ppc32 boots again (temporarily)  
940 6690 d 14 h jermar /kernel/trunk/ Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader.
 
934 6690 d 15 h decky /kernel/trunk/arch/ppc32/ remove all OpenFirmware bindings from ppc32 kernel code
kernel now runs in real mode (ppc32)
 
867 6708 d 18 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 6714 d 12 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 6718 d 8 h jermar /kernel/trunk/arch/ppc32/include/mm/ Fix ppc32 to at least compile again.  
823 6722 d 9 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
765 6728 d 11 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6728 d 18 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6728 d 20 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 6730 d 9 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 6742 d 10 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
703 6748 d 20 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().
 
569 6784 d 10 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
534 6788 d 13 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.