head	1.102;
access;
symbols
	RELENG_8_4:1.102.0.2
	RELENG_9_1_0_RELEASE:1.95.2.2.2.2
	RELENG_9_1:1.95.2.2.0.2
	RELENG_9_1_BP:1.95.2.2
	RELENG_8_3_0_RELEASE:1.90.2.3.4.1
	RELENG_8_3:1.90.2.3.0.4
	RELENG_8_3_BP:1.90.2.3
	RELENG_9_0_0_RELEASE:1.95.2.1.2.1
	RELENG_9_0:1.95.2.1.0.2
	RELENG_9_0_BP:1.95.2.1
	RELENG_9:1.95.0.2
	RELENG_9_BP:1.95
	RELENG_7_4_0_RELEASE:1.85.2.9.2.1
	RELENG_8_2_0_RELEASE:1.90.2.3.2.1
	RELENG_7_4:1.85.2.9.0.2
	RELENG_7_4_BP:1.85.2.9
	RELENG_8_2:1.90.2.3.0.2
	RELENG_8_2_BP:1.90.2.3
	RELENG_8_1_0_RELEASE:1.90.2.2.2.1
	RELENG_8_1:1.90.2.2.0.2
	RELENG_8_1_BP:1.90.2.2
	RELENG_7_3_0_RELEASE:1.85.2.7.2.1
	RELENG_7_3:1.85.2.7.0.2
	RELENG_7_3_BP:1.85.2.7
	RELENG_8_0_0_RELEASE:1.90.2.1.2.1
	RELENG_8_0:1.90.2.1.0.2
	RELENG_8_0_BP:1.90.2.1
	RELENG_8:1.90.0.2
	RELENG_8_BP:1.90
	RELENG_7_2_0_RELEASE:1.85.2.1.2.1
	RELENG_7_2:1.85.2.1.0.2
	RELENG_7_2_BP:1.85.2.1
	RELENG_7_1_0_RELEASE:1.85.6.1
	RELENG_6_4_0_RELEASE:1.81.2.1.8.1
	RELENG_7_1:1.85.0.6
	RELENG_7_1_BP:1.85
	RELENG_6_4:1.81.2.1.0.8
	RELENG_6_4_BP:1.81.2.1
	RELENG_7_0_0_RELEASE:1.85
	RELENG_6_3_0_RELEASE:1.81.2.1
	RELENG_7_0:1.85.0.4
	RELENG_7_0_BP:1.85
	RELENG_6_3:1.81.2.1.0.6
	RELENG_6_3_BP:1.81.2.1
	RELENG_7:1.85.0.2
	RELENG_7_BP:1.85
	RELENG_6_2_0_RELEASE:1.81.2.1
	RELENG_6_2:1.81.2.1.0.4
	RELENG_6_2_BP:1.81.2.1
	RELENG_5_5_0_RELEASE:1.76
	RELENG_5_5:1.76.0.8
	RELENG_5_5_BP:1.76
	RELENG_6_1_0_RELEASE:1.81.2.1
	RELENG_6_1:1.81.2.1.0.2
	RELENG_6_1_BP:1.81.2.1
	RELENG_6_0_0_RELEASE:1.81.4.1
	RELENG_6_0:1.81.0.4
	RELENG_6_0_BP:1.81
	RELENG_6:1.81.0.2
	RELENG_6_BP:1.81
	RELENG_5_4_0_RELEASE:1.76
	RELENG_5_4:1.76.0.6
	RELENG_5_4_BP:1.76
	RELENG_4_11_0_RELEASE:1.41.2.9
	RELENG_4_11:1.41.2.9.0.6
	RELENG_4_11_BP:1.41.2.9
	RELENG_5_3_0_RELEASE:1.76
	RELENG_5_3:1.76.0.4
	RELENG_5_3_BP:1.76
	RELENG_5:1.76.0.2
	RELENG_5_BP:1.76
	RELENG_4_10_0_RELEASE:1.41.2.9
	RELENG_4_10:1.41.2.9.0.4
	RELENG_4_10_BP:1.41.2.9
	RELENG_5_2_1_RELEASE:1.66
	RELENG_5_2_0_RELEASE:1.66
	RELENG_5_2:1.66.0.2
	RELENG_5_2_BP:1.66
	RELENG_4_9_0_RELEASE:1.41.2.9
	RELENG_4_9:1.41.2.9.0.2
	RELENG_4_9_BP:1.41.2.9
	RELENG_5_1_0_RELEASE:1.65
	RELENG_5_1:1.65.0.2
	RELENG_5_1_BP:1.65
	RELENG_4_8_0_RELEASE:1.41.2.8
	RELENG_4_8:1.41.2.8.0.4
	RELENG_4_8_BP:1.41.2.8
	RELENG_5_0_0_RELEASE:1.62
	RELENG_5_0:1.62.0.2
	RELENG_5_0_BP:1.62
	RELENG_4_7_0_RELEASE:1.41.2.8
	RELENG_4_7:1.41.2.8.0.2
	RELENG_4_7_BP:1.41.2.8
	RELENG_4_6_2_RELEASE:1.41.2.7
	RELENG_4_6_1_RELEASE:1.41.2.7
	RELENG_4_6_0_RELEASE:1.41.2.7
	RELENG_4_6:1.41.2.7.0.4
	RELENG_4_6_BP:1.41.2.7
	RELENG_4_5_0_RELEASE:1.41.2.7
	RELENG_4_5:1.41.2.7.0.2
	RELENG_4_5_BP:1.41.2.7
	RELENG_4_4_0_RELEASE:1.41.2.6
	RELENG_4_4:1.41.2.6.0.4
	RELENG_4_4_BP:1.41.2.6
	KSE_MILESTONE_2:1.52
	KSE_PRE_MILESTONE_2:1.52
	RELENG_4_3_0_RELEASE:1.41.2.6
	RELENG_4_3:1.41.2.6.0.2
	RELENG_4_3_BP:1.41.2.6
	RELENG_4_2_0_RELEASE:1.41.2.5
	RELENG_4_1_1_RELEASE:1.41.2.4
	PRE_SMPNG:1.46
	RELENG_4_1_0_RELEASE:1.41.2.3
	RELENG_3_5_0_RELEASE:1.28.2.5
	RELENG_4_0_0_RELEASE:1.41
	RELENG_4:1.41.0.2
	RELENG_4_BP:1.41
	RELENG_3_4_0_RELEASE:1.28.2.4
	RELENG_3_3_0_RELEASE:1.28.2.4
	RELENG_3_2_PAO:1.28.2.3.0.2
	RELENG_3_2_PAO_BP:1.28.2.3
	RELENG_3_2_0_RELEASE:1.28.2.3
	POST_VFS_BIO_NFS_PATCH:1.34
	PRE_VFS_BIO_NFS_PATCH:1.34
	POST_SMP_VMSHARE:1.34
	PRE_SMP_VMSHARE:1.34
	POST_NEWBUS:1.31
	PRE_NEWBUS:1.31
	RELENG_3_1_0_RELEASE:1.28
	RELENG_3:1.28.0.2
	RELENG_3_BP:1.28
	RELENG_3_0_0_RELEASE:1.12
	initial:1.1.1.1
	MSMITH:1.1.1;
locks; strict;
comment	@# @;


1.102
date	2012.11.17.01.51.18;	author svnexp;	state Exp;
branches
	1.102.2.1;
next	1.101;

1.101
date	2012.11.07.02.14.03;	author dteske;	state Exp;
branches;
next	1.100;

1.100
date	2012.09.30.12.24.15;	author ae;	state Exp;
branches;
next	1.99;

1.99
date	2012.08.05.14.38.53;	author ae;	state Exp;
branches;
next	1.98;

1.98
date	2012.05.17.10.11.18;	author gber;	state Exp;
branches;
next	1.97;

1.97
date	2012.05.09.08.07.08;	author avg;	state Exp;
branches;
next	1.96;

1.96
date	2011.11.19.14.42.06;	author miwi;	state Exp;
branches;
next	1.95;

1.95
date	2011.05.28.08.50.38;	author julian;	state Exp;
branches
	1.95.2.1;
next	1.94;

1.94
date	2010.08.31.19.01.12;	author delphij;	state Exp;
branches;
next	1.93;

1.93
date	2010.08.23.01.42.09;	author imp;	state Exp;
branches;
next	1.92;

1.92
date	2010.07.22.18.57.47;	author rpaulo;	state Exp;
branches;
next	1.91;

1.91
date	2009.11.23.16.00.16;	author rnoland;	state Exp;
branches;
next	1.90;

1.90
date	2009.03.09.17.16.29;	author jhb;	state Exp;
branches
	1.90.2.1;
next	1.89;

1.89
date	2009.02.21.15.04.31;	author ru;	state Exp;
branches;
next	1.88;

1.88
date	2008.11.18.03.55.55;	author ache;	state Exp;
branches;
next	1.87;

1.87
date	2008.11.17.20.49.29;	author pjd;	state Exp;
branches;
next	1.86;

1.86
date	2008.06.25.21.33.28;	author ru;	state Exp;
branches;
next	1.85;

1.85
date	2007.05.29.14.35.57;	author simokawa;	state Exp;
branches
	1.85.2.1
	1.85.6.1;
next	1.84;

1.84
date	2006.11.02.00.26.44;	author marcel;	state Exp;
branches;
next	1.83;

1.83
date	2006.03.17.18.54.35;	author ru;	state Exp;
branches;
next	1.82;

1.82
date	2005.10.30.05.41.42;	author scottl;	state Exp;
branches;
next	1.81;

1.81
date	2005.06.01.15.32.57;	author obrien;	state Exp;
branches
	1.81.2.1
	1.81.4.1;
next	1.80;

1.80
date	2005.05.31.21.16.50;	author obrien;	state Exp;
branches;
next	1.79;

1.79
date	2004.12.21.12.32.14;	author ru;	state Exp;
branches;
next	1.78;

1.78
date	2004.11.29.09.31.04;	author ru;	state Exp;
branches;
next	1.77;

1.77
date	2004.11.29.01.32.10;	author scottl;	state Exp;
branches;
next	1.76;

1.76
date	2004.02.27.14.10.09;	author ru;	state Exp;
branches;
next	1.75;

1.75
date	2004.02.12.21.43.50;	author ru;	state Exp;
branches;
next	1.74;

1.74
date	2004.02.11.22.25.25;	author ru;	state Exp;
branches;
next	1.73;

1.73
date	2004.02.09.14.11.57;	author ru;	state Exp;
branches;
next	1.72;

1.72
date	2004.02.07.23.30.45;	author ru;	state Exp;
branches;
next	1.71;

1.71
date	2004.02.07.14.32.06;	author ru;	state Exp;
branches;
next	1.70;

1.70
date	2004.02.07.08.10.07;	author ru;	state Exp;
branches;
next	1.69;

1.69
date	2004.02.06.21.58.32;	author ru;	state Exp;
branches;
next	1.68;

1.68
date	2004.02.06.12.58.31;	author ru;	state Exp;
branches;
next	1.67;

1.67
date	2004.02.06.12.45.27;	author ru;	state Exp;
branches;
next	1.66;

1.66
date	2003.06.26.03.51.57;	author peter;	state Exp;
branches;
next	1.65;

1.65
date	2003.05.31.05.25.17;	author scottl;	state Exp;
branches;
next	1.64;

1.64
date	2003.05.30.09.29.24;	author scottl;	state Exp;
branches;
next	1.63;

1.63
date	2003.01.18.23.09.56;	author obrien;	state Exp;
branches;
next	1.62;

1.62
date	2002.08.30.14.59.47;	author jhb;	state Exp;
branches;
next	1.61;

1.61
date	2002.08.29.23.37.44;	author peter;	state Exp;
branches;
next	1.60;

1.60
date	2002.08.29.02.02.28;	author peter;	state Exp;
branches;
next	1.59;

1.59
date	2002.06.21.11.00.00;	author phk;	state Exp;
branches;
next	1.58;

1.58
date	2002.06.21.06.18.01;	author mckusick;	state Exp;
branches;
next	1.57;

1.57
date	2002.05.10.00.53.45;	author obrien;	state Exp;
branches;
next	1.56;

1.56
date	2002.04.17.16.56.36;	author ru;	state Exp;
branches;
next	1.55;

1.55
date	2002.03.28.19.09.44;	author obrien;	state Exp;
branches;
next	1.54;

1.54
date	2001.09.18.14.52.36;	author sobomax;	state Exp;
branches;
next	1.53;

1.53
date	2001.09.12.10.25.46;	author ru;	state Exp;
branches;
next	1.52;

1.52
date	2001.08.22.08.02.01;	author peter;	state Exp;
branches;
next	1.51;

1.51
date	2001.08.22.05.29.25;	author peter;	state Exp;
branches;
next	1.50;

1.50
date	2001.06.21.00.08.22;	author peter;	state Exp;
branches;
next	1.49;

1.49
date	2000.12.13.17.10.38;	author rnordier;	state Exp;
branches;
next	1.48;

1.48
date	2000.11.04.08.43.13;	author ps;	state Exp;
branches;
next	1.47;

1.47
date	2000.09.08.04.26.55;	author imp;	state Exp;
branches;
next	1.46;

1.46
date	2000.05.19.08.41.45;	author dcs;	state Exp;
branches;
next	1.45;

1.45
date	2000.04.26.19.54.49;	author jhb;	state Exp;
branches;
next	1.44;

1.44
date	2000.04.21.22.06.02;	author ps;	state Exp;
branches;
next	1.43;

1.43
date	2000.04.08.01.22.13;	author ps;	state Exp;
branches;
next	1.42;

1.42
date	2000.03.28.01.19.50;	author jhb;	state Exp;
branches;
next	1.41;

1.41
date	2000.02.04.20.57.09;	author luigi;	state Exp;
branches
	1.41.2.1;
next	1.40;

1.40
date	2000.01.30.06.56.27;	author jhb;	state Exp;
branches;
next	1.39;

1.39
date	2000.01.28.15.19.22;	author jhb;	state Exp;
branches;
next	1.38;

1.38
date	2000.01.27.21.21.01;	author jhb;	state Exp;
branches;
next	1.37;

1.37
date	99.11.23.16.30.48;	author dcs;	state Exp;
branches;
next	1.36;

1.36
date	99.08.28.00.40.18;	author peter;	state Exp;
branches;
next	1.35;

1.35
date	99.06.29.21.23.21;	author peter;	state Exp;
branches;
next	1.34;

1.34
date	99.04.24.17.49.47;	author dcs;	state Exp;
branches;
next	1.33;

1.33
date	99.04.24.17.25.35;	author dcs;	state Exp;
branches;
next	1.32;

1.32
date	99.04.18.09.21.12;	author dcs;	state Exp;
branches;
next	1.31;

1.31
date	99.03.15.08.52.23;	author dcs;	state Exp;
branches;
next	1.30;

1.30
date	99.03.10.03.34.14;	author dcs;	state Exp;
branches;
next	1.29;

1.29
date	99.02.24.01.37.23;	author msmith;	state Exp;
branches;
next	1.28;

1.28
date	99.01.18.19.05.27;	author msmith;	state Exp;
branches
	1.28.2.1;
next	1.27;

1.27
date	99.01.11.05.52.28;	author msmith;	state Exp;
branches;
next	1.26;

1.26
date	99.01.10.20.20.27;	author msmith;	state Exp;
branches;
next	1.25;

1.25
date	99.01.09.20.14.46;	author msmith;	state Exp;
branches;
next	1.24;

1.24
date	99.01.09.02.38.40;	author msmith;	state Exp;
branches;
next	1.23;

1.23
date	99.01.04.01.28.46;	author msmith;	state Exp;
branches;
next	1.22;

1.22
date	99.01.03.20.50.35;	author msmith;	state Exp;
branches;
next	1.21;

1.21
date	98.12.16.02.27.15;	author msmith;	state Exp;
branches;
next	1.20;

1.20
date	98.12.15.14.21.30;	author msmith;	state Exp;
branches;
next	1.19;

1.19
date	98.11.12.07.40.51;	author jkh;	state Exp;
branches;
next	1.18;

1.18
date	98.11.04.03.42.36;	author msmith;	state Exp;
branches;
next	1.17;

1.17
date	98.11.04.02.36.18;	author jkh;	state Exp;
branches;
next	1.16;

1.16
date	98.11.04.00.30.47;	author msmith;	state Exp;
branches;
next	1.15;

1.15
date	98.10.23.22.32.27;	author msmith;	state Exp;
branches;
next	1.14;

1.14
date	98.10.22.20.23.58;	author msmith;	state Exp;
branches;
next	1.13;

1.13
date	98.10.21.20.10.33;	author msmith;	state Exp;
branches;
next	1.12;

1.12
date	98.10.14.07.08.16;	author peter;	state Exp;
branches;
next	1.11;

1.11
date	98.10.12.01.03.00;	author rnordier;	state Exp;
branches;
next	1.10;

1.10
date	98.10.07.02.39.32;	author msmith;	state Exp;
branches;
next	1.9;

1.9
date	98.10.01.09.57.09;	author jkh;	state Exp;
branches;
next	1.8;

1.8
date	98.09.30.22.37.47;	author peter;	state Exp;
branches;
next	1.7;

1.7
date	98.09.26.01.31.10;	author msmith;	state Exp;
branches;
next	1.6;

1.6
date	98.09.25.17.14.16;	author peter;	state Exp;
branches;
next	1.5;

1.5
date	98.09.19.01.35.53;	author msmith;	state Exp;
branches;
next	1.4;

1.4
date	98.09.18.02.03.29;	author msmith;	state Exp;
branches;
next	1.3;

1.3
date	98.09.17.23.52.15;	author msmith;	state Exp;
branches;
next	1.2;

1.2
date	98.09.14.18.27.06;	author msmith;	state Exp;
branches;
next	1.1;

1.1
date	98.08.21.03.17.41;	author msmith;	state Exp;
branches
	1.1.1.1;
next	;

1.102.2.1
date	2012.11.17.01.51.18;	author svnexp;	state dead;
branches;
next	1.102.2.2;

1.102.2.2
date	2013.03.28.13.04.02;	author svnexp;	state Exp;
branches;
next	;

1.95.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.95.2.1.2.1;
next	1.95.2.2;

1.95.2.2
date	2012.06.29.10.08.31;	author avg;	state Exp;
branches
	1.95.2.2.2.1;
next	1.95.2.3;

1.95.2.3
date	2012.11.17.11.36.47;	author svnexp;	state Exp;
branches;
next	1.95.2.4;

1.95.2.4
date	2012.11.18.17.11.47;	author svnexp;	state Exp;
branches;
next	1.95.2.5;

1.95.2.5
date	2013.08.09.15.01.43;	author svnexp;	state Exp;
branches;
next	;

1.95.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.95.2.1.2.2;

1.95.2.1.2.2
date	2012.11.17.08.36.46;	author svnexp;	state Exp;
branches;
next	;

1.95.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.95.2.2.2.2;

1.95.2.2.2.2
date	2012.11.17.08.47.36;	author svnexp;	state Exp;
branches;
next	;

1.90.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.90.2.1.2.1;
next	1.90.2.2;

1.90.2.2
date	2009.12.07.16.37.02;	author rnoland;	state Exp;
branches
	1.90.2.2.2.1;
next	1.90.2.3;

1.90.2.3
date	2010.09.07.18.14.59;	author delphij;	state Exp;
branches
	1.90.2.3.2.1
	1.90.2.3.4.1;
next	1.90.2.4;

1.90.2.4
date	2012.06.29.10.07.16;	author avg;	state Exp;
branches;
next	1.90.2.5;

1.90.2.5
date	2012.11.17.10.36.27;	author svnexp;	state Exp;
branches;
next	;

1.90.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.90.2.2.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.90.2.3.2.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.90.2.3.4.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.90.2.3.4.2;

1.90.2.3.4.2
date	2012.11.17.08.25.07;	author svnexp;	state Exp;
branches;
next	;

1.85.2.1
date	2009.03.19.17.02.10;	author jhb;	state Exp;
branches
	1.85.2.1.2.1;
next	1.85.2.2;

1.85.2.2
date	2009.05.23.19.54.18;	author kmacy;	state Exp;
branches;
next	1.85.2.3;

1.85.2.3
date	2009.06.05.12.00.55;	author kmacy;	state Exp;
branches;
next	1.85.2.4;

1.85.2.4
date	2009.06.05.12.14.43;	author kmacy;	state Exp;
branches;
next	1.85.2.5;

1.85.2.5
date	2009.06.10.01.18.07;	author kmacy;	state Exp;
branches;
next	1.85.2.6;

1.85.2.6
date	2009.06.13.22.02.55;	author kmacy;	state Exp;
branches;
next	1.85.2.7;

1.85.2.7
date	2009.12.07.17.15.36;	author rnoland;	state Exp;
branches
	1.85.2.7.2.1;
next	1.85.2.8;

1.85.2.8
date	2010.03.23.21.39.33;	author jhb;	state Exp;
branches;
next	1.85.2.9;

1.85.2.9
date	2010.09.07.18.14.50;	author delphij;	state Exp;
branches
	1.85.2.9.2.1;
next	1.85.2.10;

1.85.2.10
date	2012.11.17.08.04.54;	author svnexp;	state Exp;
branches;
next	;

1.85.2.1.2.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.85.2.7.2.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.85.2.9.2.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.85.2.9.2.2;

1.85.2.9.2.2
date	2012.11.17.08.17.05;	author svnexp;	state Exp;
branches;
next	;

1.85.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.81.2.1
date	2005.10.30.14.37.02;	author scottl;	state Exp;
branches
	1.81.2.1.8.1;
next	1.81.2.2;

1.81.2.2
date	2009.03.19.17.14.00;	author jhb;	state Exp;
branches;
next	1.81.2.3;

1.81.2.3
date	2012.11.17.07.42.39;	author svnexp;	state Exp;
branches;
next	;

1.81.2.1.8.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.81.4.1
date	2005.10.30.14.40.39;	author scottl;	state Exp;
branches;
next	;

1.41.2.1
date	2000.04.15.03.09.45;	author ps;	state Exp;
branches;
next	1.41.2.2;

1.41.2.2
date	2000.05.04.13.51.31;	author ps;	state Exp;
branches;
next	1.41.2.3;

1.41.2.3
date	2000.07.06.23.27.27;	author obrien;	state Exp;
branches;
next	1.41.2.4;

1.41.2.4
date	2000.09.10.01.46.51;	author ps;	state Exp;
branches;
next	1.41.2.5;

1.41.2.5
date	2000.10.27.18.14.42;	author dillon;	state Exp;
branches;
next	1.41.2.6;

1.41.2.6
date	2000.12.19.01.18.34;	author rnordier;	state Exp;
branches;
next	1.41.2.7;

1.41.2.7
date	2001.10.18.11.35.54;	author sobomax;	state Exp;
branches;
next	1.41.2.8;

1.41.2.8
date	2002.07.17.12.34.16;	author ru;	state Exp;
branches;
next	1.41.2.9;

1.41.2.9
date	2003.06.24.08.06.57;	author ru;	state Exp;
branches;
next	1.41.2.10;

1.41.2.10
date	2012.11.17.07.25.21;	author svnexp;	state Exp;
branches;
next	;

1.28.2.1
date	99.02.24.01.37.46;	author msmith;	state Exp;
branches;
next	1.28.2.2;

1.28.2.2
date	99.03.15.08.57.48;	author dcs;	state Exp;
branches;
next	1.28.2.3;

1.28.2.3
date	99.04.24.17.44.43;	author dcs;	state Exp;
branches;
next	1.28.2.4;

1.28.2.4
date	99.08.29.16.21.06;	author peter;	state Exp;
branches;
next	1.28.2.5;

1.28.2.5
date	2000.02.05.10.41.47;	author luigi;	state Exp;
branches;
next	;

1.1.1.1
date	98.08.21.03.17.41;	author msmith;	state Exp;
branches;
next	;


desc
@@


1.102
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/boot/i386/loader/Makefile 242688 2012-11-07 02:14:03Z dteske $

.include <bsd.own.mk>
MK_SSP=		no

LOADER?=	loader
PROG=		${LOADER}.sym
INTERNALPROG=
NEWVERSWHAT?=	"bootstrap loader" x86

# architecture-specific loader code
SRCS=		main.c conf.c vers.c

# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support
.if defined(LOADER_FIREWIRE_SUPPORT)
CFLAGS+=	-DLOADER_FIREWIRE_SUPPORT
LIBFIREWIRE=	${.OBJDIR}/../libfirewire/libfirewire.a
.endif

# Set by zfsloader Makefile
.if defined(LOADER_ZFS_SUPPORT)
CFLAGS+=	-DLOADER_ZFS_SUPPORT
LIBZFSBOOT=	${.OBJDIR}/../../zfs/libzfsboot.a
.endif

# Enable PXE TFTP or NFS support, not both.
.if defined(LOADER_TFTP_SUPPORT)
CFLAGS+=	-DLOADER_TFTP_SUPPORT
.else
CFLAGS+=	-DLOADER_NFS_SUPPORT
.endif

# Include bcache code.
HAVE_BCACHE=	yes

# Enable PnP and ISA-PnP code.
HAVE_PNP=	yes
HAVE_ISABUS=	yes

.if ${MK_FORTH} != "no"
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

.if defined(LOADER_BZIP2_SUPPORT)
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
.if !defined(LOADER_NO_GZIP_SUPPORT)
CFLAGS+=	-DLOADER_GZIP_SUPPORT
.endif
.if defined(LOADER_NANDFS_SUPPORT)
CFLAGS+=	-DLOADER_NANDFS_SUPPORT
.endif

# Always add MI sources
.PATH:		${.CURDIR}/../../common
.include	"${.CURDIR}/../../common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../common
CFLAGS+=	-I.

CLEANFILES=	vers.c ${LOADER} ${LOADER}.bin loader.help

CFLAGS+=	-Wall
LDFLAGS=	-static -Ttext 0x0

# i386 standalone support library
LIBI386=	${.OBJDIR}/../libi386/libi386.a
CFLAGS+=	-I${.CURDIR}/..

# BTX components
CFLAGS+=	-I${.CURDIR}/../btx/lib

# Debug me!
#CFLAGS+=	-g
#LDFLAGS+=	-g

# Pick up ../Makefile.inc early.
.include <bsd.init.mk>

vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \
		${NEWVERSWHAT}

${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
		-b ${BTXKERN} ${LOADER}.bin

${LOADER}.bin: ${LOADER}.sym
	cp ${.ALLSRC} ${.TARGET}
	strip -R .comment -R .note ${.TARGET}

loader.help: help.common help.i386
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}

FILES=	${LOADER}
# XXX INSTALLFLAGS_loader= -b
FILESMODE_${LOADER}= ${BINMODE} -b

.if !defined(LOADER_ONLY)
.PATH: ${.CURDIR}/../../forth
FILES+=	loader.help loader.4th support.4th loader.conf
FILES+= screen.4th frames.4th beastie.4th
FILES+= brand.4th check-password.4th color.4th delay.4th
FILES+= menu.4th menu-commands.4th menusets.4th shortcuts.4th version.4th
FILESDIR_loader.conf=	/boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+=	loader.rc
.endif
.if !exists(${DESTDIR}/boot/menu.rc)
FILES+= menu.rc
.endif
.endif

# XXX crt0.o needs to be first for pxeboot(8) to work
OBJS=	${BTXCRT}

DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}

.include <bsd.prog.mk>

.if ${MACHINE_CPUARCH} == "amd64"
beforedepend ${OBJS}: machine
CLEANFILES+=	machine
CFLAGS+=	-DLOADER_PREFER_AMD64
machine:
	ln -sf ${.CURDIR}/../../../i386/include machine
.endif
@


1.102.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:04:02 +0000
@
text
@d1 131
@


1.102.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 125
# $FreeBSD: releng/8.4/sys/boot/i386/loader/Makefile 237759 2012-06-29 10:07:16Z avg $

.include <bsd.own.mk>
MK_SSP=		no

LOADER?=	loader
PROG=		${LOADER}.sym
INTERNALPROG=
NEWVERSWHAT?=	"bootstrap loader" x86

# architecture-specific loader code
SRCS=		main.c conf.c vers.c

# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support
.if defined(LOADER_FIREWIRE_SUPPORT)
CFLAGS+=	-DLOADER_FIREWIRE_SUPPORT
LIBFIREWIRE=	${.OBJDIR}/../libfirewire/libfirewire.a
.endif

# Set by zfsloader Makefile
.if defined(LOADER_ZFS_SUPPORT)
CFLAGS+=	-DLOADER_ZFS_SUPPORT
LIBZFSBOOT=	${.OBJDIR}/../../zfs/libzfsboot.a
.endif

# Enable PXE TFTP or NFS support, not both.
.if defined(LOADER_TFTP_SUPPORT)
CFLAGS+=	-DLOADER_TFTP_SUPPORT
.else
CFLAGS+=	-DLOADER_NFS_SUPPORT
.endif

# Include bcache code.
HAVE_BCACHE=	yes

# Enable PnP and ISA-PnP code.
HAVE_PNP=	yes
HAVE_ISABUS=	yes

.if ${MK_FORTH} != "no"
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

.if defined(LOADER_BZIP2_SUPPORT)
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
.if !defined(LOADER_NO_GZIP_SUPPORT)
CFLAGS+=	-DLOADER_GZIP_SUPPORT
.endif
.if !defined(LOADER_NO_GPT_SUPPORT)
CFLAGS+=	-DLOADER_GPT_SUPPORT
.endif

# Always add MI sources 
.PATH:		${.CURDIR}/../../common
.include	"${.CURDIR}/../../common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../common
CFLAGS+=	-I.

CLEANFILES=	vers.c ${LOADER} ${LOADER}.bin loader.help

CFLAGS+=	-Wall
LDFLAGS=	-static -Ttext 0x0

# i386 standalone support library
LIBI386=	${.OBJDIR}/../libi386/libi386.a
CFLAGS+=	-I${.CURDIR}/..

# BTX components
CFLAGS+=	-I${.CURDIR}/../btx/lib

# Debug me!
#CFLAGS+=	-g
#LDFLAGS+=	-g

# Pick up ../Makefile.inc early.
.include <bsd.init.mk>

vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \
		${NEWVERSWHAT}

${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
		-b ${BTXKERN} ${LOADER}.bin

${LOADER}.bin: ${LOADER}.sym
	cp ${.ALLSRC} ${.TARGET}
	strip -R .comment -R .note ${.TARGET}

loader.help: help.common help.i386
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}

FILES=	${LOADER}
# XXX INSTALLFLAGS_loader= -b
FILESMODE_${LOADER}= ${BINMODE} -b

.if !defined(LOADER_ONLY)
.PATH: ${.CURDIR}/../../forth 
FILES+=	loader.help loader.4th support.4th loader.conf
FILES+= screen.4th frames.4th beastie.4th
FILESDIR_loader.conf=	/boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+=	loader.rc
.endif
.endif

# XXX crt0.o needs to be first for pxeboot(8) to work
OBJS=	${BTXCRT} 

DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} -lstand

.include <bsd.prog.mk>

.if ${MACHINE_ARCH} == "amd64"
beforedepend ${OBJS}: machine
CLEANFILES+=	machine
machine:
	ln -sf ${.CURDIR}/../../../i386/include machine
.endif
@


1.101
log
@SVN rev 242688 on 2012-11-07 02:14:03Z by dteske

Hook in new files menusets.4th and manual.

Approved by:	adrian (co-mentor) (implicit)
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.100
log
@SVN rev 241068 on 2012-09-30 12:24:15Z by ae

Reduce the number of attempts to detect proper kld format for the amd64
loader.
@
text
@d106 1
a106 1
FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th
@


1.99
log
@SVN rev 239067 on 2012-08-05 14:38:53Z by ae

Remove unneeded flag.
@
text
@d128 1
@


1.98
log
@SVN rev 235537 on 2012-05-17 10:11:18Z by gber

Import work done under project/nand (@@235533) into head.

The NAND Flash environment consists of several distinct components:
  - NAND framework (drivers harness for NAND controllers and NAND chips)
  - NAND simulator (NANDsim)
  - NAND file system (NAND FS)
  - Companion tools and utilities
  - Documentation (manual pages)

This work is still experimental. Please use with caution.

Obtained from: Semihalf
Supported by:  FreeBSD Foundation, Juniper Networks
@
text
@a52 3
.if !defined(LOADER_NO_GPT_SUPPORT)
CFLAGS+=	-DLOADER_GPT_SUPPORT
.endif
@


1.97
log
@SVN rev 235156 on 2012-05-09 08:07:08Z by avg

i386 zfsloader: rename LIBZFS to LIBZFSBOOT

... to avoid name clash with the other libzfs

MFC after:	1 month
@
text
@d56 3
@


1.96
log
@SVN rev 227726 on 2011-11-19 14:42:06Z by miwi

- Whitespaces fixed only

Approved by:	rwatson (mentor)
@
text
@d23 1
a23 3
LIBZFS=		${.OBJDIR}/../../zfs/libzfsboot.a
.else
LIBZFS=
d120 2
a121 2
DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} ${LIBSTAND}
@


1.95
log
@SVN rev 222417 on 2011-05-28 08:50:38Z by julian

New boot loader menus from Devin Teske.
Discussed on hackers and recommended for inclusion into 9.0 at the devsummit.
All support email to devin   dteske at vicor dot ignoreme dot com .

Submitted by:	dteske at vicor dot ignoreme dot com
Reviewed by:	me and many others
@
text
@d59 1
a59 1
# Always add MI sources 
d104 1
a104 1
.PATH: ${.CURDIR}/../../forth 
d120 1
a120 1
OBJS=	${BTXCRT} 
@


1.95.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.95.2.2
log
@SVN rev 237760 on 2012-06-29 10:08:31Z by avg

MFC r235156: i386 zfsloader: rename LIBZFS to LIBZFSBOOT
@
text
@d23 3
a25 1
LIBZFSBOOT=	${.OBJDIR}/../../zfs/libzfsboot.a
d122 2
a123 2
DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}
@


1.95.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/i386/loader/Makefile 237760 2012-06-29 10:08:31Z avg $
@


1.95.2.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 243243
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r243243 | ae | 2012-11-18 17:09:29 +0000 (Sun, 18 Nov 2012) | 135 lines
## SVN ##
## SVN ## MFC 239054,239057,239058,239060,239066,239067,239068,239070,239073,
## SVN ##     239087,239088,239127,239210,239211,239230,239231,239232,239243,
## SVN ##     239292,239293,239294,239325,240272,240273,240274,240275,240276,
## SVN ##     240277,240335,240481,241023,241047,241053,241065,241068,241069,
## SVN ##     241070,241164,241809,241876
## SVN ##
## SVN ## 239054:
## SVN ##   Create the interface to work with various partition tables from the
## SVN ##   loader(8). The following partition tables are supported: BSD label, GPT,
## SVN ##   MBR, EBR and VTOC8.
## SVN ## 239057:
## SVN ##   Remove unused variables.
## SVN ## 239058:
## SVN ##   Introduce new API to work with disks from the loader's drivers.
## SVN ##   It uses new API from the part.c to work with partition tables.
## SVN ## 239060:
## SVN ##   When GPT signature is invalid in the primary GPT header, then try to
## SVN ##   read backup GPT header.
## SVN ## 239066:
## SVN ##   Add offset field to the i386_devdesc structure to be compatible with
## SVN ##   disk_devdesc structure. Update biosdisk driver to the new disk API.
## SVN ## 239067:
## SVN ##   Remove unneeded flag.
## SVN ## 239068:
## SVN ##   Teach the ZFS use new partitions API when probing.
## SVN ##   Note: now ZFS does probe only for partitions with type "freebsd-zfs"
## SVN ##   and "freebsd".
## SVN ## 239070:
## SVN ##   Add simple test program that uses the partition tables handling code.
## SVN ##   It is useful to test and debug how boot loader handles partition tables
## SVN ##   metadata.
## SVN ## 239073:
## SVN ##   Bump USERBOOT_VERSION.
## SVN ## 239087:
## SVN ##   Add to the debug output the offset from the parent partitioning scheme.
## SVN ## 239088:
## SVN ##   Fix start offset calculation for the EBR partitions.
## SVN ## 239127:
## SVN ##   As it turned out, there are some installations, where BSD label
## SVN ##   contains partitions with type zero. And it has worked.
## SVN ##   So, allow detect these partitions.
## SVN ## 239210:
## SVN ##   Add more debug messages.
## SVN ## 239211:
## SVN ##   Add another debug message.
## SVN ## 239230:
## SVN ##   Unbreak booting from the true dedicated disks.
## SVN ##   When we open the disk, check the type of partition table, that has
## SVN ##   been detected. If this is BSD label, then we assume this is DD mode.
## SVN ## 239231:
## SVN ##   Remove colons from the debug message, device name returned by the
## SVN ##   disk_fmtdev() already has the colons.
## SVN ## 239232:
## SVN ##   Restore the old behaviour. If requested partition is a BSD slice,
## SVN ##   but d_partition isn't explicitly set, then try to open BSD label and its
## SVN ##   first partition.
## SVN ## 239243:
## SVN ##   After r239066, reinitialize v86.ctl and v86.addr for int 13 EDD probing
## SVN ##   in sys/boot/i386/libi386/biosdisk.c.  Otherwise, when DISK_DEBUG is
## SVN ##   enabled, the DEBUG() macros will clobber those fields, and cause the
## SVN ##   probing to always fail mysteriously when debugging is enabled.
## SVN ## 239292:
## SVN ##   Explicitly terminate the string after strncpy(3).
## SVN ## 239293:
## SVN ##   Rework r239232 to unbreak ZFS detection on MBR slices.
## SVN ## 239294:
## SVN ##   Some BIOSes return incorrect number of sectors, make checks less
## SVN ##   strictly, to do not lost some partitions.
## SVN ## 239325:
## SVN ##   Add comment why the code has been disabled.
## SVN ## 240272:
## SVN ##   Make struct uboot_devdesc compatible with struct disk_devdesc.
## SVN ## 240273:
## SVN ##   Use disk_fmtdev() and disk_parsedev() functions from the new DISK API.
## SVN ## 240274:
## SVN ##   Update uboot's disk driver to use new DISK API.
## SVN ## 240275:
## SVN ##   Build disk.c only when DISK_SUPPORT is enabled.
## SVN ## 240276:
## SVN ##   Update according to the change of struct uboot_devdesc.
## SVN ## 240277:
## SVN ##   Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr.
## SVN ## 240335:
## SVN ##   Slightly reduce an overhead for the open() call in the zfsloader.
## SVN ##   libstand(3) tries to detect file system in the predefined order,
## SVN ##   but zfsloader usually is used for the booting from ZFS, and there is
## SVN ##   no need to try detect several file system types for each open() call.
## SVN ## 240481:
## SVN ##   The MBR data is not necessarily aligned.  This is a problem on ARM.
## SVN ## 241023:
## SVN ##   Make the loader a bit smarter, when it tries to open disk and the slice
## SVN ##   number is not exactly specified. When the disk has MBR, also try to read
## SVN ##   BSD label after ptable_getpart() call. When the disk has GPT, also set
## SVN ##   d_partition to 255.  Mostly, this is how it worked before.
## SVN ## 241047:
## SVN ##   Disable splitfs support, since we aren't support floppies for a long
## SVN ##   time. This slightly reduces an overhead, when loader tries to open
## SVN ##   file that doesn't exist.
## SVN ## 241053:
## SVN ##   Almost each time when loader opens a file, this leads to calling
## SVN ##   disk_open(). Very often this is called several times for one file.
## SVN ##   This leads to reading partition table metadata for each call. To
## SVN ##   reduce the number of disk I/O we have a simple block cache, but it
## SVN ##   is very dumb and more than half of I/O operations related to reading
## SVN ##   metadata, misses this cache.
## SVN ##
## SVN ##   Introduce new cache layer to resolve this problem. It is independent
## SVN ##   and doesn't need initialization like bcache, and will work by default
## SVN ##   for all loaders which use the new DISK API. A successful disk_open()
## SVN ##   call to each new disk or partition produces new entry in the cache.
## SVN ##   Even more, when disk was already open, now opening of any nested
## SVN ##   partitions does not require reading top level partition table.
## SVN ##   So, if without this cache, partition table metadata was read around
## SVN ##   20-50 times during boot, now it reads only once. This affects the booting
## SVN ##   from GPT and MBR from the UFS.
## SVN ## 241065:
## SVN ##   Fix disk_cleanup() to work without DISK_DEBUG too.
## SVN ## 241068:
## SVN ##   Reduce the number of attempts to detect proper kld format for the amd64
## SVN ##   loader.
## SVN ## 241069:
## SVN ##   Remember the file format of the last loaded module and try to use it for
## SVN ##   next files.
## SVN ## 241070:
## SVN ##   Fix the style.
## SVN ## 241164:
## SVN ##   Replace all references to loader_callbacks_v1 with loader_callbacks.
## SVN ## 241809:
## SVN ##   Add the flags parameter to the disk_open() function and DISK_F_NOCACHE
## SVN ##   flag, that disables the caching of partition tables metadata.
## SVN ##   Use this flag for floppies in the libi386/biosdisk driver.
## SVN ## 241876:
## SVN ##   When loader tries to open GPT partition, but partition table is not GPT,
## SVN ##   then try automatically detect an appropriate partition type.
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/i386/loader/Makefile 243243 2012-11-18 17:09:29Z ae $
d53 3
a127 1
CFLAGS+=	-DLOADER_PREFER_AMD64
@


1.95.2.5
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/254146
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/i386/loader/Makefile 254146 2013-08-09 14:17:47Z dteske $
d103 1
a103 1
FILES+= menu.4th menu-commands.4th menusets.4th shortcuts.4th version.4th
@


1.95.2.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.95.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/i386/loader/Makefile 237760 2012-06-29 10:08:31Z avg $
@


1.95.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.95.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/i386/loader/Makefile 222417 2011-05-28 08:50:38Z julian $
@


1.94
log
@SVN rev 212066 on 2010-08-31 19:01:12Z by delphij

For consistency, change all 'i386' and MACHINE_ARCH to x86.

Reviewed by:	jhb
MFC after:	1 week
@
text
@d107 2
d114 3
@


1.93
log
@SVN rev 211677 on 2010-08-23 01:42:09Z by imp

MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH
@
text
@d9 1
a9 1
NEWVERSWHAT?=	"bootstrap loader" i386
@


1.92
log
@SVN rev 210387 on 2010-07-22 18:57:47Z by rpaulo

Correctly setup LDADD with regards to libstand. The submitter points
out that "on amd64, libstand.a is compiled for i386, but is still installed
under ${WORLDTMP}/usr/lib instead of ${WORLDTMP}/usr/lib32.  Even if it
would be installed there, ld on amd64 is set up incorrectly with a
${TOOLS_PREFIX}/usr/lib/i386 default path, so it wouldn't link.  The reason
it does link under gcc is that gcc passes -L${WORLDTMP}/usr/lib twice,
even for -m32 builds, which is also incorrect, but accidentally works in
this case."

Submitted by:	Dimitry Andric <dimitry at andric.com>
@
text
@d122 1
a122 1
.if ${MACHINE_ARCH} == "amd64"
@


1.91
log
@SVN rev 199714 on 2009-11-23 16:00:16Z by rnoland

Create a seperate ZFS enabled loader.

This adds zfsloader which will be called by zfsboot/gptzfsboot code rather
than the tradional loader.  This eliminates the need to set the
LOADER_ZFS_SUPPORT variable in order to get a ZFS enabled loader.

Note however, that you must reinstall your bootcode (zfsboot/gptzfsboot)
in order for the boot process to use the new loader.

New installations will no longer be required to build a ZFS enabled
loader for a working ZFS boot system.  Installing zfsboot/gptzfsboot is
sufficient for acknowledging the use of CDDL code and therefore the ZFS
enabled loader.

Based on a previous patch from jhb@@

Reviewed by:	jhb@@
MFC after:	2 weeks
@
text
@d118 1
a118 1
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} -lstand
@


1.90
log
@SVN rev 189588 on 2009-03-09 17:16:29Z by jhb

- Make it possible to disable GPT support by setting LOADER_NO_GPT_SUPPORT
  in make.conf or src.conf.
- When GPT is enabled (which it is by default), use memory above 1 MB and
  leave the memory from the end of the bss to the end of the 640k window
  purely for the stack.  The loader has grown and now it is much more
  common for the heap and stack to grow into each other when both are
  located in the 640k window.

PR:		kern/129526
MFC after:	1 week
@
text
@d6 2
a7 1
PROG=		loader.sym
d9 1
a9 1
NEWVERSWHAT=	"bootstrap loader" i386
d20 1
a20 1
# Put LOADER_ZFS_SUPPORT=yes in /etc/make.conf for ZFS support
d65 1
a65 1
CLEANFILES=	vers.c loader loader.bin loader.help
d84 3
a86 2
vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
d88 1
a88 1
loader: loader.bin ${BTXLDR} ${BTXKERN}
d90 1
a90 1
		-b ${BTXKERN} loader.bin
d92 1
a92 1
loader.bin: loader.sym
d99 5
d105 1
a105 1
FILES=	loader loader.help loader.4th support.4th loader.conf
a106 2
# XXX INSTALLFLAGS_loader= -b
FILESMODE_loader= ${BINMODE} -b
d112 1
@


1.90.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.90.2.2
log
@SVN rev 200220 on 2009-12-07 16:37:02Z by rnoland

MFC 199714

Create a seperate ZFS enabled loader.

This adds zfsloader which will be called by zfsboot/gptzfsboot code rather
than the tradional loader.  This eliminates the need to set the
LOADER_ZFS_SUPPORT variable in order to get a ZFS enabled loader.

Note however, that you must reinstall your bootcode (zfsboot/gptzfsboot)
in order for the boot process to use the new loader.

New installations will no longer be required to build a ZFS enabled
loader for a working ZFS boot system.  Installing zfsboot/gptzfsboot is
sufficient for acknowledging the use of CDDL code and therefore the ZFS
enabled loader.
@
text
@d6 1
a6 2
LOADER?=	loader
PROG=		${LOADER}.sym
d8 1
a8 1
NEWVERSWHAT?=	"bootstrap loader" i386
d19 1
a19 1
# Set by zfsloader Makefile
d64 1
a64 1
CLEANFILES=	vers.c ${LOADER} ${LOADER}.bin loader.help
d83 2
a84 3
vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \
		${NEWVERSWHAT}
d86 1
a86 1
${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
d88 1
a88 1
		-b ${BTXKERN} ${LOADER}.bin
d90 1
a90 1
${LOADER}.bin: ${LOADER}.sym
a96 5
FILES=	${LOADER}
# XXX INSTALLFLAGS_loader= -b
FILESMODE_${LOADER}= ${BINMODE} -b

.if !defined(LOADER_ONLY)
d98 1
a98 1
FILES+=	loader.help loader.4th support.4th loader.conf
d100 2
a106 1
.endif
@


1.90.2.3
log
@SVN rev 212301 on 2010-09-07 18:14:59Z by delphij

MFC r205662 + r212066 (except efi part):

Our boot loader is capable of booting both i386 and amd64 kernels so
call it "x86" instead of "i386".
@
text
@d9 1
a9 1
NEWVERSWHAT?=	"bootstrap loader" x86
@


1.90.2.4
log
@SVN rev 237759 on 2012-06-29 10:07:16Z by avg

MFC r235156: i386 zfsloader: rename LIBZFS to LIBZFSBOOT
@
text
@d23 3
a25 1
LIBZFSBOOT=	${.OBJDIR}/../../zfs/libzfsboot.a
d117 2
a118 2
DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} -lstand
@


1.90.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/boot/i386/loader/Makefile 237759 2012-06-29 10:07:16Z avg $
@


1.90.2.3.4.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.90.2.3.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/i386/loader/Makefile 212301 2010-09-07 18:14:59Z delphij $
@


1.90.2.3.2.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.90.2.2.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.90.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.89
log
@SVN rev 188895 on 2009-02-21 15:04:31Z by ru

Fix build when WITH_SSP is set explicitly.

Submitted by:	Jeremie Le Hen
@
text
@d54 3
@


1.88
log
@SVN rev 185045 on 2008-11-18 03:55:55Z by ache

Fix building without ZFS (can't find library)
@
text
@a2 2
WITHOUT_SSP=

d4 1
@


1.87
log
@SVN rev 185029 on 2008-11-17 20:49:29Z by pjd

Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.

This bring huge amount of changes, I'll enumerate only user-visible changes:

- Delegated Administration

	Allows regular users to perform ZFS operations, like file system
	creation, snapshot creation, etc.

- L2ARC

	Level 2 cache for ZFS - allows to use additional disks for cache.
	Huge performance improvements mostly for random read of mostly
	static content.

- slog

	Allow to use additional disks for ZFS Intent Log to speed up
	operations like fsync(2).

- vfs.zfs.super_owner

	Allows regular users to perform privileged operations on files stored
	on ZFS file systems owned by him. Very careful with this one.

- chflags(2)

	Not all the flags are supported. This still needs work.

- ZFSBoot

	Support to boot off of ZFS pool. Not finished, AFAIK.

	Submitted by:	dfr

- Snapshot properties

- New failure modes

	Before if write requested failed, system paniced. Now one
	can select from one of three failure modes:
	- panic - panic on write error
	- wait - wait for disk to reappear
	- continue - serve read requests if possible, block write requests

- Refquota, refreservation properties

	Just quota and reservation properties, but don't count space consumed
	by children file systems, clones and snapshots.

- Sparse volumes

	ZVOLs that don't reserve space in the pool.

- External attributes

	Compatible with extattr(2).

- NFSv4-ACLs

	Not sure about the status, might not be complete yet.

	Submitted by:	trasz

- Creation-time properties

- Regression tests for zpool(8) command.

Obtained from:	OpenSolaris
@
text
@d24 2
@


1.86
log
@SVN rev 180012 on 2008-06-25 21:33:28Z by ru

Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@@le-hen.org>
@
text
@d20 6
d107 2
a108 2
DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBI386} -lstand
@


1.85
log
@MFp4: add FireWire/dcons support in loader for i386/amd64.

It is disabled by default. You need to put
LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf
and rebuild loader to enable it.
(cd /sys/boot/i386 && make clean && make && make install)

You can find a short introduction of dcons at
http://wiki.freebsd.org/DebugWithDcons
@
text
@d3 2
@


1.85.2.1
log
@SVN rev 190086 on 2009-03-19 17:02:10Z by jhb

MFC:
- Make it possible to disable GPT support by setting LOADER_NO_GPT_SUPPORT
  in make.conf or src.conf.
- When GPT is enabled (which it is by default), use memory above 1 MB and
  leave the memory from the end of the bss to the end of the 640k window
  purely for the stack.  The loader has grown and now it is much more
  common for the heap and stack to grow into each other when both are
  located in the 640k window.
@
text
@a44 3
.if !defined(LOADER_NO_GPT_SUPPORT)
CFLAGS+=	-DLOADER_GPT_SUPPORT
.endif
@


1.85.2.2
log
@SVN rev 192665 on 2009-05-23 19:54:18Z by kmacy

Import ZFS loader support missed in the initial MFC
set LOADER_ZFS_SUPPORT=Y in make.conf to enable
@
text
@a17 6
# Put LOADER_ZFS_SUPPORT=yes in /etc/make.conf for ZFS support
.if defined(LOADER_ZFS_SUPPORT)
CFLAGS+=	-DLOADER_ZFS_SUPPORT
LIBZFS=		${.OBJDIR}/../../zfs/libzfsboot.a
.endif

d102 2
a103 2
DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} -lstand
@


1.85.2.3
log
@SVN rev 193494 on 2009-06-05 12:00:55Z by kmacy

roll zfs loader support under MK_ZFS to enable / disable consistently
@
text
@d18 2
a19 1
.if ${MK_ZFS} != "no"
@


1.85.2.4
log
@SVN rev 193495 on 2009-06-05 12:14:43Z by kmacy

reverse previous commit ...
@
text
@d18 1
a18 2
# Put LOADER_ZFS_SUPPORT=yes in /etc/make.conf for ZFS support
.if defined(LOADER_ZFS_SUPPORT)
@


1.85.2.5
log
@SVN rev 193876 on 2009-06-10 01:18:07Z by kmacy

- enable building of loader by default
- fix MK_ZFS == "no" and MK_CDDL == "no" handling
@
text
@d19 1
a19 1
.if ${MK_ZFS} != "no"
a21 2
.else
LIBZFS=
@


1.85.2.6
log
@SVN rev 194131 on 2009-06-13 22:02:55Z by kmacy

comment out zfs support until I have time for a proper fix
@
text
@d19 4
a22 4
#.if ${MK_ZFS} != "no"
#CFLAGS+=	-DLOADER_ZFS_SUPPORT
#LIBZFS=		${.OBJDIR}/../../zfs/libzfsboot.a
#.else
d24 1
a24 1
#.endif
@


1.85.2.7
log
@SVN rev 200221 on 2009-12-07 17:15:36Z by rnoland

MFC 199714

Create a seperate ZFS enabled loader.

This adds zfsloader which will be called by zfsboot/gptzfsboot code rather
than the tradional loader.  This eliminates the need to set the
LOADER_ZFS_SUPPORT variable in order to get a ZFS enabled loader.

Note however, that you must reinstall your bootcode (zfsboot/gptzfsboot)
in order for the boot process to use the new loader.

New installations will no longer be required to build a ZFS enabled
loader for a working ZFS boot system.  Installing zfsboot/gptzfsboot is
sufficient for acknowledging the use of CDDL code and therefore the ZFS
enabled loader.
@
text
@d5 1
a5 2
LOADER?=	loader
PROG=		${LOADER}.sym
d7 1
a7 1
NEWVERSWHAT?=	"bootstrap loader" i386
d18 1
a18 1
# Set by zfsloader Makefile
d63 1
a63 1
CLEANFILES=	vers.c ${LOADER} ${LOADER}.bin loader.help
d82 2
a83 3
vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \
		${NEWVERSWHAT}
d85 1
a85 1
${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
d87 1
a87 1
		-b ${BTXKERN} ${LOADER}.bin
d89 1
a89 1
${LOADER}.bin: ${LOADER}.sym
a95 5
FILES=	${LOADER}
# XXX INSTALLFLAGS_loader= -b
FILESMODE_${LOADER}= ${BINMODE} -b

.if !defined(LOADER_ONLY)
d97 1
a97 1
FILES+=	loader.help loader.4th support.4th loader.conf
d99 2
a105 1
.endif
@


1.85.2.8
log
@SVN rev 205539 on 2010-03-23 21:39:33Z by jhb

Enable the ability to build ZFS into the loader so that /boot/zfsloader
actually contains ZFS support.

Submitted by:	Alexander Zagrebin  alexz of visp ru
@
text
@d20 4
a23 4
.if defined(LOADER_ZFS_SUPPORT)
CFLAGS+=	-DLOADER_ZFS_SUPPORT
LIBZFS=		${.OBJDIR}/../../zfs/libzfsboot.a
.else
d25 1
a25 1
.endif
@


1.85.2.9
log
@SVN rev 212300 on 2010-09-07 18:14:50Z by delphij

MFC r205662 + r212066 (except efi part):

Our boot loader is capable of booting both i386 and amd64 kernels so
call it "x86" instead of "i386".
@
text
@d8 1
a8 1
NEWVERSWHAT?=	"bootstrap loader" x86
@


1.85.2.10
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/boot/i386/loader/Makefile 212300 2010-09-07 18:14:50Z delphij $
@


1.85.2.9.2.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.85.2.9.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/boot/i386/loader/Makefile 212300 2010-09-07 18:14:50Z delphij $
@


1.85.2.7.2.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.85.2.1.2.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.85.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.84
log
@Don't unconditionally compile-in the bcache code. It's only used on
i386/amd64 and pc98. Remove useless calls to bcache_init() from the
ia64 and sparc64 loaders, as well as from the OFW common code.
@
text
@d12 6
d99 2
a100 2
DPADD=	${LIBFICL} ${LIBI386} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBI386} -lstand
@


1.83
log
@Reimplementation of world/kernel build options.  For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
@
text
@d19 3
@


1.82
log
@Add back some bits.
@
text
@d3 2
d23 1
a23 1
.if !defined(NO_FORTH)
@


1.81
log
@Temperarly disable building in the bzip2 support by default so we can fit
on the i386 floppies.  Sigh, I hate floppies.
@
text
@d76 1
a76 1
FILES+= screen.4th frames.4th
@


1.81.4.1
log
@MFC

Approved by: re
@
text
@d76 1
a76 1
FILES+= screen.4th frames.4th beastie.4th
@


1.81.2.1
log
@MFC

Approved by: re
@
text
@d76 1
a76 1
FILES+= screen.4th frames.4th beastie.4th
@


1.81.2.2
log
@SVN rev 190088 on 2009-03-19 17:14:00Z by jhb

MFC:
- Make it possible to disable GPT support by setting LOADER_NO_GPT_SUPPORT
  in make.conf or src.conf.
- When GPT is enabled (which it is by default), use memory above 1 MB and
  leave the memory from the end of the bss to the end of the 640k window
  purely for the stack.  The loader has grown and now it is much more
  common for the heap and stack to grow into each other when both are
  located in the 640k window.
@
text
@a33 3
.if !defined(LOADER_NO_GPT_SUPPORT)
CFLAGS+=	-DLOADER_GPT_SUPPORT
.endif
@


1.81.2.3
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/boot/i386/loader/Makefile 190088 2009-03-19 17:14:00Z jhb $
@


1.81.2.1.8.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.80
log
@Put bzip2 support on equal footing with gzip support.
Enable bzip2 support by default, set LOADER_NO_BZIP2_SUPPORT to disable it.

Pointy hat to:	sobomax
@
text
@d28 1
a28 1
.if !defined(LOADER_NO_BZIP2_SUPPORT)
@


1.79
log
@NOFORTH -> NO_FORTH
@
text
@d28 1
a28 1
.if defined(LOADER_BZIP2_SUPPORT)
@


1.78
log
@Pick up loader.rc from its old home.
@
text
@d21 1
a21 1
.if !defined(NOFORTH)
@


1.77
log
@Disable the beastie menu.  It offends some and annoys everyone else, and I'm
frankly tired of the controversy.  When people ask me why FreeBSD isn't user-
friendly, I'll tell them that I tried.  RIP.
@
text
@d82 1
a82 1
FILES+=	${.CURDIR}/loader.rc
@


1.76
log
@For some reason crt0.o needs to be linked first for pxeboot(8) to
work.  This is odd because loader(8) doesn't suffer from this problem.
Perhaps pxeboot bootstrap can be fixed to handle this better.
Anyway, PXE booting should work again.
@
text
@d76 1
a76 1
FILES+= screen.4th frames.4th beastie.4th
@


1.75
log
@Clean CLEANFILES.
@
text
@d85 5
a89 2
DPADD=	${BTXCRT} ${LIBFICL} ${LIBI386} ${LIBSTAND}
LDADD=	${BTXCRT} ${LIBFICL} ${LIBI386} -lstand
@


1.74
log
@kzip(8) is long dead.
@
text
@d41 1
a41 1
CLEANFILES=	vers.c loader loader.list loader.bin loader.help
@


1.73
log
@- Factor out -nostdlib to an upper level Makefile.inc.

- Now that bsd.prog.mk deals with programs linked with -nostdlib
  better, and has a notion of an "internal" program, use PROG
  where possible.  This has a good impact on the contents of
  .depend files and causes programs to be linked with cc(1).

XXX: boot2 couldn't be converted as it's actually two programs.

Tested on:	i386, amd64
@
text
@a65 2
#	/usr/bin/kzip ${.TARGET}
#	mv ${.TARGET}.kz ${.TARGET}
@


1.72
log
@Argh, unbreak "make depend" for AMD64.

Reported by:	kris
@
text
@d3 2
a24 1
.if exists(${.OBJDIR}/../../ficl/libficl.a)
a25 3
.else
LIBFICL=	${.CURDIR}/../../ficl/libficl.a
.endif
d41 1
a41 1
CLEANFILES=	vers.c loader loader.list loader.bin loader.sym loader.help
d44 1
a44 1
LDFLAGS=	-nostdlib -static -Ttext 0x0
d63 1
a63 1
loader: loader.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
d87 2
a88 1
OBJS=	${SRCS:N*.h:R:S/$/.o/g}
d90 1
a90 3
loader.sym: ${OBJS} ${LIBFICL} ${LIBI386} ${LIBSTAND}
	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} \
		${LIBFICL} ${LIBI386} ${LIBSTAND}
a97 2

.include <bsd.prog.mk>
@


1.71
log
@- Removed -elf which is not a valid gcc(1) option anymore.
- Removed -ffreestanding; it's enforced by ../Makefile.inc.
@
text
@d96 1
a96 1
${OBJS}: machine
@


1.70
log
@Untangle building of AMD64 boot code.

Tested on:	amd64 (sledge)
@
text
@a7 1
CFLAGS+=	-ffreestanding
a53 3

# BTX is expecting ELF components
CFLAGS+=	-elf
@


1.69
log
@First round of cleanups to sys/boot/ makefiles:

- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on:	i386, amd64
Prodded by:	bde
@
text
@d99 1
a99 1
.if defined(REALLY_AMD64)
@


1.68
log
@Inherit BINDIR from a parent Makefile.inc.
@
text
@a2 2
PROG=		loader
STRIP=
a3 1
INSTALLFLAGS=	-b
d6 1
a6 1
SRCS=		main.c conf.c
d42 1
a42 1
CFLAGS+=	-I${.CURDIR}/../../.. -I.
d44 1
a44 1
CLEANFILES+=	vers.c vers.o ${PROG}.list ${PROG}.bin ${PROG}.sym ${PROG}.help
a52 11
# where to get libstand from
#XXX need a better way to do this
LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
LIBSTAND=	-lstand
.endif
.endif
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/

a53 8
.if exists(${.OBJDIR}/../btx)
BTXDIR=		${.OBJDIR}/../btx
.else
BTXDIR=		${.CURDIR}/../btx
.endif
BTXLDR=		${BTXDIR}/btxldr/btxldr
BTXKERN=	${BTXDIR}/btx/btx
BTXCRT=		${BTXDIR}/lib/crt0.o
d63 4
a66 1
vers.o:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
a67 1
	${CC} ${CFLAGS} -c vers.c
d69 1
a69 1
${PROG}: ${PROG}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
d71 1
a71 1
		-b ${BTXKERN} ${PROG}.bin
d75 1
a75 1
${PROG}.bin: ${PROG}.sym
d79 1
a79 1
${PROG}.help: help.common help.i386
d83 1
a83 1
FILES=	${PROG}.help loader.4th support.4th loader.conf
d85 2
d93 1
a93 2
# Cannot use ${OBJS} above this line
.include <bsd.prog.mk>
d95 2
a96 2
${PROG}.sym: ${OBJS} ${LIBI386} ${LIBSTAND} ${LIBFICL} vers.o
	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \
d99 3
a101 4
# If it's not there, don't consider it a target
.if exists(${.CURDIR}/../../../i386/include)
beforedepend ${OBJS}: machine

a103 1

d106 1
a106 1
CLEANFILES+=	machine
@


1.67
log
@Only include ../Makefile.inc once in loader/Makefile.
@
text
@a5 1
BINDIR?=	/boot
@


1.66
log
@Build on amd64.  Yes, I know this isn't particularly nice.
@
text
@d44 1
a44 1
.include	<${.CURDIR}/../../common/Makefile.inc>
a110 2

.include <${.CURDIR}/../Makefile.inc>
@


1.65
log
@Enable the new bootloader for i386 only.  The new loader.rc is will only
be installed if an old one does not exist, i.e. only during install, not
during upgrades.

Approved by:	re
@
text
@d88 1
a88 1
	${CC} -c vers.c
@


1.64
log
@Add a new bootloader menu.  Pull in screen.4th and frames.4th from the
examples directory to support it.  This is installed only on i386 for
now.  It will be enabled in a later commit.

Approved by:	re
@
text
@d109 1
a109 1
FILES+=	loader.rc
@


1.63
log
@Simplify the Makefile by just using our standard PROG variable.
@
text
@d105 1
@


1.62
log
@Revert previous untested revision.  The i386 loader consists of three parts:
At the front is btxldr, in the middle is BTX itself (our mini-kernel), and
then the 'client' (loader.bin) which is the actual loader itself.  boot2
just executes a raw ELF or a.out binary with the only setup provided being
that a bootinfo structure is passed on the stack.  Now, since loader.bin
is a BTX client, the loader needs to be able to locate a BTX kernel for
the client to execute in the context.  Thus, just like pxelder, btxldr
uses the a.out header on the loader binary to find the BTX kernel stored
in the loader and set it up.  It does _not_ just reuse the BTX kernel
that boot2 invoked it with.  This is because it can't assume that it will
_have_ a "spare" BTX kernel lying around.  For example, when cdboot
loads the loader there isn't an existing BTX kernel.  In fact, cdboot
will only work with an a.out loader as well since it also "borrows" the
BTX kernel in the loader binary (which it finds by parsing the a.out
header) just as pxeldr does.  The only difference between cdboot and
pxeldr is where they get /boot/loader from.

If we wanted to make /boot/loader be an actual ELF binary we would need
to change the following utilites to handle that (and they all have to be
able to handle locating the BTX kernel inside of an ELF binary somehow):
- btxldr
- pxeldr
- cdboot

If we didn't want to require a flag day but make the transition smooth
then we need to be able to support both a.out and ELF versions of
/boot/loader which isn't exactly trivial since all three of these utilities
are written in assembly.

Pointy-hat to:	peter
@
text
@d3 1
a3 2
BASE=		loader
PROG=		${BASE}
d48 1
a48 1
CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help
d90 1
a90 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
d92 1
a92 1
		-b ${BTXKERN} ${BASE}.bin
d96 1
a96 1
${BASE}.bin: ${BASE}.sym
d100 1
a100 1
${BASE}.help: help.common help.i386
d104 1
a104 1
FILES=	${BASE}.help loader.4th support.4th loader.conf
d116 1
a116 1
${BASE}.sym: ${OBJS} ${LIBI386} ${LIBSTAND} ${LIBFICL} vers.o
@


1.61
log
@Try #2 at having /boot/loader default to ELF.  Have pxeldr build its
own a.out version of loader.bin rather than depend on ../loader/loader
being a.out.
@
text
@d92 1
a92 1
	btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
@


1.60
log
@Initiate deorbit burn of i386 a.out kld "support" in loader.  Note that
this was quite broken, it never was updated for metadata support.
The a.out kld file support was never really used, as it wasn't necessary.
You could always load elf kld's, even in an a.out kernel.
@
text
@d92 1
a92 1
	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
@


1.59
log
@Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.c
to libi386, this issue was resolved already in a cleaner way.
@
text
@a8 3
.if !defined(LOADER_NO_AOUT_SUPPORT)
LOADER_AOUT_SUPPORT=	yes
.endif
@


1.58
log
@This commit adds basic support for the UFS2 filesystem. The UFS2
filesystem expands the inode to 256 bytes to make space for 64-bit
block pointers. It also adds a file-creation time field, an ability
to use jumbo blocks per inode to allow extent like pointer density,
and space for extended attributes (up to twice the filesystem block
size worth of attributes, e.g., on a 16K filesystem, there is space
for 32K of attributes). UFS2 fully supports and runs existing UFS1
filesystems. New filesystems built using newfs can be built in either
UFS1 or UFS2 format using the -O option. In this commit UFS1 is
the default format, so if you want to build UFS2 format filesystems,
you must specify -O 2. This default will be changed to UFS2 when
UFS2 proves itself to be stable. In this commit the boot code for
reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c)
as there is insufficient space in the boot block. Once the size of the
boot block is increased, this code can be defined.

Things to note: the definition of SBSIZE has changed to SBLOCKSIZE.
The header file <ufs/ufs/dinode.h> must be included before
<ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and
ufs_lbn_t.

Still TODO:
Verify that the first level bootstraps work for all the architectures.
Convert the utility ffsinfo to understand UFS2 and test growfs.
Add support for the extended attribute storage. Update soft updates
to ensure integrity of extended attribute storage. Switch the
current extended attribute interfaces to use the extended attribute
storage. Add the extent like functionality (framework is there,
but is currently never used).

Sponsored by: DARPA & NAI Labs.
Reviewed by:	Poul-Henning Kamp <phk@@freebsd.org>
@
text
@d122 1
a122 1
		${LIBFICL} ${LIBI386} ${LIBSTAND} ${LIBI386}
@


1.57
log
@-ffreestanding is the word for /sys.
@
text
@d122 1
a122 1
		${LIBFICL} ${LIBI386} ${LIBSTAND}
@


1.56
log
@Install files via FILES, there's no reason to compare them before installing.
@
text
@d16 1
@


1.55
log
@Needs a.out support built into the loader.
@
text
@a4 1
#NOMAN=
d93 1
a93 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help
d106 4
a109 8
beforeinstall:
.if exists(${.OBJDIR}/loader.help)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
.else
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
.endif
d111 1
a111 2
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
a112 6
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
@


1.54
log
@Add support for loading bzip2-compressed kernels and modules. This support
is turned off by default and could be enabled by defining LOADER_BZIP2_SUPPORT
make variable. Also make gzip support optional (turned on by default) -
it could be turned off via LOADER_NO_GZIP_SUPPORT make variable.

Please note, that due to limit on the amount of memory available to the
loader(8), it is possible to load modules/kernels compressed with the smallest
block size supported by the bzip2 - 100k (`-1' bzip2(1) option), however
even in this mode bzip2(1) usually provides better compression ratio than
gzip(1) in its best compression mode.

MFC after:	1 month
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.53 2001/09/12 10:25:46 ru Exp $
d10 3
@


1.53
log
@Create backup copies using install(1).
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.52 2001/08/22 08:02:01 peter Exp $
d34 7
@


1.52
log
@OK, now I am scared of pxeldr.  It had /boot/loader appended onto
the end of it and decoded the headers.

Submitted by:	jhb
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.51 2001/08/22 05:29:25 peter Exp $
d9 1
a97 3
.if exists(${DESTDIR}/boot/loader)
	mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old
.endif
@


1.51
log
@Generate an ELF /boot/loader instead of fake a.out.  The fake a.out wrapper
did not work with old a.out-only bootblocks anyway. :-(
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.50 2001/06/21 00:08:22 peter Exp $
d84 1
a84 1
	btxld -v -f elf -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
@


1.50
log
@Remove -DNEW_LINKERSET, it is not used here anymore.  This is now native.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.49 2000/12/13 17:10:38 rnordier Exp $
d84 1
a84 1
	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
@


1.49
log
@Strip the .comment and .note sections when stripping.  There's no
point in retaining this info, particularly under BTX.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.48 2000/11/04 08:43:13 ps Exp $
a73 3

# New linker set code
CFLAGS+=	-DNEW_LINKER_SET
@


1.48
log
@MF4: Add LOADER_TFTP_SUPPORT make.conf flag.
@
text
@d1 1
a1 1
# $FreeBSD$
d94 1
a94 1
	strip ${.TARGET}
@


1.47
log
@Look for libstand in the built tree rather than in /usr/lib.  This
likely could be done better, but the tree is broken and I wanted to
get a fix into the tree.

Reviewed by: msmith
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.46 2000/05/19 08:41:45 dcs Exp $
d14 3
d18 1
a18 1
#CFLAGS+=	-DLOADER_TFTP_SUPPORT
@


1.46
log
@Move man page directives to common/Makefile.inc.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.45 2000/04/26 19:54:49 jhb Exp $
d48 5
d54 2
a55 1
#LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
@


1.45
log
@Now that we are compiling PXE into libi386, we don't need ../libi386 in
.PATH anymore.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.44 2000/04/21 22:06:02 ps Exp $
a4 2
MAN5=		../../forth/loader.conf.5
MAN8=		loader.8 ../../forth/loader.4th.8
@


1.44
log
@Move the building of the PXE module into libi386.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.43 2000/04/08 01:22:13 ps Exp $
a13 1
.PATH:		${.CURDIR}/../libi386
@


1.43
log
@Make PXE use the UDP API.  This allows for both TFTP and NFS support.
You may specify TFTP or NFS via compile time options in the loader,
but not both at this time.

Also, remove a warning about not knowing how to boot from network
devices.  We can obviously do that now.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.42 2000/03/28 01:19:50 jhb Exp $
d13 1
a13 1
SRCS=		main.c conf.c pxe.c
d122 1
a122 1
		${LIBFICL} ${LIBSTAND} ${LIBI386} ${LIBSTAND}
@


1.42
log
@Mega i386 loader commit.
- Don't hard code 0x10000 as the entry point for the loader.  Instead add
  src/sys/boot/i386/Makefile.inc which defines a make variable with the
  entry point for the loader.  Move the loader's entry point up to
  0x20000, which makes PXE happy.
- Don't try to use cpp to parse btxldr for the optional BTXLDR_VERBOSE,
  instead use m4 to achieve this.  Also, add a BTXLDR_VERBOSE knob in the
  btxldr Makefile to turn this option on.
- Redo parts of cdldr's Makefile so that it now builds and installs cdboot
  instead of having i386/loader/Makefile do that.  Also, add in some more
  variables to make the pxeldr Makefile almost identical and thus to ease
  maintainability.
- Teach cdldr about the a.out format.  Cdldr now parsers the a.out header
  of the loader binary and relocates it based on that.  The entry point of
  the loader no longer has to be hardcoded into cdldr.  Also, the boot
  info table from mkisofs is no longer required to get a useful cdboot.
- Update the lsdev function for BIOS disks to parse other file systems
  (such as DOS FAT) that we currently support.  This is still buggy as
  it assumes that a floppy with a DOS boot sector actually has a MBR and
  parses it as such.  I'll be fixing this in the future.
- The biggie:  Add in support for booting off of PXE-enabled network
  adapters.  Currently, we use the TFTP API provided by the PXE BIOS.
  Eventually we will switch to using the low-level NIC driver thus
  allowing both TFTP and NFS to be used, but for now it's just TFTP.

Submitted by:	ps, alfred
Testing by:	Benno Rice <benno@@netizen.com.au>
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.41 2000/02/04 20:57:09 luigi Exp $
d16 4
d52 2
a53 2
#LIBSTAND=	${.CURDIR}/../../../lib/libstand/libstand.a
#CFLAGS+=	-I${.CURDIR}/../../../lib/libstand/
@


1.41
log
@Add a NOFORTH variable so we can build a smaller loader without
Forth support, for use with PicoBSD

Approved-By: jordan
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.40 2000/01/30 06:56:27 jhb Exp $
d4 1
a4 1
PROG=		${BASE} cdboot
d13 2
a14 1
SRCS=		main.c conf.c
a50 7
# where to get cdldr from
.if exists(${.OBJDIR}/../cdldr)
CDLDR=		${.OBJDIR}/../cdldr/cdldr
.else
CDLDR=		${.CURDIR}/../cdldr/cdldr
.endif

a75 5
cdboot: ${BASE} ${CDLDR}
	cat ${CDLDR} ${BASE} > ${.TARGET}.tmp
	dd if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync
	rm ${.TARGET}.tmp

d77 2
a78 2
	btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \
		${BASE}.bin
d111 2
a129 2


@


1.41.2.1
log
@MFC: sync up loader with current, including PXE.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.41 2000/02/04 20:57:09 luigi Exp $
d4 1
a4 1
PROG=		${BASE}
d13 1
a13 6
SRCS=		main.c conf.c pxe.c
.PATH:		${.CURDIR}/../libi386

# Enable PXE TFTP or NFS support, not both.
CFLAGS+=	-DLOADER_NFS_SUPPORT
#CFLAGS+=	-DLOADER_TFTP_SUPPORT
d47 9
a55 2
#LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
d82 5
d88 2
a89 2
	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
		-b ${BTXKERN} ${BASE}.bin
a121 2
.include <${.CURDIR}/../Makefile.inc>

d139 2
@


1.41.2.2
log
@MFC: Latest PXE and ext2fs support.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.41.2.1 2000/04/15 03:09:45 ps Exp $
d13 2
a14 1
SRCS=		main.c conf.c
d122 1
a122 1
		${LIBFICL} ${LIBI386} ${LIBSTAND}
@


1.41.2.3
log
@MFC:  Commonly install manpages and backup previous loader.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.46 2000/05/19 08:41:45 dcs Exp $
d5 2
@


1.41.2.4
log
@MFC: [rev 1.47]
Look for libstand in the built tree rather than in /usr/lib.  This
likely could be done better, but the tree is broken and I wanted to
get a fix into the tree.
@
text
@d1 1
a1 1
# $FreeBSD$
a47 5
#XXX need a better way to do this
LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
d49 1
a49 2
.endif
.endif
@


1.41.2.5
log
@Add LOADER_TFTP_SUPPORT make.conf flag, causes the 'pxeboot' loader
to use tftp to load the kernel rather then NFS, allowing it to mount
the server's root via BOOTP while still loading a custom kernel (rather
then the server's kernel) via TFTP.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.41.2.4 2000/09/10 01:46:51 ps Exp $
a13 3
.if defined(LOADER_TFTP_SUPPORT)
CFLAGS+=	-DLOADER_TFTP_SUPPORT
.else
d15 1
a15 1
.endif
@


1.41.2.6
log
@MFC: Strip .comment and .note sections when stripping.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.41.2.5 2000/10/27 18:14:42 dillon Exp $
d94 1
a94 1
	strip -R .comment -R .note ${.TARGET}
@


1.41.2.7
log
@MFC: optional support for loading bzip2-compressed kernels and modules.
@
text
@d1 1
a1 1
# $FreeBSD$
a32 7
.endif

.if defined(LOADER_BZIP2_SUPPORT)
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
.if !defined(LOADER_NO_GZIP_SUPPORT)
CFLAGS+=	-DLOADER_GZIP_SUPPORT
@


1.41.2.8
log
@MFC: Create backup copies using install(1).
@
text
@a8 1
INSTALLFLAGS=	-b
d107 3
@


1.41.2.9
log
@MFC: 1.56: Install files via FILES.
@
text
@d5 1
d94 1
a94 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
d107 8
a114 4
.PATH: ${.CURDIR}/../../forth 
FILES=	${BASE}.help loader.4th support.4th loader.conf
FILESDIR_loader.conf=	/boot/defaults

d116 2
a117 1
FILES+=	loader.rc
d119 6
@


1.41.2.10
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/4/sys/boot/i386/loader/Makefile 116779 2003-06-24 08:06:57Z ru $
@


1.40
log
@Fix bogon in previous commit.  Re-enable Forth in the loader.

Noticed by:	dcs
Approved by:	jkh
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.39 2000/01/28 15:19:22 jhb Exp $
d19 1
d27 1
@


1.39
log
@Allow for cdldr to be built in ${.OBJDIR}/../cdldr/cdldr instead of
only looking for it in ${.CURDIR}/../cdldr/cdldr.  This fixes world.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.38 2000/01/27 21:21:01 jhb Exp $
d20 2
a21 2
#BOOT_FORTH=	yes
#CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
@


1.38
log
@Add the new cdldr CD bootstrap loader.  This patch includes the following:

- Fix btxldr to preserve a NULL bootinfo pointer when it copies the kernel
  arguments.
- Add the cdldr bootstrap program.  This program is tacked onto the
  beginning of the standard 3rd stage boot loader (/boot/loader) to form
  the CD boot loader (/boot/cdboot).  When a CD is booted, the cdboot file
  is copied into memory instead and executed.  The cdldr stub emulates the
  environment normally provided by boot2 and then starts the loader.  This
  booting method does not emulate a floppy drive, but boots directly off of
  the CD.  This should fix the problems some BIOS's have with emulating a
  2.88 MB floppy image.
- Add support to the loader to recognize that it has been booted by cdldr
  instead of boot2 and use a simpler method of extracting the BIOS boot
  device.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.37 1999/11/23 16:30:48 dcs Exp $
d20 2
a21 2
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
d48 7
a61 1
CDLDR=		${.CURDIR}/../cdldr/cdldr
@


1.37
log
@Add machine-specific include path to ficl's sysdep.h. Wishes I had
gone to bed earlier.

Pointed by: peter
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.36 1999/08/28 00:40:18 peter Exp $
d4 1
a4 1
PROG=		${BASE}
d55 1
d73 5
@


1.36
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
d21 1
a21 1
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl
@


1.35
log
@Reconcile all the loader newvers.sh's into one common one.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.34 1999/04/24 17:49:47 dcs Exp $
@


1.34
log
@Move loader.conf.5, while it is still in it's first revision.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.33 1999/04/24 17:25:35 dcs Exp $
d9 1
a9 1
NEWVERSWHAT=	"bootstrap loader"
d69 2
a70 2
vers.o:
	sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
@


1.33
log
@Add loader.4th man page (worst man page I ever wrote -- reviews
are welcomed). Correct a nasty bug in loader.4th before anyone
notices, add a couple of features.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.32 1999/04/18 09:21:12 dcs Exp $
d5 1
a5 1
MAN5=		loader.conf.5
@


1.32
log
@Installs a default loader.rc if none exists. Document loader.conf.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.31 1999/03/15 08:52:23 dcs Exp $
d6 1
a6 1
MAN8=		loader.8
@


1.31
log
@The man page, version 0.1.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.30 1999/03/10 03:34:14 dcs Exp $
d5 1
d96 4
@


1.30
log
@Install new loader.rc stuff.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.29 1999/02/24 01:37:23 msmith Exp $
d5 2
a6 1
NOMAN=
@


1.29
log
@Don't try protecting page 0; it seems that BIOS writers now feel it's
appropriate to check for Windows95 by polling for state in low
memory, with fatal results.

Submitted by:	rnordier@@freebsd.org
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.28 1999/01/18 19:05:27 msmith Exp $
d95 6
@


1.28
log
@Transition from using Perl to using awk for our text-manipulation
needs.  This removes the dependancy on Perl for the generation of the
loader, allowing the world to be built on a perl-free system.

Submitted by:	Joe Abley <jabley@@clear.co.nz>
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.27 1999/01/11 05:52:28 msmith Exp $
d35 1
a35 1
LDFLAGS=	-nostdlib -static -Ttext 0x1000
@


1.28.2.1
log
@MFC: don't protect page 0 anymore.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.28 1999/01/18 19:05:27 msmith Exp $
d35 1
a35 1
LDFLAGS=	-nostdlib -static -Ttext 0x0
@


1.28.2.2
log
@The man page, version 0.1.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.28.2.1 1999/02/24 01:37:46 msmith Exp $
d5 1
a5 2
MAN8=		loader.8
#NOMAN=
@


1.28.2.3
log
@Bring loader.conf to the stable branch.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.28.2.2 1999/03/15 08:57:48 dcs Exp $
d5 1
a5 2
MAN5=		../../forth/loader.conf.5
MAN8=		loader.8 ../../forth/loader.4th.8
a95 10
.if !exists(${DESTDIR}/boot/loader.rc)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
.endif
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
@


1.28.2.4
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.28.2.5
log
@MFC: use NOFORTH to build a smaller loader without Forth support
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.28.2.4 1999/08/29 16:21:06 peter Exp $
a18 1
.if !defined(NOFORTH)
a25 1
.endif
@


1.27
log
@Preserve the previous loader as loader.old.

Note no matching commit for the Alpha, as the alpha boot0 stage does
not have the ability to prompt for user input.

PR:		kern/9406
Submitted by:	 "Daniel C. Sobral" <dcs@@newsguy.com>
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.26 1999/01/10 20:20:27 msmith Exp $
d82 1
a82 1
	perl ${.CURDIR}/../../common/merge_help.pl ${.ALLSRC} > ${.TARGET}
@


1.26
log
@Disable kzipping the loader; it seems to be breaking the aout-to-elf build
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.25 1999/01/09 20:14:46 msmith Exp $
d85 3
@


1.25
log
@Explicitly look for kzip in /usr/bin, again this is a stopgap, to avoid
making kzip a build tool.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.24 1999/01/09 02:38:40 msmith Exp $
d74 2
a75 2
	/usr/bin/kzip ${.TARGET}
	mv ${.TARGET}.kz ${.TARGET}
@


1.24
log
@kzip the loader, this shrinks it to about 60% of its original size.
Note that this is a stopgap with dependancies on the a.out tools.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.23 1999/01/04 01:28:46 msmith Exp $
d74 1
a74 1
	kzip ${.TARGET}
@


1.23
log
@Restore  dependancy to build loader.help here
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.22 1999/01/03 20:50:35 msmith Exp $
d74 2
@


1.22
log
@Reenable generation of the loader.help file
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.21 1998/12/16 02:27:15 msmith Exp $
d71 1
a71 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} # ${BASE}.help
@


1.21
log
@Disable build/install of boot.help until we sort out how to construct it
in the makeworld environment.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.20 1998/12/15 14:21:30 msmith Exp $
d82 8
a89 8
#beforeinstall:
#.if exists(${.OBJDIR}/loader.help)
#	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.OBJDIR}/${BASE}.help \
#		${DESTDIR}/boot
#.else
#	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/${BASE}.help \
#		${DESTDIR}/boot
#.endif
@


1.20
log
@Build the composite help file from the generic and architecture-specific
help files, sorting topics and subtopics to allow maximum flexibility.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.19 1998/11/12 07:40:51 jkh Exp $
d71 1
a71 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help
d82 8
a89 8
beforeinstall:
.if exists(${.OBJDIR}/loader.help)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.OBJDIR}/${BASE}.help \
		${DESTDIR}/boot
.else
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/${BASE}.help \
		${DESTDIR}/boot
.endif
@


1.19
log
@bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.18 1998/11/04 03:42:36 msmith Exp $
d32 1
a32 1
CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym
d71 1
a71 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
d78 12
@


1.18
log
@Turn off -g accidentally left in from testing.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.17 1998/11/04 02:36:18 jkh Exp $
d18 7
a24 7
#BOOT_FORTH=	yes
#CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl
#.if exists(${.OBJDIR}/../../ficl/libficl.a)
#LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
#.else
#LIBFICL=	${.CURDIR}/../../ficl/libficl.a
#.endif
@


1.17
log
@Respect ${.OBJDIR} properly when looking for libficl.a
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.16 1998/11/04 00:30:47 msmith Exp $
d64 2
a65 2
CFLAGS+=	-g
LDFLAGS+=	-g
@


1.16
log
@Add required parts for BootForth building (currently disabled and
untested).  Only suitable for i386 at the moment, as we are missing
setjmp/longjmp on the Alpha.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.15 1998/10/23 22:32:27 msmith Exp $
d20 3
d24 1
@


1.15
log
@Clean the ${BASE}.sym file as well.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.14 1998/10/22 20:23:58 msmith Exp $
d17 5
d60 2
a61 2
#CFLAGS+=	-g
#LDFLAGS+=	-g
d78 1
a78 1
${BASE}.sym: ${OBJS} ${LIBI386} vers.o
d80 1
a80 1
		${LIBSTAND} ${LIBI386} ${LIBSTAND}
@


1.14
log
@Add a dependancy on the BTX crt0 object
Add the biospnp handler to the pnp handler array
Drop some old debugging code
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.13 1998/10/21 20:10:33 msmith Exp $
d23 1
a23 1
CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin
@


1.13
log
@ - Enable PnP and ISA PnP code.
 - Use the ISA PnP enumerator.
 - Use the new linker set code, throw out the gensetdefs stuff.
 - Produce an intermediate loader image that has symbols stripped, to aid
 - in debugging.
 - Supply ISA port access functions required for ISA PnP
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.12 1998/10/14 07:08:16 peter Exp $
d62 1
a62 1
${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN}
@


1.12
log
@Try and get the sys/* and machine/* includes via relative paths.  This
saves having to do a 'make includes' after touching any header file for
the boot code.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.11 1998/10/12 01:03:00 rnordier Exp $
d14 2
a15 2
#HAVE_PNP=	yes
#HAVE_ISABUS=	yes
d23 1
a23 2
CLEANFILES+=	vers.c vers.o ${BASE}.list setdef0.o setdef1.o setdefs.h \
		gensetdefs.o gensetdefs ${BASE}.bin
d51 3
d66 9
a74 2
${BASE}.bin: ${OBJS} ${LIBI386} vers.o setdef0.o setdef1.o
	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o \
d77 3
a79 3
setdef0.o:	setdefs.h

setdef1.o:	setdefs.h
d84 2
a87 6
.include <bsd.prog.mk>

# Linker set gymnastics
setdefs.h: gensetdefs ${OBJS}
	@@echo Generating linker sets
	@@./gensetdefs ${OBJS} >setdefs.h
a88 7
gensetdefs: gensetdefs.o
	${CC} -static gensetdefs.o -o $@@

gensetdefs.o: gensetdefs.c
	${CC} -c $<

beforedepend ${OBJS}: machine
@


1.11
log
@Use  rather than  for linking.  This allows the new rather
than stale version of libstand.a to be found.

After this change, the new boot code is apparently building correctly
in a make world.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.10 1998/10/07 02:39:32 msmith Exp $
d20 2
a21 1
CFLAGS+=	-I${.CURDIR}/../../common -I.
d72 5
d90 1
a90 1

@


1.10
log
@ Enable the DOS filesystem.  NOTE: you will have to rebuild libstand in
 order to be able to build again.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.9 1998/10/01 09:57:09 jkh Exp $
d64 1
a64 1
	${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o \
@


1.9
log
@Override STRIP so installation doesn't try to strip the loader.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.8 1998/09/30 22:37:47 peter Exp $
a15 3

# Verbose ls causes extra heap usage
CFLAGS+=	-DVERBOSE_LS
@


1.8
log
@Make 'make install' do something that might be useful.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.7 1998/09/26 01:31:10 msmith Exp $
d6 1
@


1.7
log
@Recover the arguments passed in from the previous load stage, use them to set
the default console.
Print malloc stats from the new libstand allocator.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.6 1998/09/25 17:14:16 peter Exp $
d7 1
@


1.6
log
@Make these compile when there is an obj dir.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.5 1998/09/19 01:35:53 msmith Exp $
d36 1
d51 4
@


1.5
log
@Make libstand movable.

This completes the basic work required to make the loader work with BTX. We
now have a third-stage bootstrap shared by the i386 and Alpha.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.4 1998/09/18 02:03:29 msmith Exp $
d21 1
a21 1
CFLAGS+=	-I${.CURDIR}/../../common
d38 3
d42 1
d46 1
a46 1
CFLAGS+=	-I${BTXDIR}/lib
@


1.4
log
@Enable the biosdisk driver, duplicate -lstand as it both calls and is called
by the i386 platform library.
@
text
@d1 1
a1 2
# $Id: Makefile,v 1.3 1998/09/17 23:52:15 msmith Exp $
# from	$NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $
a27 1
LDADD=		-lstand ${LIBI386}
d33 4
d56 2
a57 2
	${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o \
		setdef1.o -lstand ${LIBI386} -lstand
@


1.3
log
@Initial integration of the i386 bootloader and BTX.

 - Discard large amounts of BIOS-related code in favour of the more compact
   BTX vm86 interface.
 - Build the loader module as ELF, although the resulting object is a.out,
   make gensetdefs 32/64-bit sensitive and use a single copy of it.
 - Throw away installboot, as it's no longer required.
 - Use direct bcopy operations in the i386_copy module, as BTX
   maps the first 16M of memory.  Check operations against the
   detected size of actual memory.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.2 1998/09/14 18:27:06 msmith Exp $
d50 2
a51 1
	btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${BASE}.bin
d54 2
a55 1
	${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o -lstand ${LIBI386}
@


1.2
log
@Resynch with working sources before BTX integration.

 - Use format-independant module allocator.
 - Conditionalise ISA PnP support.
 - Simplify PnP enumerator interface.
 - Improve module/object searching.
 - Add missing depend/install targets in BTX makefiles.
 - Pass the kernel environment and module data in extended bootinfo fields.
 - Add a pointer to the end of the kernel + modules in bootinfo.
 - Fix parsing of old-style kernel arguments.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $
d4 2
a5 2
BASE= 		loader
PROG= 		${BASE}.sym
d9 3
d16 2
a17 2
# architecture-specific loader code
SRCS+=		main.c conf.c
a22 2
# Verbose ls causes extra heap usage
CFLAGS+=	-DVERBOSE_LS
d24 2
a25 1
CLEANFILES+=	vers.c vers.o ${BASE}.list
d28 2
d34 10
a43 1
CRT=		${.OBJDIR}/../libi386/crt/bootsect/bscrt.o
d49 9
a57 3
${BASE}.sym: ${OBJS} ${LIBI386} ${CRT} vers.o
	${LD} -o ${BASE}.sym -M -e _start -N -Ttext 0 ${CRT} ${OBJS} \
	vers.o -lstand ${LIBI386} -lstand >${.OBJDIR}/${BASE}.list
d60 13
@


1.1
log
@Initial revision
@
text
@d1 1
a1 1
# $Id$
d8 4
@


1.1.1.1
log
@This is the new unified bootstrap, sometimes known previously as the
'three-stage' bootstrap.
There are a number of caveats with the code in its current state:
 - The i386 bootstrap only supports booting from a floppy.
 - The kernel and kld do not yet know how to deal with the extended
   information and module summary passed in.
 - PnP-based autodetection and demand loading of modules is not implemented.
 - i386 ELF kernel loading is not ready yet.
 - The i386 bootstrap is loaded via an ugly blockmap.

On the alpha, both net- and disk-booting (SRM console machines only) is
supported.  No blockmaps are used by this code.

Obtained from:	Parts from the NetBSD/i386 standalone bootstrap.
@
text
@@
