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