Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
374 6850 d 10 h jermar /SPARTAN/trunk/ Revert previous change in frame_t as it broke IA-64.
(Most likely some alignment problem.)

Rename heap_init(), malloc() and free(), respectively, to early_heap_init(), early_malloc() and early_free(), respectively.
Define new macros malloc() and free(). They are to be replaced by real functions some day.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
373 6850 d 12 h jermar /SPARTAN/trunk/ Physical memory management work.
Add "__attribute__ ((packed))" to frame_t so that it takes up less space.
Note that this is essential as there is lot of these structures.
Remove busy list from zone_t as it is redundant.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
368 6852 d 19 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
/SPARTAN/trunk/arch/ia64/src/mm
/SPARTAN/trunk/arch/ia64/src/mm/frame.c
/SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips32/src/mm/frame.c
/SPARTAN/trunk/arch/ppc32/src/mm/frame.c
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/mm/frame.c
367 6853 d 10 h jermar /SPARTAN/trunk/ Physical memory management work.
Implement zone_*() and some frame_*() functions.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/mm/frame.c
366 6853 d 11 h jermar /SPARTAN/trunk/include/ Add zone pointer to frame_t.
This will be essential for fast frame_free().

Rename frame_zone_t to zone_t.

Declare frame and zone functions to be implemented.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/typedefs.h
355 6855 d 17 h jermar /SPARTAN/trunk/include/mm/ Add 'base' attribute to frame_zone_t structure.  
/SPARTAN/trunk/include/mm/frame.h
354 6855 d 18 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/typedefs.h
265 6870 d 19 h palkovsky /SPARTAN/trunk/ Added basic FPU context (not working).
Added CPU utilities from ia32
 
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/src/build.amd64
167 6885 d 19 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.
 
/SPARTAN/trunk/arch/amd64/src/dummy.s
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/arch/ppc/src/dummy.s
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
125 6920 d 11 h jermar /SPARTAN/trunk/ Huge indentation fix.  
/SPARTAN/trunk/arch/ia32/boot/boot.S
/SPARTAN/trunk/arch/ia32/boot/boot.ld
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/drivers/i8254.c
/SPARTAN/trunk/arch/ia32/src/drivers/i8259.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot/_link.ld
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/arch/mips/include/cpu.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/src/cpu/cpu.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/arch/powerpc/_link.ld
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/include/stackarg.h
/SPARTAN/trunk/include/synch/semaphore.h
/SPARTAN/trunk/include/synch/waitq.h
/SPARTAN/trunk/include/time/timeout.h
/SPARTAN/trunk/src/cpu/cpu.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/page.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/src/time/timeout.c
/SPARTAN/trunk/test/fpu/fpu1/test.c
122 6921 d 10 h jermar /SPARTAN/trunk/include/mm/ Remove one extra line left over from debugging process.  
/SPARTAN/trunk/include/mm/vm.h
121 6921 d 10 h jermar /SPARTAN/trunk/ Begin MIPS implementation of 4-level page table interface.

Add email address to each item in doc/AUTHORS.

Correct type names in comments in mm/vm.c.
Introduce ptl0 pointer in vm_t.
 
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/mips/include/mm/frame.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/include/mm/tlb.h
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/doc/AUTHORS
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/mm/vm.c
120 6935 d 9 h jermar /SPARTAN/trunk/ Generic 4-level page tables interface & implementation (review & test).
Implement more architecture dependant macros on IA-32.
Provide fake implementation on IA-64 and MIPS.
Convert map_page_to_frame() to use the new interface.
Move adjusted map_page_to_frame() from IA-32's arch/mm/page.c to the generic mm/page.c.
 
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/mm/page.c
119 6936 d 12 h jermar /SPARTAN/trunk/ Start with generic 4-level page table interface.

Usual cleanup.
 
/SPARTAN/trunk/doc/mm
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/test/fpu/fpu1/test.c
/SPARTAN/trunk/test/synch/rwlock5/test.c
/SPARTAN/trunk/test/synch/semaphore1/test.c
116 6955 d 16 h jermar /SPARTAN/trunk/ Add map_structure() to automate mapping of memory structures that can span multiple pages and/or cross page boundaries.
Change ACPI map_sdt() to use map_structure().

Small changes in MPS code.
The extra frame allocation for accessing frame 0 is unnecessary as it is possible to access frame 0 from kernel address space.
Zero TSS descriptor in the newly prepared GDT.
 
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/src/mm/page.c
109 6962 d 13 h jermar /SPARTAN/trunk/ Discard 'copy' parameter of map_page_to_frame().
Introduce 'root' parameter of map_page_to_frame().
If 'root' is zero, page directory address is read from CPU.
Otherwise 'root' is used as page directory address.

Add missing word to new doxygen-style comments in scheduler.c.
 
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/src/proc/scheduler.c
102 6968 d 12 h jermar /SPARTAN/trunk/ IA-64 work.
Redefine FRAME_SIZE to "(16*1024)" instead of "2*4096". Note that the latter definition was wrong because of the lack of "()".
Take panic_printf(), cpu_halt() and memsetb() out of fake.s and implement them properly in asm.S.
Move ski_init_console() from arch_post_mm_init() to arch_pre_mm_init().
In start.S, write r0 to ar.bspstore.

Janitorial fixes.
Add count_t type.
Replace several occurrences of int and __u32 by count_t or size_t.
Shorten several panic strings.
 
/SPARTAN/trunk/arch/ia64/include/mm/frame.h
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/ia64.c
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/include/config.h
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
72 6985 d 12 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/include/func.h
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
6 7064 d 0 h jermar /SPARTAN/trunk/ shootdown vs. shutdown  
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/include/mm/tlb.h
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/mm/vm.c
5 7064 d 11 h jermar /SPARTAN/trunk/ TLB shootdown.  
/SPARTAN/trunk/arch/ia32/include/apic.h
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/include/mm/tlb.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/mm/vm.c

Show All