Commit Graph
887 Commits
Author SHA1 Message Date
Bahadir Balban 328040e98a Renamed all thread symbols in l4lib with l4lib_ prefix. They were clasing with mm0
The threading work will be revised and prefixes changed to a more meaningful name
later on.
2009-11-23 13:18:58 +02:00
Bahadir Balban e690949b3b tcb_alloc_init of l4lib was clashing with mm0 definitions. 2009-11-23 12:59:33 +02:00
Bahadir Balban e28e54fa7b Removed issue comments that are now fixed. 2009-11-23 12:56:19 +02:00
Amit Mahajan c17b39762f Adding libmem to baremetal0 container 2009-11-23 15:15:09 +05:30
Amit Mahajan 81c4f69515 Shifting derived symbols from generate_kernel_cinfo.py to container_ruleset.template 2009-11-23 14:56:34 +05:30
Amit Mahajan 014e728935 Removed traces of custom container left in bahadir's branch. 2009-11-23 10:22:23 +05:30
Bahadir Balban 1e8c0f1d3a Added ipc tags for uart service. Set size field for kernel-managed devices 2009-11-22 23:41:19 +02:00
Bahadir Balban 877b2cedc7 Integrated libl4thread with libl4. Added device number to device caps.
A 16-bit device number or id further distinguishes a device on the
system in addition to the device type. This is meant to be used for
the very first identification of the device for further probing. Any
further info is available by userspace mapping and probing.
2009-11-22 21:34:18 +02:00
Bahadir Balban 26d469fccd Corrected some license/copyright headers in uart code. 2009-11-22 15:19:23 +02:00
Bahadir Balban 2a36465100 Updated example cmls with new symbols 2009-11-22 15:13:18 +02:00
Bahadir Balban 19b4c6c4c1 Moved capability struct to api/capability.h for userspace coherence
Userspace often breaks as we change the capability structure. Now
structure is under api/ so userspace can also update with changes.
2009-11-22 15:08:29 +02:00
Bahadir Balban f3f581f2e7 Empty containers working as normal with device changes/cleanups 2009-11-22 14:42:49 +02:00
Bahadir Balban f1efee2475 Compiles with new changes but not still in progress 2009-11-22 00:17:58 +02:00
Bahadir Balban a3cfa2ac9b Added a device attribute to capabilities - In progress
Followed the kernel physical memory reservation convention
with devices. Devices that are possessable by userspace
are created as boot-time capabilities and placed under the kernel
resources devmem_free capability list. Any userspace container
that is defined with the possession of the device would delete the
device capability making it unavailable to further requests.
2009-11-21 23:45:58 +02:00
Bahadir Balban d826de2eea Initial work to introduce device types and device capabilities 2009-11-21 15:00:42 +02:00
Bahadir Balban caa7ac0764 Put cinfo array into initdata section. Added more precision in bootmem
cinfo array is now freed along with other init memory.
bootmem allocator memory is reduced to be completely used up.
free boot memory now prints the used free memory as well.
2009-11-21 13:35:53 +02:00
Bahadir Balban 5bff5b5fbf Reduced maximum number of pagers to 1, and boot-time capabilities to 16
Each container was taking up more than 3KB of space at boot-time structures
This was due to having 4 pagers and 32 boot-time capabilities for each. This
caused the boot-time kernel size to vary a lot with capabilities. The new
numbers are optimum.

Particularly we always have a single pager per container, even though the
array structures allow more. Single pager makes container-wide privileges
and management simpler.
2009-11-21 12:31:03 +02:00
Bahadir Balban a13120c073 Added proper checking of capability overlap for memcap_unmap 2009-11-21 12:01:41 +02:00
Bahadir Balban bf8d95985f Style cleanup 2009-11-21 11:08:07 +02:00
Bahadir Balban 785bf340b4 Revert "Building baremetal containers in build directory"
This reverts commit e2c2f1f2b1.

We need a cleaner solution
2009-11-20 14:42:33 +02:00
Bahadir Balban 4b225fadf4 Removed custom scripts 2009-11-20 14:37:42 +02:00
Bahadir Balban 6b03ebb05f Merge branch 'master' of git://www.b-labs.co.uk/amit/git/codezero into amit 2009-11-20 13:59:32 +02:00
Amit Mahajan 3dd41fd53b Remove container_start < container_end restriction 2009-11-20 16:08:55 +05:30
Amit Mahajan 3213217dd5 Removed compilation error for baremetal2 container, due to missing
include folder
2009-11-20 16:04:57 +05:30
Bahadir Balban e5b595ba63 Merge branch 'master' of git://www.b-labs.co.uk/amit/git/codezero into amit 2009-11-20 11:50:53 +02:00
Amit Mahajan aa0e5cb255 Adding missing config flags for toolchain, libdev, cputype in baremetal
examples.
2009-11-20 12:53:39 +05:30
Amit Mahajan e2682df71c Bahadir's comments added 2009-11-20 10:35:36 +05:30
Bahadir Balban a4176fe837 Merge branch 'master' of git://www.b-labs.co.uk/amit/git/codezero into amit
Conflicts:
	conts/posix/mm0/mm/task.c
2009-11-20 00:20:52 +02:00
Bahadir Balban 688936f541 Merge branch 'master' into devel 2009-11-20 00:18:45 +02:00
Amit Mahajan 2b63cff800 Adding option for customized containers 2009-11-20 00:50:57 +05:30
Amit Mahajan e2c2f1f2b1 Building baremetal containers in build directory 2009-11-20 00:19:51 +05:30
Amit Mahajan 8a7b9dbcdf Integrated Test Container inside Baremetal container. 2009-11-20 00:06:03 +05:30
Amit Mahajan 352d75f66c Name of example container changed to Baremetal 2009-11-19 23:26:00 +05:30
Amit Mahajan 1384701a53 Corrected value assignment error in stack_used variable 2009-11-19 21:32:16 +05:30
Amit Mahajan f5faa71e89 Libdev added in example0 2009-11-19 21:27:49 +05:30
Amit Mahajan 9bd5bd889f Prevent recompilation of libdev 2009-11-19 21:18:33 +05:30
Bahadir Balban 351c986b73 Fixed a minor issue with mm0 mm/task.c local variable initialization 2009-11-19 17:29:08 +02:00
Bahadir Balban 3f1045d66e Merge branch 'master' of git://www.b-labs.co.uk/bora/git/codezero into bora
Conflicts:
	config/cml/container_ruleset.template
	config/configuration.py
	conts/examples/example1/SConstruct
	conts/libl4thread/include/l4thread/thread.h
2009-11-19 14:41:07 +02:00
Bahadir Balban b6df4238b7 Merge branch 'libl4thread' of git://www.b-labs.co.uk/bora/git/codezero into bora
Conflicts:
	conts/libl4thread/src/arch-arm/new_thread.S
	conts/libl4thread/src/idpool.c
2009-11-19 11:17:51 +02:00
Bahadir Balban 1d7c2fa451 Removed debug printouts on capability generation 2009-11-18 11:06:22 +02:00
Bahadir Balban b9b48795ee Fixed missing memory capability target field setup 2009-11-18 11:03:47 +02:00
Bahadir Balban 51a12a507f Error recovery fixes to mm0 and l4_map_helper 2009-11-18 10:55:53 +02:00
Bahadir Balban 452f177ce2 Added umutex as standard capability 2009-11-18 00:25:11 +02:00
Bahadir Balban 89093b8ace Inter-container ipc tests working. 2009-11-17 23:34:37 +02:00
Bora Sahin 496fba81c8 A shared space multi-threaded example application presenting the use of the
thread library. It also exemplifies how a new sample application can be added.
2009-11-17 21:48:46 +02:00
Bora Sahin 9a8e1fa437 A few things needed in the destroy code paths of a thread are added.
The first one is related to resource recycling. The parent which is waiting its
child to exit did not delete its ktcb. Now, it deletes.

The second one is related to self destroy. The added code wakes up all the
waiters before it exits.
2009-11-17 21:20:09 +02:00
Bora Sahin b2a2340594 Clean dcache CP0 instruction is corrected. Possibly it was caused by a typo. 2009-11-17 20:44:42 +02:00
Bora Sahin 7387d336cc Thread waiting is fixed.
In the former case, when a child was exiting there was a risk of being preempted while it
was also taken away from the runqueue. In this situatuion, it may not have had
the chance of waking up the parent in case if it waits for the child to exit.

This was also true for suspend & resume so they were patched also.
2009-11-17 18:13:32 +02:00
Bahadir Balban 5ebc0bb9ac Removed capinfo target_type field. Same info expressed in rtype field 2009-11-17 13:43:25 +02:00
Bahadir Balban b933db1e36 Fixed target symbol parsing in pre-typed capabilities
Also renamed CONT to CONTAINER on certain symbols
2009-11-17 12:34:59 +02:00