Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4126 5765 d 18 h decky /trunk/kernel/arch/ cleanup pm.h and related stuff (no change in functionality)  
3972 5780 d 7 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
 
3930 5787 d 9 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3902 5791 d 15 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 5829 d 19 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 6015 d 10 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
3104 6045 d 23 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
2701 6178 d 19 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2441 6417 d 9 h decky /trunk/kernel/ fix ICC compilation  
2222 6470 d 10 h decky /trunk/kernel/ map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust
 
2107 6534 d 9 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 6539 d 11 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2097 6539 d 13 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2071 6551 d 10 h jermar /trunk/ (c) versus (C)  
1901 6664 d 15 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 6676 d 13 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6741 d 12 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6748 d 13 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1766 6756 d 21 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6759 d 15 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...
 
1702 6769 d 16 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1576 6778 d 11 h jermar /kernel/trunk/ Make use of thread_join_timeout() and thread_detach() in kernel.

Improved comments in slab.h.
 
1502 6780 d 18 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 6782 d 1 h decky /kernel/trunk/arch/ cleanup  
1059 6858 d 11 h jermar /kernel/trunk/ Clear user address space when creating new page tables.
Fix mapping of l_apic and io_apic on amd64.
 
822 6894 d 8 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 6894 d 18 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
756 6902 d 7 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 6903 d 6 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.
 
693 6925 d 13 h decky /kernel/trunk/arch/ia32/ simplify and cleanup ia32 boot process, remove obsolete stuff  
687 6925 d 14 h jermar /kernel/trunk/ Memory management work.
Pass address space identifier to functions in page_operations to support single global page hash table.
 
625 6949 d 14 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
534 6960 d 11 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6960 d 11 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
512 6971 d 17 h jermar /kernel/trunk/ SMP work.
Add madt_irq_to_pin().
Make ksmp() use virtual irq_to_pin() function, which makes better sence for ACPI configurations.
 
501 6972 d 15 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6973 d 8 h jermar /SPARTAN/trunk/ Rename map_page_to_frame() to page_mapping_insert() and find_mapping() to page_mapping_find().
New names should make it more apparent that these two belong together.
 
458 6986 d 18 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
452 6987 d 11 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
422 6999 d 21 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.