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 |