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
3972 5595 d 13 h decky /trunk/kernel/ kernel memory management revisited (phase 1): proper support for zone flags
- the zone_t structures are now statically allocated to be easily available
- the locking scheme was simplified
- new flags for non-available zones were introduced
- FRAME_LOW_4_GiB flag is removed, the functionality will be eventually reimplemented using a generic mechanism
 
3941 5601 d 16 h jermar /trunk/kernel/ Let IRQ claim methods take irq_t * instead of the instance argument.  
3930 5602 d 15 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3906 5606 d 14 h jermar /trunk/kernel/ IRQ handlers are using one superfluous argument and an unused elipsis.
On the other hand, IRQ claim functions would need to be passed the instance
argument.
 
3902 5606 d 21 h jermar /trunk/kernel/ Introduce a more platform-neutral name for programmed I/O.

The new API looks like pio_read_n() or pio_write_n(), where n is 8, 16 or 32.
The old API (i.e. inb(), inw(), inl(), outb() outw(), outl()) may have made
some people think that the interface is only to be used with the separate I/O
space. That's not the case. This API is to be implemented on all platforms
so that we can finally have really generic kernel device drivers.
 
3790 5645 d 1 h svoboda /trunk/kernel/ Make newlines in panic messages consistent. Add periods at end of messages so that it is obvious whether they are printed entirely.  
3209 5830 d 16 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
3104 5861 d 5 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
3097 5862 d 17 h decky /trunk/kernel/ resurrect klog  
2701 5994 d 1 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2462 6226 d 16 h jermar /trunk/kernel/ Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64.
 
2441 6232 d 15 h decky /trunk/kernel/ fix ICC compilation  
2222 6285 d 16 h decky /trunk/kernel/ map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust
 
2218 6286 d 13 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 6286 d 14 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.
 
2107 6349 d 15 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.
 
2101 6354 d 17 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2097 6354 d 19 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2095 6354 d 19 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2089 6355 d 23 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 

Show All