| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 | 
							- ##############################################################################
 - ##############################################################################
 - #
 - # 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.
 - #
 - # @OptionDescription@
 - #	User interaction options:
 - #
 - #	-DASK_BOOT=n
 - #			Ask "Boot from (N)etwork ... or (Q)uit? " 
 - #			at startup, timeout after n seconds (0 = no timeout).
 - #			If unset or negative, don't ask and boot immediately
 - #			using the default.
 - #	-DBOOT_FIRST
 - #	-DBOOT_SECOND
 - #	-DBOOT_THIRD
 - #			On timeout or Return key from previous
 - #			question, selects the order to try to boot from
 - #			various devices.
 - #			(alternatives: BOOT_NIC, BOOT_DISK,
 - #			 BOOT_FLOPPY, BOOT_NOTHING)
 - #			See etherboot.h for prompt and answer strings.
 - #			BOOT_DISK and BOOT_FLOPPY work only where a driver
 - #			exists, e.g. in LinuxBIOS.
 - #			They have no effect on PCBIOS.
 - #	-DBOOT_INDEX	The device to boot from 0 == any device.
 - #			1 == The first nic found.
 - #			2 == The second nic found
 - #			...
 - #			BOOT_INDEX only applies to the BOOT_FIRST.  BOOT_SECOND 
 - #			and BOOT_THIRD search through all of the boot devices.
 - #	-DBAR_PROGRESS
 - #			Use rotating bar instead of sequential dots
 - #			to indicate an IP packet transmitted.
 - #
 - #	Boot order options:
 - #
 - #	-DBOOT_CLASS_FIRST
 - #	-DBOOT_CLASS_SECOND
 - #	-DBOOT_CLASS_THIRD
 - #			Select the priority of the boot classes
 - #			Valid values are:
 - #				BOOT_NIC
 - #				BOOT_DISK
 - #				BOOT_FLOPPY
 - #	BOOT_DISK and BOOT_FLOPPY work only where a driver exists,
 - #	e.g. in LinuxBIOS.  They have no effect on PCBIOS.
 - #
 - #	Boot autoconfiguration protocol options:
 - #
 - #	-DALTERNATE_DHCP_PORTS_1067_1068
 - #			Use ports 1067 and 1068 for DHCP instead of 67 and 68.
 - #			As these ports are non-standard, you need to configure
 - #			your DHCP server to use them. This option gets around
 - #			existing DHCP servers which cannot be touched, for
 - #			one reason or another, at the cost of non-standard
 - #			boot images.
 - #	-DNO_DHCP_SUPPORT
 - #			Use BOOTP instead of DHCP.
 - #	-DRARP_NOT_BOOTP
 - #			Use RARP instead of BOOTP/DHCP.
 - #	-DREQUIRE_VCI_ETHERBOOT
 - #			Require an encapsulated Vendor Class Identifier
 - #			of "Etherboot" in the DHCP reply
 - #			Requires DHCP support.
 - #	-DDHCP_CLIENT_ID=\"Identifier\"
 - #	-DDHCP_CLIENT_ID_LEN=<Client ID length in octets>
 - #	-DDHCP_CLIENT_ID_TYPE=<Client ID type>
 - #			Specify a RFC2132 Client Identifier option, length and type.
 - #			Requires DHCP support.
 - #	-DDHCP_USER_CLASS=\"UserClass\"
 - #	-DDHCP_USER_CLASS_LEN=<User Class length in octets>
 - # 			Specify a RFC3004 User Class option and length. Use this
 - #			option to set a UC (or multiple UCs) rather than munge the
 - #			client Vendor Class ID.
 - #			Requires DHCP support.
 - #	-DALLOW_ONLY_ENCAPSULATED
 - #			Ignore Etherboot-specific options that are not within
 - #			the Etherboot encapsulated options field.  This option
 - #			should be enabled unless you have a legacy DHCP server
 - #			configuration from the bad old days before the use of
 - #			encapsulated Etherboot options.
 - #	-DDEFAULT_BOOTFILE=\"default_bootfile_name\"
 - #			Define a default bootfile for the case where your DHCP
 - #			server does not provide the information.  Example:
 - #			  -DDEFAULT_BOOTFILE="tftp:///tftpboot/kernel"
 - #			If you do not specify this option, then DHCP offers that
 - #			do not specify bootfiles will be ignored.
 - #
 - #	NIC tuning parameters:
 - #
 - #	-DALLMULTI
 - #			Turns on multicast reception in the NICs.
 - #
 - #	Boot tuning parameters:
 - #
 - #	-DCONGESTED
 - #			Turns on packet retransmission.	 Use it on a
 - #			congested network, where the normal operation
 - #			can't boot the image.
 - #	-DBACKOFF_LIMIT
 - #			Sets the maximum RFC951 backoff exponent to n.
 - #			Do not set this unreasonably low, because on networks
 - #			with many machines they can saturate the link
 - #			(the delay corresponding to the exponent is a random
 - #			time in the range 0..3.5*2^n seconds).	Use 5 for a
 - #			VERY small network (max. 2 minutes delay), 7 for a
 - #			medium sized network (max. 7.5 minutes delay) or 10
 - #			for a really huge network with many clients, frequent
 - #			congestions (max. 1  hour delay).  On average the
 - #			delay time will be half the maximum value.  If in
 - #			doubt about the consequences, use a larger value.
 - #			Also keep in mind that the number of retransmissions
 - #			is not changed by this setting, so the default of 20
 - #			may no longer be appropriate.  You might need to set
 - #			MAX_ARP_RETRIES, MAX_BOOTP_RETRIES, MAX_TFTP_RETRIES
 - #			and MAX_RPC_RETRIES to a larger value.
 - #	-DTIMEOUT=n
 - #			Use with care!! See above.
 - #			Sets the base of RFC2131 sleep interval to n.
 - #			This can be used with -DBACKOFF_LIMIT=0 to get a small
 - #			and constant (predictable) retry interval for embedded
 - #			devices. This is to achieve short boot delays if both
 - #			the DHCP Server and the embedded device will be powered
 - #			on the same time. Otherwise if the DHCP server is ready
 - #			the client could sleep the next exponentially timeout,
 - #			e.g. 70 seconds or more. This is not what you want.
 - #			n should be a multiple of TICKS_PER_SEC (18).
 - #
 - #	Boot device options:
 - #
 - #	-DTRY_FLOPPY_FIRST
 - #			If > 0, tries that many times to read the boot
 - #			sector from a floppy drive before booting from
 - #			ROM. If successful, does a local boot.
 - #			It assumes the floppy is bootable.
 - #	-DEXIT_IF_NO_OFFER
 - #			If no IP offer is obtained, exit and
 - #			let the BIOS continue.
 - #			The accessibility of the TFTP server has no effect,
 - #			so configure your DHCP/BOOTP server properly.
 - #			You should probably reduce MAX_BOOTP_RETRIES
 - #			to a small number like 3.
 - #
 - #	Boot image options:
 - #
 - #	-DFREEBSD_KERNEL_ENV
 - #			Pass in FreeBSD kernel environment
 - #	-DAOUT_LYNX_KDI
 - #			Add Lynx a.out KDI support
 - #	-DMULTICAST_LEVEL1
 - #			Support for sending multicast packets
 - #	-DMULTICAST_LEVEL2
 - #			Support for receiving multicast packets
 - #
 - #	Interface export options:
 - #
 - #	-DPXE_EXPORT
 - #			Export a PXE API interface.  This is work in
 - #			progress.  Note that you won't be able to load
 - #			PXE NBPs unless you also use -DPXE_IMAGE.
 - #	-DPXE_STRICT
 - #			Strict(er) compliance with the PXE
 - #			specification as published by Intel.  This may
 - #                       or may not be a good thing depending on your
 - #			view of the spec...
 - #	-DPXE_DHCP_STRICT
 - #			Strict compliance of the DHCP request packets
 - #			with the PXE specification as published by
 - #			Intel.  This may or may not be a good thing
 - #			depending on your view of whether requesting
 - #			vendor options which don't actually exist is
 - #			pointless or not. You probably want this
 - #			option if you intend to use Windows RIS or
 - #			similar.
 - #
 - #	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.
 - #
 - # @/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.
 - 
 - 
 - # 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.
 - # CFLAGS+=	-DBOOT_SECOND=BOOT_FLOPPY
 - # CFLAGS+=	-DBOOT_THIRD=BOOT_DISK
 - # CFLAGS+=	-DBOOT_INDEX=0
 - 
 - # If you prefer the old style rotating bar progress display
 - # CFLAGS+=	-DBAR_PROGRESS
 - 
 - # Show size indicator
 - # CFLAGS+=	-DSIZEINDICATOR
 - 
 - # Enabling this creates non-standard images which use ports 1067 and 1068
 - # for DHCP/BOOTP
 - # CFLAGS+=	-DALTERNATE_DHCP_PORTS_1067_1068
 - 
 - # Enabling this makes the boot ROM require a Vendor Class Identifier
 - # of "Etherboot" in the Vendor Encapsulated Options
 - # This can be used to reject replies from servers other than the one
 - # we want to give out addresses to us, but it will prevent Etherboot
 - # from getting an IP lease until you have configured DHCPD correctly
 - # CFLAGS+=	-DREQUIRE_VCI_ETHERBOOT
 - 
 - # EXPERIMENTAL! Set DHCP_CLIENT_ID to create a Client Identifier (DHCP
 - # option 61, see RFC2132 section 9.14) when Etherboot sends the DHCP
 - # DISCOVER and REQUEST packets.  This ID must UNIQUELY identify each
 - # client on your local network.  Set DHCP_CLIENT_ID_TYPE to the
 - # appropriate hardware type as described in RFC2132 / RFC1700; this
 - # almost certainly means using '1' if the Client ID is an Ethernet MAC
 - # address and '0' otherwise. Set DHCP_CLIENT_ID_LEN to the length of
 - # the Client ID in octets (this is not a null terminated C string, do
 - # NOT add 1 for a terminator and do NOT add an extra 1 for the
 - # hardware type octet).  Note that to identify your client using the
 - # normal default MAC address of your NIC, you do NOT need to set this
 - # option, as the MAC address is automatically used in the
 - # hwtype/chaddr field; note also that this field only sets the DHCP
 - # option: it does NOT change the MAC address used by the client.
 - 
 - # CFLAGS+=	-DDHCP_CLIENT_ID="'C','L','I','E','N','T','0','0','1'" \
 - #		-DDHCP_CLIENT_ID_LEN=9 -DDHCP_CLIENT_ID_TYPE=0
 - 
 - # CFLAGS+=	-DDHCP_CLIENT_ID="0xDE,0xAD,0xBE,0xEF,0xDE,0xAD" \
 - #		-DDHCP_CLIENT_ID_LEN=6 -DDHCP_CLIENT_ID_TYPE=1
 - 
 - # EXPERIMENTAL! Set DHCP_USER_CLASS to create a User Class option (see
 - # RFC3004) when Etherboot sends the DHCP DISCOVER and REQUEST packets.
 - # This can be used for classification of clients, typically so that a
 - # DHCP server can send an appropriately tailored reply.  Normally, a
 - # string identifies a class of to which this client instance belongs
 - # which is useful in your network, such as a department ('FINANCE' or
 - # 'MARKETING') or hardware type ('THINCLIENT' or 'KIOSK').  Set
 - # DHCP_USER_CLASS_LEN to the length of DHCP_USER_CLASS in octets.
 - # This is NOT a null terminated C string, do NOT add 1 for a
 - # terminator.  RFC3004 advises how to lay out multiple User Class
 - # options by using an octet for the length of each string, as in this
 - # example.  It is, of course, up to the server to parse this.
 - 
 - # CFLAGS+=	-DDHCP_USER_CLASS="'T','E','S','T','C','L','A','S','S'"	\
 - #		-DDHCP_USER_CLASS_LEN=9
 - 
 - # CFLAGS+=	-DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \
 - #		-DDHCP_USER_CLASS_LEN=11
 - 
 - # Enabling this causes Etherboot to ignore Etherboot-specific options
 - # that are not within an Etherboot encapsulated options field.
 - # This option should be enabled unless you have a legacy DHCP server
 - # configuration from the bad old days before the use of
 - # encapsulated Etherboot options.
 - CFLAGS+=	-DALLOW_ONLY_ENCAPSULATED
 - 
 - # Disable DHCP support
 - # CFLAGS+=	-DNO_DHCP_SUPPORT
 - 
 - # Specify a default bootfile to be used if the DHCP server does not
 - # provide the information.  If you do not specify this option, then
 - # DHCP offers that do not contain bootfiles will be ignored.
 - # CFLAGS+=	-DDEFAULT_BOOTFILE=\"tftp:///tftpboot/kernel\"
 - 
 - # 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=5 -DCONGESTED
 - 
 - # More optional features
 - # CFLAGS+=	-DTRY_FLOPPY_FIRST=4
 - # CFLAGS+=	-DEXIT_IF_NO_OFFER
 - 
 - 
 - # Multicast Support
 - # CFLAGS+=	-DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2
 - 
 - # Etherboot as a PXE network protocol ROM
 - CFLAGS+=	-DPXE_IMAGE -DPXE_EXPORT
 - # Etherboot stricter as a PXE network protocol ROM
 - # CFLAGS+=	-DPXE_DHCP_STRICT
 - 
 - # Support for PXE emulation. Works only with FreeBSD to load the kernel
 - # via pxeboot, use only with DOWNLOAD_PROTO_NFS
 - # CFLAGS+=	-DFREEBSD_PXEEMU
 - 
 - 
 - 
 - # Garbage from Makefile.main temporarily placed here until a home can
 - # be found for it.
 - 
 - # NS8390 options:
 - #	-DINCLUDE_NE	- Include NE1000/NE2000 support
 - #	-DNE_SCAN=list	- Probe for NE base address using list of
 - #			  comma separated hex addresses
 - #	-DINCLUDE_3C503 - Include 3c503 support
 - #	  -DT503_SHMEM	- Use 3c503 shared memory mode (off by default)
 - #	-DINCLUDE_WD	- Include Western Digital/SMC support
 - #	-DWD_DEFAULT_MEM- Default memory location for WD/SMC cards
 - #	-DWD_790_PIO    - Read/write to WD/SMC 790 cards in PIO mode (default
 - #			  is to use shared memory) Try this if you get "Bogus
 - #			  packet, ignoring" messages, common on ISA/PCI hybrid
 - #			  systems.
 - #	-DCOMPEX_RL2000_FIX
 - #
 - #	If you have a Compex RL2000 PCI 32-bit (11F6:1401),
 - #	and the bootrom hangs in "Probing...[NE*000/PCI]",
 - #	try enabling this fix... it worked for me :).
 - #	In the first packet write somehow it somehow doesn't
 - #	get back the expected data so it is stuck in a loop.
 - #	I didn't bother to investigate what or why because it works
 - #	when I interrupt the loop if it takes more then COMPEX_RL2000_TRIES.
 - #	The code will notify if it does a abort.
 - #	SomniOne - somnione@gmx.net
 - #
 - # 3C90X options:
 - #	Warning Warning Warning
 - #	If you use any of the XCVR options below, please do not complain about
 - #	the behaviour with Linux drivers to the kernel developers. You are
 - #	on your own if you do this. Please read 3c90x.txt to understand
 - #	what they do. If you don't understand them, ask for help on the
 - #	Etherboot mailing list. And please document what you did to the NIC
 - #	on the NIC so that people after you won't get nasty surprises.
 - #
 - #	-DCFG_3C90X_PRESERVE_XCVR - Reset the transceiver type to the value it
 - #			  had initially just before the loaded code is started.
 - #	-DCFG_3C90X_XCVR - Hardcode the tranceiver type Etherboot uses.
 - #	-DCFG_3C90X_BOOTROM_FIX - If you have a 3c905B with buggy ROM
 - #			  interface, setting this option might "fix" it.  Use
 - #			  with caution and read the docs in 3c90x.txt!
 - #
 - #	See the documentation file 3c90x.txt for more details.
 - #
 - # CS89X0 (optional) options:
 - #	-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.
 - 
 - 
 - CFLAGS_3c503	= -DINCLUDE_3C503 # -DT503_SHMEM
 - 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
 
 
  |