Rev |
Age |
Author |
Path |
Log message |
Diff |
1702 |
6770 d 2 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
1223 |
6821 d 4 h |
jermar |
/kernel/trunk/ |
Make ia64 and sparc64 compile again.
Fix ia64 to set up inits in arch_pre_main(). |
|
1170 |
6833 d 0 h |
vana |
/kernel/trunk/ |
Stack size definition macro definition fix |
|
1139 |
6844 d 22 h |
jermar |
/kernel/trunk/generic/include/ |
Fix comments. |
|
703 |
6921 d 4 h |
jermar |
/kernel/trunk/ |
Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping(). |
|
651 |
6945 d 16 h |
decky |
/kernel/trunk/ |
remove arch/$ARCH/boot where not needed, change global Makefile accordingly
remove early_mapping() (breaks ppc32 for now)
change early heap initialization (required for init to work) |
|
534 |
6960 d 21 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
532 |
6960 d 21 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
503 |
6973 d 0 h |
jermar |
/kernel/trunk/ |
Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP). |
|
501 |
6973 d 1 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
483 |
6980 d 21 h |
jermar |
/SPARTAN/trunk/ |
For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).
New mips32 atomic_add() function.
Cleanup. |
|
430 |
6993 d 18 h |
jermar |
/SPARTAN/trunk/ |
Move src/ and include/ to generic. |
|
413 |
7008 d 17 h |
jermar |
/SPARTAN/trunk/ |
Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority. |
|
391 |
7021 d 18 h |
jermar |
/SPARTAN/trunk/ |
mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.
Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile. |
|
221 |
7055 d 8 h |
jermar |
/SPARTAN/trunk/ |
Preemption work.
Define PREEMPTION_DISABLED macro.
This macro determines the level of preemptivity (0 = preemption enabled, THE->preemption_disabled = no preemption inside spinlock, 1 = preemption disabled).
Reformulate preemption code in clock.c to consider PREEMPTION_DISABLED. |
|
210 |
7055 d 19 h |
decky |
/SPARTAN/trunk/ |
many PPC stuff, platform dependent arch.h header files |
|
192 |
7056 d 23 h |
jermar |
/SPARTAN/trunk/ |
Dump implementation of THREAD, TASK and CPU.
Implement preemption-safe versions of THREAD, TASK and CPU using THE.
Get rid of CPU_ID_ARCH on all architectures.
Get rid of write_dr0() and read_dr0() on IA-32.
Get rid of cpu_private_data and cpu_private_data_t. |
|
184 |
7057 d 7 h |
jermar |
/SPARTAN/trunk/ |
Add lib/the.c.
Add and deploy the_initialize() and the_copy().
Make IA-32's before_thread_runs() use SP_DELTA macro. |
|
177 |
7058 d 5 h |
jermar |
/SPARTAN/trunk/ |
Add some comments to IA-32 src/boot/boot.S and src/smp.S.
Make the boot stack start on page boundary.
This is required by get_stack_base().
Define 'THE' macro.
Implement preemption_disable() and preemption_enable().
Add memory barrier macros.
IA-32 macros need support for older processors.
Non IA-32 macros are dummy.
Reduction of many #include paths. |
|
173 |
7061 d 20 h |
jermar |
/SPARTAN/trunk/ |
Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy. |
|
118 |
7131 d 22 h |
jermar |
/SPARTAN/trunk/ |
Replace confusing comment in scheduler.c.
Add warning/explanatory comment to arch.h saying that CPU, THREAD and TASK macros are preemption-unsafe. |
|
32 |
7181 d 19 h |
jermar |
/SPARTAN/trunk/ |
ACPI detection code.
MP detection code rewrite.
Minor changes. |
|
26 |
7187 d 2 h |
jermar |
/SPARTAN/trunk/ |
Code cleanup after arch_init() splitting.
Restore %ds and %es registers before iret. |
|
23 |
7190 d 0 h |
jermar |
/SPARTAN/trunk/ |
Fix wrong order of *_init() function calls. |
|
20 |
7196 d 2 h |
jermar |
/SPARTAN/trunk/ |
Smarter definition of CPU macro. |
|
16 |
7199 d 0 h |
jermar |
/SPARTAN/trunk/ |
Switch from mm-based 'the' mechanism to macro-based 'cpu_private_data[CPU_ID_ARCH]' mechanism.
Added l_apic_id() and some other minor APIC changes.
Move gdtr to K_DATA_START section.
Move K_DATA_START section immediately behind K_TEXT_START section so that real-mode addresses work even with growing size of kernel code. |
|
15 |
7199 d 22 h |
jermar |
/SPARTAN/trunk/ |
Introduce macros CPU, THREAD, TASK and use them to replace the->cpu, the->thread, the->task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory. |
|
1 |
7249 d 23 h |
jermar |
/SPARTAN/ |
Initial import |
|