mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-05 02:29:45 +00:00
43d7c3bd11
Replace the use of the global 'core_env()' accessor by the explicit delegation of interfaces. - For allocating UTCBs in base-hw, 'Platform_thread' requires a way to allocate dataspaces ('Ram_allocator') accounted to the corresponding CPU session, a way to locally map the allocated dataspaces (core's 'Region_map'), and a way to determine the physical address (via 'Rpc_entrypoint') used for the initial UTCB mapping of main threads. Hence those interfaces must be passed to 'Platform_thread'. - NOVA's pager code needs to look up 'Cpu_thread_component' objects using a map item as key. The lookup requires the 'Rpc_entrypoint' that hold the 'Cpu_thread_component' objects. To make this 'Rpc_entrypoint' available, this patch adds the 'init_page_fault_handing' function. - The 'Region_map_mmap' for Linux requires a way to look up 'Linux_dataspace' objects for given dataspace capabilities. This lookup requires the 'Rpc_entrypoint' holding the dataspaces, which is now passed to 'platform.cc' via the new Linux-specific 'Core_region_map::init' function. Issue #5408
39 lines
905 B
Plaintext
39 lines
905 B
Plaintext
<runtime ram="72M" caps="1000" binary="init">
|
|
|
|
<requires> <timer/> </requires>
|
|
|
|
<fail after_seconds="90"/>
|
|
<succeed>--- returning from main ---</succeed>
|
|
<fail>Error: </fail>
|
|
<fail>child "test-pthread" exited</fail>
|
|
|
|
<content>
|
|
<rom label="ld.lib.so"/>
|
|
<rom label="libc.lib.so"/>
|
|
<rom label="libm.lib.so"/>
|
|
<rom label="posix.lib.so"/>
|
|
<rom label="vfs.lib.so"/>
|
|
<rom label="test-pthread"/>
|
|
</content>
|
|
|
|
<config>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="PD"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
<service name="Timer"/>
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
<start name="test-pthread" caps="600">
|
|
<resource name="RAM" quantum="64M"/>
|
|
<config>
|
|
<vfs> <dir name="dev"> <log/> </dir> </vfs>
|
|
<libc stdout="/dev/log"/>
|
|
</config>
|
|
</start>
|
|
</config>
|
|
</runtime>
|