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
2233 6292 d 13 h decky /trunk/kernel/arch/ use the hlt instruction more properly  
2227 6293 d 4 h decky /trunk/kernel/ start shutdown infrastructure  
2222 6293 d 13 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 6293 d 15 h decky /trunk/kernel/arch/ia32/src/boot/ fix typo in comment  
2220 6293 d 15 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 6294 d 11 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 6294 d 12 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 6349 d 14 h decky /trunk/ experimental support for Objective C
(disabled by default)
 
2107 6357 d 13 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 6357 d 21 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.
 
2101 6362 d 15 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2100 6362 d 16 h decky /trunk/kernel/ signed/unsigned comparison, explicit typecast  
2099 6362 d 16 h decky /trunk/kernel/arch/ia32/src/ explicit cast on pointer arithmetic  
2097 6362 d 16 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2095 6362 d 17 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2089 6363 d 21 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2087 6364 d 17 h jermar /trunk/kernel/ Indentaion and formatting changes even Martin will like :-)  
2082 6369 d 21 h decky /trunk/ __asm__ __volatile__ -> asm volatile  
2071 6374 d 14 h jermar /trunk/ (c) versus (C)  
2065 6388 d 12 h jermar /trunk/kernel/ Coding style fixes and formatting improvements.  
2018 6411 d 17 h decky /trunk/kernel/ rename rdtsc() to get_cycle()  
2015 6413 d 14 h jermar /trunk/ Rework support for virtually indexed cache.
Instead of repeatedly flushing the data cache, which was a huge overkill, refuse to create an illegal address alias
in the kernel (again) and allocate appropriate page color in userspace instead. Extend the detection also to
SYS_PHYSMEM_MAP syscall.

Add support for tracking physical memory areas mappable by SYS_PHYSMEM_MAP.

Lots of coding style changes.
 
1993 6430 d 22 h decky /trunk/ make framebuffer code more generic  
1970 6454 d 22 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1957 6456 d 22 h decky /trunk/kernel/ ia32: mouse support, mouse regrab is still broken  
1956 6456 d 23 h decky /trunk/kernel/ ia32: adopt new IRQ interface, mouse not tested yet  
1939 6465 d 17 h decky /trunk/ ia32: fix compilation, keyboard not checked yet  
1937 6466 d 0 h decky /trunk/kernel/arch/ remove orphaned functions  
1901 6487 d 19 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 6499 d 17 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1877 6505 d 1 h jermar /trunk/kernel/ Coding style fixes.
Remove unneeded sparc64 dummy functions.
 
1854 6515 d 23 h jermar /trunk/kernel/ Define architecture-specific thread sub-constructors and sub-destructors on all architectures.
Define the THREAD_FLAG_USPACE which means that the thread runs in user space.
The forementioned changes allow for allocating of user window buffer on sparc64
threads that execute in userspace.

A lot of formatting and indentation fixes.
 
1842 6535 d 21 h jermar /trunk/kernel/ i8042 and z8530 separated, the tree compiles again.
Now there is some duplicated code in i8042.c and z8530.c,
but that can be eliminated in slower pace.
 
1837 6541 d 2 h jermar /trunk/ Support 24bpp framebuffers with 4 pixelbytes (each pixel aligned on 32-bits).

At least on sparc64, the OpenFirmware linebytes property specifies the number
of pixels between consecutive scan lines of the display. Fix scanilne calculation,
including possible alignment.

Add note to 8bpp pixel functions pointing out drawbacks of that mode.
 
1811 6551 d 22 h decky /trunk/kernel/arch/ unify bootstrapping  
1793 6561 d 23 h jermar /trunk/kernel/ Change hw_map() on sparc64 to use virtual addresses that are
beyond the end of physical memory. It is beneficial in two
ways: first, physical memory is no longer being wasted by
otherwise necessary calls to frame_alloc() and, second,
virtual addresses for devices are now correctly allocated
and do not overlap with the 4M TLB-locked mapping for
kernel text and data.
 
1787 6564 d 16 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6571 d 17 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1766 6580 d 0 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6582 d 18 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...