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
2784 5932 d 17 h jermar /trunk/kernel/arch/ Fortify ia32 and amd64 kernels against mallicious uspace applications that set
DF prior to entering the kernel. For AMD64 syscalls, we don't use the CLD
instruction, but make use of the SFMASK MSR instead. Simics works fine with
it, but QEMU seems to have a problem.
 
2725 5975 d 0 h decky /trunk/kernel/ remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability)
 
2713 5980 d 0 h decky /trunk/kernel/arch/amd64/src/boot/ remove fake tab  
2703 5986 d 21 h jermar /trunk/kernel/arch/amd64/ Grow the initial identity mapping from 64M to 4G.
We should not allocate GDT's from above 4G or the amd64 will occassionally
triple-fault again.
 
2692 6000 d 20 h decky /trunk/kernel/arch/amd64/ move cpuid tests from amd64.c to boot.S  
2302 6252 d 21 h decky /trunk/ force VGA palette to 3:2:3 palette on 8 bpp modes
(this fixes ticket #33)
 
2222 6278 d 17 h decky /trunk/kernel/ map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust
 
2219 6278 d 20 h decky /trunk/kernel/arch/amd64/src/boot/ add error message on no long mode support  
2071 6359 d 18 h jermar /trunk/ (c) versus (C)  
1787 6549 d 20 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1641 6584 d 4 h decky /kernel/trunk/arch/ port VESA VBE changes to AMD64  
1291 6617 d 0 h vana /kernel/trunk/arch/amd64/src/boot/ VESA detection failure fix on amd64  
1289 6617 d 1 h vana /kernel/trunk/arch/ Amd64 framebuffer  
1063 6666 d 14 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
1052 6666 d 22 h decky /kernel/trunk/arch/amd64/src/boot/ fix wrong structure members size assumption  
1039 6667 d 2 h decky /kernel/trunk/arch/ update for the use of more init tasks  
1037 6667 d 3 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
820 6702 d 16 h jermar /kernel/trunk/ Convert size_t, count_t and index_t to 64-bits on 64-bit architectures.
Change some pfn_t usages to count_t, size_t and index_t.
 
807 6704 d 5 h palkovsky /kernel/trunk/arch/amd64/src/boot/ I'm unsure if simics is broken or the only one according to spec,
but SYSCALL now works even with simics.
 
798 6704 d 17 h decky /kernel/trunk/arch/amd64/src/boot/ fix init_addr virtual address  
696 6733 d 19 h decky /kernel/trunk/arch/amd64/ AMD64 SMP boots again  
695 6733 d 19 h decky /kernel/trunk/arch/amd64/ make AMD64 boot again (using grub, see /boot tree), SMP is still broken  
694 6733 d 20 h decky /kernel/trunk/arch/amd64/ break AMD64, will be fixed soon  
685 6733 d 23 h decky /kernel/trunk/arch/amd64/ AMD64 PM initialization  
680 6737 d 16 h decky /kernel/trunk/arch/ remove deprecated pre-grub stuff on ia32
prepare for the same on amd64
 
534 6768 d 19 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6768 d 19 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6780 d 23 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
472 6794 d 0 h jermar /SPARTAN/trunk/ Changes in build system.
For .S targets, always do -D__ASM__.
Remove unnecessary #define __ASM__ from various *.S files.
At the end of build, generate disassembler dump for kernel.raw.

ia64 work.
Better General Exception handler.
 
417 6815 d 0 h palkovsky /SPARTAN/trunk/arch/amd64/src/boot/ Added identity mapping for more then 16MB - now it maps 64MB on boot.  
406 6821 d 17 h jermar /SPARTAN/trunk/arch/ Fix directives for K_TEXT_START, K_TEXT_START_2 and K_DATA_START sections to be more descriptive about section's content.
Remove LOAD(0xdeadbeaf) from ia32 linker script.
Remove __fake from amd64 pm.c.
 
347 6850 d 18 h jermar /SPARTAN/trunk/ Documentation updates for amd64, mips32 and ia32.

Replace %L with %P printf() formatter in MPS and ACPI detection functions to print addresses in maximal width.

Tweak memmap.S and IA-32 and AMd64 boot.S.
Cancel unneeded instructions.
Replace cmpl $0, %ebx with testl %ebx, %ebx.
Move memmap.S data to K_DATA_START section.
 
293 6859 d 15 h palkovsky /SPARTAN/trunk/ Symbol table now contains static functions too.
NOTE: gcc heavily inlines, be aware of optimizations.

Removed excesive item from boot page tables.
 
288 6859 d 20 h jermar /SPARTAN/trunk/ Create tools/ directory.
Move helper scripts and tools out of src/ and arch/.
 
282 6860 d 6 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.
 
277 6860 d 17 h palkovsky /SPARTAN/trunk/arch/ Reverted APIC mapping back to identity mapping.
Added AMD64 SMP support. Works now!
 
275 6860 d 19 h palkovsky /SPARTAN/trunk/arch/ Moved AMD64 kernel above 1MB.  
273 6860 d 20 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
251 6861 d 14 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.
 
242 6862 d 0 h palkovsky /SPARTAN/trunk/ Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support.