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
3631 5708 d 7 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 5758 d 7 h jermar /trunk/ Support for SYSENTER on ia32.  
3274 5814 d 13 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 5824 d 17 h decky / move unfinished ObjC support to a separate branch  
3234 5828 d 13 h decky /trunk/ reintroduce support for MSIM text console in user space  
3227 5829 d 9 h decky /trunk/kernel/arch/ia32/src/drivers/ remove unnecessary newline  
3222 5847 d 12 h svoboda /trunk/ Merge program-loader related stuff from dynload branch to trunk. (huge)  
3209 5849 d 7 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
3104 5879 d 20 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
3097 5881 d 9 h decky /trunk/kernel/ resurrect klog  
3071 5882 d 13 h decky /trunk/kernel/ reflect changes in generic code
proper formatting directives
coding style
 
3043 5883 d 7 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 5958 d 7 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 5962 d 19 h cejka /trunk/kernel/arch/ia32/src/ Added missing ia32/context.S from last commit.  
2725 6000 d 14 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 6001 d 12 h decky /trunk/kernel/arch/ remove memory_print_map(), as it duplicates functionality of physmem_print()  
2721 6001 d 14 h decky /trunk/kernel/ convert e820list to a generic physmem command  
2712 6005 d 14 h decky /trunk/kernel/ prettyprint output  
2702 6012 d 14 h decky /trunk/kernel/arch/ia32/src/mm/ change cstyle to human-readable form  
2701 6012 d 16 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2697 6022 d 15 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 6072 d 6 h jermar /trunk/kernel/arch/ Formatting fixes.  
2613 6081 d 8 h jermar /trunk/ Support for six syscall arguments for ia32.  
2612 6081 d 8 h jermar /trunk/kernel/arch/ Cleanup.  
2575 6103 d 8 h jermar /trunk/kernel/arch/ia32/src/ Formatting fixes.  
2482 6224 d 3 h jermar /trunk/ Goodbye pseudo threads, welcome fibrils.
The renaming might still be incomplete.
 
2462 6245 d 8 h jermar /trunk/kernel/ Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64.
 
2441 6251 d 6 h decky /trunk/kernel/ fix ICC compilation  
2439 6251 d 7 h decky /trunk/kernel/arch/ia32/src/ fix ICC compilation  
2302 6278 d 10 h decky /trunk/ force VGA palette to 3:2:3 palette on 8 bpp modes
(this fixes ticket #33)
 
2233 6303 d 7 h decky /trunk/kernel/arch/ use the hlt instruction more properly  
2227 6303 d 22 h decky /trunk/kernel/ start shutdown infrastructure  
2222 6304 d 7 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 6304 d 9 h decky /trunk/kernel/arch/ia32/src/boot/ fix typo in comment  
2220 6304 d 9 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 6305 d 5 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 6305 d 6 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 6360 d 8 h decky /trunk/ experimental support for Objective C
(disabled by default)
 
2107 6368 d 7 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 6368 d 15 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.