Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
306 6858 d 14 h palkovsky /SPARTAN/trunk/ Fixed mips boot process.
On interrupt saving registers, save $lo, $hi.
Add interrupt naming to asm files (mips).
Save only necessary registers on context switch (see mips ABI).
Fixed copyright info.
 
292 6860 d 0 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
289 6860 d 3 h palkovsky /SPARTAN/trunk/ Added preprocessed linker script to AMD architecture, so that
the constants are all only in the header files.
 
282 6860 d 15 h palkovsky /SPARTAN/trunk/ Fixed gdtr naming issues after ia32 changes.
Fixed stack alignment on new thread to by multiple of 16,
we are now ABI-correct and we do not #GP on va_arg to boot.
Fixed bad exception register names reporting.
Fixed bad _hardcoded_load_addr, which caused allocation of kernel text
frames.
 
275 6861 d 4 h palkovsky /SPARTAN/trunk/arch/ Moved AMD64 kernel above 1MB.  
273 6861 d 5 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
268 6861 d 6 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
266 6861 d 9 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
259 6861 d 11 h palkovsky /SPARTAN/trunk/ Fixed asm problems in asm in atomic instructions.  
257 6861 d 13 h palkovsky /SPARTAN/trunk/ Added basic FPU context (not working).
Added CPU utilities from ia32
Fixed bug in vm.c that wanted PTL to be mapped in bottom memory.
 
253 6861 d 15 h jermar /SPARTAN/trunk/arch/ Implement PPC's get_stack_base().

Comment AMD64's get_stack_base().
 
252 6861 d 16 h palkovsky /SPARTAN/trunk/arch/amd64/ Added volatile to inb/outb, so that it does not optimeze
lot of things out anymore.
Working delay loop.
 
251 6861 d 23 h palkovsky /SPARTAN/trunk/ Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first.
 
248 6862 d 5 h jermar /SPARTAN/trunk/ Make atomic_dec() and atomic_inc() take (volatile int *) argument, not (volatile count_t *).  
245 6862 d 6 h palkovsky /SPARTAN/trunk/ Use ia32 memmap.h/memmapash.h  
242 6862 d 9 h palkovsky /SPARTAN/trunk/ Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support.
 
241 6863 d 4 h palkovsky /SPARTAN/trunk/ Cleanups so that it compiles on ia-32 & amd-64 cleanly  
230 6863 d 8 h cejka /SPARTAN/trunk/arch/ Created fmath as basic tool for IEEE 754 floating point numbers.
Added option $F for printf for printing "double" type.
 
226 6863 d 9 h palkovsky /SPARTAN/trunk/ Fixed typo in 'outb' instruction.
Paging basically working.
 
224 6863 d 13 h palkovsky /SPARTAN/trunk/arch/ Interrupts for amd64.  
219 6863 d 22 h palkovsky /SPARTAN/trunk/ Fixed bad type in frame.c.
Amd64 prints banner.
 
216 6863 d 23 h palkovsky /SPARTAN/trunk/ hardcoded_symbol fixed into linker script on amd64/ia32/mips architecture  
211 6864 d 1 h palkovsky /SPARTAN/trunk/arch/amd64/ SVN cleanup  
210 6864 d 1 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files  
206 6864 d 12 h palkovsky /SPARTAN/trunk/ Better types for ia32 drivers, so that they can be reused in amd64.
Build script cleanup amd64.
New code / not working yet / in amd64.
 
200 6865 d 1 h palkovsky /SPARTAN/trunk/ Added putchar to AMD  
197 6865 d 3 h palkovsky /SPARTAN/trunk/ Context-save/restore in AMD64  
194 6865 d 5 h palkovsky /SPARTAN/trunk/arch/amd64/ Code cleanup.  
192 6865 d 5 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.
 
188 6865 d 8 h palkovsky /SPARTAN/trunk/arch/amd64/ AMD64 now can switch into long mode.
Basic page tables working.
 
178 6866 d 9 h palkovsky /SPARTAN/trunk/arch/amd64/ Fixed linker script to include .eh_frame section.
It now boots into protected mode.
 
177 6866 d 11 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 6870 d 2 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 6871 d 11 h palkovsky /SPARTAN/trunk/arch/amd64/ Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout.
 
169 6875 d 1 h jermar /SPARTAN/trunk/arch/ For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA().  
164 6878 d 4 h palkovsky /SPARTAN/trunk/ Basics for amd64 architecture. It does compile, but it does not work yet.