Settings options

Here are all the settings options available:

Application Location Settings

Settings

Description

AppLocation.Bochs

Location of the Bochs application

AppLocation.Bochs.BIOS

Location of the Bochs BIOS

AppLocation.Bochs.VGABIOS

Location of the Bochs VGA BIOS

AppLocation.GDB

Location of the GDB application

AppLocation.Mkisofs

Location of the mkisofs application

AppLocation.Ndisasm

Location of the ndisasm application

AppLocation.QemuX86

Location of the QEMU application for 32-bit x86 (qemu-system-i386)

AppLocation.QemuX64

Location of the QEMU application for 64-bit x86 (qemu-system-x86_64)

AppLocation.QemuARM32

Location of the QEMU application for ARM32

AppLocation.QemuARM64

Location of the QEMU application for ARM64

AppLocation.QemuBIOS

Location of the QEMU BIOS

AppLocation.QemuImg

Location of the QEMU image application (qemu-img)

AppLocation.VmwarePlayer

Location of the VMware Workstation Player application

AppLocation.VmwareWorkstation

Location of the VMware Workstation Pro application

AppLocation.Graphviz

Location of the graphviz application

AppLocation.QemuEDK2X86

Location of the QEMU 32-bit x86 UEFI firmware

AppLocation.QemuEDK2X64

Location of the QEMU 64-bit x86 UEFI firmware

AppLocation.QemuEDK2ARM32

Location of the QEMU ARM32 UEFI firmware

AppLocation.QemuEDK2ARM64

Location of the QEMU ARM64 UEFI firmware

AppLocation.VirtualBox

Location of the VirtualBox application

Compiler Settings

Settings

Description

Compiler.BaseAddress

Base address of the compiled application

Compiler.InitialStackAddress

Initial stack’s starting address (note: the stack grows downwards)

Compiler.Binary

If true, emits object file, otherwise no object file is created

Compiler.MethodScanner

If true, enable the experimental method scanner

Compiler.Multithreading

If true, enables multithreading during compiling process

Compiler.Multithreading.MaxThreads

Maximum number of threads used by the compiler

Compiler.OutputFile

Filename of the object file

Compiler.Platform

Target platform: x86, x64, ARM32, ARM64

Compiler.SourceFiles

File name(s) of the source file(s)

Compiler.TraceLevel

Trace level for debugging

Compiler Debug Settings

Settings

Description

CompilerDebug.AsmFile

File name to emit ASM disassembly

CompilerDebug.CompileTimeFile

File name to emit compile times for each method

CompilerDebug.DebugFile

File name to emit MOSA-specific debug information

CompilerDebug.FullCheckMode

If true, causes the compiler to run internal validate checks (used to test the compiler)

CompilerDebug.InlinedFile

File name to emit a list of all inlined methods

CompilerDebug.MapFile

File name to emit a map of all symbols

CompilerDebug.CounterFile

File name to emit the global counters

CompilerDebug.NasmFile

File name to emit disassembly using the NASM tool

CompilerDebug.PostLinkHashFile

File name to emit a list of all methods with their hash value after linking

CompilerDebug.PreLinkHashFile

File name to emit a list of all methods with their hash value prior to linking

CompilerDebug.Statistics

If true, enables statistics gathering

CompilerDebug.CounterFilter

Filters the global counters within the global counters file

Debugger Settings

Settings

Description

Debugger.BreakpointFile

File name of the breakpoint file (not implemented)

Debugger.WatchFile

File name of the watch file (not implemented)

Emulator Settings

Settings

Description

Emulator

Type of emulator: qemu, vmware, bochs

Emulator.Cores

Amount of cores to allocate for the virtual machine

Emulator.Display

If true, shows the video display

Emulator.GDB

If true, enables GDB integration within the emulator

Emulator.MaxRuntime

Maximum run time of the virtual machine in seconds

Emulator.Memory

Amount of memory to allocate for the virtual machine in MB

Emulator.Serial

Serial emulation type: none, pipe, tcpserver, tcpclient

Emulator.Serial.Host

Serial host name or IP address

Emulator.Serial.Port

Serial port

Emulator.Serial.Pipe

Serial pipe name

Emulator.Graphics

Graphics device: std, cirrus, vbe, virtio, vmware

Emulator.Acceleration

Enables CPU hardware acceleration on the emulator, if available

Explorer Settings

Settings

Description

Explorer.DebugDiagnostic

If true, debug diagnostics are captured

Explorer.Filter

Specifies the default method filter name when Explorer is launched

Explorer.Start

If true, immediately compiles all methods upon launch

GDB Settings

Settings

Description

GDB.Host

Host IP or name

GDB.Port

Port number

Image Settings

Import Settings

Settings

Description

Import

File name of a settings file to import (not implemented)

Launcher Settings

Settings

Description

Launcher.Debugger

If true, launches the MOSA debugger application after VM launch

Launcher.Exit

If true, immediately exits after launch

Launcher.GDB

If true, launches the GDB application after VM launch

Launcher.Launch

If true, launches a virtual machine after compiling the application and generating the virtual machine image

Launcher.PlugKernel

If true, automatically includes the plugs for the BareMetal kernel

Launcher.PlugKorlib

If true, automatically includes the plugs for the core library

Launcher.Serial

If true, outputs the serial data

Launcher.Start

If true, immediately starts the compiler upon launch

Launcher.Test

If true, monitors VM serial for success or failure messages

Linker Settings

Settings

Description

Linker.Dwarf

If true, emits DWARF debug information into the object file

Linker.Format

Type of ELF object file: elf32, elf64

Linker.ShortSymbolNames

If true, emits short symbol names into the object file

Linker.StaticRelocations

If true, emits static relocation information into the object file

Linker.Symbols

If true, emits the symbols into the object file

Linker.CustomSections.{Name}.SectionName

Emits a custom linker section with this section name

Linker.CustomSections.{Name}.SourceFile

Emits a custom linker section using the specific file

Linker.CustomSections.{Name}.Address

Emits a custom linker section with this address

Multiboot Settings

Settings

Description

Multiboot.Version

Multiboot version: none, v2

Multiboot.Video

If true, enables the framebuffer provided by Multiboot

Multiboot.Video.Width

Framebuffer width

Multiboot.Video.Height

Framebuffer height

Compiler Optimizations Settings

Settings

Description

Optimizations.Basic

If true, enables prebuilt transformation optimizations, like constant folding and strength reduction

Optimizations.ScanWindow

Maximum instruction window for the optimizer to scan

Optimizations.BitTracker

If true, enables the bit tracker optimizations

Optimizations.LoopRangeTracker

If true, sets a minimum and maximum value for a loop’s counter according to its range

Optimizations.Devirtualization

If true, transforms virtual methods calls into static method calls

Optimizations.Inline

If true, small methods can be inlined

Optimizations.Inline.Aggressive

Methods to be aggressively inlined

Optimizations.Inline.AggressiveMaximum

Maximum number of instructions that can be inlined when a method is explicitly marked to be inlined

Optimizations.Inline.Exclude

Methods that may not be inlined

Optimizations.Inline.Explicit

If true, explicitly marked methods are inlined

Optimizations.Inline.Maximum

Maximum number of instructions that can be inlined within a method

Optimizations.LongExpansion

If true, transforms some 64-bit instructions into 32-bit instructions prior to platform transformations

Optimizations.ReduceCodeSize

If true, the compiler will favor smaller code size

Optimizations.LoopInvariantCodeMotion

If true, enables the loop invariant code motion optimizations

Optimizations.Platform

If true, enable platform specific optimizations

Optimizations.SCCP

If true, enables Sparse Conditional Constant Propagation (SCCP) optimizations

Optimizations.SSA

If true, transforms instructions to Single Static Assignment (SSA) form

Optimizations.TwoPass

If true, some optimization stages are executed twice

Optimizations.ValueNumbering

If true, enables the Value Numbering (VN) optimizations

OS Settings

Settings

Description

OS.Name

Name of the operating system

OS.BootOptions

Specifies a boot string to pass to the operating system

Bootloader Settings

Settings

Description

BootLoader.Timeout

Specifies the bootloader timeout (in seconds) before the OS starts

Common Settings

Settings

Description

DefaultFolder

Default folder for output files

SearchPaths

Folder to search for files

TemporaryFolder

Specifies a temporary folder

Unit Test Settings

Settings

Description

UnitTest.Connection.MaxAttempts

Maximum number of restart attempts before aborting the unit tests

UnitTest.Connection.TimeOut

Maximum connection timeout in milliseconds before retrying

UnitTest.Filter

Specifies the default unit test filter name when the unit tests are launched

UnitTest.MaxErrors

Maximum number of errors before aborting the unit testing

Compiler X86 Settings

Settings

Description

X86.InterruptMethodName

Name of the method that handles interrupts