Commit Graph

36 Commits

Author SHA1 Message Date
Bahadir Balban
b6676b9acd Fixed loader for kernel loading
Fix for the error that kernel start address wasn't passed
correctly and kernel wasn't started.
2009-09-26 21:18:19 +03:00
Bahadir Balban
52e718f8c0 Added kernel image dependency to loader build 2009-09-25 10:48:59 +03:00
Bahadir Balban
a5a75270c0 Fixed the problem that loader final.elf dependency wasn't detected
final.elf should now depend on build/conts/containers.elf
2009-09-24 14:12:11 +03:00
Bahadir Balban
b91286dcd4 Added a dependency on loader_images_S from final.elf
This ensures final.elf builds whenever containers.elf file changes.
2009-09-24 12:56:12 +03:00
Bahadir Balban
2da7b16412 Moved all crt0.S to .text.head 2009-09-21 20:26:01 +03:00
Bahadir Balban
2e35b7a901 CML2 configuration file is saved and brought up until deleted. 2009-09-20 23:01:17 +03:00
Bahadir Balban
19a84b02da Test program for bare repos now links with libl4 and libc.
The userspace bare libc has been re-added to the repo.
2009-09-19 12:30:37 +03:00
Bahadir Balban
943e4a520c Loader can now load all containers.
The container image addresses seem to clash with kernel.
Currently no checking done for that.
2009-09-18 11:27:03 +03:00
Bahadir Balban
6538e70b39 Fixed few issues with loader and basic image loading.
Declaring section of the form:

.align 4
.section "kernel"
.incbin "path-to-kernel"

And defining a linker variable before the section output does not always seem to work.
The linker seems to add padding even though .align directive comes before .section

	modified:   SConstruct.loader
	modified:   loader/linker.lds
	modified:   loader/main.c
2009-09-17 19:19:03 +03:00
Bahadir Balban
b2531dc725 Created images.S for loader with a script so that kernel.elf and containers.elf are not hard-coded 2009-09-17 11:14:26 +03:00
Bahadir Balban
136bdcdc54 Minor fixes to loader build scripts 2009-09-16 19:40:31 +03:00
Bahadir Balban
0f1dc5a982 Added generation of ksyms.S to loader SConscript as a call to generate_break_virtual
File creation and cleanup works correctly.
	modified:   loader/SConscript
	modified:   scripts/loader/generate_break_virtual.py
2009-09-16 19:01:57 +03:00
Bahadir Balban
1925cd5704 Autogenerating the break_virtual symbol 2009-09-16 18:04:09 +03:00
Bahadir Balban
ee44a2007a Containers packed in single .elf file 2009-09-16 16:24:56 +03:00
Bahadir Balban
0142677c81 Simplified loader, elf, and c library SConscripts 2009-09-14 19:15:32 +03:00
Bahadir Balban
e08ab58b09 Can now compile loader, libl4, libelf, libc from SConstruct.loader 2009-09-14 19:07:12 +03:00
Bahadir Balban
15f12ce38f Loader building from top-level SConstruct.loader
Need to add libc and libelf to it as well.
2009-09-14 17:57:14 +03:00
Bahadir Balban
c4c3fb1e6c Mods for improvements 2009-09-12 18:54:35 +03:00
Bahadir Balban
59f30a175a More progress on build scripts
Created a config directory for configuration files.
Moved all absolute path variables to a projpaths.py file
All scripts can now universally learn absolute paths via projpaths.py
Moved the config_symbols class to the configuration.py file.
Moved libs to loader since they are only referred by the loader
2009-09-12 13:42:30 +03:00
Bahadir Balban
16f20a9d3a Copying the way source, target files are referred, loader/SConscript now works with new setup.
modified:   loader/SConscript
	new file:   loader/main.c
	deleted:    loader/main.c.in
2009-09-08 22:18:04 +03:00
Russel Winder
9e894274a3 Refactor the build to try and get as much material as possible out of SConstruct. 2009-08-28 14:10:24 +01:00
Bahadir Balban
87e2aeaf58 Moved tasks/* into containers/posix 2009-08-25 14:34:21 +03:00
Russel Winder
5d8a35ad4d Make the address conversion for start.axf.S creation more sophisticated to deal with Python writing a Python literal. 2009-08-15 08:18:52 +01:00
Russel Winder
8777333664 Some trivial changes to the comments. 2009-08-15 07:27:45 +01:00
Russel Winder
31d61caea4 Fix error about inclusion of start.afx.S -- there was a dependencies error in the SConscript leading to incorect multiple inclusion in the constructed kernel.S. 2009-08-12 10:35:47 +01:00
Russel Winder
9cb2b7470f Generate the final link linker scripts. 2009-08-10 11:30:53 +01:00
Russel Winder
52962b5b19 Remove replication of main.c in the final link. 2009-08-10 11:07:15 +01:00
Russel Winder
9781f49f5d Construct main.c from a template. 2009-08-10 11:03:17 +01:00
Russel Winder
b833381c4a The todo in this todo file is now done. 2009-08-10 11:02:43 +01:00
Russel Winder
5fcf173ae6 Get the baremetal crt0 included in the final link. 2009-08-10 09:43:09 +01:00
Russel Winder
163baa31ea Got the first part of the packing phase in place.
Generate kernel.S rather than have it as a manually maintained file.
2009-08-10 09:33:05 +01:00
Russel Winder
d40c76de84 Remove all the SCons files pending starting a new build system. 2009-07-28 14:47:00 +01:00
Bahadir Balban
70d5ff33cd This patch adds ipc_sendrecv() and opens the way for client/server communication.
ipc_sendrecv() replaces ipc_sendwait() which was flawed. See ipc_sendrecv() for
how client/server communication works. Tested with page faults where the kernel
does an ipc_sendrecv() to faulty thread's pager and the pager successfully handles
the request, and returns back the result, which effectively restarts the faulty
thread.
2008-02-04 21:03:51 +00:00
Bahadir Balban
938672f7c9 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
2008-02-04 16:44:11 +00:00
Bahadir Balban
cab2e8bdd3 Finished adding untested bare functionality vfs
Finished adding untested shm syscalls.
Finished adding untested l4 send/recv helpers

Everything compiles. Now going to fix lots of bugs ;-)
2008-02-03 17:42:38 +00:00
Bahadir Balban
e2b791a3d8 Initial commit 2008-01-13 13:53:52 +00:00