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
3631 5667 d 5 h jermar /trunk/kernel/arch/ia32/src/ The IA-32 manual is very secretive about the fact that the SYSENTER instruction
disables interrupts (I found only one evidence of this in the instruction's
pseudo code). The sysenter_handler needs to reenable the interrupts in order to
preserve the preemptive nature of the kernel.
 
3485 5717 d 5 h jermar /trunk/ Support for SYSENTER on ia32.  
3274 5773 d 11 h jermar /trunk/ memcpy(), memmove() and similar functions return dst instead of src.
Fix all implementations, including those in assembly. ppc32 assembly
version didn't seem to be affected by this.
 
3240 5783 d 16 h decky / move unfinished ObjC support to a separate branch  
3234 5787 d 11 h decky /trunk/ reintroduce support for MSIM text console in user space  
3227 5788 d 7 h decky /trunk/kernel/arch/ia32/src/drivers/ remove unnecessary newline  
3222 5806 d 11 h svoboda /trunk/ Merge program-loader related stuff from dynload branch to trunk. (huge)  
3209 5808 d 6 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
3104 5838 d 19 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
3097 5840 d 7 h decky /trunk/kernel/ resurrect klog  
3071 5841 d 12 h decky /trunk/kernel/ reflect changes in generic code
proper formatting directives
coding style
 
3043 5842 d 6 h jermar /trunk/kernel/arch/ia32/ Some inline functions in memstr.h seem to be of uncertain origin (ia32).
Replace either with built-in functions or with generic functions.
 
2784 5917 d 5 h jermar /trunk/kernel/arch/ Fortify ia32 and amd64 kernels against mallicious uspace applications that set
DF prior to entering the kernel. For AMD64 syscalls, we don't use the CLD
instruction, but make use of the SFMASK MSR instead. Simics works fine with
it, but QEMU seems to have a problem.
 
2775 5921 d 17 h cejka /trunk/kernel/arch/ia32/src/ Added missing ia32/context.S from last commit.  
2725 5959 d 12 h decky /trunk/kernel/ remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability)
 
2723 5960 d 11 h decky /trunk/kernel/arch/ remove memory_print_map(), as it duplicates functionality of physmem_print()  
2721 5960 d 13 h decky /trunk/kernel/ convert e820list to a generic physmem command  
2712 5964 d 12 h decky /trunk/kernel/ prettyprint output  
2702 5971 d 13 h decky /trunk/kernel/arch/ia32/src/mm/ change cstyle to human-readable form  
2701 5971 d 15 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2697 5981 d 13 h decky /trunk/kernel/ amd64: shorten kernel address space by 2 GB to support proper mapping of more than 2 GB of physical memory  
2630 6031 d 4 h jermar /trunk/kernel/arch/ Formatting fixes.  
2613 6040 d 7 h jermar /trunk/ Support for six syscall arguments for ia32.  
2612 6040 d 7 h jermar /trunk/kernel/arch/ Cleanup.  
2575 6062 d 7 h jermar /trunk/kernel/arch/ia32/src/ Formatting fixes.  
2482 6183 d 2 h jermar /trunk/ Goodbye pseudo threads, welcome fibrils.
The renaming might still be incomplete.
 
2462 6204 d 6 h jermar /trunk/kernel/ Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64.
 
2441 6210 d 5 h decky /trunk/kernel/ fix ICC compilation  
2439 6210 d 5 h decky /trunk/kernel/arch/ia32/src/ fix ICC compilation  
2302 6237 d 9 h decky /trunk/ force VGA palette to 3:2:3 palette on 8 bpp modes
(this fixes ticket #33)
 
2233 6262 d 5 h decky /trunk/kernel/arch/ use the hlt instruction more properly  
2227 6262 d 20 h decky /trunk/kernel/ start shutdown infrastructure  
2222 6263 d 6 h decky /trunk/kernel/ map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust
 
2221 6263 d 7 h decky /trunk/kernel/arch/ia32/src/boot/ fix typo in comment  
2220 6263 d 7 h decky /trunk/kernel/arch/ia32/src/boot/ check for PSE support, add error message on PSE not present
make initial mapping explicitly writeable, turn PAE explicitly off (just in case)
 
2218 6264 d 3 h decky /trunk/kernel/ support the possibility to send EOI or Interrupt Acknowledgement
prior to processing the interrupt
(this is essential on some architectures to prevent preemption deadlock)
 
2217 6264 d 4 h jermar /trunk/kernel/arch/ia32/src/smp/ On SMP amd64 and ia32 systems, release the irq->lock
before calling clock() from the interrupt handler.
This is important for maintaining kernel preemption
since no preemption can take place while a spinlock
is held.
 
2125 6319 d 7 h decky /trunk/ experimental support for Objective C
(disabled by default)
 
2107 6327 d 5 h jermar /trunk/ When clock() is called by an external interrupt dispatched by the IRQ dispatcher,
no spinlock can be held or the kernel will not be preemptive. This fixes Ticket #24.

Formating and indentation fixes.
 
2106 6327 d 13 h jermar /trunk/kernel/ Merge as_t structure into one and leave the differring parts in as_genarch_t.

Indentation and formatting changes in header files.