genode/tool
Reto Buerki 47724c68c2 platform_drv/x86: Switch to ECAM/MMCONF
Switch port I/O based PCI config space access to memory-mapped IO.  The
base address of the PCI configuration space is acquired by mapping the
ACPI ROM and reading the first <bdf> node. An exception is thrown if the
first <bdf> node is not for PCI domain zero or if multiple <bdf> nodes
exist. This is to reduce complexity and also because multiple PCI
domains are rare.

The PCI configuration space is accessed via I/O mem dataspace which is
created in the platform_drv root and then passed on to the PCI session,
device components and finally to the actual PCI config access instances.

The memory access code is implemented in a way to make it work with Muen
subject monitor (SM) device emulation and also general x86 targets. On
Muen, the simplified device emulation code (which works also for Linux)
always returns 0xffff in EAX to indicate a non-existing device.
Therefore, EAX is enforced in the assembly templates.

Fixes #2547
2018-03-29 14:59:04 +02:00
..
boot bender: fix free memory calculation for Multiboot2 2017-11-30 11:23:04 +01:00
builddir Update Muen port 2018-02-28 11:04:57 +01:00
depot depot: execute content rules sequentially 2018-03-08 12:05:09 +01:00
ports Prepate_port: create directories when downloading bare files 2018-03-27 13:44:27 +02:00
run platform_drv/x86: Switch to ECAM/MMCONF 2018-03-29 14:59:04 +02:00
abi_symbols abi_symbols: annotate the size for 'R'-type symbols 2017-12-21 15:01:51 +01:00
autopilot autopilot: add information log file 2017-05-02 15:28:53 +02:00
autopilot.list os: util/utf8.h for UTF-8 string handling 2018-03-27 13:44:27 +02:00
beautify Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
check_abi Tool for checking consistency between lib and ABI 2018-01-17 12:14:42 +01:00
create_builddir sel4: add Wandboard Quad (iMX6) support 2017-08-17 11:04:21 +02:00
create_grub2 tool: use grub2 instead of grub1 for iso boot 2017-11-30 11:23:01 +01:00
create_iso tool/create_iso: Make ISO creation tool configurable 2017-05-02 15:28:53 +02:00
create_uboot create_uboot: better documentation 2018-02-09 13:34:19 +01:00
cxx_to_html Tool cxx_to_html to convert C++ source to HTML 2012-01-08 14:09:47 +01:00
download_hashver Hash verification tool 2013-06-10 10:44:09 +02:00
download_sigver GPG signature verification tool 2013-06-10 10:44:09 +02:00
fix_include_ifndef tool/fix_include_ifndef: consider license header 2014-01-27 18:54:05 +01:00
grub2-head.img tool: use grub2 instead of grub1 for iso boot 2017-11-30 11:23:01 +01:00
link.h tool_chain: cleanup 2015-05-26 09:39:49 +02:00
parse_cxx Improvements of parse_cxx tool 2015-04-09 16:04:45 +02:00
README Tool for checking consistency between lib and ABI 2018-01-17 12:14:42 +01:00
rump tool: kill all children of rump tool 2016-10-21 12:39:33 +02:00
rump_cgdconf tool: wrapper script for rumpkernel tools 2014-05-27 11:14:45 +02:00
tool_chain gcc: RISC-V 6.3.0 2017-05-31 13:16:20 +02:00
tool_chain_nim Enforce use of a custom Nim compiler 2017-11-30 11:23:06 +01:00
tool_chain_rump tools: strip rumpkernel based tools 2014-08-28 12:35:56 +02:00

This directory contains tools for managing and using the source code
of Genode.

:'create_builddir'

  The 'create_builddir' tool provides a convenient way to create build
  directories for different platforms. Its usage information is printed when
  starting the tool without arguments.

:'builddir/':

  This directory contains a Makefile template and configuration snippets used
  by the 'create_builddir' tool.

:'tool_chain':

  This tool downloads, builds, and installs the tool chain needed to build the
  Genode OS Framework. For getting usage information, start the tool without
  arguments.

:'create_iso':

  This simple tool helps to build bootable ISO images from your build of
  Genode. For getting usage information, start the tool without arguments.

:'create_grub2':

  This tool prepares a partitioned disk image with GRUB2 as boot
  loader.

:'grub2-head.img':

  This file is the head part of a partioned disk image including an
  installation of GRUB2 as boot loader. GRUB2 is available from
  http://www.gnu.org/software/grub/ and in major Linux distributions.
  Steps to reproduce the image creation can be found in
  'create_grub2'.

:'beautify':

  Beautify is a coding-style checking tool that analyzes source code for its
  adherence to Genode's coding style as described in 'doc/coding_style.txt'.
  Whenever possible, the tool tries to fix the issues and outputs a corrected
  file.  Some corrections, however, require human interaction.  In this case,
  the tool stops the analysis with an error.

:'parse_cxx':

  This tool is a C++ parser used as front-end for Beautify.

:'cxx_to_html':

  This tool converts a C++ source file to a HTML view to be used for the API
  documentation at the genode.org website. It relies on 'parse_cxx' to do the
  actual C++ parsing.

:'fix_include_ifndef':

  This tool helps with assigning consistent include guards to header files.

:'boot':

  This directory contains boot-loader files needed to create boot images.

:'autopilot':

  Autopilot is a tool for the automatic execution of run scripts among multiple
  base platforms.

:'abi_symbols':

  The utility assists with the initial creation of a ABI-symbols file, taking
  a shared object as a starting point. For more information, refer to the
  header of the 'abi_symbols' script.

:'check_abi':

  The 'check_abi' helper is used by the build system to detect violations of
  an ABI by a shared library. Most importantly, it reports incompatibilities of
  symbol sizes, which require an adaptation of the ABI. For more information,
  refer to the header of the 'check_abi' script.