Commit Graph

29 Commits

Author SHA1 Message Date
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