Rev |
Age |
Author |
Path |
Log message |
Diff |
192 |
6910 d 20 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. |
|
187 |
6911 d 0 h |
cejka |
/SPARTAN/trunk/ |
Licence to print1/test.c added.
New function for printing memory map at ia32. |
|
180 |
6911 d 17 h |
jermar |
/SPARTAN/trunk/ |
Globalize 'size' and 'delta' and rename them to 'kernel_size' and 'heap_delta'.
Fix heap initialization to take 'heap_delta' into account.
Implement IA-64 get_stack_base().
Adjust SP_DELTA's to consider one extra word on stack.
(So that the stack pointer is within appropriate limits even on IA-64).
More #include cleanup. |
|
177 |
6912 d 2 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 |
6915 d 17 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. |
|
169 |
6920 d 15 h |
jermar |
/SPARTAN/trunk/arch/ |
For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA(). |
|
153 |
6933 d 14 h |
jermar |
/SPARTAN/trunk/ |
Add memory barriers into spinlock_*().
Implement CS_{ENTER|LEAVE}_BARRIER() for IA-32 (no-op).
Provide incomplete CS_{ENTER|LEAVE}_BARRIER() macros for IA-64 and MIPS as well.
Small changes here and there. |
|
147 |
6950 d 23 h |
jermar |
/SPARTAN/trunk/arch/ |
Add missing memory_init.h files for IA-64 and MIPS architectures.
Fix typo in IA-32's memory_init.h. |
|
146 |
6950 d 23 h |
cejka |
/SPARTAN/trunk/ |
Memory size detection for ia32 completed. |
|
139 |
6951 d 21 h |
cejka |
/SPARTAN/trunk/arch/ia32/ |
Added e801 method for obtaining memory size, improved e820 method for memory map. |
|
135 |
6952 d 0 h |
jermar |
/SPARTAN/trunk/ |
Fix setters of page table attributes for both IA-32 and MIPS. |
|
129 |
6952 d 22 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Implement ACPI MADT operations for interface used by kmp. |
|
128 |
6954 d 1 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Create IA-32 interface for bringing SMP up.
This interface hides differences between ACPI MADT and MPS configuration tables.
Provide MPS implementation thereof. |
|
125 |
6956 d 16 h |
jermar |
/SPARTAN/trunk/ |
Huge indentation fix. |
|
120 |
6971 d 14 h |
jermar |
/SPARTAN/trunk/ |
Generic 4-level page tables interface & implementation (review & test).
Implement more architecture dependant macros on IA-32.
Provide fake implementation on IA-64 and MIPS.
Convert map_page_to_frame() to use the new interface.
Move adjusted map_page_to_frame() from IA-32's arch/mm/page.c to the generic mm/page.c. |
|
119 |
6972 d 17 h |
jermar |
/SPARTAN/trunk/ |
Start with generic 4-level page table interface.
Usual cleanup. |
|
116 |
6991 d 21 h |
jermar |
/SPARTAN/trunk/ |
Add map_structure() to automate mapping of memory structures that can span multiple pages and/or cross page boundaries.
Change ACPI map_sdt() to use map_structure().
Small changes in MPS code.
The extra frame allocation for accessing frame 0 is unnecessary as it is possible to access frame 0 from kernel address space.
Zero TSS descriptor in the newly prepared GDT. |
|
115 |
6992 d 14 h |
jermar |
/SPARTAN/trunk/ |
Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size. |
|
111 |
6995 d 18 h |
palkovsky |
/SPARTAN/trunk/ |
Code cleanup in scheduler.c thread.c - removed unnecessary spinlock.
atomic_inc, atomic_dec moved to arch/atomic.h instead of arch/smp/atomic.h,
advisable to use even in non-smp mode.
Fixed atomic_inc, atomic_dec in mips architecture. |
|
106 |
6999 d 0 h |
jermar |
/SPARTAN/trunk/ |
IA-32 fixes.
Use kernel addresses instead of physical addresses in map_page_to_frame().
Physical addresses are supposed to only be exported to mm hardware.
Because of this fix, userspace is functional again.
Remap EGA videoram to (0x80000000 + videoram) and change the ega driver to work with the new address.
Minor cosmetics through out the code.
Changes in linker scripts. |
|