source: mainline/doxygen/doxygen.cfg.diff@ ad5c4959

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since ad5c4959 was 84176f3, checked in by Jakub Jermář <jakub@…>, 6 years ago

arm64: Add support for the architecture

This changeset adds basic support to run HelenOS on AArch64, targeting
the QEMU virt platform.

Boot:

  • Boot relies on the EDK II firmware, GRUB2 for EFI and the HelenOS bootloader (UEFI application). EDK II loads GRUB2 from a CD, GRUB2 loads the HelenOS bootloader (via UEFI) which loads OS components.
  • UEFI applications use the PE/COFF format and must be relocatable. The first problem is solved by manually having the PE/COFF headers and tables written in assembler. The relocatable requirement is addressed by compiling the code with -fpic and having the bootloader relocate itself at its startup.

Kernel:

  • Kernel code for AArch64 consists mostly of stubbing out various architecture-specific hooks: virtual memory management, interrupt and exception handling, context switching (including FPU lazy switching), support for virtual timer, atomic sequences and barriers, cache and TLB maintenance, thread and process initialization.
  • The patch adds a kernel driver for GICv2 (interrupt controller).
  • The PL011 kernel driver is extended to allow userspace to take ownership of the console.
  • The current code is not able to dynamically obtain information about available devices on the underlying machine. The port instead implements a machine-func interface similar to the one implemented by arm32. It defines a machine for the QEMU AArch64 virt platform. The configuration (device addresses and IRQ numbers) is then baked into the machine definition.

User space:

  • Uspace code for AArch64 similarly mostly implements architecture-specific hooks: context saving/restoring, syscall support, TLS support.

The patchset allows to boot the system but user interaction with the OS
is not yet possible.

  • Property mode set to 100644
File size: 2.4 KB
RevLine 
[9905da7]1--- doxygen.cfg.gen 2018-08-29 17:07:57.439518972 +0200
2+++ doxygen.cfg 2018-08-30 00:03:23.790524052 +0200
[7f345cd0]3@@ -32,7 +32,7 @@
4 # title of most generated pages and in a few other places.
5 # The default value is: My Project.
[b1276d44]6
[7f345cd0]7-PROJECT_NAME = "My Project"
8+PROJECT_NAME = "HelenOS"
[b1276d44]9
[7f345cd0]10 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
11 # could be handy for archiving the generated documentation or if some version
12@@ -44,7 +44,7 @@
13 # for a project that appears at the top of each page and should give viewer a
14 # quick idea about the purpose of the project. Keep the description short.
[b1276d44]15
[7f345cd0]16-PROJECT_BRIEF =
17+PROJECT_BRIEF = " HelenOS is a portable microkernel-based multiserver operating system designed and implemented from scratch."
[b1276d44]18
[7f345cd0]19 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
20 # in the documentation. The maximum height of the logo should not exceed 55
[b1276d44]21@@ -649,7 +649,7 @@
22 # sections, marked by \if <section_label> ... \endif and \cond <section_label>
23 # ... \endcond blocks.
24
25-ENABLED_SECTIONS =
[84176f3]26+ENABLED_SECTIONS = abs32le amd64 arm32 arm64 ia32 ia64 mips32 ppc32 riscv64 sparc64
[b1276d44]27
28 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
29 # initial value of a variable or macro / define can have for it to appear in the
30@@ -791,7 +791,7 @@
[7f345cd0]31 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
32 # Note: If this tag is empty the current directory is searched.
[b1276d44]33
[7f345cd0]34-INPUT =
[e77d408]35+INPUT = ../README.md ../abi ../boot ../kernel ../uspace
[b1276d44]36
[7f345cd0]37 # This tag can be used to specify the character encoding of the source files
38 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
[b1276d44]39@@ -865,7 +865,7 @@
[7f345cd0]40 # be searched for input files as well.
41 # The default value is: NO.
[b1276d44]42
[7f345cd0]43-RECURSIVE = NO
44+RECURSIVE = YES
[b1276d44]45
[7f345cd0]46 # The EXCLUDE tag can be used to specify files and/or directories that should be
47 # excluded from the INPUT source files. This way you can easily exclude a
[9905da7]48@@ -1468,7 +1468,7 @@
49 # The default value is: NO.
50 # This tag requires that the tag GENERATE_HTML is set to YES.
51
52-GENERATE_TREEVIEW = NO
53+GENERATE_TREEVIEW = YES
54
55 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
56 # doxygen will group on one line in the generated HTML documentation.
Note: See TracBrowser for help on using the repository browser.