source: mainline/doxygen/doxygen.cfg.diff@ 1c9bf292

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 1c9bf292 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
  • doxygen.cfg

    old new  
    3232# title of most generated pages and in a few other places.
    3333# The default value is: My Project.
    3434
    35 PROJECT_NAME           = "My Project"
     35PROJECT_NAME           = "HelenOS"
    3636
    3737# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
    3838# could be handy for archiving the generated documentation or if some version
     
    4444# for a project that appears at the top of each page and should give viewer a
    4545# quick idea about the purpose of the project. Keep the description short.
    4646
    47 PROJECT_BRIEF          =
     47PROJECT_BRIEF          = " HelenOS is a portable microkernel-based multiserver operating system designed and implemented from scratch."
    4848
    4949# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
    5050# in the documentation. The maximum height of the logo should not exceed 55
     
    649649# sections, marked by \if <section_label> ... \endif and \cond <section_label>
    650650# ... \endcond blocks.
    651651
    652 ENABLED_SECTIONS       =
     652ENABLED_SECTIONS       = abs32le amd64 arm32 arm64 ia32 ia64 mips32 ppc32 riscv64 sparc64
    653653
    654654# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
    655655# initial value of a variable or macro / define can have for it to appear in the
     
    791791# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
    792792# Note: If this tag is empty the current directory is searched.
    793793
    794 INPUT                  =
     794INPUT                  = ../README.md ../abi ../boot ../kernel ../uspace
    795795
    796796# This tag can be used to specify the character encoding of the source files
    797797# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
     
    865865# be searched for input files as well.
    866866# The default value is: NO.
    867867
    868 RECURSIVE              = NO
     868RECURSIVE              = YES
    869869
    870870# The EXCLUDE tag can be used to specify files and/or directories that should be
    871871# excluded from the INPUT source files. This way you can easily exclude a
     
    14681468# The default value is: NO.
    14691469# This tag requires that the tag GENERATE_HTML is set to YES.
    14701470
    1471 GENERATE_TREEVIEW      = NO
     1471GENERATE_TREEVIEW      = YES
    14721472
    14731473# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
    14741474# doxygen will group on one line in the generated HTML documentation.
Note: See TracBrowser for help on using the repository browser.