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
3902 5601 d 2 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 5639 d 6 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 5824 d 21 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
3104 5855 d 10 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
3097 5856 d 22 h decky /trunk/kernel/ resurrect klog  
2701 5988 d 6 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2462 6220 d 21 h jermar /trunk/kernel/ Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64.
 
2441 6226 d 20 h decky /trunk/kernel/ fix ICC compilation  
2222 6279 d 21 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 6280 d 18 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 6280 d 19 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 6343 d 20 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 6348 d 22 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2097 6349 d 0 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2095 6349 d 0 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2089 6350 d 4 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6360 d 21 h jermar /trunk/ (c) versus (C)  
1970 6441 d 5 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1901 6474 d 2 h jermar /trunk/kernel/ Make SMP related parts of main.c more generic.
Move initialization of local APIC to architecture specific code.
Add arch_post_cpu_init() to support the above.
 
1888 6486 d 0 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6550 d 23 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6558 d 0 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1766 6566 d 8 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6569 d 2 h palkovsky /kernel/trunk/ Changed interface of frame_alloc/free to use address of frame instead of the pfn.
This makes it impossible to use >4GB of memory on 32-bit machines, but who cares...
 
1708 6576 d 6 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1702 6579 d 3 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1684 6582 d 7 h jermar /kernel/trunk/ #ifdef more debugging printf()'s.  
1667 6584 d 1 h jermar /kernel/trunk/ Print spurious interrupt messages only when compiled with CONFIG_DEBUG.
Print warning about looping spinlock only after 100000000 unsuccessfull attempts to gain the spinlock.
 
1576 6587 d 22 h jermar /kernel/trunk/ Make use of thread_join_timeout() and thread_detach() in kernel.

Improved comments in slab.h.
 
1540 6589 d 9 h jermar /kernel/trunk/arch/ia32/src/smp/ Fix programming of local APIC timer to interrupt the processor
in the proper relation to HZ. (Was hardcoded to be each 1ms,
but should have been each 10ms).
 
1502 6590 d 5 h jermar /kernel/trunk/ Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O
 
1477 6591 d 12 h decky /kernel/trunk/arch/ cleanup  
1246 6626 d 1 h vana /kernel/trunk/arch/ia32/src/smp/ This patch enables 32 base of GDT on APs at boot. It should now be able to use GDTs allocated up of 16MB so I hope this patches AP crash bug ocurred in some memory configurations.  
1242 6626 d 20 h jermar /kernel/trunk/arch/ This time really fix wrong definition of K_DATA_START.  
1241 6626 d 20 h jermar /kernel/trunk/arch/ Fix K_DATA_START section definition.  
1221 6630 d 19 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6637 d 4 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1059 6667 d 22 h jermar /kernel/trunk/ Clear user address space when creating new page tables.
Fix mapping of l_apic and io_apic on amd64.
 
958 6670 d 22 h jermar /kernel/trunk/ Nicer ia32 interrupt handlers and structures holding interrupted context data.
Unify the name holding interrupted context data on all architectures to be istate.
 
822 6703 d 19 h palkovsky /kernel/trunk/ Changed malloc to include second parameter and documented
recommended usage.
Added zone merging, made ia32 & amd64 to merge found zones.