Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
414 |
6928 d 7 h |
jermar |
/SPARTAN/trunk/ |
Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions. |
|
/SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/src/context.S /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/src/context.S /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/src/context.S /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
413 |
6928 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. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/amd64/src/userspace.c /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/include/types.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/include/types.h /SPARTAN/trunk/arch/mips32/src/drivers/arc.c /SPARTAN/trunk/arch/mips32/src/exception.c /SPARTAN/trunk/arch/mips32/src/interrupt.c /SPARTAN/trunk/arch/mips32/src/mips32.c /SPARTAN/trunk/arch/mips32/src/mm/asid.c /SPARTAN/trunk/arch/mips32/src/mm/tlb.c /SPARTAN/trunk/arch/mips32/src/mm/vm.c /SPARTAN/trunk/arch/ppc32/include/asm.h /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/include/types.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
402 |
6936 d 6 h |
jermar |
/SPARTAN/trunk/ |
Add ALIGN() macro.
Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review. |
|
/SPARTAN/trunk/include/align.h
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/src/main/main.c
|
389 |
6942 d 5 h |
jermar |
/SPARTAN/trunk/ |
MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.
Other architectures: add dummy tlb_init_arch(). |
|
/SPARTAN/trunk/arch/amd64/include/mm/tlb.h /SPARTAN/trunk/arch/ia32/include/mm/tlb.h /SPARTAN/trunk/arch/ia64/include/mm/tlb.h /SPARTAN/trunk/arch/ppc32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/cp0.h /SPARTAN/trunk/arch/mips32/include/mm/tlb.h /SPARTAN/trunk/arch/mips32/src/asm.S /SPARTAN/trunk/arch/mips32/src/exception.c /SPARTAN/trunk/arch/mips32/src/mm/tlb.c /SPARTAN/trunk/include/mm/tlb.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/tlb.c
|
374 |
6952 d 18 h |
jermar |
/SPARTAN/trunk/ |
Revert previous change in frame_t as it broke IA-64.
(Most likely some alignment problem.)
Rename heap_init(), malloc() and free(), respectively, to early_heap_init(), early_malloc() and early_free(), respectively.
Define new macros malloc() and free(). They are to be replaced by real functions some day. |
|
/SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c
|
373 |
6952 d 20 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
Add "__attribute__ ((packed))" to frame_t so that it takes up less space.
Note that this is essential as there is lot of these structures.
Remove busy list from zone_t as it is redundant. |
|
/SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/frame.c
|
369 |
6954 d 21 h |
jermar |
/SPARTAN/trunk/src/main/ |
The more physical frames, the more memory allocated for heap. |
|
/SPARTAN/trunk/src/main/main.c
|
298 |
6971 d 5 h |
decky |
/SPARTAN/trunk/ |
remove lower 2 GB identity mapping (IA-32) |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/smp/ap.S /SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/src/main/main.c
|
242 |
6974 d 3 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support. |
|
/SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/mips/include/debug.h
/SPARTAN/trunk/arch/amd64/src/boot/memmap.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/main/main.c
|
238 |
6974 d 23 h |
vana |
/SPARTAN/trunk/ |
Register dump on IA-64 exceptions |
|
/SPARTAN/trunk/arch/ia64/include/asm.h /SPARTAN/trunk/arch/ia64/src/cpu/cpu.c /SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S /SPARTAN/trunk/src/main/main.c
|
235 |
6975 d 0 h |
decky |
/SPARTAN/trunk/ |
load the kernel above 1 MB on IA-32 |
|
/SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/include/boot/boot.h /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/src/main/main.c
|
220 |
6975 d 8 h |
vana |
/SPARTAN/trunk/ |
Universal exception handler and all exceptions routine to call it added |
|
/SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S /SPARTAN/trunk/src/main/main.c
|
212 |
6975 d 19 h |
vana |
/SPARTAN/trunk/ |
Basic exception support added for ia64 arch ...... |
|
/SPARTAN/trunk/arch/ia64/src/cpu /SPARTAN/trunk/arch/ia64/src/cpu/cpu.c /SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips/src/putchar.c /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c
|
210 |
6975 d 19 h |
decky |
/SPARTAN/trunk/ |
many PPC stuff, platform dependent arch.h header files |
|
/SPARTAN/trunk/arch/amd64/include/arch.h /SPARTAN/trunk/arch/ia32/include/arch.h /SPARTAN/trunk/arch/ia64/include/arch.h /SPARTAN/trunk/arch/mips/include/arch.h /SPARTAN/trunk/arch/ppc/boot/_link.ld /SPARTAN/trunk/arch/ppc/boot/boot.S /SPARTAN/trunk/arch/ppc/boot/main.c /SPARTAN/trunk/arch/ppc/boot/main.h /SPARTAN/trunk/arch/ppc/include/arch.h /SPARTAN/trunk/arch/ppc/src/asm.S /SPARTAN/trunk/arch/ppc/src/cpu/cpu.c /SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/boot/boot.s /SPARTAN/trunk/arch/ppc/src/asm.s
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/_link.ld /SPARTAN/trunk/arch/ppc/boot/Makefile /SPARTAN/trunk/arch/ppc/include/asm.h /SPARTAN/trunk/arch/ppc/include/context.h /SPARTAN/trunk/arch/ppc/src/debug/panic.s /SPARTAN/trunk/arch/ppc/src/drivers/ofw.c /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/thread.c
|
207 |
6976 d 5 h |
decky |
/SPARTAN/trunk/ |
separated stack mapping |
|
/SPARTAN/trunk/arch/ppc/include/ppc.h /SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/include/context.h /SPARTAN/trunk/arch/ppc/include/drivers/ofw.h /SPARTAN/trunk/arch/ppc/src/drivers/ofw.c /SPARTAN/trunk/arch/ppc/src/start.S /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c
|
192 |
6976 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. |
|
/SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia64/include/cpu.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/ppc/include/cpu.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c
|
184 |
6977 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. |
|
/SPARTAN/trunk/src/lib/the.c
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
180 |
6977 d 20 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. |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia64/include/asm.h /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/mips/include/asm.h /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/src/main/main.c
|
177 |
6978 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. |
|
/SPARTAN/trunk/arch/amd64/include/barrier.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/barrier.h /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/smp/ap.S /SPARTAN/trunk/arch/ia64/include/barrier.h /SPARTAN/trunk/arch/mips/include/barrier.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/ppc/include/barrier.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/proc/task.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/preempt/preemption.c
|
174 |
6981 d 20 h |
jermar |
/SPARTAN/trunk/ |
Small changes.
Coding style fix in main.c.
Make 'cli' be the first instruction in boot.S again. |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/src/main/main.c
|