Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
176 |
6915 d 7 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/boot/ |
Initialize the stack prior to using it. |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
|
174 |
6918 d 7 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
|
173 |
6918 d 7 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. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/ia32/include/asm.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/ppc/include/asm.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/typedefs.h
|
172 |
6919 d 15 h |
palkovsky |
/SPARTAN/trunk/arch/amd64/ |
Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout. |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/include/mm/vm.h
|
170 |
6922 d 5 h |
jermar |
/SPARTAN/trunk/ |
Add comment to scheduler.c explaining the reason behind saving CPU priority of preempted thread.
Remove two unnecessary cpu_priority_high() calls. |
|
/SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/proc/scheduler.c
|
169 |
6923 d 6 h |
jermar |
/SPARTAN/trunk/arch/ |
For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA(). |
|
/SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/ia64/include/mm/page.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/ppc/include/mm/page.h
|
168 |
6923 d 6 h |
jermar |
/SPARTAN/trunk/ |
Add type cast to __address in vm_create().
This seems to fix the problem with userspace.
Looks like KA2PA() returned wrong address when applied on pte_t *.
Uncomment panic() in gp_fault().
Get rid of cli and sti in userspace code. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/src/mm/vm.c
|
167 |
6924 d 15 h |
jermar |
/SPARTAN/trunk/ |
Switch over to per vm_t page tables. (breaks ia32 userspace)
Define dummy memcopy() for amd64 and ppc to satisfy compiler.
Get rid of problematic #include <arch/mm/page.h> in mm/page.h.
Indentation fixes and small changes here and there. |
|
/SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/proc/scheduler.c /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/mm/vm.h /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c
|
166 |
6926 d 8 h |
decky |
/SPARTAN/trunk/arch/ppc/ |
prepare for PPC console support |
|
/SPARTAN/trunk/arch/ppc/include/vga.h /SPARTAN/trunk/arch/ppc/src/drivers /SPARTAN/trunk/arch/ppc/src/drivers/vga.c
/SPARTAN/trunk/arch/ppc/src/putchar.c
/SPARTAN/trunk/arch/ppc/Makefile.inc
|
165 |
6926 d 9 h |
palkovsky |
/SPARTAN/trunk/arch/amd64/boot/ |
Copied from ia32, bootloader can be the same. |
|
/SPARTAN/trunk/arch/amd64/boot/Makefile
|
164 |
6926 d 9 h |
palkovsky |
/SPARTAN/trunk/ |
Basics for amd64 architecture. It does compile, but it does not work yet. |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/boot /SPARTAN/trunk/arch/amd64/boot/boot.S /SPARTAN/trunk/arch/amd64/boot/boot.ld /SPARTAN/trunk/arch/amd64/include /SPARTAN/trunk/arch/amd64/include/arg.h /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/atomic.h /SPARTAN/trunk/arch/amd64/include/barrier.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/include/faddr.h /SPARTAN/trunk/arch/amd64/include/fpu_context.h /SPARTAN/trunk/arch/amd64/include/interrupt.h /SPARTAN/trunk/arch/amd64/include/mm /SPARTAN/trunk/arch/amd64/include/mm/frame.h /SPARTAN/trunk/arch/amd64/include/mm/memory_init.h /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/include/mm/vm.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/include/thread.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src /SPARTAN/trunk/arch/amd64/src/boot /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/fpu_context.c /SPARTAN/trunk/arch/amd64/src/putchar.c /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/clean.amd64
|
163 |
6926 d 14 h |
decky |
/SPARTAN/trunk/arch/ppc/ |
first booting ELF |
|
/SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/src/powerpc.c
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/_link.ld /SPARTAN/trunk/arch/ppc/boot/boot.s /SPARTAN/trunk/arch/ppc/src/mm/page.c /SPARTAN/trunk/arch/ppc/src/start.S
|
162 |
6926 d 16 h |
decky |
/SPARTAN/trunk/arch/ppc/ |
PPC linker script |
|
/SPARTAN/trunk/arch/ppc/src/asm.s /SPARTAN/trunk/arch/ppc/src/cpu /SPARTAN/trunk/arch/ppc/src/mm /SPARTAN/trunk/arch/ppc/src/mm/frame.c /SPARTAN/trunk/arch/ppc/src/mm/page.c /SPARTAN/trunk/arch/ppc/src/putchar.c
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/_link.ld /SPARTAN/trunk/arch/ppc/boot/Makefile /SPARTAN/trunk/arch/ppc/boot/boot.s /SPARTAN/trunk/arch/ppc/src/dummy.s
|
161 |
6928 d 16 h |
jermar |
/SPARTAN/trunk/arch/ |
For all relevant architectures, rename fake.s to dummy.s to better reflect the purpose of the file.
Also define global symbol called dummy. |
|
/SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips/src/dummy.s /SPARTAN/trunk/arch/ppc/src/dummy.s
/SPARTAN/trunk/arch/ia64/src/fake.s /SPARTAN/trunk/arch/mips/src/fake.s /SPARTAN/trunk/arch/ppc/src/fake.s
/SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/ppc/Makefile.inc
|
160 |
6932 d 5 h |
jermar |
/SPARTAN/trunk/ |
PPC work.
Define dummy implementations of many functions in fake.s.
Define kernel_image_start in start.S. |
|
/SPARTAN/trunk/arch/ppc/src/fake.s /SPARTAN/trunk/arch/ppc/src/start.S
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/_link.ld /SPARTAN/trunk/src/Makefile.config
|
159 |
6932 d 5 h |
jermar |
/SPARTAN/trunk/arch/ppc/include/ |
Fix copyright dates. |
|
/SPARTAN/trunk/arch/ppc/include/cpu.h /SPARTAN/trunk/arch/ppc/include/interrupt.h /SPARTAN/trunk/arch/ppc/include/mm/page.h /SPARTAN/trunk/arch/ppc/include/thread.h /SPARTAN/trunk/arch/ppc/include/types.h
|
157 |
6932 d 13 h |
decky |
/SPARTAN/trunk/ |
remove cyclic including, change linker script path |
|
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/include/mm/page.h /SPARTAN/trunk/src/mm/page.c
|
156 |
6932 d 16 h |
decky |
/SPARTAN/trunk/ |
PPC work in progress |
|
/SPARTAN/trunk/arch/ppc /SPARTAN/trunk/arch/ppc/include /SPARTAN/trunk/arch/ppc/include/arg.h /SPARTAN/trunk/arch/ppc/include/asm.h /SPARTAN/trunk/arch/ppc/include/atomic.h /SPARTAN/trunk/arch/ppc/include/barrier.h /SPARTAN/trunk/arch/ppc/include/context.h /SPARTAN/trunk/arch/ppc/include/cpu.h /SPARTAN/trunk/arch/ppc/include/faddr.h /SPARTAN/trunk/arch/ppc/include/fpu_context.h /SPARTAN/trunk/arch/ppc/include/interrupt.h /SPARTAN/trunk/arch/ppc/include/mm /SPARTAN/trunk/arch/ppc/include/mm/frame.h /SPARTAN/trunk/arch/ppc/include/mm/memory_init.h /SPARTAN/trunk/arch/ppc/include/mm/page.h /SPARTAN/trunk/arch/ppc/include/mm/vm.h /SPARTAN/trunk/arch/ppc/include/thread.h /SPARTAN/trunk/arch/ppc/include/types.h /SPARTAN/trunk/contrib/toolchain.ppc.sh /SPARTAN/trunk/src/build.ppc /SPARTAN/trunk/src/clean.ppc
/SPARTAN/trunk/arch/powerpc /SPARTAN/trunk/contrib/toolchain.powerpc.sh
/SPARTAN/trunk/arch/ppc/Makefile.inc
|
155 |
6934 d 6 h |
decky |
/SPARTAN/trunk/arch/powerpc/boot/ |
PPC preparation work (not working yet) |
|
/SPARTAN/trunk/arch/powerpc/boot/boot.s
|
154 |
6936 d 4 h |
jermar |
/SPARTAN/trunk/ |
Update TODO.
Explicitly mark places of interest related to memory barriers on non-IA-32 architectures with TODO remarks so that they don't get forgotten. |
|
/SPARTAN/trunk/arch/ia64/include/barrier.h /SPARTAN/trunk/arch/mips/include/barrier.h /SPARTAN/trunk/doc/TODO
|
153 |
6936 d 5 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. |
|
/SPARTAN/trunk/arch/ia32/include/barrier.h /SPARTAN/trunk/arch/ia64/include/barrier.h /SPARTAN/trunk/arch/mips/include/barrier.h
/SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/spinlock.c
|
152 |
6948 d 7 h |
decky |
/SPARTAN/trunk/arch/ia64/ |
Cleanup |
|
/SPARTAN/trunk/arch/ia64/_link.ld
|
151 |
6948 d 7 h |
decky |
/SPARTAN/trunk/arch/ia64/ |
Remove unnecessary IA64 unwind tables
Cleanup IA64 linker script
Thus IA64 port compiles again (and also works hopefully) |
|
/SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/ia64/_link.ld
|
149 |
6948 d 8 h |
jermar |
/SPARTAN/trunk/ |
Fix IA-32's get_memory_size() to return size of memory in bytes instead of in kilobytes.
Some cosmetics in memory map detection.
The IA-32 kernel is functional again. |
|
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S /SPARTAN/trunk/arch/ia32/src/mm/memory_init.c /SPARTAN/trunk/src/main/main.c
|
148 |
6953 d 12 h |
jermar |
/SPARTAN/trunk/arch/mips/ |
Add -mno-abicalls to prevent generating of PIC code.
Remove -mxgot option.
The MIPS port is functional again. |
|
/SPARTAN/trunk/arch/mips/Makefile.inc
|
147 |
6953 d 13 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. |
|
/SPARTAN/trunk/arch/ia64/include/mm/memory_init.h /SPARTAN/trunk/arch/mips/include/mm/memory_init.h
/SPARTAN/trunk/arch/ia32/include/mm/memory_init.h
|
146 |
6953 d 14 h |
cejka |
/SPARTAN/trunk/ |
Memory size detection for ia32 completed. |
|
/SPARTAN/trunk/arch/ia32/include/mm/memory_init.h /SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/src/main/main.c
|
144 |
6953 d 14 h |
vana |
/SPARTAN/trunk/ |
Coding style fix |
|
/SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/doc/TODO
|
143 |
6953 d 14 h |
vana |
/SPARTAN/trunk/ |
Disable alignment check |
|
/SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/doc/TODO
|
142 |
6953 d 15 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Typing error fixed |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/userspace.c
|
141 |
6953 d 15 h |
vana |
/SPARTAN/trunk/ |
Clear IOPL on start of system on all CPUs and clear NT before all irets. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/doc/TODO
|
139 |
6954 d 11 h |
cejka |
/SPARTAN/trunk/arch/ia32/ |
Added e801 method for obtaining memory size, improved e820 method for memory map. |
|
/SPARTAN/trunk/arch/ia32/include/boot/memmapasm.h
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/boot/memmap.h /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/boot/memmap.S /SPARTAN/trunk/arch/ia32/src/mm/frame.c
|
137 |
6954 d 13 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Comments |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
136 |
6954 d 13 h |
vana |
/SPARTAN/trunk/ |
Error word support debuging and testing passed with #NM & #GP exceptions. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/src/Makefile.config
|
135 |
6954 d 14 h |
jermar |
/SPARTAN/trunk/ |
Fix setters of page table attributes for both IA-32 and MIPS. |
|
/SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/main/kinit.c
|
134 |
6954 d 14 h |
decky |
/SPARTAN/trunk/arch/mips/include/mm/ |
Add missing asid.h |
|
/SPARTAN/trunk/arch/mips/include/mm/asid.h
|
132 |
6954 d 17 h |
vana |
/SPARTAN/trunk/arch/ia32/ |
Added support for error-word generating exceptions in return routine. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/Makefile.inc
|
131 |
6954 d 17 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/ |
Initialize kmp_completion_wq during configuration via ACPI MADT.
Move some generic SMP configuration code from mps.c to smp.c. |
|
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c
|
130 |
6954 d 17 h |
decky |
/SPARTAN/trunk/arch/mips/ |
Make MIPS target compile and link properly with the new 4.0.1 MIPS toolchain |
|
/SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/boot/Makefile /SPARTAN/trunk/arch/mips/boot/boot.s /SPARTAN/trunk/arch/mips/src/mm/asid.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c
|
129 |
6955 d 13 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Implement ACPI MADT operations for interface used by kmp. |
|
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c
|