Subversion Repositories HelenOS-historic

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 6845 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.
 
180 6846 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.
 
177 6847 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.
 
173 6850 d 20 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.
 
139 6887 d 0 h cejka /SPARTAN/trunk/arch/ia32/ Added e801 method for obtaining memory size, improved e820 method for memory map.  
115 6927 d 17 h jermar /SPARTAN/trunk/ Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size.
 
38 6964 d 22 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
28 6973 d 4 h jermar /SPARTAN/trunk/ Small improvements.  
27 6973 d 19 h jermar /SPARTAN/trunk/ APIC changes and fixes.
Be more robust during MP configuration.

Do not use APIC ID as CPU_ID_ARCH anymore.
Changing APIC ID's is not a good idea.
Use dr0 register instead.
 
11 7031 d 17 h jermar /SPARTAN/trunk/ Clean up (ia32 vs. i386).
Header files reorganization.
 
1 7038 d 23 h jermar /SPARTAN/ Initial import