Startup for PC-compatible systems with a BIOS (QNX Neutrino)
startup-bios [-A] [-b] [-D channel[.channel_opts]] 
    [-f [cpu_freq][,[cycles_freq][,timer_freq]]] 
    [-j addr] [-K channel[.channel_opts]] 
    [-N hostname] [-P max_cpus] 
    [-R size] [-r addr,size[,flag]]
    [-S [~]section] [-s size] [-v[v]...] [-x]
x86 with a PC-compatible BIOS
- -A
	
- Reboot the system on any abnormal termination of the kernel.  
		The default is to display information about the crash and halt.
	
- -b
	
- Don't reserve the bottom 4K of memory for virtual 8086 mode.  This
	    provides an extra 4K of memory for system use.
	
- -D channel[.channel_opts]
	
- Specify an output channel for debugging information.  See below
		for details.
- -f [cpu_freq][,[cycles_freq][,timer_freq]]
- Specify CPU frequencies.  
  All frequencies can be followed by H for hertz, 
  K for kilohertz, or M for megahertz
  (these suffixes aren't case-sensitive). If no
  suffix is given, the library assumes megahertz if the
  number is less than 1000; otherwise it assumes hertz.
    If they're specified, cpu_freq, cycles_freq, and 
  timer_freq are used to set the corresponding variables
  in the startup code:
   
- cpu_freq  --  the CPU clock frequency. It's also used 
    to set the speed field in the cpuinfo section of the 
    system page.
  
- cycles_freq  --  the frequency at which the 
    value returned by
    ClockCycles() increments. It's also used to set the 
    cycles_per_sec field in the qtime
    section of the system page.
  
- timer_freq  --  the frequency at which the timer chip 
    input runs. It's also used to set the timer_rate and 
    timer_scale values of the qtime section of the 
    system page.
  
   If a variable is zero when it comes time to set the field(s)
  on the system page, the library code attempts to deduce the proper
  value by using one of the other frequency variables. Which one it uses 
  depends on the particular CPU and hardware.
     
- -j addr
    
- For use with JTAG/hardware debuggers.
        Reserve 4 bytes of RAM at the physical address
    specified by addr, and copy the physical address
    of the location of the system page to addr
    in RAM so that it can be retrieved by a hardware debugger.
     
- -K channel[.channel_opts]
	
- Specify an output channel for kernel debugger information.  See
		below for details.
		
		
		
	
- -N hostname
	
- Specify the node name.  The default is the local host.
	
- -P max_cpus
	
- Specify the maximum number of processors to activate in an SMP
		system.  This is useful for testing how well your application runs
		on a system with fewer CPUs.  This option requires
		procnto-smp
		instead of procnto to have an effect.
	
- -R size
	
- Remove size memory from system use.  This is useful for
		testing in a restricted-memory environment.
        The size is in bytes, unless followed by one of
        K (kilobytes),
        M (megabytes), or G (gigabytes).
    
- -r addr,size[,flag]
    
- Remove size memory from system use
    starting at addr.
        The flag is an optional
    argument used to specify if the memory should be cleared: 
| If the value of the flag passed is: | Memory: |  
| None | Clears to 0 |  
| 0 | Clears to 0 |  
| 1 | Does not clear |  
 
- -S [~]section
	
- Turn on (or, if you use ~section, off) output
		of the specified syspage section's information.  Use this
		to restrict the amount of syspage information. 
For more information, see the description of 
print_syspage() 
in the Customizing Image Startup Programs chapter of Building Embedded Systems.
    
- -s size
    
- Copy the given amount of video card ROM into RAM, and set the 
      x86 page tables to refer to the RAM copy rather than the ROM.
      The size is in bytes, unless followed by one of
      K (kilobytes),
      M (megabytes), or G (gigabytes).
      Specifying the -s option causes the following call:
     
x86_pcbios_shadow_rom( 0xc0000, size );
          For more information, see 
     "The startup library"
     in the Customizing Image Startup Programs chapter of 
     Building Embedded Systems.
	 
- -v[v]...
	
- Be verbose.  More v characters cause even more
		verbosity.
- -x
- Enable extended addressing.
  This lets you access physical addresses above 4G.
  
 
|  | This option has an effect only if the CPU supports more than 32 address
  lines.
  On x86 CPUs, extended addressing is supported if the
  X86_CPU_PAE bit is on in the
  SYSPAGE_ENTRY(cpuinfo)->flags.
  For more information, see
  "Structure of the system page"
  in the Customizing Image Startup Programs chapter of
  Building Embedded Systems. |  
 
 
The debug channel specified with the -D and -K options
can be:
- 8250[.port[^shift][.baud[.clock[.divisor]]]]
	
- Use a generic 8250-compatible serial chip, with:
	
		
- port
			
- Specify the I/O port base address for the 8250, in
				hexadecimal.  The default is 3f8.
			
			
- shift
			
- Specify the spacing between the I/O registers, in
				2shift
        		bytes.  The default is 0.
			
			
- baud
			
- Specify the baud rate for the debug channel.  The default is
				57600.
			
			
- clock
			
- Specify the clock rate (in Hz) input to the chip.  The
				default is 1843200.
			
			
- divisor
			
- Specify the divisor used on the clock rate by the chip.  The
				default is 16.
		
 
- console
	
- Use the PC console.
You can skip options by leaving out the data associated with that part.  For
example, if you want to send the debugging output to an 8250 chip using
9600 baud, use:
-D 8250..9600
The default -D and -K settings are:
-D console
-K 8250.3f8^0.57600.1843200.16
The startup-bios program is responsible for probing PC hardware
resources using the BIOS.
Direct debug output to the console:
startup-bios -Nnode120 -vvvv -Dconsole
Direct debug output to the first serial port (making sure the baud rate 
was set to 115200 on the receiving side):
startup-bios -Nnode120 -vvvv -D8250..115200
Direct debug output to the serial port at 2f8:
startup-bios -Nnode120 -vvvv -D8250.2f8.115200
For more examples, see ${QNX_TARGET}/x86/build.
mkifs,
procnto,
procnto-smp
"Startup programs (startup-*)"
in the Utilities Summary chapter
Customizing Image Startup Programs in Building Embedded Systems