i386/165561: K8N890M-M Boot Hang
Byron Young
bkyoung74q9 at yahoo.com
Fri Mar 2 22:30:10 UTC 2012
The following reply was made to PR i386/165561; it has been noted by GNATS.
From: Byron Young <bkyoung74q9 at yahoo.com>
To: "bug-followup at FreeBSD.org" <bug-followup at FreeBSD.org>
Cc:
Subject: Re: i386/165561: K8N890M-M Boot Hang
Date: Fri, 2 Mar 2012 14:13:05 -0800 (PST)
--1993147269-1217604498-1330726385=:22524
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
The hang happens on the boot machine (console=3Dvidconsole) at the instruct=
ion as indicated in the listing from the pci_cfgreg.c snippit and the VIDCO=
NSOLE OUTPUT. If booting via console=3Dcomconsole only, the boot continues,=
as shown in BEGIN COMCONSOLE BOOT CONTINUE listing.=0A=0A=3D=3D=3D=3D=3DBE=
GIN VIDCONSOLE OUTPUT=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=0AOK boot -d=0AKDB: debugger backends: ddb=0AKDB: current b=
ackend: ddb=0AKDB: enter: Boot flags requested debugger=0A[ thread pid 0 ti=
d 0 ]=0AStopped at=A0=A0=A0=A0=A0 kdb_enter+0x3a: movl=A0=A0=A0 $0,kdb_why=
=0Adb> b pcib_alloc_window=0Adb> cont=0ACopyright (c) 1992-2012 The FreeBSD=
Project.=0ACopyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1=
993, 1994=0A=A0=A0=A0 The Regents of the University of California. All righ=
ts reserved.=0AFreeBSD is a registered trademark of The FreeBSD Foundation.=
=0AFreeBSD 9.0-RELEASE #2: Thu Mar=A0 1 11:11:06 PST 2012=0A=A0=A0=A0 root@=
butler.bkyoung.com:/usr/obj/usr/src/sys/BUTLER i386=0ACPU: AMD Athlon(tm) 6=
4 Processor 3800+ (2394.05-MHz 686-class CPU)=0A=A0 Origin =3D "AuthenticAM=
D"=A0 Id =3D 0x50ff2=A0 Family =3D f=A0 Model =3D 5f=A0 Stepping =3D 2=0A=
=A0 Features=3D0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,P=
GE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>=0A=A0 Features2=3D0x2001<S=
SE3,CX16>=0A=A0 AMD Features=3D0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3=
DNow!+,3DNow!>=0A=A0 AMD Features2=3D0x1d<LAHF,SVM,ExtAPIC,CR8>=0Areal memo=
ry=A0 =3D 2147483648 (2048 MB)=0Aavail memory =3D 1822670848 (1738 MB)=0AEv=
ent timer "LAPIC" quality 400=0AACPI APIC Table: <A M I=A0 OEMAPIC >=0Aioap=
ic0 <Version 0.3> irqs 0-23 on motherboard=0Aioapic1 <Version 0.3> irqs 24-=
47 on motherboard=0Akbd1 at kbdmux0=0Aacpi0: <A M I OEMRSDT> on motherboard=
=0Aacpi0: Power Button (fixed)=0Aacpi0: reservation of 0, a0000 (3) failed=
=0Aacpi0: reservation of 100000, 7ff00000 (3) failed=0ATimecounter "ACPI-fa=
st" frequency 3579545 Hz quality 900=0Aacpi_timer0: <24-bit timer at 3.5795=
45MHz> port 0x808-0x80b on acpi0=0Acpu0: <ACPI CPU> on acpi0=0Apcib0: <ACPI=
Host-PCI bridge> port 0xcf8-0xcff on acpi0=0Apci0: <ACPI PCI bus> on pcib0=
=0Apcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0=0A[ thread pid 0 tid =
100000 ]=0ABreakpoint at=A0=A0 pcib_alloc_window:=A0=A0=A0=A0=A0 pushl=A0=
=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pcib_al=
loc_window:=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100=
000 ]=0ABreakpoint at=A0=A0 pcib_alloc_window:=A0=A0=A0=A0=A0 pushl=A0=A0 %=
ebp=0Adb> b pci_write_config_method=0Adb> cont=0Apcib1: failed to allocate =
initial prefetch window: 0xd0000000-0xdfffffff=0A[ thread pid 0 tid 100000 =
]=0ABreakpoint at=A0=A0 pci_write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=
=A0=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_=
write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0Apci1: <=
ACPI PCI bus> on pcib1=0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 =
pci_write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ t=
hread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_write_config_method:=A0=
=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0A=
Breakpoint at=A0=A0 pci_write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=
=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_wri=
te_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread p=
id 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_write_config_method:=A0=A0=A0=
=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakp=
oint at=A0=A0 pci_write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %eb=
p=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_write_conf=
ig_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread pid 0 ti=
d 100000 ]=0ABreakpoint at=A0=A0 pci_write_config_method:=A0=A0=A0=A0=A0=A0=
=A0 pushl=A0=A0 %ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=
=A0=A0 pci_write_config_method:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb>=
=0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_write_config_meth=
od:=A0=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> b pci_cfgregwrite=0Adb> con=
t=0A[ thread pid 0 tid 100000 ]=0ABreakpoint at=A0=A0 pci_cfgregwrite:=A0=
=A0=A0=A0=A0=A0=A0 pushl=A0=A0 %ebp=0Adb> s=0A[ thread pid 0 tid 100000 ]=
=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x1:=A0=A0=A0 movl=A0=A0=A0 %e=
sp,%ebp=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pc=
i_cfgregwrite+0x3:=A0=A0=A0 subl=A0=A0=A0 $0x30,%esp=0Adb> =0A[ thread pid =
0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x6:=A0=A0=A0 mo=
vl=A0=A0=A0 %ebx,0xfffffff4(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0ASt=
opped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x9:=A0=A0=A0 movl=A0=A0=A0 %esi,0x=
fffffff8(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=
=A0=A0 pci_cfgregwrite+0xc:=A0=A0=A0 movl=A0=A0=A0 %edi,0xfffffffc(%ebp)=0A=
db> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwr=
ite+0xf:=A0=A0=A0 movl=A0=A0=A0 0x8(%ebp),%esi=0Adb> =0A[ thread pid 0 tid =
100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x12:=A0=A0 movl=A0=A0=
=A0 0x1c(%ebp),%edi=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=
=A0=A0=A0 pci_cfgregwrite+0x15:=A0=A0 cmpl=A0=A0=A0 $0x3,cfgmech=0Adb> =0A[=
thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x1c=
:=A0=A0 jnz=A0=A0=A0=A0 pci_cfgregwrite+0x1b0=0Adb> =0A[ thread pid 0 tid 1=
00000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x22:=A0=A0 cmpl=A0=A0=
=A0 %esi,pcie_minbus=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=
=A0=A0=A0=A0 pci_cfgregwrite+0x28:=A0=A0 jnle=A0=A0=A0 pci_cfgregwrite+0x1b=
0=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgr=
egwrite+0x2e:=A0=A0 cmpl=A0=A0=A0 pcie_maxbus,%esi=0Adb> =0A[ thread pid 0 =
tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x34:=A0=A0 jnle=
=A0=A0=A0 pci_cfgregwrite+0x1b0=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStop=
ped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x3a:=A0=A0 testl=A0=A0 %esi,%esi=0Ad=
b> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwri=
te+0x3c:=A0=A0 jnz=A0=A0=A0=A0 pci_cfgregwrite+0x55=0Adb> =0A[ thread pid 0=
tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x55:=A0=A0 cmpl=
=A0=A0=A0 $0x1f,0xc(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 pci_cfgregwrite+0x59:=A0=A0 jnbe=A0=A0=A0 pci_cfgregwrite+0=
x288=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_c=
fgregwrite+0x5f:=A0=A0 cmpl=A0=A0=A0 $0x7,0x10(%ebp)=0Adb> =0A[ thread pid =
0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x63:=A0=A0 jnbe=
=A0=A0=A0 pci_cfgregwrite+0x288=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStop=
ped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x69:=A0=A0 cmpl=A0=A0=A0 $0xfff,0x14=
(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci=
_cfgregwrite+0x70:=A0=A0 jnbe=A0=A0=A0 pci_cfgregwrite+0x288=0Adb> =0A[ thr=
ead pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x76:=A0=
=A0 call=A0=A0=A0 critical_enter=0Adb> =0A[ thread pid 0 tid 100000 ]=0ASto=
pped at=A0=A0=A0=A0=A0 critical_enter: pushl=A0=A0 %ebp=0Adb> n=0AAfter 7 i=
nstructions (0 loads, 0 stores),=0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 critical_enter+0x1a:=A0=A0=A0 ret=0Adb> s=0A[ thread pid 0 =
tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x7b:=A0=A0 movl=
=A0=A0=A0 %esi,%edx=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=
=A0=A0=A0 pci_cfgregwrite+0x7d:=A0=A0 andl=A0=A0=A0 $0xff,%edx=0Adb> =0A[ t=
hread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x83:=
=A0=A0 shll=A0=A0=A0 $0x14,%edx=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStop=
ped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x86:=A0=A0 orl=A0=A0=A0=A0 pcie_base=
,%edx=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_=
cfgregwrite+0x8c:=A0=A0 movl=A0=A0=A0 0xc(%ebp),%eax=0Adb> =0A[ thread pid =
0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x8f:=A0=A0 andl=
=A0=A0=A0 $0x1f,%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=
=A0=A0=A0=A0 pci_cfgregwrite+0x92:=A0=A0 shll=A0=A0=A0 $0xf,%eax=0Adb> =0A[=
thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x95=
:=A0=A0 orl=A0=A0=A0=A0 %eax,%edx=0Adb> =0A[ thread pid 0 tid 100000 ]=0ASt=
opped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x97:=A0=A0 movl=A0=A0=A0 0x10(%ebp=
),%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci=
_cfgregwrite+0x9a:=A0=A0 andl=A0=A0=A0 $0x7,%eax=0Adb> =0A[ thread pid 0 ti=
d 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x9d:=A0=A0 shll=A0=
=A0=A0 $0xc,%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=
=A0=A0 pci_cfgregwrite+0xa0:=A0=A0 orl=A0=A0=A0=A0 %eax,%edx=0Adb> =0A[ thr=
ead pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xa2:=A0=
=A0 movl=A0=A0=A0 0x14(%ebp),%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0ASt=
opped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xa5:=A0=A0 andl=A0=A0=A0 $0xfff,%e=
ax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfg=
regwrite+0xaa:=A0=A0 orl=A0=A0=A0=A0 %eax,%edx=0Adb> =0A[ thread pid 0 tid =
100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xac:=A0=A0 movl=A0=A0=
=A0 %edx,0xffffffe4(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 pci_cfgregwrite+0xaf:=A0=A0 movl=A0=A0=A0 %edx,%esi=0Adb> =
=0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+=
0xb1:=A0=A0 andl=A0=A0=A0 $0xfffff000,%esi=0Adb> =0A[ thread pid 0 tid 1000=
00 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xb7:=A0=A0 movl=A0=A0=A0 =
%fs:0x20,%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=
=A0 pci_cfgregwrite+0xbd:=A0=A0 movl=A0=A0=A0 %eax,0xffffffec(%ebp)=0Adb> =
=0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+=
0xc0:=A0=A0 shll=A0=A0=A0 $0x3,%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0A=
Stopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xc3:=A0=A0 leal=A0=A0=A0 pcie_li=
st(%eax),%edx=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=
=A0 pci_cfgregwrite+0xc9:=A0=A0 movl=A0=A0=A0 %edx,0xffffffe8(%ebp)=0Adb> =
=0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+=
0xcc:=A0=A0 movl=A0=A0=A0 pcie_list(%eax),%ebx=0Adb> =0A[ thread pid 0 tid =
100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xd2:=A0=A0 testl=A0=
=A0 %ebx,%ebx=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=
=A0 pci_cfgregwrite+0xd4:=A0=A0 jz=A0=A0=A0=A0=A0 pci_cfgregwrite+0xeb=0Adb=
> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrit=
e+0xd6:=A0=A0 cmpl=A0=A0=A0 0xc(%ebx),%esi=0Adb> =0A[ thread pid 0 tid 1000=
00 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0xd9:=A0=A0 jnz=A0=A0=A0=
=A0 pci_cfgregwrite+0xe5=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 pci_cfgregwrite+0xdb:=A0=A0 jmp=A0=A0=A0=A0 pci_cfgregwrite=
+0x11f=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci=
_cfgregwrite+0x11f:=A0 movl=A0=A0=A0 0xffffffe8(%ebp),%eax=0Adb> =0A[ threa=
d pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x122:=A0 =
cmpl=A0=A0=A0 %ebx,0(%eax)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped a=
t=A0=A0=A0=A0=A0 pci_cfgregwrite+0x124:=A0 jz=A0=A0=A0=A0=A0 pci_cfgregwrit=
e+0x164=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pc=
i_cfgregwrite+0x164:=A0 movl=A0=A0=A0 0x18(%ebp),%edx=0Adb> =0A[ thread pid=
0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x167:=A0 movl=
=A0=A0=A0 0xffffffe4(%ebp),%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStop=
ped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x16a:=A0 andl=A0=A0=A0 $0xfff,%eax=
=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgre=
gwrite+0x16f:=A0 orl=A0=A0=A0=A0 0x8(%ebx),%eax=0Adb> =0A[ thread pid 0 tid=
100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x172:=A0 movl=A0=A0=
=A0 %eax,0xfffffff0(%ebp)=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 pci_cfgregwrite+0x175:=A0 cmpl=A0=A0=A0 $0x2,%edi=0Adb> =0A=
[ thread pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x1=
78:=A0 jz=A0=A0=A0=A0=A0 pci_cfgregwrite+0x192=0Adb> =0A[ thread pid 0 tid =
100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x192:=A0 movl=A0=A0=
=A0 0xfffffff0(%ebp),%eax=0Adb> =0A[ thread pid 0 tid 100000 ]=0AStopped at=
=A0=A0=A0=A0=A0 pci_cfgregwrite+0x195:=A0 movw=A0=A0=A0 %dx,0(%eax)=0Adb>=
=0A=3D=3D=3D=3D=3DEND VIDCONSOLE OUTPUT=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=0A=3D=3D=3D=3D=3DBEGIN COMCONSOLE BOOT=
CONTINUE=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0Aprint %eax=0Ac0d66855=
=0Adb> x/wx 0xc0d66855=0Apci_cfgregwrite+0x195:=A0 eb108966=0Adb> s=0A[ thr=
ead pid 0 tid 100000 ]=0AStopped at=A0=A0=A0=A0=A0 pci_cfgregwrite+0x198:=
=A0 jmp=A0=A0=A0=A0 pci_cfgregwrite+0x19f=0Adb> pint %dx=0ANo such command=
=0Adb> print %dx=0Ac0d66858=0Adb> =0A=3D=3D=3D=3DEND COMCONSOLE BOOT CONTIN=
UE=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=0A=3D=3D=3D=3DBEGIN SNIPPIT F=
ROM pci_cfgreg.c=0A00000380 <pci_cfgregwrite>:=0A/* =0A=A0* Write configura=
tion space register =0A=A0*/=0Avoid=0Apci_cfgregwrite(int bus, int slot, in=
t func, int reg, u_int32_t data, int bytes)=0A{=0A=A0380:=A0=A0=A0 55=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 push=A0=A0 %ebp=
=0A=A0381:=A0=A0=A0 89 e5=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 mov=A0=A0=A0 %esp,%ebp=0A=A0383:=A0=A0=A0 83 ec 30=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 sub=A0=A0=A0 $0x30,%esp=0A=A0386:=A0=A0=A0 89 =
5d f4=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %ebx,-0xc(=
%ebp)=0A=A0389:=A0=A0=A0 89 75 f8=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 mov=A0=A0=A0 %esi,-0x8(%ebp)=0A=A038c:=A0=A0=A0 89 7d fc=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %edi,-0x4(%ebp)=0A=A038f:=
=A0=A0=A0 8b 75 08=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=
=A0 0x8(%ebp),%esi=0A=A0392:=A0=A0=A0 8b 7d 1c=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x1c(%ebp),%edi=0A=0A=A0=A0=A0 if (cfgmech=
=3D=3D CFGMECH_PCIE &&=0A=A0395:=A0=A0=A0 83 3d 34 01 00 00 03 =A0=A0=A0 c=
mpl=A0=A0 $0x3,0x134=0A=A039c:=A0=A0=A0 0f 85 8e 01 00 00=A0=A0=A0 =A0=A0=
=A0 jne=A0=A0=A0 530 <pci_cfgregwrite+0x1b0>=0A=A03a2:=A0=A0=A0 39 35 28 01=
00 00=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 %esi,0x128=0A=A03a8:=A0=A0=A0 0f 8f =
82 01 00 00=A0=A0=A0 =A0=A0=A0 jg=A0=A0=A0=A0 530 <pci_cfgregwrite+0x1b0>=
=0A=A03ae:=A0=A0=A0 3b 35 2c 01 00 00=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 0x12c=
,%esi=0A=A03b4:=A0=A0=A0 0f 8f 76 01 00 00=A0=A0=A0 =A0=A0=A0 jg=A0=A0=A0=
=A0 530 <pci_cfgregwrite+0x1b0>=0A=A03ba:=A0=A0=A0 85 f6=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 test=A0=A0 %esi,%esi=0A=A03bc:=A0=A0=
=A0 75 17=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jne=A0=A0=
=A0 3d5 <pci_cfgregwrite+0x55>=0A=A03be:=A0=A0=A0 b8 01 00 00 00=A0=A0=A0=
=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 $0x1,%eax=0A=A03c3:=A0=A0=A0 0f b6 4d 0c=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 movzbl 0xc(%ebp),%ecx=0A=A03c7:=A0=A0=
=A0 d3 e0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 shl=A0=A0=
=A0 %cl,%eax=0A=A03c9:=A0=A0=A0 85 05 30 01 00 00=A0=A0=A0 =A0=A0=A0 test=
=A0=A0 %eax,0x130=0A=A03cf:=A0=A0=A0 0f 85 5b 01 00 00=A0=A0=A0 =A0=A0=A0 j=
ne=A0=A0=A0 530 <pci_cfgregwrite+0x1b0>=0A{=0A=A0=A0=A0 struct pcie_cfg_ele=
m *elem;=0A=A0=A0=A0 volatile vm_offset_t va;=0A=A0=A0=A0 vm_paddr_t pa, pa=
page;=0A=0A=A0=A0=A0 if (bus < pcie_minbus || bus > pcie_maxbus || slot > P=
CI_SLOTMAX ||=0A=A03d5:=A0=A0=A0 83 7d 0c 1f=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 cmpl=A0=A0 $0x1f,0xc(%ebp)=0A=A03d9:=A0=A0=A0 0f 87 29 02 00 00=A0=
=A0=A0 =A0=A0=A0 ja=A0=A0=A0=A0 608 <pci_cfgregwrite+0x288>=0A=A03df:=A0=A0=
=A0 83 7d 10 07=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 cmpl=A0=A0 $0x7,0x10(%=
ebp)=0A=A03e3:=A0=A0=A0 0f 87 1f 02 00 00=A0=A0=A0 =A0=A0=A0 ja=A0=A0=A0=A0=
608 <pci_cfgregwrite+0x288>=0A=A03e9:=A0=A0=A0 81 7d 14 ff 0f 00 00 =A0=A0=
=A0 cmpl=A0=A0 $0xfff,0x14(%ebp)=0A=A03f0:=A0=A0=A0 0f 87 12 02 00 00=A0=A0=
=A0 =A0=A0=A0 ja=A0=A0=A0=A0 608 <pci_cfgregwrite+0x288>=0A=A0=A0=A0 =A0=A0=
=A0 func > PCI_FUNCMAX || reg > PCIE_REGMAX)=0A=A0=A0=A0 =A0=A0=A0 return;=
=0A=0A=A0=A0=A0 critical_enter();=0A=A03f6:=A0=A0=A0 e8 fc ff ff ff=A0=A0=
=A0=A0=A0=A0 =A0=A0=A0 call=A0=A0 3f7 <pci_cfgregwrite+0x77>=0A=A0=A0=A0 pa=
=3D PCIE_PADDR(pcie_base, reg, bus, slot, func);=0A=A03fb:=A0=A0=A0 89 f2=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %esi,%=
edx=0A=A03fd:=A0=A0=A0 81 e2 ff 00 00 00=A0=A0=A0 =A0=A0=A0 and=A0=A0=A0 $0=
xff,%edx=0A=A0403:=A0=A0=A0 c1 e2 14=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0=A0=A0 shl=A0=A0=A0 $0x14,%edx=0A=A0406:=A0=A0=A0 0b 15 20 01 00 00=A0=
=A0=A0 =A0=A0=A0 or=A0=A0=A0=A0 0x120,%edx=0A=A040c:=A0=A0=A0 8b 45 0c=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0xc(%ebp),%eax=0A=
=A040f:=A0=A0=A0 83 e0 1f=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 and=
=A0=A0=A0 $0x1f,%eax=0A=A0412:=A0=A0=A0 c1 e0 0f=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 =A0=A0=A0 shl=A0=A0=A0 $0xf,%eax=0A=A0415:=A0=A0=A0 09 c2=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 or=A0=A0=A0=A0 %eax,%edx=
=0A=A0417:=A0=A0=A0 8b 45 10=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =
mov=A0=A0=A0 0x10(%ebp),%eax=0A=A041a:=A0=A0=A0 83 e0 07=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 and=A0=A0=A0 $0x7,%eax=0A=A041d:=A0=A0=A0 c1 e=
0 0c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 shl=A0=A0=A0 $0xc,%eax=
=0A=A0420:=A0=A0=A0 09 c2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 or=A0=A0=A0=A0 %eax,%edx=0A=A0422:=A0=A0=A0 8b 45 14=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x14(%ebp),%eax=0A=A0425:=A0=
=A0=A0 25 ff 0f 00 00=A0=A0=A0=A0=A0=A0 =A0=A0=A0 and=A0=A0=A0 $0xfff,%eax=
=0A=A042a:=A0=A0=A0 09 c2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 or=A0=A0=A0=A0 %eax,%edx=0A=A042c:=A0=A0=A0 89 55 e4=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %edx,-0x1c(%ebp)=0A=A0=A0=A0 p=
apage =3D pa & ~PAGE_MASK;=0A=A042f:=A0=A0=A0 89 d6=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %edx,%esi=0A=A0431:=A0=A0=A0 8=
1 e6 00 f0 ff ff=A0=A0=A0 =A0=A0=A0 and=A0=A0=A0 $0xfffff000,%esi=0Apciereg=
_findelem(vm_paddr_t papage)=0A{=0A=A0=A0=A0 struct pcie_cfg_list *pcielist=
;=0A=A0=A0=A0 struct pcie_cfg_elem *elem;=0A=0A=A0=A0=A0 pcielist =3D &pcie=
_list[PCPU_GET(cpuid)];=0A=A0437:=A0=A0=A0 64 a1 20 00 00 00=A0=A0=A0 =A0=
=A0=A0 mov=A0=A0=A0 %fs:0x20,%eax=0A=A043d:=A0=A0=A0 89 45 ec=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,-0x14(%ebp)=0A=A0440:=
=A0=A0=A0 c1 e0 03=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 shl=A0=A0=
=A0 $0x3,%eax=0A=A0443:=A0=A0=A0 8d 90 20 00 00 00=A0=A0=A0 =A0=A0=A0 lea=
=A0=A0=A0 0x20(%eax),%edx=0A=A0449:=A0=A0=A0 89 55 e8=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %edx,-0x18(%ebp)=0A=A0=A0=A0 TAILQ_F=
OREACH(elem, pcielist, elem) {=0A=A044c:=A0=A0=A0 8b 98 20 00 00 00=A0=A0=
=A0 =A0=A0=A0 mov=A0=A0=A0 0x20(%eax),%ebx=0A=A0452:=A0=A0=A0 85 db=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 test=A0=A0 %ebx,%ebx=0A=
=A0454:=A0=A0=A0 74 15=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=
=A0 je=A0=A0=A0=A0 46b <pci_cfgregwrite+0xeb>=0A=A0=A0=A0 =A0=A0=A0 if (ele=
m->papage =3D=3D papage)=0A=A0456:=A0=A0=A0 3b 73 0c=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 0xc(%ebx),%esi=0A=A0459:=A0=A0=A0 75=
0a=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jne=A0=A0=A0 465=
<pci_cfgregwrite+0xe5>=0A=A045b:=A0=A0=A0 eb 42=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=A0=A0 49f <pci_cfgregwrite+0x11f>=0A=A0=
45d:=A0=A0=A0 8d 76 00=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 lea=A0=
=A0=A0 0x0(%esi),%esi=0A=A0460:=A0=A0=A0 3b 73 0c=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 0xc(%ebx),%esi=0A=A0463:=A0=A0=A0 74 3a=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=A0=A0 49f =
<pci_cfgregwrite+0x11f>=0A{=0A=A0=A0=A0 struct pcie_cfg_list *pcielist;=0A=
=A0=A0=A0 struct pcie_cfg_elem *elem;=0A=0A=A0=A0=A0 pcielist =3D &pcie_lis=
t[PCPU_GET(cpuid)];=0A=A0=A0=A0 TAILQ_FOREACH(elem, pcielist, elem) {=0A=A0=
465:=A0=A0=A0 8b 1b=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =
mov=A0=A0=A0 (%ebx),%ebx=0A=A0467:=A0=A0=A0 85 db=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 test=A0=A0 %ebx,%ebx=0A=A0469:=A0=A0=A0 75 =
f5=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jne=A0=A0=A0 460 =
<pci_cfgregwrite+0xe0>=0A=A0=A0=A0 =A0=A0=A0 if (elem->papage =3D=3D papage=
)=0A=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 break;=0A=A0=A0=A0 }=0A=0A=A0=A0=A0 if (e=
lem =3D=3D NULL) {=0A=A0=A0=A0 =A0=A0=A0 elem =3D TAILQ_LAST(pcielist, pcie=
_cfg_list);=0A=A046b:=A0=A0=A0 8b 4d e8=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 mov=A0=A0=A0 -0x18(%ebp),%ecx=0A=A046e:=A0=A0=A0 8b 41 04=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x4(%ecx),%eax=0A=A04=
71:=A0=A0=A0 8b 40 04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=
=A0=A0 0x4(%eax),%eax=0A=A0474:=A0=A0=A0 8b 18=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 (%eax),%ebx=0A=A0=A0=A0 =A0=A0=A0=
if (elem->papage !=3D 0) {=0A=A0476:=A0=A0=A0 83 7b 0c 00=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 =A0=A0=A0 cmpl=A0=A0 $0x0,0xc(%ebx)=0A=A047a:=A0=A0=A0 74 11=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=A0=A0 48d =
<pci_cfgregwrite+0x10d>=0A=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 pmap_kremove(elem->=
vapage);=0A=A047c:=A0=A0=A0 8b 43 08=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0=A0=A0 mov=A0=A0=A0 0x8(%ebx),%eax=0A=A047f:=A0=A0=A0 89 04 24=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,(%esp)=0A=A0482:=A0=
=A0=A0 e8 fc ff ff ff=A0=A0=A0=A0=A0=A0 =A0=A0=A0 call=A0=A0 483 <pci_cfgre=
gwrite+0x103>=0A{=0A=0A#ifdef XEN=0A=A0=A0=A0 xen_invlpg(addr);=0A#else=0A=
=A0=A0=A0 __asm __volatile("invlpg %0" : : "m" (*(char *)addr) : "memory");=
=0A=A0487:=A0=A0=A0 8b 43 08=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =
mov=A0=A0=A0 0x8(%ebx),%eax=0A=A048a:=A0=A0=A0 0f 01 38=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 invlpg (%eax)=0A=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =
invlpg(elem->vapage);=0A=A0=A0=A0 =A0=A0=A0 }=0A=A0=A0=A0 =A0=A0=A0 pmap_ke=
nter(elem->vapage, papage);=0A=A048d:=A0=A0=A0 8b 43 08=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x8(%ebx),%eax=0A=A0490:=A0=A0=A0=
89 74 24 04=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %esi,0x4(%es=
p)=0A=A0494:=A0=A0=A0 89 04 24=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=
=A0 mov=A0=A0=A0 %eax,(%esp)=0A=A0497:=A0=A0=A0 e8 fc ff ff ff=A0=A0=A0=A0=
=A0=A0 =A0=A0=A0 call=A0=A0 498 <pci_cfgregwrite+0x118>=0A=A0=A0=A0 =A0=A0=
=A0 elem->papage =3D papage;=0A=A049c:=A0=A0=A0 89 73 0c=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %esi,0xc(%ebx)=0A=A0=A0=A0 }=0A=
=0A=A0=A0=A0 if (elem !=3D TAILQ_FIRST(pcielist)) {=0A=A049f:=A0=A0=A0 8b 4=
5 e8=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 -0x18(%ebp)=
,%eax=0A=A04a2:=A0=A0=A0 39 18=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 cmp=A0=A0=A0 %ebx,(%eax)=0A=A04a4:=A0=A0=A0 74 3e=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=A0=A0 4e4 <pci_cfgregwrit=
e+0x164>=0A=A0=A0=A0 =A0=A0=A0 TAILQ_REMOVE(pcielist, elem, elem);=0A=A04a6=
:=A0=A0=A0 8b 13=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=
=A0=A0=A0 (%ebx),%edx=0A=A04a8:=A0=A0=A0 85 d2=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 =A0=A0=A0 test=A0=A0 %edx,%edx=0A=A04aa:=A0=A0=A0 74 08=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=A0=A0 4b4 =
<pci_cfgregwrite+0x134>=0A=A04ac:=A0=A0=A0 8b 43 04=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x4(%ebx),%eax=0A=A04af:=A0=A0=A0 89 42=
04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,0x4(%ed=
x)=0A=A04b2:=A0=A0=A0 eb 09=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0=A0=A0 jmp=A0=A0=A0 4bd <pci_cfgregwrite+0x13d>=0A=A04b4:=A0=A0=A0 8b 43=
04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x4(%ebx),%e=
ax=0A=A04b7:=A0=A0=A0 8b 55 e8=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=
=A0 mov=A0=A0=A0 -0x18(%ebp),%edx=0A=A04ba:=A0=A0=A0 89 42 04=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,0x4(%edx)=0A=A04bd:=A0=
=A0=A0 8b 43 04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 =
0x4(%ebx),%eax=0A=A04c0:=A0=A0=A0 8b 13=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 (%ebx),%edx=0A=A04c2:=A0=A0=A0 89 10=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %edx,(%eax)=
=0A=A0=A0=A0 =A0=A0=A0 TAILQ_INSERT_HEAD(pcielist, elem, elem);=0A=A04c4:=
=A0=A0=A0 8b 4d e8=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=
=A0 -0x18(%ebp),%ecx=0A=A04c7:=A0=A0=A0 8b 01=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 (%ecx),%eax=0A=A04c9:=A0=A0=A0 89 03=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,(=
%ebx)=0A=A04cb:=A0=A0=A0 85 c0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 test=A0=A0 %eax,%eax=0A=A04cd:=A0=A0=A0 74 07=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=A0=A0 4d6 <pci_cfgregwrite+0=
x156>=0A=A04cf:=A0=A0=A0 8b 01=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 mov=A0=A0=A0 (%ecx),%eax=0A=A04d1:=A0=A0=A0 89 58 04=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %ebx,0x4(%eax)=0A=A04d4:=A0=
=A0=A0 eb 06=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=
=A0=A0 4dc <pci_cfgregwrite+0x15c>=0A=A04d6:=A0=A0=A0 8b 45 e8=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 -0x18(%ebp),%eax=0A=A04d9:=
=A0=A0=A0 89 58 04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=
=A0 %ebx,0x4(%eax)=0A=A04dc:=A0=A0=A0 8b 55 e8=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 -0x18(%ebp),%edx=0A=A04df:=A0=A0=A0 89 1a=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %ebx,(=
%edx)=0A=A04e1:=A0=A0=A0 89 53 04=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=
=A0=A0 mov=A0=A0=A0 %edx,0x4(%ebx)=0A{=0A=0A=A0=A0=A0 if (cfgmech =3D=3D CF=
GMECH_PCIE &&=0A=A0=A0=A0 =A0=A0=A0 (bus >=3D pcie_minbus && bus <=3D pcie_=
maxbus) &&=0A=A0=A0=A0 =A0=A0=A0 (bus !=3D 0 || !(1 << slot & pcie_badslots=
)))=0A=A0=A0=A0 =A0=A0=A0 pciereg_cfgwrite(bus, slot, func, reg, data, byte=
s);=0A=A04e4:=A0=A0=A0 8b 55 18=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=
=A0 mov=A0=A0=A0 0x18(%ebp),%edx=0A=0A=A0=A0=A0 critical_enter();=0A=A0=A0=
=A0 pa =3D PCIE_PADDR(pcie_base, reg, bus, slot, func);=0A=A0=A0=A0 papage =
=3D pa & ~PAGE_MASK;=0A=A0=A0=A0 elem =3D pciereg_findelem(papage);=0A=A0=
=A0=A0 va =3D elem->vapage | (pa & PAGE_MASK);=0A=A04e7:=A0=A0=A0 8b 45 e4=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 -0x1c(%ebp),%ea=
x=0A=A04ea:=A0=A0=A0 25 ff 0f 00 00=A0=A0=A0=A0=A0=A0 =A0=A0=A0 and=A0=A0=
=A0 $0xfff,%eax=0A=A04ef:=A0=A0=A0 0b 43 08=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0 =A0=A0=A0 or=A0=A0=A0=A0 0x8(%ebx),%eax=0A=A04f2:=A0=A0=A0 89 45 f0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %eax,-0x10(%ebp=
)=0A=0A=A0=A0=A0 switch (bytes) {=0A=A04f5:=A0=A0=A0 83 ff 02=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 $0x2,%edi=0A=A04f8:=A0=A0=
=A0 74 18=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=
=A0=A0 512 <pci_cfgregwrite+0x192>=0A=A04fa:=A0=A0=A0 83 ff 04=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 $0x4,%edi=0A=A04fd:=A0=A0=
=A0 74 07=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 je=A0=A0=
=A0=A0 506 <pci_cfgregwrite+0x186>=0A=A04ff:=A0=A0=A0 83 ff 01=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 cmp=A0=A0=A0 $0x1,%edi=0A=A0502:=A0=A0=
=A0 75 1b=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jne=A0=A0=
=A0 51f <pci_cfgregwrite+0x19f>=0A=A0504:=A0=A0=A0 eb 14=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=A0=A0 51a <pci_cfgregwrite+0x1=
9a>=0A=A0=A0=A0 case 4:=0A=A0=A0=A0 =A0=A0=A0 *(volatile uint32_t *)(va) =
=3D data;=0A=A0506:=A0=A0=A0 8b 45 f0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0=A0=A0 mov=A0=A0=A0 -0x10(%ebp),%eax=0A=A0509:=A0=A0=A0 8b 4d 18=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 0x18(%ebp),%ecx=0A=A0=
50c:=A0=A0=A0 89 08=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =
mov=A0=A0=A0 %ecx,(%eax)=0A=A050e:=A0=A0=A0 66 90=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 xchg=A0=A0 %ax,%ax=0A=A0510:=A0=A0=A0 eb 0d=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=A0=A0 51f <p=
ci_cfgregwrite+0x19f>=0A=A0=A0=A0 =A0=A0=A0 break;=0A=A0=A0=A0 case 2:=0A=
=A0=A0=A0 =A0=A0=A0 *(volatile uint16_t *)(va) =3D data;=0A=A0512:=A0=A0=A0=
8b 45 f0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 -0x10(=
%ebp),%eax=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
=3D=3D VIDCONSOLE BOOT HANGS HERE AT mov %dx,(%eax)=0A=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=A0515:=A0=A0=A0 66 89 10=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %dx,(%eax)=0A=A0518:=A0=
=A0=A0 eb 05=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=
=A0=A0 51f <pci_cfgregwrite+0x19f>=0A=A0=A0=A0 =A0=A0=A0 break;=0A=A0=A0=A0=
case 1:=0A=A0=A0=A0 =A0=A0=A0 *(volatile uint8_t *)(va) =3D data;=0A=A051a=
:=A0=A0=A0 8b 45 f0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=
=A0 -0x10(%ebp),%eax=0A=A051d:=A0=A0=A0 88 10=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 =A0=A0=A0 mov=A0=A0=A0 %dl,(%eax)=0A=A0=A0=A0 =A0=A0=A0 bre=
ak;=0A=A0=A0=A0 }=0A=0A=A0=A0=A0 critical_exit();=0A=A051f:=A0=A0=A0 e8 fc =
ff ff ff=A0=A0=A0=A0=A0=A0 =A0=A0=A0 call=A0=A0 520 <pci_cfgregwrite+0x1a0>=
=0A=A0524:=A0=A0=A0 e9 df 00 00 00=A0=A0=A0=A0=A0=A0 =A0=A0=A0 jmp=A0=A0=A0=
608 <pci_cfgregwrite+0x288>=0A=A0529:=A0=A0=A0 8d b4 26 00 00 00 00 =A0=A0=
=A0 lea=A0=A0=A0 0x0(%esi),%esi=0A=3D=3D=3D=3DEND SNIPPIT FROM pci_cfgreg.c=
=0A
--1993147269-1217604498-1330726385=:22524
Content-Type: text/plain; name="out.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="out.txt"
PGJ1Zy1mb2xsb3d1cEBGcmVlQlNELm9yZz4KUmU6IGkzODYvMTY1NTYxOiBL
OE44OTBNLU0gQm9vdCBIYW5nCgpUaGUgaGFuZyBoYXBwZW5zIG9uIHRoZSBi
b290IG1hY2hpbmUgKGNvbnNvbGU9dmlkY29uc29sZSkgYXQgdGhlIGluc3Ry
dWN0aW9uIGFzIGluZGljYXRlZCBpbiB0aGUgbGlzdGluZyBmcm9tIHRoZSBw
Y2lfY2ZncmVnLmMgc25pcHBpdCBhbmQgdGhlIFZJRENPTlNPTEUgT1VUUFVU
LiBJZiBib290aW5nIHZpYSBjb25zb2xlPWNvbWNvbnNvbGUgb25seSwgdGhl
IGJvb3QgY29udGludWVzLCBhcyBzaG93biBpbiBCRUdJTiBDT01DT05TT0xF
IEJPT1QgQ09OVElOVUUgbGlzdGluZy4KCj09PT09QkVHSU4gVklEQ09OU09M
RSBPVVRQVVQ9PT09PT09PT09PT09PT09PT09PT09PQpPSyBib290IC1kCktE
QjogZGVidWdnZXIgYmFja2VuZHM6IGRkYgpLREI6IGN1cnJlbnQgYmFja2Vu
ZDogZGRiCktEQjogZW50ZXI6IEJvb3QgZmxhZ3MgcmVxdWVzdGVkIGRlYnVn
Z2VyClsgdGhyZWFkIHBpZCAwIHRpZCAwIF0KU3RvcHBlZCBhdCAgICAgIGtk
Yl9lbnRlcisweDNhOiBtb3ZsICAgICQwLGtkYl93aHkKZGI+IGIgcGNpYl9h
bGxvY193aW5kb3cKZGI+IGNvbnQKQ29weXJpZ2h0IChjKSAxOTkyLTIwMTIg
VGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChjKSAxOTc5LCAxOTgw
LCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx
OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9y
bmlhLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0
ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZyZWVCU0QgRm91bmRhdGlvbi4KRnJl
ZUJTRCA5LjAtUkVMRUFTRSAjMjogVGh1IE1hciAgMSAxMToxMTowNiBQU1Qg
MjAxMgogICAgcm9vdEBidXRsZXIuYmt5b3VuZy5jb206L3Vzci9vYmovdXNy
L3NyYy9zeXMvQlVUTEVSIGkzODYKQ1BVOiBBTUQgQXRobG9uKHRtKSA2NCBQ
cm9jZXNzb3IgMzgwMCsgKDIzOTQuMDUtTUh6IDY4Ni1jbGFzcyBDUFUpCiAg
T3JpZ2luID0gIkF1dGhlbnRpY0FNRCIgIElkID0gMHg1MGZmMiAgRmFtaWx5
ID0gZiAgTW9kZWwgPSA1ZiAgU3RlcHBpbmcgPSAyCiAgRmVhdHVyZXM9MHg3
OGJmYmZmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1IsUEFFLE1DRSxDWDgsQVBJ
QyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBTRTM2LENMRkxVU0gsTU1Y
LEZYU1IsU1NFLFNTRTI+CiAgRmVhdHVyZXMyPTB4MjAwMTxTU0UzLENYMTY+
CiAgQU1EIEZlYXR1cmVzPTB4ZWE1MDA4MDA8U1lTQ0FMTCxOWCxNTVgrLEZG
WFNSLFJEVFNDUCxMTSwzRE5vdyErLDNETm93IT4KICBBTUQgRmVhdHVyZXMy
PTB4MWQ8TEFIRixTVk0sRXh0QVBJQyxDUjg+CnJlYWwgbWVtb3J5ICA9IDIx
NDc0ODM2NDggKDIwNDggTUIpCmF2YWlsIG1lbW9yeSA9IDE4MjI2NzA4NDgg
KDE3MzggTUIpCkV2ZW50IHRpbWVyICJMQVBJQyIgcXVhbGl0eSA0MDAKQUNQ
SSBBUElDIFRhYmxlOiA8QSBNIEkgIE9FTUFQSUMgPgppb2FwaWMwIDxWZXJz
aW9uIDAuMz4gaXJxcyAwLTIzIG9uIG1vdGhlcmJvYXJkCmlvYXBpYzEgPFZl
cnNpb24gMC4zPiBpcnFzIDI0LTQ3IG9uIG1vdGhlcmJvYXJkCmtiZDEgYXQg
a2JkbXV4MAphY3BpMDogPEEgTSBJIE9FTVJTRFQ+IG9uIG1vdGhlcmJvYXJk
CmFjcGkwOiBQb3dlciBCdXR0b24gKGZpeGVkKQphY3BpMDogcmVzZXJ2YXRp
b24gb2YgMCwgYTAwMDAgKDMpIGZhaWxlZAphY3BpMDogcmVzZXJ2YXRpb24g
b2YgMTAwMDAwLCA3ZmYwMDAwMCAoMykgZmFpbGVkClRpbWVjb3VudGVyICJB
Q1BJLWZhc3QiIGZyZXF1ZW5jeSAzNTc5NTQ1IEh6IHF1YWxpdHkgOTAwCmFj
cGlfdGltZXIwOiA8MjQtYml0IHRpbWVyIGF0IDMuNTc5NTQ1TUh6PiBwb3J0
IDB4ODA4LTB4ODBiIG9uIGFjcGkwCmNwdTA6IDxBQ1BJIENQVT4gb24gYWNw
aTAKcGNpYjA6IDxBQ1BJIEhvc3QtUENJIGJyaWRnZT4gcG9ydCAweGNmOC0w
eGNmZiBvbiBhY3BpMApwY2kwOiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2liMApw
Y2liMTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAxLjAgb24g
cGNpMApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KQnJlYWtwb2ludCBh
dCAgIHBjaWJfYWxsb2Nfd2luZG93OiAgICAgIHB1c2hsICAgJWVicApkYj4g
ClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpCcmVha3BvaW50IGF0ICAg
cGNpYl9hbGxvY193aW5kb3c6ICAgICAgcHVzaGwgICAlZWJwCmRiPiAKWyB0
aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdCkJyZWFrcG9pbnQgYXQgICBwY2li
X2FsbG9jX3dpbmRvdzogICAgICBwdXNobCAgICVlYnAKZGI+IGIgcGNpX3dy
aXRlX2NvbmZpZ19tZXRob2QKZGI+IGNvbnQKcGNpYjE6IGZhaWxlZCB0byBh
bGxvY2F0ZSBpbml0aWFsIHByZWZldGNoIHdpbmRvdzogMHhkMDAwMDAwMC0w
eGRmZmZmZmZmClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpCcmVha3Bv
aW50IGF0ICAgcGNpX3dyaXRlX2NvbmZpZ19tZXRob2Q6ICAgICAgICBwdXNo
bCAgICVlYnAKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KQnJl
YWtwb2ludCBhdCAgIHBjaV93cml0ZV9jb25maWdfbWV0aG9kOiAgICAgICAg
cHVzaGwgICAlZWJwCmRiPiAKcGNpMTogPEFDUEkgUENJIGJ1cz4gb24gcGNp
YjEKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdCkJyZWFrcG9pbnQgYXQg
ICBwY2lfd3JpdGVfY29uZmlnX21ldGhvZDogICAgICAgIHB1c2hsICAgJWVi
cApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpCcmVha3BvaW50
IGF0ICAgcGNpX3dyaXRlX2NvbmZpZ19tZXRob2Q6ICAgICAgICBwdXNobCAg
ICVlYnAKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KQnJlYWtw
b2ludCBhdCAgIHBjaV93cml0ZV9jb25maWdfbWV0aG9kOiAgICAgICAgcHVz
aGwgICAlZWJwCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdCkJy
ZWFrcG9pbnQgYXQgICBwY2lfd3JpdGVfY29uZmlnX21ldGhvZDogICAgICAg
IHB1c2hsICAgJWVicApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAg
XQpCcmVha3BvaW50IGF0ICAgcGNpX3dyaXRlX2NvbmZpZ19tZXRob2Q6ICAg
ICAgICBwdXNobCAgICVlYnAKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAw
MDAwIF0KQnJlYWtwb2ludCBhdCAgIHBjaV93cml0ZV9jb25maWdfbWV0aG9k
OiAgICAgICAgcHVzaGwgICAlZWJwCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlk
IDEwMDAwMCBdCkJyZWFrcG9pbnQgYXQgICBwY2lfd3JpdGVfY29uZmlnX21l
dGhvZDogICAgICAgIHB1c2hsICAgJWVicApkYj4gClsgdGhyZWFkIHBpZCAw
IHRpZCAxMDAwMDAgXQpCcmVha3BvaW50IGF0ICAgcGNpX3dyaXRlX2NvbmZp
Z19tZXRob2Q6ICAgICAgICBwdXNobCAgICVlYnAKZGI+IApbIHRocmVhZCBw
aWQgMCB0aWQgMTAwMDAwIF0KQnJlYWtwb2ludCBhdCAgIHBjaV93cml0ZV9j
b25maWdfbWV0aG9kOiAgICAgICAgcHVzaGwgICAlZWJwCmRiPiAKWyB0aHJl
YWQgcGlkIDAgdGlkIDEwMDAwMCBdCkJyZWFrcG9pbnQgYXQgICBwY2lfd3Jp
dGVfY29uZmlnX21ldGhvZDogICAgICAgIHB1c2hsICAgJWVicApkYj4gYiBw
Y2lfY2ZncmVnd3JpdGUKZGI+IGNvbnQKWyB0aHJlYWQgcGlkIDAgdGlkIDEw
MDAwMCBdCkJyZWFrcG9pbnQgYXQgICBwY2lfY2ZncmVnd3JpdGU6ICAgICAg
ICBwdXNobCAgICVlYnAKZGI+IHMKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAw
MCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHgxOiAgICBt
b3ZsICAgICVlc3AsJWVicApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAw
MDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MzogICAg
c3VibCAgICAkMHgzMCwlZXNwCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEw
MDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHg2OiAg
ICBtb3ZsICAgICVlYngsMHhmZmZmZmZmNCglZWJwKQpkYj4gClsgdGhyZWFk
IHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3Jl
Z3dyaXRlKzB4OTogICAgbW92bCAgICAlZXNpLDB4ZmZmZmZmZjgoJWVicCkK
ZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAg
ICAgIHBjaV9jZmdyZWd3cml0ZSsweGM6ICAgIG1vdmwgICAgJWVkaSwweGZm
ZmZmZmZjKCVlYnApCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBd
ClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHhmOiAgICBtb3Zs
ICAgIDB4OCglZWJwKSwlZXNpCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEw
MDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHgxMjog
ICBtb3ZsICAgIDB4MWMoJWVicCksJWVkaQpkYj4gClsgdGhyZWFkIHBpZCAw
IHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRl
KzB4MTU6ICAgY21wbCAgICAkMHgzLGNmZ21lY2gKZGI+IApbIHRocmVhZCBw
aWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3
cml0ZSsweDFjOiAgIGpueiAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MWIwCmRi
PiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAg
ICBwY2lfY2ZncmVnd3JpdGUrMHgyMjogICBjbXBsICAgICVlc2kscGNpZV9t
aW5idXMKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBl
ZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDI4OiAgIGpubGUgICAgcGNp
X2NmZ3JlZ3dyaXRlKzB4MWIwCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEw
MDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHgyZTog
ICBjbXBsICAgIHBjaWVfbWF4YnVzLCVlc2kKZGI+IApbIHRocmVhZCBwaWQg
MCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0
ZSsweDM0OiAgIGpubGUgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MWIwCmRiPiAK
WyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBw
Y2lfY2ZncmVnd3JpdGUrMHgzYTogICB0ZXN0bCAgICVlc2ksJWVzaQpkYj4g
ClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAg
cGNpX2NmZ3JlZ3dyaXRlKzB4M2M6ICAgam56ICAgICBwY2lfY2ZncmVnd3Jp
dGUrMHg1NQpkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9w
cGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4NTU6ICAgY21wbCAgICAk
MHgxZiwweGMoJWVicCkKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAw
IF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDU5OiAgIGpu
YmUgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4Mjg4CmRiPiAKWyB0aHJlYWQgcGlk
IDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3Jp
dGUrMHg1ZjogICBjbXBsICAgICQweDcsMHgxMCglZWJwKQpkYj4gClsgdGhy
ZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2Nm
Z3JlZ3dyaXRlKzB4NjM6ICAgam5iZSAgICBwY2lfY2ZncmVnd3JpdGUrMHgy
ODgKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBh
dCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDY5OiAgIGNtcGwgICAgJDB4ZmZm
LDB4MTQoJWVicCkKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0K
U3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDcwOiAgIGpuYmUg
ICAgcGNpX2NmZ3JlZ3dyaXRlKzB4Mjg4CmRiPiAKWyB0aHJlYWQgcGlkIDAg
dGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUr
MHg3NjogICBjYWxsICAgIGNyaXRpY2FsX2VudGVyCmRiPiAKWyB0aHJlYWQg
cGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBjcml0aWNhbF9l
bnRlcjogcHVzaGwgICAlZWJwCmRiPiBuCkFmdGVyIDcgaW5zdHJ1Y3Rpb25z
ICgwIGxvYWRzLCAwIHN0b3JlcyksClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAw
MDAgXQpTdG9wcGVkIGF0ICAgICAgY3JpdGljYWxfZW50ZXIrMHgxYTogICAg
cmV0CmRiPiBzClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVk
IGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4N2I6ICAgbW92bCAgICAlZXNp
LCVlZHgKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBl
ZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDdkOiAgIGFuZGwgICAgJDB4
ZmYsJWVkeApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9w
cGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4ODM6ICAgc2hsbCAgICAk
MHgxNCwlZWR4CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0
b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHg4NjogICBvcmwgICAg
IHBjaWVfYmFzZSwlZWR4CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAw
MCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHg4YzogICBt
b3ZsICAgIDB4YyglZWJwKSwlZWF4CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlk
IDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHg4
ZjogICBhbmRsICAgICQweDFmLCVlYXgKZGI+IApbIHRocmVhZCBwaWQgMCB0
aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsw
eDkyOiAgIHNobGwgICAgJDB4ZiwlZWF4CmRiPiAKWyB0aHJlYWQgcGlkIDAg
dGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUr
MHg5NTogICBvcmwgICAgICVlYXgsJWVkeApkYj4gClsgdGhyZWFkIHBpZCAw
IHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRl
KzB4OTc6ICAgbW92bCAgICAweDEwKCVlYnApLCVlYXgKZGI+IApbIHRocmVh
ZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdy
ZWd3cml0ZSsweDlhOiAgIGFuZGwgICAgJDB4NywlZWF4CmRiPiAKWyB0aHJl
YWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2Zn
cmVnd3JpdGUrMHg5ZDogICBzaGxsICAgICQweGMsJWVheApkYj4gClsgdGhy
ZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2Nm
Z3JlZ3dyaXRlKzB4YTA6ICAgb3JsICAgICAlZWF4LCVlZHgKZGI+IApbIHRo
cmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9j
ZmdyZWd3cml0ZSsweGEyOiAgIG1vdmwgICAgMHgxNCglZWJwKSwlZWF4CmRi
PiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAg
ICBwY2lfY2ZncmVnd3JpdGUrMHhhNTogICBhbmRsICAgICQweGZmZiwlZWF4
CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQg
ICAgICBwY2lfY2ZncmVnd3JpdGUrMHhhYTogICBvcmwgICAgICVlYXgsJWVk
eApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0
ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4YWM6ICAgbW92bCAgICAlZWR4LDB4
ZmZmZmZmZTQoJWVicCkKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAw
IF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweGFmOiAgIG1v
dmwgICAgJWVkeCwlZXNpCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAw
MCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHhiMTogICBh
bmRsICAgICQweGZmZmZmMDAwLCVlc2kKZGI+IApbIHRocmVhZCBwaWQgMCB0
aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsw
eGI3OiAgIG1vdmwgICAgJWZzOjB4MjAsJWVheApkYj4gClsgdGhyZWFkIHBp
ZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dy
aXRlKzB4YmQ6ICAgbW92bCAgICAlZWF4LDB4ZmZmZmZmZWMoJWVicCkKZGI+
IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAg
IHBjaV9jZmdyZWd3cml0ZSsweGMwOiAgIHNobGwgICAgJDB4MywlZWF4CmRi
PiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAg
ICBwY2lfY2ZncmVnd3JpdGUrMHhjMzogICBsZWFsICAgIHBjaWVfbGlzdCgl
ZWF4KSwlZWR4CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0
b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHhjOTogICBtb3ZsICAg
ICVlZHgsMHhmZmZmZmZlOCglZWJwKQpkYj4gClsgdGhyZWFkIHBpZCAwIHRp
ZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4
Y2M6ICAgbW92bCAgICBwY2llX2xpc3QoJWVheCksJWVieApkYj4gClsgdGhy
ZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2Nm
Z3JlZ3dyaXRlKzB4ZDI6ICAgdGVzdGwgICAlZWJ4LCVlYngKZGI+IApbIHRo
cmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9j
ZmdyZWd3cml0ZSsweGQ0OiAgIGp6ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4
ZWIKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBh
dCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweGQ2OiAgIGNtcGwgICAgMHhjKCVl
YngpLCVlc2kKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3Rv
cHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweGQ5OiAgIGpueiAgICAg
cGNpX2NmZ3JlZ3dyaXRlKzB4ZTUKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQg
MTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweGRi
OiAgIGptcCAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MTFmCmRiPiAKWyB0aHJl
YWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2Zn
cmVnd3JpdGUrMHgxMWY6ICBtb3ZsICAgIDB4ZmZmZmZmZTgoJWVicCksJWVh
eApkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0
ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MTIyOiAgY21wbCAgICAlZWJ4LDAo
JWVheCkKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBl
ZCBhdCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDEyNDogIGp6ICAgICAgcGNp
X2NmZ3JlZ3dyaXRlKzB4MTY0CmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEw
MDAwMCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHgxNjQ6
ICBtb3ZsICAgIDB4MTgoJWVicCksJWVkeApkYj4gClsgdGhyZWFkIHBpZCAw
IHRpZCAxMDAwMDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRl
KzB4MTY3OiAgbW92bCAgICAweGZmZmZmZmU0KCVlYnApLCVlYXgKZGI+IApb
IHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBj
aV9jZmdyZWd3cml0ZSsweDE2YTogIGFuZGwgICAgJDB4ZmZmLCVlYXgKZGI+
IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAg
IHBjaV9jZmdyZWd3cml0ZSsweDE2ZjogIG9ybCAgICAgMHg4KCVlYngpLCVl
YXgKZGI+IApbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBh
dCAgICAgIHBjaV9jZmdyZWd3cml0ZSsweDE3MjogIG1vdmwgICAgJWVheCww
eGZmZmZmZmYwKCVlYnApCmRiPiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAw
MCBdClN0b3BwZWQgYXQgICAgICBwY2lfY2ZncmVnd3JpdGUrMHgxNzU6ICBj
bXBsICAgICQweDIsJWVkaQpkYj4gClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAw
MDAgXQpTdG9wcGVkIGF0ICAgICAgcGNpX2NmZ3JlZ3dyaXRlKzB4MTc4OiAg
anogICAgICBwY2lfY2ZncmVnd3JpdGUrMHgxOTIKZGI+IApbIHRocmVhZCBw
aWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAgICAgIHBjaV9jZmdyZWd3
cml0ZSsweDE5MjogIG1vdmwgICAgMHhmZmZmZmZmMCglZWJwKSwlZWF4CmRi
PiAKWyB0aHJlYWQgcGlkIDAgdGlkIDEwMDAwMCBdClN0b3BwZWQgYXQgICAg
ICBwY2lfY2ZncmVnd3JpdGUrMHgxOTU6ICBtb3Z3ICAgICVkeCwwKCVlYXgp
CmRiPgo9PT09PUVORCBWSURDT05TT0xFIE9VVFBVVD09PT09PT09PT09PT09
PT09PT09PT09Cgo9PT09PUJFR0lOIENPTUNPTlNPTEUgQk9PVCBDT05USU5V
RT09PT09PT09PT09PT09CnByaW50ICVlYXgKYzBkNjY4NTUKZGI+IHgvd3gg
MHhjMGQ2Njg1NQpwY2lfY2ZncmVnd3JpdGUrMHgxOTU6ICBlYjEwODk2Ngpk
Yj4gcwpbIHRocmVhZCBwaWQgMCB0aWQgMTAwMDAwIF0KU3RvcHBlZCBhdCAg
ICAgIHBjaV9jZmdyZWd3cml0ZSsweDE5ODogIGptcCAgICAgcGNpX2NmZ3Jl
Z3dyaXRlKzB4MTlmCmRiPiBwaW50ICVkeApObyBzdWNoIGNvbW1hbmQKZGI+
IHByaW50ICVkeApjMGQ2Njg1OApkYj4gCj09PT1FTkQgQ09NQ09OU09MRSBC
T09UIENPTlRJTlVFPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KCj09PT1CRUdJTiBTTklQUElUIEZST00gcGNpX2NmZ3JlZy5jCjAw
MDAwMzgwIDxwY2lfY2ZncmVnd3JpdGU+OgovKiAKICogV3JpdGUgY29uZmln
dXJhdGlvbiBzcGFjZSByZWdpc3RlciAKICovCnZvaWQKcGNpX2NmZ3JlZ3dy
aXRlKGludCBidXMsIGludCBzbG90LCBpbnQgZnVuYywgaW50IHJlZywgdV9p
bnQzMl90IGRhdGEsIGludCBieXRlcykKewogMzgwOgk1NSAgICAgICAgICAg
ICAgICAgICAJcHVzaCAgICVlYnAKIDM4MToJODkgZTUgICAgICAgICAgICAg
ICAgCW1vdiAgICAlZXNwLCVlYnAKIDM4MzoJODMgZWMgMzAgICAgICAgICAg
ICAgCXN1YiAgICAkMHgzMCwlZXNwCiAzODY6CTg5IDVkIGY0ICAgICAgICAg
ICAgIAltb3YgICAgJWVieCwtMHhjKCVlYnApCiAzODk6CTg5IDc1IGY4ICAg
ICAgICAgICAgIAltb3YgICAgJWVzaSwtMHg4KCVlYnApCiAzOGM6CTg5IDdk
IGZjICAgICAgICAgICAgIAltb3YgICAgJWVkaSwtMHg0KCVlYnApCiAzOGY6
CThiIDc1IDA4ICAgICAgICAgICAgIAltb3YgICAgMHg4KCVlYnApLCVlc2kK
IDM5MjoJOGIgN2QgMWMgICAgICAgICAgICAgCW1vdiAgICAweDFjKCVlYnAp
LCVlZGkKCglpZiAoY2ZnbWVjaCA9PSBDRkdNRUNIX1BDSUUgJiYKIDM5NToJ
ODMgM2QgMzQgMDEgMDAgMDAgMDMgCWNtcGwgICAkMHgzLDB4MTM0CiAzOWM6
CTBmIDg1IDhlIDAxIDAwIDAwICAgIAlqbmUgICAgNTMwIDxwY2lfY2ZncmVn
d3JpdGUrMHgxYjA+CiAzYTI6CTM5IDM1IDI4IDAxIDAwIDAwICAgIAljbXAg
ICAgJWVzaSwweDEyOAogM2E4OgkwZiA4ZiA4MiAwMSAwMCAwMCAgICAJamcg
ICAgIDUzMCA8cGNpX2NmZ3JlZ3dyaXRlKzB4MWIwPgogM2FlOgkzYiAzNSAy
YyAwMSAwMCAwMCAgICAJY21wICAgIDB4MTJjLCVlc2kKIDNiNDoJMGYgOGYg
NzYgMDEgMDAgMDAgICAgCWpnICAgICA1MzAgPHBjaV9jZmdyZWd3cml0ZSsw
eDFiMD4KIDNiYToJODUgZjYgICAgICAgICAgICAgICAgCXRlc3QgICAlZXNp
LCVlc2kKIDNiYzoJNzUgMTcgICAgICAgICAgICAgICAgCWpuZSAgICAzZDUg
PHBjaV9jZmdyZWd3cml0ZSsweDU1PgogM2JlOgliOCAwMSAwMCAwMCAwMCAg
ICAgICAJbW92ICAgICQweDEsJWVheAogM2MzOgkwZiBiNiA0ZCAwYyAgICAg
ICAgICAJbW92emJsIDB4YyglZWJwKSwlZWN4CiAzYzc6CWQzIGUwICAgICAg
ICAgICAgICAgIAlzaGwgICAgJWNsLCVlYXgKIDNjOToJODUgMDUgMzAgMDEg
MDAgMDAgICAgCXRlc3QgICAlZWF4LDB4MTMwCiAzY2Y6CTBmIDg1IDViIDAx
IDAwIDAwICAgIAlqbmUgICAgNTMwIDxwY2lfY2ZncmVnd3JpdGUrMHgxYjA+
CnsKCXN0cnVjdCBwY2llX2NmZ19lbGVtICplbGVtOwoJdm9sYXRpbGUgdm1f
b2Zmc2V0X3QgdmE7Cgl2bV9wYWRkcl90IHBhLCBwYXBhZ2U7CgoJaWYgKGJ1
cyA8IHBjaWVfbWluYnVzIHx8IGJ1cyA+IHBjaWVfbWF4YnVzIHx8IHNsb3Qg
PiBQQ0lfU0xPVE1BWCB8fAogM2Q1Ogk4MyA3ZCAwYyAxZiAgICAgICAgICAJ
Y21wbCAgICQweDFmLDB4YyglZWJwKQogM2Q5OgkwZiA4NyAyOSAwMiAwMCAw
MCAgICAJamEgICAgIDYwOCA8cGNpX2NmZ3JlZ3dyaXRlKzB4Mjg4PgogM2Rm
Ogk4MyA3ZCAxMCAwNyAgICAgICAgICAJY21wbCAgICQweDcsMHgxMCglZWJw
KQogM2UzOgkwZiA4NyAxZiAwMiAwMCAwMCAgICAJamEgICAgIDYwOCA8cGNp
X2NmZ3JlZ3dyaXRlKzB4Mjg4PgogM2U5Ogk4MSA3ZCAxNCBmZiAwZiAwMCAw
MCAJY21wbCAgICQweGZmZiwweDE0KCVlYnApCiAzZjA6CTBmIDg3IDEyIDAy
IDAwIDAwICAgIAlqYSAgICAgNjA4IDxwY2lfY2ZncmVnd3JpdGUrMHgyODg+
CgkgICAgZnVuYyA+IFBDSV9GVU5DTUFYIHx8IHJlZyA+IFBDSUVfUkVHTUFY
KQoJCXJldHVybjsKCgljcml0aWNhbF9lbnRlcigpOwogM2Y2OgllOCBmYyBm
ZiBmZiBmZiAgICAgICAJY2FsbCAgIDNmNyA8cGNpX2NmZ3JlZ3dyaXRlKzB4
Nzc+CglwYSA9IFBDSUVfUEFERFIocGNpZV9iYXNlLCByZWcsIGJ1cywgc2xv
dCwgZnVuYyk7CiAzZmI6CTg5IGYyICAgICAgICAgICAgICAgIAltb3YgICAg
JWVzaSwlZWR4CiAzZmQ6CTgxIGUyIGZmIDAwIDAwIDAwICAgIAlhbmQgICAg
JDB4ZmYsJWVkeAogNDAzOgljMSBlMiAxNCAgICAgICAgICAgICAJc2hsICAg
ICQweDE0LCVlZHgKIDQwNjoJMGIgMTUgMjAgMDEgMDAgMDAgICAgCW9yICAg
ICAweDEyMCwlZWR4CiA0MGM6CThiIDQ1IDBjICAgICAgICAgICAgIAltb3Yg
ICAgMHhjKCVlYnApLCVlYXgKIDQwZjoJODMgZTAgMWYgICAgICAgICAgICAg
CWFuZCAgICAkMHgxZiwlZWF4CiA0MTI6CWMxIGUwIDBmICAgICAgICAgICAg
IAlzaGwgICAgJDB4ZiwlZWF4CiA0MTU6CTA5IGMyICAgICAgICAgICAgICAg
IAlvciAgICAgJWVheCwlZWR4CiA0MTc6CThiIDQ1IDEwICAgICAgICAgICAg
IAltb3YgICAgMHgxMCglZWJwKSwlZWF4CiA0MWE6CTgzIGUwIDA3ICAgICAg
ICAgICAgIAlhbmQgICAgJDB4NywlZWF4CiA0MWQ6CWMxIGUwIDBjICAgICAg
ICAgICAgIAlzaGwgICAgJDB4YywlZWF4CiA0MjA6CTA5IGMyICAgICAgICAg
ICAgICAgIAlvciAgICAgJWVheCwlZWR4CiA0MjI6CThiIDQ1IDE0ICAgICAg
ICAgICAgIAltb3YgICAgMHgxNCglZWJwKSwlZWF4CiA0MjU6CTI1IGZmIDBm
IDAwIDAwICAgICAgIAlhbmQgICAgJDB4ZmZmLCVlYXgKIDQyYToJMDkgYzIg
ICAgICAgICAgICAgICAgCW9yICAgICAlZWF4LCVlZHgKIDQyYzoJODkgNTUg
ZTQgICAgICAgICAgICAgCW1vdiAgICAlZWR4LC0weDFjKCVlYnApCglwYXBh
Z2UgPSBwYSAmIH5QQUdFX01BU0s7CiA0MmY6CTg5IGQ2ICAgICAgICAgICAg
ICAgIAltb3YgICAgJWVkeCwlZXNpCiA0MzE6CTgxIGU2IDAwIGYwIGZmIGZm
ICAgIAlhbmQgICAgJDB4ZmZmZmYwMDAsJWVzaQpwY2llcmVnX2ZpbmRlbGVt
KHZtX3BhZGRyX3QgcGFwYWdlKQp7CglzdHJ1Y3QgcGNpZV9jZmdfbGlzdCAq
cGNpZWxpc3Q7CglzdHJ1Y3QgcGNpZV9jZmdfZWxlbSAqZWxlbTsKCglwY2ll
bGlzdCA9ICZwY2llX2xpc3RbUENQVV9HRVQoY3B1aWQpXTsKIDQzNzoJNjQg
YTEgMjAgMDAgMDAgMDAgICAgCW1vdiAgICAlZnM6MHgyMCwlZWF4CiA0M2Q6
CTg5IDQ1IGVjICAgICAgICAgICAgIAltb3YgICAgJWVheCwtMHgxNCglZWJw
KQogNDQwOgljMSBlMCAwMyAgICAgICAgICAgICAJc2hsICAgICQweDMsJWVh
eAogNDQzOgk4ZCA5MCAyMCAwMCAwMCAwMCAgICAJbGVhICAgIDB4MjAoJWVh
eCksJWVkeAogNDQ5Ogk4OSA1NSBlOCAgICAgICAgICAgICAJbW92ICAgICVl
ZHgsLTB4MTgoJWVicCkKCVRBSUxRX0ZPUkVBQ0goZWxlbSwgcGNpZWxpc3Qs
IGVsZW0pIHsKIDQ0YzoJOGIgOTggMjAgMDAgMDAgMDAgICAgCW1vdiAgICAw
eDIwKCVlYXgpLCVlYngKIDQ1MjoJODUgZGIgICAgICAgICAgICAgICAgCXRl
c3QgICAlZWJ4LCVlYngKIDQ1NDoJNzQgMTUgICAgICAgICAgICAgICAgCWpl
ICAgICA0NmIgPHBjaV9jZmdyZWd3cml0ZSsweGViPgoJCWlmIChlbGVtLT5w
YXBhZ2UgPT0gcGFwYWdlKQogNDU2OgkzYiA3MyAwYyAgICAgICAgICAgICAJ
Y21wICAgIDB4YyglZWJ4KSwlZXNpCiA0NTk6CTc1IDBhICAgICAgICAgICAg
ICAgIAlqbmUgICAgNDY1IDxwY2lfY2ZncmVnd3JpdGUrMHhlNT4KIDQ1YjoJ
ZWIgNDIgICAgICAgICAgICAgICAgCWptcCAgICA0OWYgPHBjaV9jZmdyZWd3
cml0ZSsweDExZj4KIDQ1ZDoJOGQgNzYgMDAgICAgICAgICAgICAgCWxlYSAg
ICAweDAoJWVzaSksJWVzaQogNDYwOgkzYiA3MyAwYyAgICAgICAgICAgICAJ
Y21wICAgIDB4YyglZWJ4KSwlZXNpCiA0NjM6CTc0IDNhICAgICAgICAgICAg
ICAgIAlqZSAgICAgNDlmIDxwY2lfY2ZncmVnd3JpdGUrMHgxMWY+CnsKCXN0
cnVjdCBwY2llX2NmZ19saXN0ICpwY2llbGlzdDsKCXN0cnVjdCBwY2llX2Nm
Z19lbGVtICplbGVtOwoKCXBjaWVsaXN0ID0gJnBjaWVfbGlzdFtQQ1BVX0dF
VChjcHVpZCldOwoJVEFJTFFfRk9SRUFDSChlbGVtLCBwY2llbGlzdCwgZWxl
bSkgewogNDY1Ogk4YiAxYiAgICAgICAgICAgICAgICAJbW92ICAgICglZWJ4
KSwlZWJ4CiA0Njc6CTg1IGRiICAgICAgICAgICAgICAgIAl0ZXN0ICAgJWVi
eCwlZWJ4CiA0Njk6CTc1IGY1ICAgICAgICAgICAgICAgIAlqbmUgICAgNDYw
IDxwY2lfY2ZncmVnd3JpdGUrMHhlMD4KCQlpZiAoZWxlbS0+cGFwYWdlID09
IHBhcGFnZSkKCQkJYnJlYWs7Cgl9CgoJaWYgKGVsZW0gPT0gTlVMTCkgewoJ
CWVsZW0gPSBUQUlMUV9MQVNUKHBjaWVsaXN0LCBwY2llX2NmZ19saXN0KTsK
IDQ2YjoJOGIgNGQgZTggICAgICAgICAgICAgCW1vdiAgICAtMHgxOCglZWJw
KSwlZWN4CiA0NmU6CThiIDQxIDA0ICAgICAgICAgICAgIAltb3YgICAgMHg0
KCVlY3gpLCVlYXgKIDQ3MToJOGIgNDAgMDQgICAgICAgICAgICAgCW1vdiAg
ICAweDQoJWVheCksJWVheAogNDc0Ogk4YiAxOCAgICAgICAgICAgICAgICAJ
bW92ICAgICglZWF4KSwlZWJ4CgkJaWYgKGVsZW0tPnBhcGFnZSAhPSAwKSB7
CiA0NzY6CTgzIDdiIDBjIDAwICAgICAgICAgIAljbXBsICAgJDB4MCwweGMo
JWVieCkKIDQ3YToJNzQgMTEgICAgICAgICAgICAgICAgCWplICAgICA0OGQg
PHBjaV9jZmdyZWd3cml0ZSsweDEwZD4KCQkJcG1hcF9rcmVtb3ZlKGVsZW0t
PnZhcGFnZSk7CiA0N2M6CThiIDQzIDA4ICAgICAgICAgICAgIAltb3YgICAg
MHg4KCVlYngpLCVlYXgKIDQ3ZjoJODkgMDQgMjQgICAgICAgICAgICAgCW1v
diAgICAlZWF4LCglZXNwKQogNDgyOgllOCBmYyBmZiBmZiBmZiAgICAgICAJ
Y2FsbCAgIDQ4MyA8cGNpX2NmZ3JlZ3dyaXRlKzB4MTAzPgp7CgojaWZkZWYg
WEVOCgl4ZW5faW52bHBnKGFkZHIpOwojZWxzZQoJX19hc20gX192b2xhdGls
ZSgiaW52bHBnICUwIiA6IDogIm0iICgqKGNoYXIgKilhZGRyKSA6ICJtZW1v
cnkiKTsKIDQ4NzoJOGIgNDMgMDggICAgICAgICAgICAgCW1vdiAgICAweDgo
JWVieCksJWVheAogNDhhOgkwZiAwMSAzOCAgICAgICAgICAgICAJaW52bHBn
ICglZWF4KQoJCQlpbnZscGcoZWxlbS0+dmFwYWdlKTsKCQl9CgkJcG1hcF9r
ZW50ZXIoZWxlbS0+dmFwYWdlLCBwYXBhZ2UpOwogNDhkOgk4YiA0MyAwOCAg
ICAgICAgICAgICAJbW92ICAgIDB4OCglZWJ4KSwlZWF4CiA0OTA6CTg5IDc0
IDI0IDA0ICAgICAgICAgIAltb3YgICAgJWVzaSwweDQoJWVzcCkKIDQ5NDoJ
ODkgMDQgMjQgICAgICAgICAgICAgCW1vdiAgICAlZWF4LCglZXNwKQogNDk3
OgllOCBmYyBmZiBmZiBmZiAgICAgICAJY2FsbCAgIDQ5OCA8cGNpX2NmZ3Jl
Z3dyaXRlKzB4MTE4PgoJCWVsZW0tPnBhcGFnZSA9IHBhcGFnZTsKIDQ5YzoJ
ODkgNzMgMGMgICAgICAgICAgICAgCW1vdiAgICAlZXNpLDB4YyglZWJ4KQoJ
fQoKCWlmIChlbGVtICE9IFRBSUxRX0ZJUlNUKHBjaWVsaXN0KSkgewogNDlm
Ogk4YiA0NSBlOCAgICAgICAgICAgICAJbW92ICAgIC0weDE4KCVlYnApLCVl
YXgKIDRhMjoJMzkgMTggICAgICAgICAgICAgICAgCWNtcCAgICAlZWJ4LCgl
ZWF4KQogNGE0Ogk3NCAzZSAgICAgICAgICAgICAgICAJamUgICAgIDRlNCA8
cGNpX2NmZ3JlZ3dyaXRlKzB4MTY0PgoJCVRBSUxRX1JFTU9WRShwY2llbGlz
dCwgZWxlbSwgZWxlbSk7CiA0YTY6CThiIDEzICAgICAgICAgICAgICAgIAlt
b3YgICAgKCVlYngpLCVlZHgKIDRhODoJODUgZDIgICAgICAgICAgICAgICAg
CXRlc3QgICAlZWR4LCVlZHgKIDRhYToJNzQgMDggICAgICAgICAgICAgICAg
CWplICAgICA0YjQgPHBjaV9jZmdyZWd3cml0ZSsweDEzND4KIDRhYzoJOGIg
NDMgMDQgICAgICAgICAgICAgCW1vdiAgICAweDQoJWVieCksJWVheAogNGFm
Ogk4OSA0MiAwNCAgICAgICAgICAgICAJbW92ICAgICVlYXgsMHg0KCVlZHgp
CiA0YjI6CWViIDA5ICAgICAgICAgICAgICAgIAlqbXAgICAgNGJkIDxwY2lf
Y2ZncmVnd3JpdGUrMHgxM2Q+CiA0YjQ6CThiIDQzIDA0ICAgICAgICAgICAg
IAltb3YgICAgMHg0KCVlYngpLCVlYXgKIDRiNzoJOGIgNTUgZTggICAgICAg
ICAgICAgCW1vdiAgICAtMHgxOCglZWJwKSwlZWR4CiA0YmE6CTg5IDQyIDA0
ICAgICAgICAgICAgIAltb3YgICAgJWVheCwweDQoJWVkeCkKIDRiZDoJOGIg
NDMgMDQgICAgICAgICAgICAgCW1vdiAgICAweDQoJWVieCksJWVheAogNGMw
Ogk4YiAxMyAgICAgICAgICAgICAgICAJbW92ICAgICglZWJ4KSwlZWR4CiA0
YzI6CTg5IDEwICAgICAgICAgICAgICAgIAltb3YgICAgJWVkeCwoJWVheCkK
CQlUQUlMUV9JTlNFUlRfSEVBRChwY2llbGlzdCwgZWxlbSwgZWxlbSk7CiA0
YzQ6CThiIDRkIGU4ICAgICAgICAgICAgIAltb3YgICAgLTB4MTgoJWVicCks
JWVjeAogNGM3Ogk4YiAwMSAgICAgICAgICAgICAgICAJbW92ICAgICglZWN4
KSwlZWF4CiA0Yzk6CTg5IDAzICAgICAgICAgICAgICAgIAltb3YgICAgJWVh
eCwoJWVieCkKIDRjYjoJODUgYzAgICAgICAgICAgICAgICAgCXRlc3QgICAl
ZWF4LCVlYXgKIDRjZDoJNzQgMDcgICAgICAgICAgICAgICAgCWplICAgICA0
ZDYgPHBjaV9jZmdyZWd3cml0ZSsweDE1Nj4KIDRjZjoJOGIgMDEgICAgICAg
ICAgICAgICAgCW1vdiAgICAoJWVjeCksJWVheAogNGQxOgk4OSA1OCAwNCAg
ICAgICAgICAgICAJbW92ICAgICVlYngsMHg0KCVlYXgpCiA0ZDQ6CWViIDA2
ICAgICAgICAgICAgICAgIAlqbXAgICAgNGRjIDxwY2lfY2ZncmVnd3JpdGUr
MHgxNWM+CiA0ZDY6CThiIDQ1IGU4ICAgICAgICAgICAgIAltb3YgICAgLTB4
MTgoJWVicCksJWVheAogNGQ5Ogk4OSA1OCAwNCAgICAgICAgICAgICAJbW92
ICAgICVlYngsMHg0KCVlYXgpCiA0ZGM6CThiIDU1IGU4ICAgICAgICAgICAg
IAltb3YgICAgLTB4MTgoJWVicCksJWVkeAogNGRmOgk4OSAxYSAgICAgICAg
ICAgICAgICAJbW92ICAgICVlYngsKCVlZHgpCiA0ZTE6CTg5IDUzIDA0ICAg
ICAgICAgICAgIAltb3YgICAgJWVkeCwweDQoJWVieCkKewoKCWlmIChjZmdt
ZWNoID09IENGR01FQ0hfUENJRSAmJgoJICAgIChidXMgPj0gcGNpZV9taW5i
dXMgJiYgYnVzIDw9IHBjaWVfbWF4YnVzKSAmJgoJICAgIChidXMgIT0gMCB8
fCAhKDEgPDwgc2xvdCAmIHBjaWVfYmFkc2xvdHMpKSkKCQlwY2llcmVnX2Nm
Z3dyaXRlKGJ1cywgc2xvdCwgZnVuYywgcmVnLCBkYXRhLCBieXRlcyk7CiA0
ZTQ6CThiIDU1IDE4ICAgICAgICAgICAgIAltb3YgICAgMHgxOCglZWJwKSwl
ZWR4CgoJY3JpdGljYWxfZW50ZXIoKTsKCXBhID0gUENJRV9QQUREUihwY2ll
X2Jhc2UsIHJlZywgYnVzLCBzbG90LCBmdW5jKTsKCXBhcGFnZSA9IHBhICYg
flBBR0VfTUFTSzsKCWVsZW0gPSBwY2llcmVnX2ZpbmRlbGVtKHBhcGFnZSk7
Cgl2YSA9IGVsZW0tPnZhcGFnZSB8IChwYSAmIFBBR0VfTUFTSyk7CiA0ZTc6
CThiIDQ1IGU0ICAgICAgICAgICAgIAltb3YgICAgLTB4MWMoJWVicCksJWVh
eAogNGVhOgkyNSBmZiAwZiAwMCAwMCAgICAgICAJYW5kICAgICQweGZmZiwl
ZWF4CiA0ZWY6CTBiIDQzIDA4ICAgICAgICAgICAgIAlvciAgICAgMHg4KCVl
YngpLCVlYXgKIDRmMjoJODkgNDUgZjAgICAgICAgICAgICAgCW1vdiAgICAl
ZWF4LC0weDEwKCVlYnApCgoJc3dpdGNoIChieXRlcykgewogNGY1Ogk4MyBm
ZiAwMiAgICAgICAgICAgICAJY21wICAgICQweDIsJWVkaQogNGY4Ogk3NCAx
OCAgICAgICAgICAgICAgICAJamUgICAgIDUxMiA8cGNpX2NmZ3JlZ3dyaXRl
KzB4MTkyPgogNGZhOgk4MyBmZiAwNCAgICAgICAgICAgICAJY21wICAgICQw
eDQsJWVkaQogNGZkOgk3NCAwNyAgICAgICAgICAgICAgICAJamUgICAgIDUw
NiA8cGNpX2NmZ3JlZ3dyaXRlKzB4MTg2PgogNGZmOgk4MyBmZiAwMSAgICAg
ICAgICAgICAJY21wICAgICQweDEsJWVkaQogNTAyOgk3NSAxYiAgICAgICAg
ICAgICAgICAJam5lICAgIDUxZiA8cGNpX2NmZ3JlZ3dyaXRlKzB4MTlmPgog
NTA0OgllYiAxNCAgICAgICAgICAgICAgICAJam1wICAgIDUxYSA8cGNpX2Nm
Z3JlZ3dyaXRlKzB4MTlhPgoJY2FzZSA0OgoJCSoodm9sYXRpbGUgdWludDMy
X3QgKikodmEpID0gZGF0YTsKIDUwNjoJOGIgNDUgZjAgICAgICAgICAgICAg
CW1vdiAgICAtMHgxMCglZWJwKSwlZWF4CiA1MDk6CThiIDRkIDE4ICAgICAg
ICAgICAgIAltb3YgICAgMHgxOCglZWJwKSwlZWN4CiA1MGM6CTg5IDA4ICAg
ICAgICAgICAgICAgIAltb3YgICAgJWVjeCwoJWVheCkKIDUwZToJNjYgOTAg
ICAgICAgICAgICAgICAgCXhjaGcgICAlYXgsJWF4CiA1MTA6CWViIDBkICAg
ICAgICAgICAgICAgIAlqbXAgICAgNTFmIDxwY2lfY2ZncmVnd3JpdGUrMHgx
OWY+CgkJYnJlYWs7CgljYXNlIDI6CgkJKih2b2xhdGlsZSB1aW50MTZfdCAq
KSh2YSkgPSBkYXRhOwogNTEyOgk4YiA0NSBmMCAgICAgICAgICAgICAJbW92
ICAgIC0weDEwKCVlYnApLCVlYXgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Cj09IFZJRENPTlNPTEUgQk9PVCBIQU5HUyBIRVJFIEFUIG1vdiAlZHgsKCVl
YXgpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNTE1Ogk2NiA4OSAxMCAg
ICAgICAgICAgICAJbW92ICAgICVkeCwoJWVheCkKIDUxODoJZWIgMDUgICAg
ICAgICAgICAgICAgCWptcCAgICA1MWYgPHBjaV9jZmdyZWd3cml0ZSsweDE5
Zj4KCQlicmVhazsKCWNhc2UgMToKCQkqKHZvbGF0aWxlIHVpbnQ4X3QgKiko
dmEpID0gZGF0YTsKIDUxYToJOGIgNDUgZjAgICAgICAgICAgICAgCW1vdiAg
ICAtMHgxMCglZWJwKSwlZWF4CiA1MWQ6CTg4IDEwICAgICAgICAgICAgICAg
IAltb3YgICAgJWRsLCglZWF4KQoJCWJyZWFrOwoJfQoKCWNyaXRpY2FsX2V4
aXQoKTsKIDUxZjoJZTggZmMgZmYgZmYgZmYgICAgICAgCWNhbGwgICA1MjAg
PHBjaV9jZmdyZWd3cml0ZSsweDFhMD4KIDUyNDoJZTkgZGYgMDAgMDAgMDAg
ICAgICAgCWptcCAgICA2MDggPHBjaV9jZmdyZWd3cml0ZSsweDI4OD4KIDUy
OToJOGQgYjQgMjYgMDAgMDAgMDAgMDAgCWxlYSAgICAweDAoJWVzaSksJWVz
aQo9PT09RU5EIFNOSVBQSVQgRlJPTSBwY2lfY2ZncmVnLmMK
--1993147269-1217604498-1330726385=:22524--
More information about the freebsd-i386
mailing list