Command Line ArgumentsΒΆ
The command line arguments serve as shortcuts to the common set of Settings Options used by the MOSA tools.
Tip
Specific settings may also be specified on the command line using the -setting or -s arguments. For example to set the Compiler.OutputFile settings with Mosa.HelloWorld.x86.bin, pass the following two arguments -setting Compiler.OutputFile=Mosa.HelloWorld.x86.bin on the command line.
Below are the command line arguments available:
| Argument | Setting | Value Set |
|---|---|---|
| Compiler: | ||
| {none} | Compiler.SourceFiles | {value} |
| -settings | Settings | {value} |
| -s | Settings | {value} |
| -o | Compiler.OutputFile | {value} |
| -threading | Compiler.Multithreading | true |
| -threading-off | Compiler.Multithreading | false |
| -base | Compiler.BaseAddress | {value} |
| -scanner | Compiler.MethodScanner | true |
| -no-code | Compiler.Binary | false |
| -path | SearchPaths | |
| -inline | Optimizations.Inline | true |
| -inline-off | Optimizations.Inline | false |
| -ssa | Optimizations.SSA | true |
| -ssa-off | Optimizations.SSA | false |
| -sccp | Optimizations.SCCP | true |
| -sccp-off | Optimizations.SCCP | false |
| -basic-optimizations | Optimizations.Basic | true |
| -basic-optimizations-off | Optimizations.Basic | false |
| -inline-explicit | Optimizations.Inline.ExplicitOnly | true |
| -inline-explicit-off | Optimizations.Inline.ExplicitOnly | false |
| -long-expansion | Optimizations.LongExpansion | true |
| -long-expansion-off | Optimizations.LongExpansion | false |
| -two-pass | Optimizations.TwoPass | true |
| -two-pass-off | Optimizations.TwoPass | true |
| -value-numbering | Optimizations.ValueNumbering | true |
| -value-numbering-off | Optimizations.ValueNumbering | false |
| -loop-invariant-code-motion | Optimizations.LoopInvariantCodeMotion | true |
| -loop-invariant-code-motion-off | Optimizations.LoopInvariantCodeMotion | false |
| -platform-optimizations | Optimizations.Platform | true |
| -platform-optimizations-off | Optimizations.Platform | false |
| -bit-tracker | Optimizations.BitTracker | true |
| -bit-tracker-off | Optimizations.BitTracker | false |
| -devirtualization | Optimizations.Devirtualization | true |
| -devirtualization-off | Optimizations.Devirtualization | false |
| -inline-level | Optimizations.Inline.Maximum | {value} |
| -platform | Compiler.Platform | {value} |
| -x86 | Compiler.Platform | x86 |
| -x64 | Compiler.Platform | x64 |
| -armv8a32 | Compiler.Platform | armv8a32 |
| Compiler - Debug Output Information: | ||
| -output-nasm | CompilerDebug.NasmFile | %DEFAULT% |
| -output-asm | CompilerDebug.AsmFile | %DEFAULT% |
| -output-map | CompilerDebug.MapFile | %DEFAULT% |
| -output-time | CompilerDebug.CompilerTimeFile | %DEFAULT% |
| -output-debug | CompilerDebug.DebugFile | %DEFAULT% |
| -output-inlined | CompilerDebug.InlinedFile | %DEFAULT% |
| -output-hash | CompilerDebug.PreLinkHashFile | %DEFAULT% |
| -output-hash | CompilerDebug.PostLinkHashFile | %DEFAULT% |
| Compiler - X86: | ||
| -interrupt-method | X86.InterruptMethodName | {value} |
| Linker: | ||
| -emit-all-symbols | Linker.Symbols | true |
| -emit-all-symbols-off | Linker.Symbols | false |
| -emit-relocations | Linker.StaticRelocations | true |
| -emit-relocations-off | Linker.StaticRelocations | false |
| -emit-static-relocations | Linker.StaticRelocations | true |
| -emit-drawf | Linker.Drawf | true |
| -emit-drawf-off | Linker.Drawf | false |
| -drawf | Linker.Drawf | true |
| Explorer: | ||
| -filter | Explorer.Filter | {value} |
| Launcher: | ||
| -autoexit | Launcher.Exit | true |
| -autoexit-off | Launcher.Exit | false |
| -autostart | Launcher.Start | true |
| -autostart-off | Launcher.Start | false |
| -autolaunch | Launcher.Launch | true |
| -autolaunch-off | Launcher.Launch | false |
| -launch | Launcher.Launch | true |
| -launch-off | Launcher.Launch | false |
| Launcher - Emulator: | ||
| -emulator | Emulator | |
| -qemu | Emulator | qemu |
| -vmware | Emulator | vmware |
| -bochs | Emulator | bochs |
| -display | Emulator.Display | on |
| -display-off | Emulator.Display | off |
| -memory | Emulator.Memory | |
| -qemu-gdb | Emulator.GDB | false |
| Launcher - Image: | ||
| -image | Image.ImageFile | {value} |
| -destination | Image.Folder | {value} |
| -dest | Image.Folder | {value} |
| -vhd | Image.Format | vhd |
| -img | Image.Format | img |
| -vdi | Image.Format | vdi |
| -iso | Image.Format | iso |
| -vmdk | Image.Format | vmdk |
| -blocks | Image.DiskBlocks | |
| -volume-label | Image.VolumeLabel | |
| -mbr | Image.MasterBootRecordFile | |
| -boot | Image.BootBlockFile | |
| Launcher - Boot: | ||
| -multiboot-v1 | Multiboot.Version | v1 |
| -multiboot-v2 | Multiboot.Version | v2 |
| -multiboot-none | Multiboot.Version | |
| -multiboot | Multiboot.Version | {value} |
| Launcher - Serial: | ||
| -serial-connection | Emulator.Serial | |
| -serial-pipe | Emulator.Serial | pipe |
| -serial-tcpclient | Emulator.Serial | tcpclient |
| -serial-tcpserver | Emulator.Serial | tcpserver |
| -serial-connection-port | Emulator.Serial.Port | {value} |
| -serial-connection-host | Emulator.Serial.Host | {value} |
| Launcher - Video BIOS Extension (VBE): | ||
| -video | Multiboot.Video | true |
| -video-width | Multiboot.Video.Width | {value} |
| -video-height | Multiboot.Video.Height | {value} |
| -video-depth | Multiboot.Video.Depth | {value} |
| Launcher - GDB: | ||
| -launch-gdb-debugger | Launcher.LaunchDebugger | true |
| Launcher - Boot Loader: | ||
| -bootloader | Image.BootLoader | {value} |
| -grub | Image.BootLoader | grub0.97 |
| -grub0.97 | Image.BootLoader | grub0.97 |
| -grub2.00 | Image.BootLoader | grub2.00 |
| -syslinux | Image.BootLoader | syslinux_v3.72 |
| -syslinux3.72 | Image.BootLoader | syslinux3.72 |
| -syslinux6.0 | Image.BootLoader | syslinux6.03 |
| Launcher - Advance: | ||
| -hunt-corlib | Launcher.HuntForCorLib | true |
| -plug-korlib | Launcher.PlugKorlib | true |
| Launcher - GDB | ||
| -gdb | Launcher.LaunchDebugger | true |
| Launcher & Debugger - GDB | ||
| -gdb-port | GDB.Port | {value} |
| -gdb-host | GDB.Host | {value} |
| Debugger: | ||
| -breakpoints | Debugger.BreakpointFile | {value} |
| -watch | Debugger.WatchFile | {value} |
| Optimization Levels: | ||
| -o0 | Optimizations.Basic | false |
| -o0 | Optimizations.SSA | false |
| -o0 | Optimizations.ValueNumbering | false |
| -o0 | Optimizations.SCCP | false |
| -o0 | Optimizations.Devirtualization | false |
| -o0 | Optimizations.LongExpansion | false |
| -o0 | Optimizations.Platform | false |
| -o0 | Optimizations.Inline | false |
| -o0 | Optimizations.LoopInvariantCodeMotion | false |
| -o0 | Optimizations.BitTracker | false |
| -o0 | Optimizations.TwoPass | false |
| -o0 | Optimizations.Inline.Maximum | 0 |
| -o1 | Optimizations.Basic | true |
| -o1 | Optimizations.SSA | false |
| -o1 | Optimizations.ValueNumbering | false |
| -o1 | Optimizations.SCCP | false |
| -o1 | Optimizations.Devirtualization | true |
| -o1 | Optimizations.LongExpansion | false |
| -o1 | Optimizations.Platform | false |
| -o1 | Optimizations.Inline | false |
| -o1 | Optimizations.LoopInvariantCodeMotion | false |
| -o1 | Optimizations.BitTracker | false |
| -o1 | Optimizations.TwoPass | false |
| -o1 | Optimizations.Inline.Maximum | 0 |
| -o2 | Optimizations.Basic | true |
| -o2 | Optimizations.SSA | true |
| -o2 | Optimizations.ValueNumbering | true |
| -o2 | Optimizations.SCCP | false |
| -o2 | Optimizations.Devirtualization | true |
| -o2 | Optimizations.LongExpansion | false |
| -o2 | Optimizations.Platform | false |
| -o2 | Optimizations.Inline | false |
| -o2 | Optimizations.LoopInvariantCodeMotion | false |
| -o2 | Optimizations.BitTracker | false |
| -o2 | Optimizations.TwoPass | false |
| -o2 | Optimizations.Inline.Maximum | 0 |
| -o3 | Optimizations.Basic | true |
| -o3 | Optimizations.SSA | true |
| -o3 | Optimizations.ValueNumbering | true |
| -o3 | Optimizations.SCCP | true |
| -o3 | Optimizations.Devirtualization | true |
| -o3 | Optimizations.LongExpansion | false |
| -o3 | Optimizations.Platform | false |
| -o3 | Optimizations.Inline | false |
| -o3 | Optimizations.LoopInvariantCodeMotion | false |
| -o3 | Optimizations.BitTracker | false |
| -o3 | Optimizations.TwoPass | false |
| -o3 | Optimizations.Inline.Maximum | 0 |
| -o4 | Optimizations.Basic | true |
| -o4 | Optimizations.SSA | true |
| -o4 | Optimizations.ValueNumbering | true |
| -o4 | Optimizations.SCCP | true |
| -o4 | Optimizations.Devirtualization | true |
| -o4 | Optimizations.LongExpansion | true |
| -o4 | Optimizations.Platform | false |
| -o4 | Optimizations.Inline | false |
| -o4 | Optimizations.LoopInvariantCodeMotion | false |
| -o4 | Optimizations.BitTracker | false |
| -o4 | Optimizations.TwoPass | false |
| -o4 | Optimizations.Inline.Maximum | 0 |
| -o5 | Optimizations.Basic | true |
| -o5 | Optimizations.SSA | true |
| -o5 | Optimizations.ValueNumbering | true |
| -o5 | Optimizations.SCCP | true |
| -o5 | Optimizations.Devirtualization | true |
| -o5 | Optimizations.LongExpansion | true |
| -o5 | Optimizations.Platform | true |
| -o5 | Optimizations.Inline | false |
| -o5 | Optimizations.LoopInvariantCodeMotion | false |
| -o5 | Optimizations.BitTracker | false |
| -o5 | Optimizations.TwoPass | false |
| -o5 | Optimizations.Inline.Maximum | 0 |
| -o6 | Optimizations.Basic | true |
| -o6 | Optimizations.SSA | true |
| -o6 | Optimizations.ValueNumbering | true |
| -o6 | Optimizations.SCCP | true |
| -o6 | Optimizations.Devirtualization | true |
| -o6 | Optimizations.LongExpansion | true |
| -o6 | Optimizations.Platform | true |
| -o6 | Optimizations.Inline | true |
| -o6 | Optimizations.LoopInvariantCodeMotion | false |
| -o6 | Optimizations.BitTracker | false |
| -o6 | Optimizations.TwoPass | false |
| -o6 | Optimizations.Inline.Maximum | 5 |
| -o7 | Optimizations.Basic | true |
| -o7 | Optimizations.SSA | true |
| -o7 | Optimizations.ValueNumbering | true |
| -o7 | Optimizations.SCCP | true |
| -o7 | Optimizations.Devirtualization | true |
| -o7 | Optimizations.LongExpansion | true |
| -o7 | Optimizations.Platform | true |
| -o7 | Optimizations.Inline | false |
| -o7 | Optimizations.LoopInvariantCodeMotion | true |
| -o7 | Optimizations.BitTracker | false |
| -o7 | Optimizations.TwoPass | false |
| -o7 | Optimizations.Inline.Maximum | 10 |
| -o8 | Optimizations.Basic | true |
| -o8 | Optimizations.SSA | true |
| -o8 | Optimizations.ValueNumbering | true |
| -o8 | Optimizations.SCCP | true |
| -o8 | Optimizations.Devirtualization | true |
| -o8 | Optimizations.LongExpansion | true |
| -o8 | Optimizations.Platform | true |
| -o8 | Optimizations.Inline | true |
| -o8 | Optimizations.LoopInvariantCodeMotion | true |
| -o8 | Optimizations.BitTracker | true |
| -o8 | Optimizations.TwoPass | true |
| -o8 | Optimizations.Inline.Maximum | 10 |
| -o9 | Optimizations.Basic | true |
| -o9 | Optimizations.SSA | true |
| -o9 | Optimizations.ValueNumbering | true |
| -o9 | Optimizations.SCCP | true |
| -o9 | Optimizations.Devirtualization | true |
| -o9 | Optimizations.LongExpansion | true |
| -o9 | Optimizations.Platform | true |
| -o9 | Optimizations.Inline | true |
| -o9 | Optimizations.LoopInvariantCodeMotion | true |
| -o9 | Optimizations.BitTracker | true |
| -o9 | Optimizations.TwoPass | true |
| -o9 | Optimizations.Inline.Maximum | 15 |
| -oNone | Optimizations.Basic | false |
| -oNone | Optimizations.SSA | false |
| -oNone | Optimizations.ValueNumbering | false |
| -oNone | Optimizations.SCCP | false |
| -oNone | Optimizations.Devirtualization | false |
| -oNone | Optimizations.LongExpansion | false |
| -oNone | Optimizations.Platform | false |
| -oNone | Optimizations.Inline | false |
| -oNone | Optimizations.LoopInvariantCodeMotion | false |
| -oNone | Optimizations.BitTracker | false |
| -oNone | Optimizations.TwoPass | false |
| -oNone | Optimizations.Inline.Maximum | 0 |
| -oMax | Optimizations.Basic | true |
| -oMax | Optimizations.SSA | true |
| -oMax | Optimizations.ValueNumbering | true |
| -oMax | Optimizations.SCCP | true |
| -oMax | Optimizations.Devirtualization | true |
| -oMax | Optimizations.LongExpansion | true |
| -oMax | Optimizations.Platform | true |
| -oMax | Optimizations.Inline | true |
| -oMax | Optimizations.LoopInvariantCodeMotion | true |
| -oMax | Optimizations.BitTracker | true |
| -oMax | Optimizations.TwoPass | true |
| -oMax | Optimizations.Inline.Maximum | 15 |
| -oSize | Optimizations.Basic | true |
| -oSize | Optimizations.SSA | true |
| -oSize | Optimizations.ValueNumbering | true |
| -oSize | Optimizations.SCCP | true |
| -oSize | Optimizations.Devirtualization | true |
| -oSize | Optimizations.LongExpansion | true |
| -oSize | Optimizations.Platform | true |
| -oSize | Optimizations.Inline | true |
| -oSize | Optimizations.LoopInvariantCodeMotion | true |
| -oSize | Optimizations.BitTracker | true |
| -oSize | Optimizations.TwoPass | true |
| -oSize | Optimizations.Inline.Maximum | 3 |
| -oFast | Optimizations.Basic | true |
| -oFast | Optimizations.SSA | true |
| -oFast | Optimizations.ValueNumbering | true |
| -oFast | Optimizations.SCCP | false |
| -oFast | Optimizations.Devirtualization | true |
| -oFast | Optimizations.LongExpansion | false |
| -oFast | Optimizations.Platform | false |
| -oFast | Optimizations.Inline | false |
| -oFast | Optimizations.LoopInvariantCodeMotion | false |
| -oFast | Optimizations.BitTracker | false |
| -oFast | Optimizations.TwoPass | false |
| -oFast | Optimizations.Inline.Maximum | 0 |
Note
{value} is the next argument