mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-27 06:20:23 +00:00
doc: update README, components.txt etc.
This commit is contained in:
parent
ee804a84fa
commit
468ebebbda
4
README
4
README
@ -10,7 +10,7 @@ the project's official website:
|
|||||||
|
|
||||||
:Official project website for the Genode OS Framework:
|
:Official project website for the Genode OS Framework:
|
||||||
|
|
||||||
[http://genode.org/documentation/general-overview]
|
[https://genode.org/documentation/general-overview]
|
||||||
|
|
||||||
The current implementation can be compiled for 8 different kernels: Linux,
|
The current implementation can be compiled for 8 different kernels: Linux,
|
||||||
L4ka::Pistachio, L4/Fiasco, OKL4, NOVA, Fiasco.OC, seL4, and a custom
|
L4ka::Pistachio, L4/Fiasco, OKL4, NOVA, Fiasco.OC, seL4, and a custom
|
||||||
@ -70,5 +70,5 @@ mailing list. Please feel welcome to join in!
|
|||||||
|
|
||||||
:Genode Mailing Lists:
|
:Genode Mailing Lists:
|
||||||
|
|
||||||
[http://genode.org/community/mailing-lists]
|
[https://genode.org/community/mailing-lists]
|
||||||
|
|
||||||
|
@ -79,6 +79,14 @@ Platform devices
|
|||||||
this simple ACPI parser traverses the ACPI tables and reports device-resource
|
this simple ACPI parser traverses the ACPI tables and reports device-resource
|
||||||
information (e.g., interrupt lines of PCI devices).
|
information (e.g., interrupt lines of PCI devices).
|
||||||
|
|
||||||
|
:'libports/src/app/acpica':
|
||||||
|
In addition to our ACPI base driver, the acpica component uses the
|
||||||
|
ACPICA library to provide access to dynamic functions like battery
|
||||||
|
states, events (e.g., notebook lid close and power buttons), as well
|
||||||
|
as reset and power off. The componenten reports ACPI events and
|
||||||
|
states as reports and itself responds to system state changes of
|
||||||
|
certain configuration ROMs.
|
||||||
|
|
||||||
|
|
||||||
UART devices
|
UART devices
|
||||||
============
|
============
|
||||||
@ -169,13 +177,13 @@ at the same time). Depending on the base platform, the implementation uses
|
|||||||
different time sources. Time sources are either hardware timers, a time source
|
different time sources. Time sources are either hardware timers, a time source
|
||||||
provided by the kernel, or a pseudo time source (busy):
|
provided by the kernel, or a pseudo time source (busy):
|
||||||
|
|
||||||
:'nova': NOVA kernel semaphores as time source
|
:'nova': NOVA kernel semaphores
|
||||||
:'okl4_x86': PIT as time source
|
:'okl4_x86': Programmable Interval Timer (PIT) device
|
||||||
:'foc': IPC timeout as time source
|
:'foc': IPC timeout
|
||||||
:'fiasco': IPC timeout as time source
|
:'fiasco': IPC timeout
|
||||||
:'pistachio': IPC timeout as time source
|
:'pistachio': IPC timeout
|
||||||
:'linux': nanosleep as time source
|
:'linux': nanosleep()
|
||||||
:'hw': hardware timers depending on platform, e.g., PIT on x86
|
:'hw': kernel timer
|
||||||
|
|
||||||
|
|
||||||
Audio drivers
|
Audio drivers
|
||||||
@ -461,9 +469,6 @@ Libraries:
|
|||||||
:'libports/lib/mk/libc':
|
:'libports/lib/mk/libc':
|
||||||
C runtime ported from FreeBSD.
|
C runtime ported from FreeBSD.
|
||||||
|
|
||||||
:'libports/lib/mk/libc_log':
|
|
||||||
Redirects the standard output of the libc to Genode's LOG session interface.
|
|
||||||
|
|
||||||
:'libports/lib/mk/libc_lwip_nic_dhcp':
|
:'libports/lib/mk/libc_lwip_nic_dhcp':
|
||||||
Translates the BSD socket API to a NIC session using the lwIP stack.
|
Translates the BSD socket API to a NIC session using the lwIP stack.
|
||||||
|
|
||||||
@ -479,13 +484,6 @@ Libraries:
|
|||||||
:'libports/lib/mk/libc_fuse_ext2':
|
:'libports/lib/mk/libc_fuse_ext2':
|
||||||
Accesses files on a block device that contains an ext2 file system.
|
Accesses files on a block device that contains an ext2 file system.
|
||||||
|
|
||||||
:'libports/lib/mk/libc_fs':
|
|
||||||
Allows libc-using programs to access the Genode file-system infrastructure
|
|
||||||
using the POSIX file API.
|
|
||||||
|
|
||||||
:'libports/lib/mk/libc_block':
|
|
||||||
Accesses a block session as a virtual block device.
|
|
||||||
|
|
||||||
:'libports/lib/mk/libc_terminal':
|
:'libports/lib/mk/libc_terminal':
|
||||||
Connects the standard input and output from/to Genode's terminal session
|
Connects the standard input and output from/to Genode's terminal session
|
||||||
interface.
|
interface.
|
||||||
|
@ -13,7 +13,7 @@ should be documented but isn't? Or the documentation contains errors with
|
|||||||
regard to content or spelling? Please let us know by raising the issue at the
|
regard to content or spelling? Please let us know by raising the issue at the
|
||||||
genode-main mailing list:
|
genode-main mailing list:
|
||||||
|
|
||||||
:[http://genode.org/community/mailing-lists - Genode mailing lists]:
|
:[https://genode.org/community/mailing-lists - Genode mailing lists]:
|
||||||
|
|
||||||
If you are interested in getting your hands dirty with working on the Genode
|
If you are interested in getting your hands dirty with working on the Genode
|
||||||
code base or authoring additional documentation, you are more than welcome.
|
code base or authoring additional documentation, you are more than welcome.
|
||||||
@ -31,9 +31,9 @@ Alternatively, you may like to have a look at our road map and future
|
|||||||
challenges to see the big picture of our developments and to get inspiration
|
challenges to see the big picture of our developments and to get inspiration
|
||||||
for your own activities:
|
for your own activities:
|
||||||
|
|
||||||
:[http://genode.org/about/road-map]: Road Map
|
:[https://genode.org/about/road-map]: Road Map
|
||||||
|
|
||||||
:[http://genode.org/about/challenges]: Future Challenges
|
:[https://genode.org/about/challenges]: Future Challenges
|
||||||
|
|
||||||
Once you settled on a specific topic to work on, it is a good idea to get
|
Once you settled on a specific topic to work on, it is a good idea to get
|
||||||
acquainted with the work flow and tools used by the project. The following
|
acquainted with the work flow and tools used by the project. The following
|
||||||
@ -81,7 +81,7 @@ Genode's source code follows certain time-tested conventions regarding the
|
|||||||
coding style and code pattern, which are important to us. The coding style
|
coding style and code pattern, which are important to us. The coding style
|
||||||
is described in the following document:
|
is described in the following document:
|
||||||
|
|
||||||
:[http://genode.org/documentation/developer-resources/coding_style]:
|
:[https://genode.org/documentation/developer-resources/coding_style]:
|
||||||
Coding Style Guidelines
|
Coding Style Guidelines
|
||||||
|
|
||||||
We know from experience that for new developers, adhering the coding style can
|
We know from experience that for new developers, adhering the coding style can
|
||||||
|
16
repos/README
16
repos/README
@ -10,7 +10,7 @@ build-system manual:
|
|||||||
|
|
||||||
:Build-system manual:
|
:Build-system manual:
|
||||||
|
|
||||||
[http://genode.org/documentation/developer-resources/build_system]
|
[https://genode.org/documentation/developer-resources/build_system]
|
||||||
|
|
||||||
The build system uses a configurable selection of those reposities to obtain
|
The build system uses a configurable selection of those reposities to obtain
|
||||||
the source codes for the build process. The repositories are not independent
|
the source codes for the build process. The repositories are not independent
|
||||||
@ -31,33 +31,33 @@ but build upon of each other:
|
|||||||
|
|
||||||
:'nova':
|
:'nova':
|
||||||
NOVA hypervisor developed at University of Technology Dresden
|
NOVA hypervisor developed at University of Technology Dresden
|
||||||
See [http://genode.org/documentation/platforms/nova]
|
See [https://genode.org/documentation/platforms/nova]
|
||||||
|
|
||||||
:'foc':
|
:'foc':
|
||||||
Fiasco.OC is a modernized version of the Fiasco microkernel with a
|
Fiasco.OC is a modernized version of the Fiasco microkernel with a
|
||||||
completely revised kernel interface fostering capability-based
|
completely revised kernel interface fostering capability-based
|
||||||
security. It is not compatible with L4/Fiasco.
|
security. It is not compatible with L4/Fiasco.
|
||||||
See [http://genode.org/documentation/platforms/foc]
|
See [https://genode.org/documentation/platforms/foc]
|
||||||
|
|
||||||
:'hw':
|
:'hw':
|
||||||
The hw platform allows the execution of Genode on bare ARM and x86 hardware
|
The hw platform allows the execution of Genode on bare ARM and x86 hardware
|
||||||
without the need for a separate kernel. The kernel functionality is
|
without the need for a separate kernel. The kernel functionality is
|
||||||
included in core except in the special case of the Muen separation
|
included in core except in the special case of the Muen separation
|
||||||
kernel.
|
kernel.
|
||||||
See [http://genode.org/documentation/platforms/hw] and
|
See [https://genode.org/documentation/platforms/hw] and
|
||||||
[http://genode.org/documentation/platforms/muen]
|
[https://genode.org/documentation/platforms/muen]
|
||||||
|
|
||||||
:'okl4':
|
:'okl4':
|
||||||
OKL4 kernel (x86_32 and ARM) developed at Open-Kernel-Labs.
|
OKL4 kernel (x86_32 and ARM) developed at Open-Kernel-Labs.
|
||||||
See [http://genode.org/documentation/platforms/okl4]
|
See [https://genode.org/documentation/platforms/okl4]
|
||||||
|
|
||||||
:'pistachio':
|
:'pistachio':
|
||||||
L4ka::Pistachio kernel developed at University of Karlsruhe.
|
L4ka::Pistachio kernel developed at University of Karlsruhe.
|
||||||
See [http://genode.org/documentation/platforms/pistachio]
|
See [https://genode.org/documentation/platforms/pistachio]
|
||||||
|
|
||||||
:'fiasco':
|
:'fiasco':
|
||||||
L4/Fiasco kernel developed at University of Technology Dresden.
|
L4/Fiasco kernel developed at University of Technology Dresden.
|
||||||
See [http://genode.org/documentation/platforms/fiasco]
|
See [https://genode.org/documentation/platforms/fiasco]
|
||||||
|
|
||||||
:'sel4':
|
:'sel4':
|
||||||
seL4 microkernel developed at NICTA/General Dynamics
|
seL4 microkernel developed at NICTA/General Dynamics
|
||||||
|
@ -226,8 +226,7 @@ scenario, please refer to the 'tcp_terminal.run' script proved at 'gems/run/'.
|
|||||||
GDB monitor is built upon the libc and a few custom libc plugins, each coming
|
GDB monitor is built upon the libc and a few custom libc plugins, each coming
|
||||||
in the form of a separate shared library. Please make sure to integrate those
|
in the form of a separate shared library. Please make sure to integrate those
|
||||||
shared libraries along with the dynamic linker (ld.lib.so) in your boot image.
|
shared libraries along with the dynamic linker (ld.lib.so) in your boot image.
|
||||||
They are 'libc.lib.so' (the libc), 'libc_log.lib.so' (for printing the LOG
|
They are 'libc.lib.so' (the libc), 'libc_terminal.lib.so' (to
|
||||||
output of GDB monitor to core's LOG service), 'libc_terminal.lib.so' (to
|
|
||||||
connect with GDB), and 'libc_pipe.lib.so' (used for synchronizing threads
|
connect with GDB), and 'libc_pipe.lib.so' (used for synchronizing threads
|
||||||
via 'select' and 'pipe'). For using the TCP terminal, 'lwip.lib.so' (TCP/IP
|
via 'select' and 'pipe'). For using the TCP terminal, 'lwip.lib.so' (TCP/IP
|
||||||
stack) is needed as well.
|
stack) is needed as well.
|
||||||
@ -249,7 +248,7 @@ To get acquainted with GDB monitor, the 'ports' repository comes with two
|
|||||||
example run scripts. The 'gdb_monitor_interactive.run' script executes a
|
example run scripts. The 'gdb_monitor_interactive.run' script executes a
|
||||||
simple test program via GDB monitor. The test program can be found at
|
simple test program via GDB monitor. The test program can be found at
|
||||||
'ports/src/test/gdb_monitor/'. When looking behind the scenes, the simple
|
'ports/src/test/gdb_monitor/'. When looking behind the scenes, the simple
|
||||||
program is not simple at all. It uses shared libraries (the libc and libc_log)
|
program is not simple at all. It uses shared libraries (the libc)
|
||||||
plugin and executes multiple threads. So it is a nice testbed for exercising
|
plugin and executes multiple threads. So it is a nice testbed for exercising
|
||||||
these aspects. The run script can be invoked right from the build directory
|
these aspects. The run script can be invoked right from the build directory
|
||||||
via 'make run/gdb_monitor_interactive'. It will execute the scenario on Qemu and
|
via 'make run/gdb_monitor_interactive'. It will execute the scenario on Qemu and
|
||||||
@ -286,6 +285,9 @@ breakpoint will trigger with a message like this:
|
|||||||
! at /.../libc-8.2.0/libc/stdio/puts.c:53
|
! at /.../libc-8.2.0/libc/stdio/puts.c:53
|
||||||
! 53 {
|
! 53 {
|
||||||
|
|
||||||
|
_The following example applies to an older version of Genode and must_
|
||||||
|
_be revised for recent versions._
|
||||||
|
|
||||||
Now, you can inspect the source code of the function via the 'list' command,
|
Now, you can inspect the source code of the function via the 'list' command,
|
||||||
inspect the function arguments ('info args' command) or start stepping
|
inspect the function arguments ('info args' command) or start stepping
|
||||||
into the function using the 'next' command. For a test of printing a large
|
into the function using the 'next' command. For a test of printing a large
|
||||||
|
@ -71,7 +71,7 @@ install_config $config
|
|||||||
# generic modules
|
# generic modules
|
||||||
set boot_modules {
|
set boot_modules {
|
||||||
core init timer
|
core init timer
|
||||||
ld.lib.so libc.lib.so libc_log.lib.so libc_pipe.lib.so libc_terminal.lib.so
|
ld.lib.so libc.lib.so libc_pipe.lib.so libc_terminal.lib.so
|
||||||
uart_drv
|
uart_drv
|
||||||
gdb_monitor test-gdb_monitor_target_config
|
gdb_monitor test-gdb_monitor_target_config
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,6 @@ build $build_components
|
|||||||
set gdb_target_binaries {
|
set gdb_target_binaries {
|
||||||
ld.lib.so
|
ld.lib.so
|
||||||
libc.lib.so
|
libc.lib.so
|
||||||
libc_log.lib.so
|
|
||||||
}
|
}
|
||||||
lappend gdb_target_binaries ${gdb_target_binary_name}
|
lappend gdb_target_binaries ${gdb_target_binary_name}
|
||||||
|
|
||||||
@ -140,7 +139,7 @@ exec cp ${genode_dir}/repos/os/src/app/cli_monitor/gdb_command_config bin
|
|||||||
set boot_modules {
|
set boot_modules {
|
||||||
core init timer ld.lib.so noux terminal_mux terminal_crosslink
|
core init timer ld.lib.so noux terminal_mux terminal_crosslink
|
||||||
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so expat.lib.so
|
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so expat.lib.so
|
||||||
libc_pipe.lib.so libc_log.lib.so libc_terminal.lib.so
|
libc_pipe.lib.so libc_terminal.lib.so
|
||||||
cli_monitor gdb_monitor terminal_log gdb.tar
|
cli_monitor gdb_monitor terminal_log gdb.tar
|
||||||
gdb_command_config
|
gdb_command_config
|
||||||
gdb_target.tar
|
gdb_target.tar
|
||||||
|
Loading…
x
Reference in New Issue
Block a user