Merge from Etherboot 5.4
[people/lynusvaz/gpxe.git] / src / Config
index 5f9c4c7..2f3dea8 100644 (file)
@@ -1,6 +1,24 @@
+##############################################################################
+##############################################################################
+#
+# IMPORTANT!
+# 
+# The use of this file to set options that affect only single object
+# files is deprecated, because changing anything in this file results
+# in a complete rebuild, which is slow.  All options are gradually
+# being migrated to config.h, which does not suffer from this problem.
+# 
+# Only options that affect the entire build (e.g. overriding the $(CC)
+# Makefile variable) should be placed in here.
+#
+##############################################################################
+##############################################################################
+
+
 #
 # Config for Etherboot/32
 #
+#
 # Do not delete the tag OptionDescription and /OptionDescription
 # It is used to automatically generate the documentation.
 #
 #
 #      Boot image options:
 #
-#      -DTAGGED_IMAGE
-#                      Add tagged image kernel boot support (recommended).
-#      -DAOUT_IMAGE
-#                      Add a.out kernel boot support (generic).
-#      -DELF_IMAGE
-#                      Add generic ELF kernel boot support (recommended).
-#      -DEL64F_IMAGE
-#                      Add generic ELF64 kernel boot support (useful for > 4GB disks).
-#      -DWINCE_IMAGE
-#                      Add the ability to boot WINCE.... now only sis630 OK!
-#      -DPXE_IMAGE
-#                      Add the ability to boot PXE NBPs.  Requires
-#                      PXE_EXPORT.  Currently not supported on
-#                      anything other than i386
-#      -DFREEBSD_PXEEMU
-#                      Add the ability to boot PXE images... only FreeBSD supported
-#      -DIMAGE_MULTIBOOT
-#                      Add Multiboot image support (currently only
-#                      for ELF images).
-#                      Without this, generic ELF support is selected.
-#      -DIMAGE_FREEBSD
-#                      Add FreeBSD image loading support (requires at least
-#                      -DAOUT_IMAGE and/or -DELF_IMAGE).
 #      -DFREEBSD_KERNEL_ENV
 #                      Pass in FreeBSD kernel environment
 #      -DAOUT_LYNX_KDI
 #                      Support for sending multicast packets
 #      -DMULTICAST_LEVEL2
 #                      Support for receiving multicast packets
-#      -DDNS_RESOLVER
-#                      Support for resolving hostnames in bootfile name (experimental)
-#      -DDOWNLOAD_PROTO_TFTP
-#                      If defined, includes TFTP support (recommended).
-#      -DDOWNLOAD_PROTO_NFS
-#                      If defined, includes NFS support.
-#      -DDEFAULT_PROTO_NFS
-#                      If defined, makes NFS the default protocol instead
-#                      of TFTP. Requires DOWNLOAD_PROTO_NFS.
-#      -DDOWNLOAD_PROTO_SLAM
-#                      If defined, includes Scalable Local Area Multicast
-#                      support.
-#      -DDOWNLOAD_PROTO_TFTM
-#                      If defined, includes TFTP Multicast mode support.
-#      -DDOWNLOAD_PROTO_HTTP
-#                      If defined, includes HTTP support.
-#
-#      Console options:
-#
-#      -DCONSOLE_FIRMWARE
-#                      Set for firmware/BIOS provided (default if nothing else is set).
-#                      Normally this is shows up on your CRT.
-#      -DCONSOLE_SERIAL
-#                      Set for serial console.
-#      -DCONSOLE_DUAL
-#                      Both of the above
-#      -DCONSOLE_DIRECT_VGA
-#                      Set for direct VGA console (only for x86).
-#      -DCOMCONSOLE
-#                      Set port, e.g. 0x3F8.
-#      -DCONSPEED
-#                      Set speed, e.g. 57600.
-#      -DCOMPARM
-#                      Set Line Control Register value for data bits, stop
-#                      bits and parity. See a National Semiconditor 8250/
-#                      16450/16550 data sheet for bit meanings.
-#                      If undefined, defaults to 0x03 = 8N1.
-#      -DCOMPRESERVE
-#                      Ignore COMSPEED and COMPARAM and instead preserve
-#                      the com port parameters from the previous user
-#                      of the com port.  Examples of previous user are a BIOS
-#                      that implements console redirection, lilo and LinuxBIOS.
-#                      This makes it trivial to keep the serial port
-#                      speed setting in sync between multiple users.
-#                      You set the speed in the first user and the
-#                      rest follow along.
 #
 #      Interface export options:
 #
 #
 #      Obscure options you probably don't need to touch:
 #
+#      -DZPXE_SUFFIX_STRIP
+#                      If the last 5 characters of the filename passed to Etherboot is
+#                      ".zpxe" then strip it off. This is useful in cases where a DHCP server
+#                      is not able to be configured to support conditionals. The way it works
+#                      is that the DHCP server is configured with a filename like
+#                      "foo.nbi.zpxe" so that when PXE asks for a filename it gets that, and
+#                      loads Etherboot from that file. Etherboot then starts up and once
+#                      again asks the DHCP server for a filename and once again gets
+#                      foo.nbi.zpxe, but with this option turned on loads "foo.nbi" instead.
+#                      This allows people to use Etherboot who might not otherwise be able to
+#                      because their DHCP servers won't let them.
+#
 #      -DPOWERSAVE
 #                      Halt the processor when waiting for keyboard input
 #                      which saves power while waiting for user interaction.
 #                      Good for compute clusters and VMware emulation.
 #                      But may not work for all CPUs.
-#      -DBUILD_SERIAL
-#                      Include an auto-incrementing build number in
-#                      the Etherboot welcome message.  Useful when
-#                      developing, to be sure that the file you
-#                      compiled is the one you're currently testing.
-#      -DBUILD_ID
-#                      Include a build ID string in the Etherboot
-#                      welcome message.  Useful when developing, if
-#                      you have multiple builds with different
-#                      configurations and want to check you're
-#                      running the one you think you are.  Requires
-#                      -DBUILD_SERIAL.
 #
-#      BUS options:
-#      
-#      -DCONFIG_PCI
-#                      Include support for devices using the pci bus.
-#      -DCONFIG_ISA
-#                      Include support for devices using isa bus.
-#      -DCONFIG_PCMCIA
-#                      Include support for PCMCIA in general *development*
 # @/OptionDescription@
 
 # These default settings compile Etherboot with a small number of options.
 # You may wish to enable more of the features if the size of your ROM allows.
 
 
-# Select which buses etherboot should support
-CFLAGS+=       -DCONFIG_PCI -DCONFIG_ISA
-# CFLAGS+=     -DCONFIG_PCMCIA
-
 # For prompting and default on timeout
 CFLAGS+=       -DASK_BOOT=3 -DBOOT_FIRST=BOOT_NIC
 # If you would like to attempt to boot from other devices as well as the network.
@@ -346,10 +283,6 @@ CFLAGS+=   -DASK_BOOT=3 -DBOOT_FIRST=BOOT_NIC
 # CFLAGS+=     -DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \
 #              -DDHCP_USER_CLASS_LEN=11
 
-# for btext console support
-# CFLAGS+=     -DCONSOLE_BTEXT 
-# for direct PC kbd support 
-# CFLAGS+=     -DCONSOLE_PC_KBD
 # Set to enable FILO support
 # for FILO support it will make main call pci_init
 # INCLUDE_FILO=y
@@ -374,36 +307,15 @@ CFLAGS+=  -DALLOW_ONLY_ENCAPSULATED
 
 # Limit the delay on packet loss/congestion to a more bearable value. See
 # description above.  If unset, do not limit the delay between resend.
-CFLAGS+=       -DBACKOFF_LIMIT=7 -DCONGESTED
+CFLAGS+=       -DBACKOFF_LIMIT=5 -DCONGESTED
 
 # More optional features
 # CFLAGS+=     -DTRY_FLOPPY_FIRST=4
 # CFLAGS+=     -DEXIT_IF_NO_OFFER
 
-# For a serial console, which can run in parallel with FIRMWARE console
-# CFLAGS+=     -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600
-
-# Enable tagged image, generic ELF, Multiboot ELF
-# or FreeBSD ELF/a.out boot image support
-CFLAGS+=       -DTAGGED_IMAGE -DELF_IMAGE
-# CFLAGS+=     -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD
-# CFLAGS+=     -DAOUT_IMAGE -DAOUT_LYNX_KDI
-# CFLAGS+=     -DCOFF_IMAGE 
-# CFLAGS+=     -DRAW_IMAGE
-
-# Download files via TFTP
-CFLAGS+=       -DDOWNLOAD_PROTO_TFTP
-# Change download protocol to NFS, default is TFTP
-# CFLAGS+=     -DDOWNLOAD_PROTO_NFS
-# Change download protocol to HTTP, default is TFTP
-# CFLAGS+=     -DDOWNLOAD_PROTO_HTTP
-# Change default protocol to NFS
-# CFLAGS+=     -DDEFAULT_PROTO_NFS
-# Support to resolve hostnames in boot filename
-# CFLAGS+=     -DDNS_RESOLVER
 
 # Multicast Support
-# CFLAGS+=     -DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2 -DDOWNLOAD_PROTO_TFTM
+# CFLAGS+=     -DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2
 
 # Etherboot as a PXE network protocol ROM
 CFLAGS+=       -DPXE_IMAGE -DPXE_EXPORT
@@ -414,17 +326,6 @@ CFLAGS+=   -DPXE_IMAGE -DPXE_EXPORT
 # via pxeboot, use only with DOWNLOAD_PROTO_NFS
 # CFLAGS+=     -DFREEBSD_PXEEMU
 
-# Include an auto-incrementing build serial number and optional build
-# ID string
-# CFLAGS+=     -DBUILD_SERIAL
-# CFLAGS+=     -DBUILD_SERIAL -DBUILD_ID=\"testing\"
-
-# Do not relocate
-# core/relocate.c should really be moved to an arch specific directory
-# but this is here for archs that don't support relocation
-# CFLAGS+=     -DNORELOCATE
-
-
 
 
 # Garbage from Makefile.main temporarily placed here until a home can
@@ -454,9 +355,6 @@ CFLAGS+=    -DPXE_IMAGE -DPXE_EXPORT
 #      The code will notify if it does a abort.
 #      SomniOne - somnione@gmx.net
 #
-# 3C509 option:
-#      -DINCLUDE_3C509 - Include 3c509 support
-#
 # 3C90X options:
 #      Warning Warning Warning
 #      If you use any of the XCVR options below, please do not complain about
@@ -476,20 +374,15 @@ CFLAGS+=  -DPXE_IMAGE -DPXE_EXPORT
 #      See the documentation file 3c90x.txt for more details.
 #
 # CS89X0 (optional) options:
-#      -DCS_SCAN=list  - Probe for CS89x0 base address using list of
+#      -DISA_PROBE_ADDRS=list  
+#                        Probe for CS89x0 base address using list of
 #                        comma separated hex addresses; increasing the
 #                        address by one (0x300 -> 0x301) will force a
 #                        more aggressive probing algorithm. This might
 #                        be neccessary after a soft-reset of the NIC.
-#
-# SMC9000 options:
-#       -DSMC9000_SCAN=list - List of I/O addresses to probe
 
 
 CFLAGS_3c503   = -DINCLUDE_3C503 # -DT503_SHMEM
-MAKEROM_FLAGS_3c503=   -3
-CFLAGS_3c509   = -DINCLUDE_3C509
-CFLAGS_3c529   = -DINCLUDE_3C529
 CFLAGS_ne      = -DINCLUDE_NE -DNE_SCAN=0x300,0x280,0x320,0x340,0x380
 CFLAGS_ns8390  = -DINCLUDE_NS8390      # NE2000/PCI!
 CFLAGS_wd      = -DINCLUDE_WD -DWD_DEFAULT_MEM=0xCC000