Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
192 6882 d 17 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.
 
191 6882 d 17 h decky /SPARTAN/trunk/arch/ppc/ PPC memory size detection  
190 6882 d 18 h decky /SPARTAN/trunk/arch/ppc/src/debug/ PPC panic()  
189 6882 d 19 h decky /SPARTAN/trunk/arch/ppc/include/asm/ PPC assembler register names  
188 6882 d 19 h palkovsky /SPARTAN/trunk/arch/amd64/ AMD64 now can switch into long mode.
Basic page tables working.
 
187 6882 d 21 h cejka /SPARTAN/trunk/ Licence to print1/test.c added.
New function for printing memory map at ia32.
 
186 6882 d 22 h decky /SPARTAN/trunk/arch/ppc/ add missing OpenFirmware related files  
185 6882 d 22 h decky /SPARTAN/trunk/arch/ OpenFirmware support  
184 6883 d 1 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.
 
182 6883 d 1 h cejka /SPARTAN/trunk/ Test for printf added.  
180 6883 d 14 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.
 
178 6883 d 20 h palkovsky /SPARTAN/trunk/arch/amd64/ Fixed linker script to include .eh_frame section.
It now boots into protected mode.
 
177 6883 d 22 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.
 
176 6884 d 13 h jermar /SPARTAN/trunk/arch/ia32/src/boot/ Initialize the stack prior to using it.  
174 6887 d 13 h jermar /SPARTAN/trunk/ Small changes.
Coding style fix in main.c.
Make 'cli' be the first instruction in boot.S again.
 
173 6887 d 13 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.
 
172 6888 d 22 h palkovsky /SPARTAN/trunk/arch/amd64/ Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout.
 
170 6891 d 12 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.
 
169 6892 d 12 h jermar /SPARTAN/trunk/arch/ For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA().  
168 6892 d 13 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.
 
167 6893 d 21 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.
 
166 6895 d 15 h decky /SPARTAN/trunk/arch/ppc/ prepare for PPC console support  
165 6895 d 15 h palkovsky /SPARTAN/trunk/arch/amd64/boot/ Copied from ia32, bootloader can be the same.  
164 6895 d 15 h palkovsky /SPARTAN/trunk/ Basics for amd64 architecture. It does compile, but it does not work yet.  
163 6895 d 21 h decky /SPARTAN/trunk/arch/ppc/ first booting ELF  
162 6895 d 22 h decky /SPARTAN/trunk/arch/ppc/ PPC linker script  
161 6897 d 23 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.
 
160 6901 d 11 h jermar /SPARTAN/trunk/ PPC work.
Define dummy implementations of many functions in fake.s.
Define kernel_image_start in start.S.
 
159 6901 d 12 h jermar /SPARTAN/trunk/arch/ppc/include/ Fix copyright dates.  
157 6901 d 20 h decky /SPARTAN/trunk/ remove cyclic including, change linker script path  
156 6901 d 23 h decky /SPARTAN/trunk/ PPC work in progress  
155 6903 d 12 h decky /SPARTAN/trunk/arch/powerpc/boot/ PPC preparation work (not working yet)  
154 6905 d 11 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.
 
153 6905 d 11 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.
 
152 6917 d 13 h decky /SPARTAN/trunk/arch/ia64/ Cleanup  
151 6917 d 13 h decky /SPARTAN/trunk/arch/ia64/ Remove unnecessary IA64 unwind tables
Cleanup IA64 linker script
Thus IA64 port compiles again (and also works hopefully)
 
149 6917 d 14 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.
 
148 6922 d 19 h jermar /SPARTAN/trunk/arch/mips/ Add -mno-abicalls to prevent generating of PIC code.
Remove -mxgot option.
The MIPS port is functional again.
 
147 6922 d 19 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 6922 d 20 h cejka /SPARTAN/trunk/ Memory size detection for ia32 completed.