Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 May 2016 16:58:58 -0700
From:      "Lundberg, Johannes" <johannes@brilliantservice.co.jp>
To:        Adrian Chadd <adrian.chadd@gmail.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>, Rui Paulo <rpaulo@freebsd.org>
Subject:   Re: asmc pathes
Message-ID:  <CAASDrV=NJeQjG39yEMOXssE6EDycEYX=reGLeJ35PC=pHCvzMw@mail.gmail.com>
In-Reply-To: <CAJ-VmokV04YVq2m_kPTgFBxSE%2B23W1e%2BS63J%2BnO6Yiz8VCk2eA@mail.gmail.com>
References:  <CAASDrVkpJFHtLoXdXRb2f8cVTHKHjsatVQE32B2L%2BN19ku67ig@mail.gmail.com> <CAJ-VmonSph5-9-=hyrrNGmegSqZ4c%2B3KKaLuo=zZqzme7mdnDQ@mail.gmail.com> <CAASDrV=aqCctKGL=b=f8fJ9QtxxuJ_AqgCfX9K4VJHafThOCnA@mail.gmail.com> <CAJ-Vmok85a--0ff-=nkFo2ta1AuQqJ3sZkgYvxE7ye-B0Szqcg@mail.gmail.com> <CAASDrV=KWMeEXoYvkamsoVy_YaSiULLV7PFTNTWNjz-hk4Lgwg@mail.gmail.com> <CAJ-VmokV04YVq2m_kPTgFBxSE%2B23W1e%2BS63J%2BnO6Yiz8VCk2eA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Tm8gcHJvYmxlbXMgZm9yIG1lIHRvIGFwcGx5IHRoZSBwYXRjaCBjb21waWxlIHRoZSBtb2R1bGUu
DQoNCg0KT24gTW9uLCBNYXkgMiwgMjAxNiBhdCAzOjM5IFBNLCBBZHJpYW4gQ2hhZGQgPGFkcmlh
bi5jaGFkZEBnbWFpbC5jb20+IHdyb3RlOg0KDQo+IERvZXMgdGhpcyBwYXRjaCBhcHBseSBjbGVh
bmx5IG9uIHRvcCBvZiB3aGF0IEkganVzdCBjb21taXR0ZWQgdG8gLUhFQUQ/DQo+DQo+DQo+IC1h
DQo+DQo+DQo+IE9uIDIgTWF5IDIwMTYgYXQgMTQ6NDksIEx1bmRiZXJnLCBKb2hhbm5lcw0KPiA8
am9oYW5uZXNAYnJpbGxpYW50c2VydmljZS5jby5qcD4gd3JvdGU6DQo+ID4gVGhhbmtzISBXaG8g
c2hvdWxkIGNsb3NlIHRoZSBidWcgcmVwb3J0cz8gSSBkb24ndCBtaW5kIGRvaW5nIGl0Lg0KPiA+
DQo+ID4gQnR3LCBJIHNhdyB0aGF0IGEgbmV3IHJlcG9ydCBjYW1lIGluIHllc3RlcmRheSBmb3Ig
TUJQNS4NCj4gPg0KPiA+IGh0dHBzOi8vYnVncy5mcmVlYnNkLm9yZy9idWd6aWxsYS9zaG93X2J1
Zy5jZ2k/aWQ9MjA5MTc5DQo+ID4NCj4gPiBJZiB5b3UgY291bGQgY29tbWl0IHRoYXQgd2UgY2Fu
IGNsb3NlIGFsbCBhc21jIHJlbGF0ZWQgYnVnIHJlcG9ydHMgOikNCj4gPg0KPiA+DQo+ID4gT24g
TW9uLCBNYXkgMiwgMjAxNiBhdCAxMjoxNSBQTSwgQWRyaWFuIENoYWRkIDxhZHJpYW4uY2hhZGRA
Z21haWwuY29tPg0KPiA+IHdyb3RlOg0KPiA+Pg0KPiA+PiBEb25lIQ0KPiA+Pg0KPiA+Pg0KPiA+
PiAtYQ0KPiA+Pg0KPiA+Pg0KPiA+PiBPbiAyIE1heSAyMDE2IGF0IDEwOjQwLCBMdW5kYmVyZywg
Sm9oYW5uZXMNCj4gPj4gPGpvaGFubmVzQGJyaWxsaWFudHNlcnZpY2UuY28uanA+IHdyb3RlOg0K
PiA+PiA+IFBva2UgLT4gQWRyaWFuIDopDQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+IE9uIEZyaSwg
QXByIDI5LCAyMDE2IGF0IDU6MzIgUE0sIEFkcmlhbiBDaGFkZCA8YWRyaWFuLmNoYWRkQGdtYWls
LmNvbQ0KPiA+DQo+ID4+ID4gd3JvdGU6DQo+ID4+ID4+DQo+ID4+ID4+IFN1cmUsIHBva2UgbWUg
YWJvdXQgaXQgbW9uZGF5IGFuZCBJJ2xsIGNvbW1pdCBpdC4NCj4gPj4gPj4NCj4gPj4gPj4NCj4g
Pj4gPj4gLWENCj4gPj4gPj4NCj4gPj4gPj4NCj4gPj4gPj4gT24gMjkgQXByaWwgMjAxNiBhdCAx
NjoxOSwgTHVuZGJlcmcsIEpvaGFubmVzDQo+ID4+ID4+IDxqb2hhbm5lc0BicmlsbGlhbnRzZXJ2
aWNlLmNvLmpwPiB3cm90ZToNCj4gPj4gPj4gPiBIaQ0KPiA+PiA+PiA+DQo+ID4+ID4+ID4gQ2Fu
IHNvbWVvbmUgY2hlY2sgdGhpcyBwYXRjaCBvdXQgYW5kIGFwcGx5IGlmIE9LPw0KPiA+PiA+PiA+
DQo+ID4+ID4+ID4gaHR0cHM6Ly9idWdzLmZyZWVic2Qub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn
aT9pZD0yMDkxNTYNCj4gPj4gPj4gPg0KPiA+PiA+PiA+IFdlIGNhbiBhbHNvIGNsb3NlIGJ1ZyAj
MTc1MjYwLCBidWcgIzIwMzYxMCBhbmQgYnVnICMyMDM1MTIgaWYgd2UNCj4gPj4gPj4gPiBhcHBs
eQ0KPiA+PiA+PiA+IHRoaXMNCj4gPj4gPj4gPiBvbmUuDQo+ID4+ID4+ID4NCj4gPj4gPj4gPiBU
aGFua3MhDQo+ID4+ID4+ID4gSm9oYW5uZXMNCj4gPj4gPj4gPg0KPiA+PiA+PiA+ID0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0KPiA+PiA+PiA+
IOenmOWvhuS/neaMgeOBq+OBpOOBhOOBpu+8muOBk+OBrumbu+WtkOODoeODvOODq+OBr+OAgeWQ
jeWum+S6uuOBq+mAgeS/oeOBl+OBn+OCguOBruOBp+OBguOCiuOAgeenmOWMv+eJueaoqeOBruWv
vuixoeOBqOOBquOCi+aDheWgseOCkuWQq+OCk+OBp+OBhOOBvuOBmeOAgg0KPiA+PiA+PiA+IOOC
guOBl+OAgeWQjeWum+S6uuS7peWkluOBruaWueOBjOWPl+S/oeOBleOCjOOBn+WgtOWQiOOAgeOB
k+OBruODoeODvOODq+OBruegtOajhOOAgeOBiuOCiOOBs+OBk+OBruODoeODvOODq+OBq+mWouOB
meOCi+S4gOWIh+OBrumWi+ekuuOAgQ0KPiA+PiA+PiA+IOikh+WGmeOAgemFjeW4g+OAgeOBneOB
ruS7luOBruWIqeeUqOOAgeOBvuOBn+OBr+iomOi8ieWGheWuueOBq+WfuuOBpeOBj+OBhOOBi+OB
quOCi+ihjOWLleOCguOBleOCjOOBquOBhOOCiOOBhuOBiumhmOOBhOeUs+OBl+S4iuOBkuOBvuOB
meOAgg0KPiA+PiA+PiA+IC0tLQ0KPiA+PiA+PiA+IENPTkZJREVOVElBTElUWSBOT1RFOiBUaGUg
aW5mb3JtYXRpb24gaW4gdGhpcyBlbWFpbCBpcyBjb25maWRlbnRpYWwNCj4gPj4gPj4gPiBhbmQg
aW50ZW5kZWQgc29sZWx5IGZvciB0aGUgYWRkcmVzc2VlLg0KPiA+PiA+PiA+IERpc2Nsb3N1cmUs
IGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBvciBhbnkgb3RoZXIgYWN0aW9uIG9mIHVzZSBvZg0KPiB0
aGlzDQo+ID4+ID4+ID4gZW1haWwgYnkgcGVyc29uIG90aGVyIHRoYW4gaW50ZW5kZWQgcmVjaXBp
ZW50LCBpcyBwcm9oaWJpdGVkLg0KPiA+PiA+PiA+IElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRl
ZCByZWNpcGllbnQgYW5kIGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbA0KPiBpbg0KPiA+PiA+PiA+
IGVycm9yLCBwbGVhc2UgZGVzdHJveSB0aGUgb3JpZ2luYWwgbWVzc2FnZS4NCj4gPj4gPg0KPiA+
PiA+DQo+ID4+ID4NCj4gPj4gPiA9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS0NCj4gPj4gPiDnp5jlr4bkv53mjIHjgavjgaTjgYTjgabvvJrjgZPj
ga7pm7vlrZDjg6Hjg7zjg6vjga/jgIHlkI3lrpvkurrjgavpgIHkv6HjgZfjgZ/jgoLjga7jgafj
gYLjgorjgIHnp5jljL/nibnmqKnjga7lr77osaHjgajjgarjgovmg4XloLHjgpLlkKvjgpPjgafj
gYTjgb7jgZnjgIINCj4gPj4gPiDjgoLjgZfjgIHlkI3lrpvkurrku6XlpJbjga7mlrnjgYzlj5fk
v6HjgZXjgozjgZ/loLTlkIjjgIHjgZPjga7jg6Hjg7zjg6vjga7noLTmo4TjgIHjgYrjgojjgbPj
gZPjga7jg6Hjg7zjg6vjgavplqLjgZnjgovkuIDliIfjga7plovnpLrjgIENCj4gPj4gPiDopIfl
hpnjgIHphY3luIPjgIHjgZ3jga7ku5bjga7liKnnlKjjgIHjgb7jgZ/jga/oqJjovInlhoXlrrnj
gavln7rjgaXjgY/jgYTjgYvjgarjgovooYzli5XjgoLjgZXjgozjgarjgYTjgojjgYbjgYrpoZjj
gYTnlLPjgZfkuIrjgZLjgb7jgZnjgIINCj4gPj4gPiAtLS0NCj4gPj4gPiBDT05GSURFTlRJQUxJ
VFkgTk9URTogVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZW1haWwgaXMgY29uZmlkZW50aWFsDQo+
ID4+ID4gYW5kIGludGVuZGVkIHNvbGVseSBmb3IgdGhlIGFkZHJlc3NlZS4NCj4gPj4gPiBEaXNj
bG9zdXJlLCBjb3B5aW5nLCBkaXN0cmlidXRpb24gb3IgYW55IG90aGVyIGFjdGlvbiBvZiB1c2Ug
b2YgdGhpcw0KPiA+PiA+IGVtYWlsIGJ5IHBlcnNvbiBvdGhlciB0aGFuIGludGVuZGVkIHJlY2lw
aWVudCwgaXMgcHJvaGliaXRlZC4NCj4gPj4gPiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQg
cmVjaXBpZW50IGFuZCBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4NCj4gPj4gPiBlcnJvciwg
cGxlYXNlIGRlc3Ryb3kgdGhlIG9yaWdpbmFsIG1lc3NhZ2UuDQo+ID4NCj4gPg0KPiA+DQo+ID4g
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQo+
ID4g56eY5a+G5L+d5oyB44Gr44Gk44GE44Gm77ya44GT44Gu6Zu75a2Q44Oh44O844Or44Gv44CB
5ZCN5a6b5Lq644Gr6YCB5L+h44GX44Gf44KC44Gu44Gn44GC44KK44CB56eY5Yy/54m55qip44Gu
5a++6LGh44Go44Gq44KL5oOF5aCx44KS5ZCr44KT44Gn44GE44G+44GZ44CCDQo+ID4g44KC44GX
44CB5ZCN5a6b5Lq65Lul5aSW44Gu5pa544GM5Y+X5L+h44GV44KM44Gf5aC05ZCI44CB44GT44Gu
44Oh44O844Or44Gu56C05qOE44CB44GK44KI44Gz44GT44Gu44Oh44O844Or44Gr6Zai44GZ44KL
5LiA5YiH44Gu6ZaL56S644CBDQo+ID4g6KSH5YaZ44CB6YWN5biD44CB44Gd44Gu5LuW44Gu5Yip
55So44CB44G+44Gf44Gv6KiY6LyJ5YaF5a6544Gr5Z+644Gl44GP44GE44GL44Gq44KL6KGM5YuV
44KC44GV44KM44Gq44GE44KI44GG44GK6aGY44GE55Sz44GX5LiK44GS44G+44GZ44CCDQo+ID4g
LS0tDQo+ID4gQ09ORklERU5USUFMSVRZIE5PVEU6IFRoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIGVt
YWlsIGlzIGNvbmZpZGVudGlhbA0KPiA+IGFuZCBpbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSBhZGRy
ZXNzZWUuDQo+ID4gRGlzY2xvc3VyZSwgY29weWluZywgZGlzdHJpYnV0aW9uIG9yIGFueSBvdGhl
ciBhY3Rpb24gb2YgdXNlIG9mIHRoaXMNCj4gPiBlbWFpbCBieSBwZXJzb24gb3RoZXIgdGhhbiBp
bnRlbmRlZCByZWNpcGllbnQsIGlzIHByb2hpYml0ZWQuDQo+ID4gSWYgeW91IGFyZSBub3QgdGhl
IGludGVuZGVkIHJlY2lwaWVudCBhbmQgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsIGluDQo+ID4g
ZXJyb3IsIHBsZWFzZSBkZXN0cm95IHRoZSBvcmlnaW5hbCBtZXNzYWdlLg0KPg0KCi0tIAo9LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0K56eY5a+G
5L+d5oyB44Gr44Gk44GE44Gm77ya44GT44Gu6Zu75a2Q44Oh44O844Or44Gv44CB5ZCN5a6b5Lq6
44Gr6YCB5L+h44GX44Gf44KC44Gu44Gn44GC44KK44CB56eY5Yy/54m55qip44Gu5a++6LGh44Go
44Gq44KL5oOF5aCx44KS5ZCr44KT44Gn44GE44G+44GZ44CCCuOCguOBl+OAgeWQjeWum+S6uuS7
peWkluOBruaWueOBjOWPl+S/oeOBleOCjOOBn+WgtOWQiOOAgeOBk+OBruODoeODvOODq+OBrueg
tOajhOOAgeOBiuOCiOOBs+OBk+OBruODoeODvOODq+OBq+mWouOBmeOCi+S4gOWIh+OBrumWi+ek
uuOAgQropIflhpnjgIHphY3luIPjgIHjgZ3jga7ku5bjga7liKnnlKjjgIHjgb7jgZ/jga/oqJjo
vInlhoXlrrnjgavln7rjgaXjgY/jgYTjgYvjgarjgovooYzli5XjgoLjgZXjgozjgarjgYTjgojj
gYbjgYrpoZjjgYTnlLPjgZfkuIrjgZLjgb7jgZnjgIIKLS0tCkNPTkZJREVOVElBTElUWSBOT1RF
OiBUaGUgaW5mb3JtYXRpb24gaW4gdGhpcyBlbWFpbCBpcyBjb25maWRlbnRpYWwKYW5kIGludGVu
ZGVkIHNvbGVseSBmb3IgdGhlIGFkZHJlc3NlZS4KRGlzY2xvc3VyZSwgY29weWluZywgZGlzdHJp
YnV0aW9uIG9yIGFueSBvdGhlciBhY3Rpb24gb2YgdXNlIG9mIHRoaXMKZW1haWwgYnkgcGVyc29u
IG90aGVyIHRoYW4gaW50ZW5kZWQgcmVjaXBpZW50LCBpcyBwcm9oaWJpdGVkLgpJZiB5b3UgYXJl
IG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IGFuZCBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwg
aW4KZXJyb3IsIHBsZWFzZSBkZXN0cm95IHRoZSBvcmlnaW5hbCBtZXNzYWdlLgo=
From owner-freebsd-current@freebsd.org  Tue May  3 00:26:31 2016
Return-Path: <owner-freebsd-current@freebsd.org>
Delivered-To: freebsd-current@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3EBD6B2B705
 for <freebsd-current@mailman.ysv.freebsd.org>;
 Tue,  3 May 2016 00:26:31 +0000 (UTC) (envelope-from jhb@freebsd.org)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1F29E10F0;
 Tue,  3 May 2016 00:26:31 +0000 (UTC) (envelope-from jhb@freebsd.org)
Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net
 [73.231.226.104])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id D2485B95B;
 Mon,  2 May 2016 20:26:29 -0400 (EDT)
From: John Baldwin <jhb@freebsd.org>
To: Eric van Gyzen <vangyzen@freebsd.org>
Cc: Bill O'Hanlon <bill.ohanlon@gmail.com>, freebsd-current@freebsd.org
Subject: Re: Kernel panic from recent build
Date: Mon, 02 May 2016 15:34:10 -0700
Message-ID: <1947330.icTGKp8qzg@ralph.baldwin.cx>
User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; )
In-Reply-To: <5727D20D.9090502@FreeBSD.org>
References: <CAN3DDYpfN0_F5akew5jccXO9bCQoVLN75v86ZJ=OgvTNfMSmZw@mail.gmail.com>
 <CAN3DDYr9qB+_nYV3ipksff0y2miX5egwx1Hbva6j-Jf2+UoaDw@mail.gmail.com>
 <5727D20D.9090502@FreeBSD.org>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Mon, 02 May 2016 20:26:29 -0400 (EDT)
X-BeenThere: freebsd-current@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussions about the use of FreeBSD-current
 <freebsd-current.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-current>, 
 <mailto:freebsd-current-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-current/>;
List-Post: <mailto:freebsd-current@freebsd.org>
List-Help: <mailto:freebsd-current-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-current>, 
 <mailto:freebsd-current-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 03 May 2016 00:26:31 -0000

On Monday, May 02, 2016 05:17:49 PM Eric van Gyzen wrote:
> On 05/02/2016 16:14, Bill O'Hanlon wrote:
> > On Mon, May 2, 2016 at 3:55 PM, John Baldwin <jhb@freebsd.org> wrot=
e:
> >
> >> On Monday, May 02, 2016 01:35:54 PM Bill O'Hanlon wrote:
> >>> =E2=80=8B
> >>>  IMG_20160502_130335.jpg
> >>> <
> >> https://drive.google.com/file/d/1dtJxTwWXfhXVUUtn1Vvpzh3laJt7AILyC=
g/view?usp=3Ddrive_web
> >>> =E2=80=8B
> >>> I'm getting the following panic from a recent (May 2, 2016) build=
.
> >>> panic: Duplicate local APIC ID 0
> >>>
> >>> The system is a Dell Precision T5500 with generic factory BIOS se=
ttings.
> >>> It has run previous builds without event for several years.
> >>>
> >>> I'm attaching a link to a photo of the screen for added details.
> >> Try setting 'hint.srat.0.disabled=3D1' at the loader prompt and th=
en grab
> >> the output of 'acpidump -t' on your next boot.  The SRAT table use=
d by
> >> the NUMA code appears to be corrupted by your BIOS.
> >>
> >> --
> >> John Baldwin
> >>
> >
> > That allowed me to boot.  I'm attaching the output of 'acpidump -t'=
.
> > Thanks!
>=20
> Bill,
>=20
> Do you have the time and interest to test this patch?  If so, remove =
the
> line that you added to /boot/loader.conf so the patch actually gets
> exercised.

This patch looks fine to me.  A shame since the SRAT is mostly correct,=
 but
there are spurious 'enabled' entries in the table.  If we wanted to be =
more
forgiving, we could perhaps just warn about duplicate entries if they a=
ll
agree.  That might work for this system for APIC ID 0, but there are al=
so
some enabled CPUs with APIC ID 1 which I bet don't exist on this system=
, so
that would probably result in a panic anyway.

You might try updating your BIOS if you are brave.

> Eric
>=20
>=20
> diff --git a/sys/x86/acpica/srat.c b/sys/x86/acpica/srat.c
> index 85f1922..1d0f73d 100644
> --- a/sys/x86/acpica/srat.c
> +++ b/sys/x86/acpica/srat.c
> @@ -201,8 +201,12 @@ srat_parse_entry(ACPI_SUBTABLE_HEADER *entry, vo=
id
> *arg)
>                  "enabled" : "disabled");
>          if (!(cpu->Flags & ACPI_SRAT_CPU_ENABLED))
>              break;
> -        KASSERT(!cpus[cpu->ApicId].enabled,
> -            ("Duplicate local APIC ID %u", cpu->ApicId));
> +        if (cpus[cpu->ApicId].enabled) {
> +            printf("SRAT: Duplicate local APIC ID %u\n",
> +                cpu->ApicId);
> +            *(int *)arg =3D ENXIO;
> +            break;
> +        }
>          cpus[cpu->ApicId].domain =3D domain;
>          cpus[cpu->ApicId].enabled =3D 1;
>          break;
>=20


--=20
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAASDrV=NJeQjG39yEMOXssE6EDycEYX=reGLeJ35PC=pHCvzMw>