mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-08 11:55:24 +00:00
rtc: system_rtc pkg for PC and Linux
This depot package is the runtime for rtc_drv and system_rtc server with coordinated update of system and hardware RTC via reports. It replaces drivers_rtc which was never freestanding drivers package and, therefore, has to be accompanied with a running platform_drv etc. Fixes #3680
This commit is contained in:
parent
e66726e931
commit
677d9abd07
@ -1,3 +0,0 @@
|
||||
|
||||
Device drivers needed for scenarios
|
||||
using a real time clock
|
@ -1 +0,0 @@
|
||||
2020-02-27 65382e039846bc88caab8a17b68040cd75a352a6
|
@ -1,4 +0,0 @@
|
||||
content: drivers.config
|
||||
|
||||
drivers.config:
|
||||
cp $(REP_DIR)/recipes/raw/drivers_rtc-pc/$@ $@
|
@ -1 +0,0 @@
|
||||
2019-08-20 5c445dd7b9c2e8dd6a6b2b27b55507537cde1868
|
1
repos/libports/recipes/pkg/system_rtc-linux/README
Normal file
1
repos/libports/recipes/pkg/system_rtc-linux/README
Normal file
@ -0,0 +1 @@
|
||||
Subsystem for system real-time clock
|
4
repos/libports/recipes/pkg/system_rtc-linux/archives
Normal file
4
repos/libports/recipes/pkg/system_rtc-linux/archives
Normal file
@ -0,0 +1,4 @@
|
||||
_/src/linux_rtc_drv
|
||||
_/src/system_rtc
|
||||
_/src/report_rom
|
||||
_/raw/system_rtc-linux
|
1
repos/libports/recipes/pkg/system_rtc-linux/hash
Normal file
1
repos/libports/recipes/pkg/system_rtc-linux/hash
Normal file
@ -0,0 +1 @@
|
||||
2020-03-04 7a3b4dd6a0a483d1408cc8729a6d80c139b189f1
|
1
repos/libports/recipes/pkg/system_rtc-pc/README
Normal file
1
repos/libports/recipes/pkg/system_rtc-pc/README
Normal file
@ -0,0 +1 @@
|
||||
Subsystem for system real-time clock
|
@ -1,4 +1,4 @@
|
||||
_/src/rtc_drv
|
||||
_/src/system_rtc
|
||||
_/src/report_rom
|
||||
_/raw/drivers_rtc-pc
|
||||
_/raw/system_rtc-pc
|
1
repos/libports/recipes/pkg/system_rtc-pc/hash
Normal file
1
repos/libports/recipes/pkg/system_rtc-pc/hash
Normal file
@ -0,0 +1 @@
|
||||
2020-03-04 d135ea6e090fa78737ddf2c2ca2f8184d4762c6e
|
4
repos/libports/recipes/raw/system_rtc-linux/content.mk
Normal file
4
repos/libports/recipes/raw/system_rtc-linux/content.mk
Normal file
@ -0,0 +1,4 @@
|
||||
content: system_rtc.config
|
||||
|
||||
system_rtc.config:
|
||||
cp $(REP_DIR)/recipes/raw/system_rtc-linux/$@ $@
|
1
repos/libports/recipes/raw/system_rtc-linux/hash
Normal file
1
repos/libports/recipes/raw/system_rtc-linux/hash
Normal file
@ -0,0 +1 @@
|
||||
2020-03-04 33377547149acb36d446fd3c80cd5a9113cc8f8a
|
@ -0,0 +1,50 @@
|
||||
<config>
|
||||
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="Timer"/>
|
||||
</parent-provides>
|
||||
|
||||
<default caps="100"/>
|
||||
|
||||
<service name="Rtc"> <default-policy> <child name="system_rtc"/> </default-policy> </service>
|
||||
<service name="Report"> <default-policy> <child name="report_rom"/> </default-policy> </service>
|
||||
|
||||
<start name="report_rom">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config verbose="yes">
|
||||
<policy label="linux_rtc_drv -> set_rtc" report="test-system_rtc -> drv_set_rtc"/>
|
||||
<policy label="system_rtc -> set_rtc" report="test-system_rtc -> sys_set_rtc"/>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="linux_rtc_drv" ld="no">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Rtc"/></provides>
|
||||
<config allow_setting_rtc="true"/>
|
||||
<route>
|
||||
<service name="ROM" label="set_rtc"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="system_rtc">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Rtc"/></provides>
|
||||
<config allow_setting_rtc="true"/>
|
||||
<route>
|
||||
<service name="ROM" label="set_rtc"> <child name="report_rom"/> </service>
|
||||
<service name="Rtc"> <child name="linux_rtc_drv"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
</config>
|
4
repos/libports/recipes/raw/system_rtc-pc/content.mk
Normal file
4
repos/libports/recipes/raw/system_rtc-pc/content.mk
Normal file
@ -0,0 +1,4 @@
|
||||
content: system_rtc.config
|
||||
|
||||
system_rtc.config:
|
||||
cp $(REP_DIR)/recipes/raw/system_rtc-pc/$@ $@
|
1
repos/libports/recipes/raw/system_rtc-pc/hash
Normal file
1
repos/libports/recipes/raw/system_rtc-pc/hash
Normal file
@ -0,0 +1 @@
|
||||
2020-03-04 f565dd1fb07048f70bf180b847dd57ba25aad3af
|
@ -14,9 +14,8 @@
|
||||
|
||||
<default caps="100"/>
|
||||
|
||||
<service name="Rtc">
|
||||
<default-policy> <child name="system_rtc"/> </default-policy>
|
||||
</service>
|
||||
<service name="Rtc"> <default-policy> <child name="system_rtc"/> </default-policy> </service>
|
||||
<service name="Report"> <default-policy> <child name="report_rom"/> </default-policy> </service>
|
||||
|
||||
<start name="report_rom">
|
||||
<resource name="RAM" quantum="1M"/>
|
@ -2,24 +2,19 @@
|
||||
|
||||
assert_spec x86
|
||||
|
||||
if {[expr ![have_include power_on/qemu]]} {
|
||||
puts "Test requires Qemu."
|
||||
if {[expr ![have_include power_on/qemu] && ![have_spec linux]]} {
|
||||
puts "Test requires Qemu or Linux."
|
||||
exit 0
|
||||
}
|
||||
|
||||
set build_components {
|
||||
test/system_rtc
|
||||
test/libc_rtc
|
||||
}
|
||||
|
||||
create_boot_directory
|
||||
|
||||
import_from_depot [depot_user]/src/[base_src] \
|
||||
[depot_user]/src/init \
|
||||
[depot_user]/src/vfs \
|
||||
[depot_user]/pkg/drivers_rtc-pc
|
||||
|
||||
build $build_components
|
||||
[depot_user]/src/libc \
|
||||
[depot_user]/src/posix \
|
||||
[depot_user]/pkg/system_rtc-[board]
|
||||
|
||||
|
||||
set config {
|
||||
@ -46,36 +41,21 @@ set config {
|
||||
<provides> <service name="Timer"/> </provides>
|
||||
</start>
|
||||
|
||||
<start name="report_rom">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config verbose="yes">
|
||||
<policy label="rtc_drv -> set_rtc" report="test-system_rtc -> drv_set_rtc"/>
|
||||
<policy label="system_rtc -> set_rtc" report="test-system_rtc -> sys_set_rtc"/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="rtc_drv" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Rtc"/></provides>
|
||||
<config allow_setting_rtc="true"/>
|
||||
<start name="system_rtc" caps="400" priority="-1">
|
||||
<resource name="RAM" quantum="6M"/>
|
||||
<binary name="init"/>
|
||||
<provides> <service name="Rtc"/> <service name="Report"/> </provides>
|
||||
<route>
|
||||
<service name="ROM" label="set_rtc">
|
||||
<child name="report_rom"/>
|
||||
</service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="system_rtc" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Rtc"/></provides>
|
||||
<config allow_setting_rtc="true"/>
|
||||
<route>
|
||||
<service name="ROM" label="set_rtc"> <child name="report_rom"/> </service>
|
||||
<service name="Rtc"> <child name="rtc_drv"/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
<service name="ROM" label="config"> <parent label="system_rtc.config"/> </service>
|
||||
<service name="IO_MEM"> <parent/> </service>
|
||||
<service name="IO_PORT"> <parent/> </service>
|
||||
<service name="IRQ"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="RM"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
@ -83,9 +63,9 @@ set config {
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<config/>
|
||||
<route>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<service name="Rtc"> <child name="system_rtc"/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
<service name="Report"> <child name="system_rtc"/> </service>
|
||||
<service name="Rtc"> <child name="system_rtc"/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
@ -103,15 +83,15 @@ set config {
|
||||
</route>
|
||||
</start>
|
||||
|
||||
</config>}
|
||||
</config>
|
||||
}
|
||||
|
||||
install_config $config
|
||||
|
||||
set boot_components {
|
||||
test-system_rtc
|
||||
test-libc_rtc libc.lib.so libm.lib.so posix.lib.so
|
||||
}
|
||||
set build_components { test/system_rtc test/libc_rtc }
|
||||
set boot_components { test-system_rtc test-libc_rtc }
|
||||
|
||||
build $build_components
|
||||
build_boot_image $boot_components
|
||||
|
||||
append qemu_args " -nographic "
|
||||
|
@ -1 +1 @@
|
||||
2020-02-27 dcd46e979b68259588244e58d175d0f49ac968dd
|
||||
2020-03-04 858fd269eede8c8495e6b80bc7b029a2d9887189
|
||||
|
Loading…
x
Reference in New Issue
Block a user