Changed the virt-to-phys debug breakpoint name to break_virtual

Changed l4id_t type to integer to recognise negative id values like L4_ANYTHREAD.
Added an extremely simple script that cleans and builds everything in right order.

Increased boot pmds by one:
This is due to the fact that if the 1MB initial allocation area of the kernel is
not 1MB-aligned, it is ought to be mapped from the middle of one MB to next,
which requires 2 pmds.

	modified:   .gdbinit
	modified:   README
	new file:   buildall.sh
	modified:   include/l4/arch/arm/types.h
	modified:   include/l4/generic/scheduler.h
	modified:   loader/kernel.S
	modified:   loader/main.c
	modified:   loader/mylink.lds
	modified:   loader/start.axf.S
	modified:   src/glue/arm/init.c
	modified:   src/glue/arm/memory.c
	modified:   tasks/fs0/src/bdev.c
	modified:   tasks/mm0/include/kdata.h
	modified:   tasks/mm0/include/vm_area.h
	modified:   tasks/mm0/src/init.c
	modified:   tasks/mm0/src/task.c
	modified:   tools/ksym_to_lds.py
	modified:   tools/l4-qemu
This commit is contained in:
Bahadir Balban
2008-02-04 16:44:11 +00:00
parent cab2e8bdd3
commit 938672f7c9
18 changed files with 114 additions and 80 deletions

View File

@@ -5,21 +5,21 @@
.section .kernel
.incbin "start.axf"
.align 4
.section .mm0
.incbin "mm0.axf"
.align 4
.section .bootdesc
.incbin "bootdesc.axf"
.align 4
.section .mm0
.incbin "mm0.axf"
.align 4
.section .fs0
.incbin "fs0.axf"
.align 4
.align 4
.section .test0
.incbin "test0.axf"
.align 4

View File

@@ -106,7 +106,6 @@ extern char _start_test0[];
extern char _end_test0[];
extern char _start_bootdesc[];
extern char _end_bootdesc[];
/* This is a kernel symbol exported to loader's linker script from kernel build */
extern char bkpt_phys_to_virt[];
@@ -127,17 +126,22 @@ main(void)
arch_init();
printf("elf-loader:\tStarted\n");
printf("Loading the kernel...\n");
load_image(&kernel_entry, _start_kernel, _end_kernel);
printf("Loading the inittask\n");
load_image(&mm0_entry, _start_mm0, _end_mm0);
printf("Loading the roottask\n");
load_image(&fs0_entry, _start_fs0, _end_fs0);
printf("Loading the testtask\n");
load_image(&test0_entry, _start_test0, _end_test0);
printf("Loading the bootdesc\n");
load_image(&bootdesc_entry, _start_bootdesc, _end_bootdesc);
printf("Loading mm0\n");
load_image(&mm0_entry, _start_mm0, _end_mm0);
printf("Loading fs0\n");
load_image(&fs0_entry, _start_fs0, _end_fs0);
printf("Loading test0\n");
load_image(&test0_entry, _start_test0, _end_test0);
printf("elf-loader:\tkernel entry point is %p\n", kernel_entry);
arch_start_kernel(kernel_entry);

View File

@@ -7,7 +7,7 @@ ENTRY(_start)
SECTIONS
{
. = 0x8000;
. = 0x2000000;
.text : { *(.text) }
.rodata : { *(.rodata) }
.rodata1 : { *(.rodata1) }
@@ -16,6 +16,9 @@ SECTIONS
_start_kernel = .;
*(.kernel)
_end_kernel = .;
_start_bootdesc = .;
*(.bootdesc)
_end_bootdesc = .;
_start_mm0 = .;
*(.mm0)
_end_mm0 = .;
@@ -25,9 +28,6 @@ SECTIONS
_start_test0 = .;
*(.test0)
_end_test0 = .;
_start_bootdesc = .;
*(.bootdesc)
_end_bootdesc = .;
*(.data)
}
.got : { *(.got) *(.got.plt) }

View File

@@ -10,7 +10,7 @@
.section .text
.align 4
.global bkpt_phys_to_virt;
.type bkpt_phys_to_virt, function;
.equ bkpt_phys_to_virt, 0x106f88
.global break_virtual;
.type break_virtual, function;
.equ break_virtual, 0x106f9c