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
2222 6254 d 11 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 6255 d 9 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 6255 d 10 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 6318 d 11 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 6323 d 13 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2097 6323 d 14 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2095 6323 d 14 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2089 6324 d 19 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6335 d 11 h jermar /trunk/ (c) versus (C)  
1970 6415 d 19 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1901 6448 d 17 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 6460 d 15 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6525 d 14 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6532 d 15 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1766 6540 d 22 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6543 d 16 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 6550 d 21 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1702 6553 d 18 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1684 6556 d 22 h jermar /kernel/trunk/ #ifdef more debugging printf()'s.  
1667 6558 d 16 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 6562 d 12 h jermar /kernel/trunk/ Make use of thread_join_timeout() and thread_detach() in kernel.

Improved comments in slab.h.
 
1540 6564 d 0 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 6564 d 20 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 6566 d 3 h decky /kernel/trunk/arch/ cleanup  
1246 6600 d 16 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 6601 d 10 h jermar /kernel/trunk/arch/ This time really fix wrong definition of K_DATA_START.  
1241 6601 d 11 h jermar /kernel/trunk/arch/ Fix K_DATA_START section definition.  
1221 6605 d 9 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6611 d 19 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1059 6642 d 12 h jermar /kernel/trunk/ Clear user address space when creating new page tables.
Fix mapping of l_apic and io_apic on amd64.
 
958 6645 d 12 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 6678 d 9 h palkovsky /kernel/trunk/ Changed malloc to include second parameter and documented
recommended usage.
Added zone merging, made ia32 & amd64 to merge found zones.
 
814 6678 d 19 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
812 6679 d 10 h jermar /kernel/trunk/ Documentation and dot.bochsrc upgrade.  
756 6686 d 8 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.
 
755 6687 d 7 h jermar /kernel/trunk/ Change page_mapping_find/insert interfaces to take as_t * as first argument
and not asid_t as second argument. This change was necessitated by the
removal of mapping array from as_area_t and the fact that an address
space doesn't have an ASID when it is created.
 
750 6688 d 12 h jermar /kernel/trunk/ ia32 SMP updates.
Update info about supported version of Bochs (bump the counter to 2.2.6).
Add Task Priority Register type and initialize this register to a known state.
 
693 6709 d 14 h decky /kernel/trunk/arch/ia32/ simplify and cleanup ia32 boot process, remove obsolete stuff  
687 6709 d 16 h jermar /kernel/trunk/ Memory management work.
Pass address space identifier to functions in page_operations to support single global page hash table.
 
672 6715 d 10 h jermar /kernel/trunk/arch/ia32/ ia32 work.
Initialize LDR and DFR registers in Local APIC so that logical destination addresses work.