Commit Graph

427 Commits

Author SHA1 Message Date
Bahadir Balban
117e3482b6 Capabilities for quantitative resources working.
Status:
- Capability initialization is a bit hacky with dummy current etc.
- All container caps belong to the pager
- Tasks refer to their pager's capabilities for mutex allocation - Hacky.
- Kernel container keeps quantitative caps and memory caps in separate lists - Hacky.

These will all evolve and get fixed.
2009-08-22 23:41:53 +03:00
Bahadir Balban
d3d072e47d Capability accounting for quantitative capabilities - First part done.
Need to make sure accounting charges correct containers during init.
Therefore kernel resource spending must also be accounted for.
2009-08-22 12:09:51 +03:00
Bahadir Balban
de087eb1f8 Clean up to kernel code, Added `used' field to capabilities
With the addition of used field, capability structure can be
used for resource accounting over the capability.
2009-08-21 12:10:34 +03:00
Bahadir Balban
d14f91c668 Cleaned up pager initialization code. 2009-08-19 17:07:08 +03:00
Bahadir Balban
dabc448c4e Added freeing of pager init memory, but this memory is currently not utilized. 2009-08-19 16:26:44 +03:00
Bahadir Balban
9c03d57d63 Carried over pager's virtual address alloc range to its own address space area. 2009-08-19 15:18:10 +03:00
Bahadir Balban
95b7b65c89 Pager virtual address pool bookkeeping added for all pager virtual addresses
Previously virt_to_phys/phys_to_virt macros were used such that they did a
blind offset translation for creating a pager internal virtual address for
user mappings.

This is now changed such that a properly bookkeeped virtual address pool is
used which will avoid any clashes on the virtual space.
2009-08-19 14:44:36 +03:00
Bahadir Balban
d351d6846a Merge branch 'buildDevel' of http://www.russel.org.uk/Git/Codezero into devel
Conflicts:

	tasks/test0/SConscript
	tasks/test0/test_exec.S
2009-08-17 22:57:41 +03:00
Russel Winder
ce62459d13 Correct the problem of not loading test_exec.
Remove the linker script and assembler load source in favour of generating
the source so that the correct path is in the source.
2009-08-17 19:24:18 +01:00
Bahadir Balban
13d14bca89 Includes the test_exec.axf in test0 elf file.
Cannot build test_exec.axf yet.
2009-08-17 19:30:33 +03:00
Bahadir Balban
c7e572a11c Merge branch 'buildDevel' of http://www.russel.org.uk/Git/Codezero into devel
Conflicts:

	loader/SConscript
2009-08-17 15:58:25 +03:00
Bahadir Balban
c64c1a4515 MM0 do_close() without IO was segfaulting. now fixed.
This was triggered by incorrect test0 build that omits to embed
the test executable.
2009-08-17 15:36:09 +03:00
Bahadir Balban
931c9b2587 Removed extra L from autogenerated start.axf.S break_virtual symbol value 2009-08-17 12:19:18 +03:00
Bahadir Balban
89c50d17f2 Fixed bootdesc relocation - Needs revising.
- Used os.system to call objcopy
- Changed source image to mm0.axf instead of start.axf
2009-08-17 12:10:09 +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
1c9dfe8030 Add the constructed config.h file as a dependency of the compiled objects so that it actually gets built. 2009-08-15 08:05:28 +01:00
Russel Winder
8777333664 Some trivial changes to the comments. 2009-08-15 07:27:45 +01:00
Bahadir Balban
0bfe0071f8 Changed linker script name to linker.lds from mylink.lds 2009-08-14 17:13:25 +03:00
Bahadir Balban
5bee43ae99 Merge branch 'newBuild' of /opt/c0-trees/codezero-russel into devel
Conflicts:

	SConstruct
	src/api/SConscript
	src/arch/arm/SConscript
	src/generic/SConscript
	tasks/bootdesc/SConstruct
2009-08-14 17:09:58 +03:00
Bahadir Balban
6a42491751 Fixed uninitialized local vars. 2009-08-14 12:54:54 +03: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
Bahadir Balban
c7404c7322 Fixed boot messages 2009-08-11 15:28:39 +03:00
Bahadir Balban
f82db61519 Added freeing/unmapping of boot memory 2009-08-11 15:01:27 +03:00
Russel Winder
e5a0da2bbe Add in the import to allow the with statement in Python 2.5. 2009-08-11 11:55:39 +01:00
Bahadir Balban
f4d9520fef First working Codezero & POSIX Services with container/capability changes 2009-08-11 11:23:26 +03:00
Bahadir Balban
4f4532210a Fixed a bug with page_map size by dynamically allocating it. 2009-08-10 23:47:58 +03:00
Bahadir Balban
15b659eaf0 Removed any refs to global id pools.
Also added container reference setup to thread creation
2009-08-10 15:16:57 +03: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
fb038ab757 Remove the ksym_to_lds.py script as the code is embedded in the SCons file. 2009-08-10 08:46:52 +01:00
Bahadir Balban
aa71161a04 Seems phys_to_page/page_to_phys macros are fixed in mm0 2009-08-09 17:59:32 +03:00
Bahadir Balban
02a3f1ac91 Pager works until end of init_physmem_secondary 2009-08-09 17:22:13 +03:00
Bahadir Balban
a45b5676ab Made container/capability control syscall changes to libl4 2009-08-06 16:34:20 +03:00
Bahadir Balban
961b255257 Replaced kread and kmem_control syscalls with capability_control and container_control respectively. 2009-08-06 16:22:55 +03:00
Bahadir Balban
f7ade97906 Relocated bootdesc at the end of mm0 instead of kernel image. 2009-08-06 15:03:57 +03:00
Bahadir Balban
dccfff80a3 Removed commented out scheduler globals. 2009-08-06 15:02:42 +03:00
Bahadir Balban
e329a7c91a Removed kmalloc. Initialization path resolved, almost done. 2009-08-06 14:15:39 +03:00
Russel Winder
0613d5cf38 Update the help. 2009-08-05 18:41:09 +01:00
Russel Winder
6f3d3fdf49 Got the bootdesc building. 2009-08-05 18:33:37 +01:00
Russel Winder
38a0fdd4e2 Got the tasks linking. 2009-08-05 16:24:13 +01:00
Russel Winder
eb45780f16 Safety check-in of the next stage in getting the tasks linked. 2009-08-05 12:21:02 +01:00
Russel Winder
8b9b254f6c Make the coding style more consistent with PEP-8. 2009-08-05 11:15:26 +01:00
Russel Winder
a14ff1be5c Rearrange include path and linker script specification so as to get a successful compile.
Link not yet successful since physical_base.lds is not yet made.
2009-08-05 10:23:00 +01:00
Russel Winder
02d3c9f07c Correct the include path so that task compilation succeeds. 2009-08-05 10:06:39 +01:00
Russel Winder
a1dfd0b876 Change to shorter all lowercase targets for SCons command line invocation. 2009-08-05 09:28:20 +01:00
Russel Winder
7cf85c4428 Remove a few redundant paths from the include path. 2009-08-05 07:44:05 +01:00