Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
177 6846 d 23 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 6847 d 14 h jermar /SPARTAN/trunk/arch/ia32/src/boot/ Initialize the stack prior to using it.  
175 6847 d 22 h decky /SPARTAN/trunk/contrib/ Basic PearPC configuration  
174 6850 d 14 h jermar /SPARTAN/trunk/ Small changes.
Coding style fix in main.c.
Make 'cli' be the first instruction in boot.S again.
 
173 6850 d 14 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 6851 d 22 h palkovsky /SPARTAN/trunk/arch/amd64/ Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout.
 
171 6851 d 22 h jermar /SPARTAN/trunk/ Make rwlock test #3 compile again.

Make rwlock test #4 preemption-safe.

Prepare for preemption controlling functions.
 
170 6854 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 6855 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 6855 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 6856 d 22 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 6858 d 15 h decky /SPARTAN/trunk/arch/ppc/ prepare for PPC console support  
165 6858 d 16 h palkovsky /SPARTAN/trunk/arch/amd64/boot/ Copied from ia32, bootloader can be the same.  
164 6858 d 16 h palkovsky /SPARTAN/trunk/ Basics for amd64 architecture. It does compile, but it does not work yet.  
163 6858 d 21 h decky /SPARTAN/trunk/arch/ppc/ first booting ELF  
162 6858 d 23 h decky /SPARTAN/trunk/arch/ppc/ PPC linker script  
161 6860 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 6864 d 12 h jermar /SPARTAN/trunk/ PPC work.
Define dummy implementations of many functions in fake.s.
Define kernel_image_start in start.S.
 
159 6864 d 12 h jermar /SPARTAN/trunk/arch/ppc/include/ Fix copyright dates.  
158 6864 d 20 h decky /SPARTAN/trunk/src/mm/ remove forgotten comment  
157 6864 d 20 h decky /SPARTAN/trunk/ remove cyclic including, change linker script path  
156 6864 d 23 h decky /SPARTAN/trunk/ PPC work in progress  
155 6866 d 13 h decky /SPARTAN/trunk/arch/powerpc/boot/ PPC preparation work (not working yet)  
154 6868 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 6868 d 12 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 6880 d 13 h decky /SPARTAN/trunk/arch/ia64/ Cleanup  
151 6880 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)
 
150 6880 d 15 h jermar /SPARTAN/trunk/doc/ Documentation changes.
Most importantly, update information about supported binutils and gcc versions.
 
149 6880 d 15 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 6885 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 6885 d 20 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 6885 d 20 h cejka /SPARTAN/trunk/ Memory size detection for ia32 completed.  
145 6885 d 21 h decky /SPARTAN/trunk/contrib/ IA-64 toolchain build script (at least)  
144 6885 d 21 h vana /SPARTAN/trunk/ Coding style fix  
143 6885 d 21 h vana /SPARTAN/trunk/ Disable alignment check  
142 6885 d 22 h vana /SPARTAN/trunk/arch/ia32/src/ Typing error fixed  
141 6885 d 22 h vana /SPARTAN/trunk/ Clear IOPL on start of system on all CPUs and clear NT before all irets.  
140 6886 d 16 h decky /SPARTAN/trunk/contrib/ AMD64 toolchain build script  
139 6886 d 18 h cejka /SPARTAN/trunk/arch/ia32/ Added e801 method for obtaining memory size, improved e820 method for memory map.  
138 6886 d 19 h decky /SPARTAN/trunk/contrib/ Toolchain build scripts for PowerPC (G4) and PowerPC 64b (G5)