Re: ipsp_ids_gc panic after 7.1 upgrade

2022-04-26 Thread kasak



25.04.2022 19:09, Alexander Bluhm пишет:

On Mon, Apr 25, 2022 at 05:49:49PM +0300, Vitaliy Makkoveev wrote:

I would suggest to replace the timeout garbage collector with
reference counting.  This diff is only compile tested as I have no
setup for IPsec ids yet.  Should work on 7.1 an -current.

bluhm

Your diff is broken, it keeps `id_gc_list' as part of 'ipsec_ids' and
still removes `ids' from this non-existing list:

This happens when I send code that I have not tested.  Updated diff
below.


Also it modifies existing behaviour, we stop to re-use dead `ids' for
some period after it's removal. I don't know why we do this, may be some
one involved to this layer could explain.

I will ask markus@

bluhm

Index: net/pfkeyv2.c
===
RCS file: /data/mirror/openbsd/cvs/src/sys/net/pfkeyv2.c,v
retrieving revision 1.233
diff -u -p -r1.233 pfkeyv2.c
--- net/pfkeyv2.c   13 Mar 2022 21:38:32 -  1.233
+++ net/pfkeyv2.c   25 Apr 2022 15:10:54 -
@@ -1969,8 +1969,8 @@ pfkeyv2_send(struct socket *so, void *me

ipo->ipo_sproto = SADB_X_GETSPROTO(smsg->sadb_msg_satype);

-   if (ipo->ipo_ids) {
-   ipsp_ids_free(ipo->ipo_ids);
+   if (ipo->ipo_ids != NULL) {
+   ipsp_ids_unref(ipo->ipo_ids);
ipo->ipo_ids = NULL;
}

@@ -2015,8 +2015,8 @@ pfkeyv2_send(struct socket *so, void *me
ipo->ipo_tdb = NULL;
}
mtx_leave(_tdb_mtx);
-   if (ipo->ipo_ids)
-   ipsp_ids_free(ipo->ipo_ids);
+   if (ipo->ipo_ids != NULL)
+   ipsp_ids_unref(ipo->ipo_ids);
pool_put(_policy_pool, ipo);
NET_UNLOCK();
goto ret;
Index: net/pfkeyv2_convert.c
===
RCS file: /data/mirror/openbsd/cvs/src/sys/net/pfkeyv2_convert.c,v
retrieving revision 1.79
diff -u -p -r1.79 pfkeyv2_convert.c
--- net/pfkeyv2_convert.c   20 Jan 2022 17:13:12 -  1.79
+++ net/pfkeyv2_convert.c   25 Apr 2022 15:10:54 -
@@ -752,6 +752,7 @@ import_identities(struct ipsec_ids **ids
import_identity(>id_local, swapped ? dstid: srcid, _local_sz);
import_identity(>id_remote, swapped ? srcid: dstid, _remote_sz);
if (tmp->id_local != NULL && tmp->id_remote != NULL) {
+   /* ipsp_ids_insert increments refcount, ref stored in *ids */
*ids = ipsp_ids_insert(tmp);
if (*ids == tmp)
return;
Index: netinet/ip_ipsp.c
===
RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_ipsp.c,v
retrieving revision 1.269
diff -u -p -r1.269 ip_ipsp.c
--- netinet/ip_ipsp.c   10 Mar 2022 15:21:08 -  1.269
+++ netinet/ip_ipsp.c   25 Apr 2022 15:11:40 -
@@ -113,13 +113,6 @@ struct ipsec_ids_flows ipsec_ids_flows;
  struct ipsec_policy_head ipsec_policy_head =
  TAILQ_HEAD_INITIALIZER(ipsec_policy_head);

-void ipsp_ids_gc(void *);
-
-LIST_HEAD(, ipsec_ids) ipsp_ids_gc_list =
-LIST_HEAD_INITIALIZER(ipsp_ids_gc_list);   /* [F] */
-struct timeout ipsp_ids_gc_timeout =
-TIMEOUT_INITIALIZER_FLAGS(ipsp_ids_gc, NULL, TIMEOUT_PROC);
-
  static inline int ipsp_ids_cmp(const struct ipsec_ids *,
  const struct ipsec_ids *);
  static inline int ipsp_ids_flow_cmp(const struct ipsec_ids *,
@@ -1088,16 +1081,12 @@ tdb_free(struct tdb *tdbp)

KASSERT(TAILQ_EMPTY(>tdb_policy_head));

-   if (tdbp->tdb_ids) {
-   ipsp_ids_free(tdbp->tdb_ids);
-   tdbp->tdb_ids = NULL;
-   }
+   if (tdbp->tdb_ids != NULL)
+   ipsp_ids_unref(tdbp->tdb_ids);

  #if NPF > 0
-   if (tdbp->tdb_tag) {
+   if (tdbp->tdb_tag)
pf_tag_unref(tdbp->tdb_tag);
-   tdbp->tdb_tag = 0;
-   }
  #endif

counters_free(tdbp->tdb_counters, tdb_ncounters);
@@ -1204,19 +1193,13 @@ ipsp_ids_insert(struct ipsec_ids *ids)

found = RBT_INSERT(ipsec_ids_tree, _ids_tree, ids);
if (found) {
-   /* if refcount was zero, then timeout is running */
-   if (atomic_inc_int_nv(>id_refcount) == 1) {
-   LIST_REMOVE(found, id_gc_list);
-
-   if (LIST_EMPTY(_ids_gc_list))
-   timeout_del(_ids_gc_timeout);
-   }
+   refcnt_take(>id_refcnt);
mtx_leave (_flows_mtx);
DPRINTF("ids %p count %d", found, found->id_refcount);
return found;
}

-   ids->id_refcount = 1;
+   refcnt_init(>id_refcnt);
ids->id_flow = 

Re: X11 GLAMOUR acceleration is broken on the Thinkpad X41T.

2022-04-26 Thread Jonathan Gray
On Wed, Apr 27, 2022 at 12:53:37PM +1000, Jonathan Gray wrote:
> On Tue, Apr 26, 2022 at 12:51:10PM +0100, james palmer wrote:
> > That fixes things, thanks :)
> > 
> > Maybe the default should be to not use glamour if hardware cannot be 
> > scanned. Then again, not many people will be using hardware this old so it 
> > might not be worth it.
> > 
> > - James
> 
> When pci can not be scanned the wscons display type is used to
> decide if modesetting is used.
> 
> Using startx on x40 (i855 with gen 2 graphics) modesetting does not use
> glamor due to the advertised opengl version.
> 
> [   340.854] (II) modeset(0): glamor: Ignoring GL < 2.1, falling back to GLES.
> [   340.855] (EE) modeset(0): glamor: Failed to create GL or GLES2 contexts
> [   340.985] (II) modeset(0): glamor initialization failed
> 
> This check in xenocara/xserver/glamor/glamor_egl.c glamor_egl_init()
> could be changed to include intel gen 3 hardware.
> 
> intel should be the preferred driver for this hardware.  I'll see if I
> can come up with a patch to get the pci vid/pid out of a drm device.

The diff below does that but startx will still result in the modesetting
driver being used.  I suspect that is due to libpciaccess use in
xf86-video-intel.

[ 13988.707] (==) xf86PciFromDRM returning vid 0x8086 pid 0x3582
[ 13988.707] (==) Matched intel as autoconfigured driver 0
[ 13988.707] (==) Matched modesetting as autoconfigured driver 1

[ 13988.608] 
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
[ 13988.622] Current Operating System: OpenBSD x40.jsg.id.au 7.1 GENERIC#166 
i386
[ 13988.629]  
[ 13988.636] Current version of pixman: 0.40.0
[ 13988.643]Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 13988.644] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 13988.652] (==) Log file: "/home/jsg/.local/share/xorg/Xorg.0.log", Time: Wed 
Apr 27 14:48:57 2022
[ 13988.653] (==) Using system config directory 
"/usr/X11R6/share/X11/xorg.conf.d"
[ 13988.654] (==) No Layout section.  Using the first Screen section.
[ 13988.654] (==) No screen section available. Using defaults.
[ 13988.654] (**) |-->Screen "Default Screen Section" (0)
[ 13988.654] (**) |   |-->Monitor ""
[ 13988.656] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 13988.656] (==) Automatically adding devices
[ 13988.656] (==) Automatically enabling devices
[ 13988.656] (==) Not automatically adding GPU devices
[ 13988.656] (==) Automatically binding GPU devices
[ 13988.656] (==) Max clients allowed: 256, resource mask: 0x1f
[ 13988.656] (==) FontPath set to:
/usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/TTF/,
/usr/X11R6/lib/X11/fonts/OTF/,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/100dpi/,
/usr/X11R6/lib/X11/fonts/75dpi/
[ 13988.656] (==) ModulePath set to "/usr/X11R6/lib/modules"
[ 13988.656] (II) The server relies on wscons to provide the list of input 
devices.
If no devices become available, reconfigure wscons or disable 
AutoAddDevices.
[ 13988.656] (II) Loader magic: 0x39e0c7d8
[ 13988.656] (II) Module ABI versions:
[ 13988.657]X.Org ANSI C Emulation: 0.4
[ 13988.657]X.Org Video Driver: 25.2
[ 13988.657]X.Org XInput driver : 24.4
[ 13988.657]X.Org Server Extension : 10.0
[ 13988.657] (--) Using wscons driver on /dev/ttyC4
[ 13988.687] (WW) checkDevMem: failed to open /dev/xf86 and /dev/mem
(Permission denied)
Check that you have set 'machdep.allowaperture=1'
in /etc/sysctl.conf and reboot your machine
refer to xf86(4) for details
[ 13988.687]linear framebuffer access unavailable
[ 13988.687] (II) LoadModule: "glx"
[ 13988.691] (II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
[ 13988.696] (II) Module glx: vendor="X.Org Foundation"
[ 13988.696]compiled for 1.21.1.3, module version = 1.0.0
[ 13988.696]ABI class: X.Org Server Extension, version 10.0
[ 13988.707] (==) xf86PciFromDRM returning vid 0x8086 pid 0x3582
[ 13988.707] (==) Matched intel as autoconfigured driver 0
[ 13988.707] (==) Matched modesetting as autoconfigured driver 1
[ 13988.707] (==) Assigned the driver to the xf86ConfigLayout
[ 13988.707] (II) LoadModule: "intel"
[ 13988.709] (II) Loading /usr/X11R6/lib/modules/drivers/intel_drv.so
[ 13988.709] (II) Module intel: vendor="X.Org Foundation"
[ 13988.710]compiled for 1.21.1.3, module version = 2.99.916
[ 13988.710]Module class: X.Org Video Driver
[ 13988.710]ABI class: X.Org Video Driver, version 25.2
[ 13988.710] (II) LoadModule: "modesetting"
[ 13988.712] (II) Loading /usr/X11R6/lib/modules/drivers/modesetting_drv.so
[ 13988.713] (II) Module modesetting: vendor="X.Org Foundation"
[ 13988.713]compiled 

Re: X11 GLAMOUR acceleration is broken on the Thinkpad X41T.

2022-04-26 Thread Jonathan Gray
On Tue, Apr 26, 2022 at 12:51:10PM +0100, james palmer wrote:
> That fixes things, thanks :)
> 
> Maybe the default should be to not use glamour if hardware cannot be scanned. 
> Then again, not many people will be using hardware this old so it might not 
> be worth it.
> 
> - James

When pci can not be scanned the wscons display type is used to
decide if modesetting is used.

Using startx on x40 (i855 with gen 2 graphics) modesetting does not use
glamor due to the advertised opengl version.

[   340.854] (II) modeset(0): glamor: Ignoring GL < 2.1, falling back to GLES.
[   340.855] (EE) modeset(0): glamor: Failed to create GL or GLES2 contexts
[   340.985] (II) modeset(0): glamor initialization failed

This check in xenocara/xserver/glamor/glamor_egl.c glamor_egl_init()
could be changed to include intel gen 3 hardware.

intel should be the preferred driver for this hardware.  I'll see if I
can come up with a patch to get the pci vid/pid out of a drm device.

[   335.195] 
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
[   335.197] Current Operating System: OpenBSD x40.jsg.id.au 7.1 GENERIC#166 
i386
[   335.197]  
[   335.197] Current version of pixman: 0.40.0
[   335.198]Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[   335.198] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   335.249] (==) Log file: "/home/jsg/.local/share/xorg/Xorg.0.log", Time: Wed 
Apr 27 11:01:23 2022
[   335.440] (==) Using system config directory 
"/usr/X11R6/share/X11/xorg.conf.d"
[   335.637] (==) No Layout section.  Using the first Screen section.
[   335.637] (==) No screen section available. Using defaults.
[   335.637] (**) |-->Screen "Default Screen Section" (0)
[   335.637] (**) |   |-->Monitor ""
[   335.646] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[   335.646] (==) Automatically adding devices
[   335.646] (==) Automatically enabling devices
[   335.646] (==) Not automatically adding GPU devices
[   335.646] (==) Automatically binding GPU devices
[   335.653] (==) Max clients allowed: 256, resource mask: 0x1f
[   335.787] (==) FontPath set to:
/usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/TTF/,
/usr/X11R6/lib/X11/fonts/OTF/,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/100dpi/,
/usr/X11R6/lib/X11/fonts/75dpi/
[   335.787] (==) ModulePath set to "/usr/X11R6/lib/modules"
[   335.787] (II) The server relies on wscons to provide the list of input 
devices.
If no devices become available, reconfigure wscons or disable 
AutoAddDevices.
[   335.792] (II) Loader magic: 0x357e67d4
[   335.792] (II) Module ABI versions:
[   335.792]X.Org ANSI C Emulation: 0.4
[   335.792]X.Org Video Driver: 25.2
[   335.792]X.Org XInput driver : 24.4
[   335.792]X.Org Server Extension : 10.0
[   335.819] (--) Using wscons driver on /dev/ttyC4
[   335.844] (WW) checkDevMem: failed to open /dev/xf86 and /dev/mem
(Permission denied)
Check that you have set 'machdep.allowaperture=1'
in /etc/sysctl.conf and reboot your machine
refer to xf86(4) for details
[   335.844]linear framebuffer access unavailable
[   335.873] (II) LoadModule: "glx"
[   335.994] (II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
[   336.523] (II) Module glx: vendor="X.Org Foundation"
[   336.523]compiled for 1.21.1.3, module version = 1.0.0
[   336.523]ABI class: X.Org Server Extension, version 10.0
[   336.552] (==) Matched modesetting as autoconfigured driver 0
[   336.552] (==) Assigned the driver to the xf86ConfigLayout
[   336.552] (II) LoadModule: "modesetting"
[   336.555] (II) Loading /usr/X11R6/lib/modules/drivers/modesetting_drv.so
[   336.664] (II) Module modesetting: vendor="X.Org Foundation"
[   336.664]compiled for 1.21.1.3, module version = 1.21.1
[   336.664]Module class: X.Org Video Driver
[   336.664]ABI class: X.Org Video Driver, version 25.2
[   336.685] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   336.685] (WW) Falling back to old probe method for modesetting
[   336.726] (II) modeset(0): using default device
[   336.764] (II) modeset(0): Creating default Display subsection in Screen 
section
"Default Screen Section" for depth/fbbpp 24/32
[   336.764] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[   336.765] (==) modeset(0): RGB weight 888
[   336.765] (==) modeset(0): Default visual is TrueColor
[   336.765] (II) Loading sub module "glamoregl"
[   336.765] (II) LoadModule: "glamoregl"
[   336.872] (II) Loading /usr/X11R6/lib/modules/libglamoregl.so
[   337.364] (II) Module glamoregl: vendor="X.Org Foundation"
[   337.364]compiled for 1.21.1.3, module version = 

Re: update dump/restore to use rcmdsh() instead of rcmd()

2022-04-26 Thread Todd C . Miller
On Tue, 26 Apr 2022 15:26:56 -0700, Jim Lawson wrote:

> Thanks todd. I wasn't aware anyone ran dump as anything other than root.

Typically all you need is group operator to do dumps.  It is often
easier to do remote dumps as non-root since you don't have to allow
root ssh on the destination host.

> I noticed the problem when I couldn't do any dumps to remote files, unless I 
> dumped to stdout and piped the output through ssh.

The inconsistency between root and non-root behavior is confusing.
Ultimately, I think we should remove rcmd(3) from the C library.

Your diff is a good first step.

 - todd



Re: update dump/restore to use rcmdsh() instead of rcmd()

2022-04-26 Thread Jim Lawson
Thanks todd. I wasn't aware anyone ran dump as anything other than root.

I noticed the problem when I couldn't do any dumps to remote files, unless I 
dumped to stdout and piped the output through ssh.

> On Apr 26, 2022, at 3:04 PM, Todd C. Miller  wrote:
> 
> On OpenBSD, rcmd(3) calls rcmdsh(3) under the hood unless the program
> is run as the superuser.  However, since we no longer even ship
> rshd(8) in OpenBSD it is probably best to avoid rcmd(3) entirely.
> 
> It looks like dump(8) is the only remaining user of rcmd(3) in the
> tree.
> 
> - todd



Re: update dump/restore to use rcmdsh() instead of rcmd()

2022-04-26 Thread Todd C . Miller
On OpenBSD, rcmd(3) calls rcmdsh(3) under the hood unless the program
is run as the superuser.  However, since we no longer even ship
rshd(8) in OpenBSD it is probably best to avoid rcmd(3) entirely.

It looks like dump(8) is the only remaining user of rcmd(3) in the
tree.

 - todd



update dump/restore to use rcmdsh() instead of rcmd()

2022-04-26 Thread Jim Lawson
>Synopsis:  dump/restore still uses the deprecated rcmd() to communicate 
>with remote tape/files
>Category:  user
>Environment:
System  : OpenBSD 7.0
Details : OpenBSD 7.0 (GENERIC) #6: Mon Apr  4 00:45:25 MDT 2022
 
r...@syspatch-70-i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC

Architecture: OpenBSD.i386
Machine : i386
>Description:
dumprmt.c uses the deprecated rcmd() (based on the deprecated remote 
shell protocol) to communicate with remote tape drives/files.
>How-To-Repeat:
This is a simple architecture independent source code update: replace 
rcmd() with rcmdsh(). It doesn't look like any documentation change is 
required. Diff based on -current as of 4/25/22.

$ cvs diff
cvs diff: Diffing .
Index: dumprmt.c
===
RCS file: /vcs/cvs/src/sbin/dump/dumprmt.c,v
retrieving revision 1.31
diff -u -p -r1.31 dumprmt.c
--- dumprmt.c   21 Jan 2021 00:16:36 -  1.31
+++ dumprmt.c   26 Apr 2022 20:58:11 -
@@ -136,7 +136,7 @@ rmtgetconn(void)
} else
tuser = name;
 
-   rmtape = rcmd(, sp->s_port, name, tuser, _PATH_RMT, NULL);
+   rmtape = rcmdsh(, sp->s_port, name, tuser, _PATH_RMT, NULL);
(void)free(name);
if (rmtape < 0)
return;



Re: Boot(8) timeouts take excessively long on OnLogic Helix 500.

2022-04-26 Thread Dan Cross
On Mon, Apr 25, 2022 at 5:49 PM Mark Kettenis 
wrote:
> > From: Dan Cross 
> > Date: Sun, 24 Apr 2022 21:12:29 -0400
>
> On a machine of this vintage you probably shouldn't boot using the
> legacy BIOS.  Try UEFI mode instead.

Sure.  I gave that a go with the same result.

- Dan C.


Re: VPS hang running ttyflags -a after 7.1 upgrade

2022-04-26 Thread Mark Kettenis
> Date: Tue, 26 Apr 2022 07:24:22 +0200
> From: Anton Lindqvist 
> 
> On Tue, Apr 26, 2022 at 02:32:22AM +, Lucas wrote:
> > >Synopsis:  `ttyflags -a` hangs the system
> > >Category:  tty?
> > >Environment:
> > System  : OpenBSD 7.1
> > Details : OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 
> > 2022
> >  
> > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > 
> > Architecture: OpenBSD.amd64
> > Machine : amd64
> > >Description:
> > After an upgrade to 7.1, /etc/rc hangs when running `ttyflags
> > -a`. I don't have a 7.0 dmesg of this machine, but I do have
> > other machines in that provider running 7.0 without the same
> > specs (4 vCPUs here vs 1 vCPU) and they boot fine. The dmesg in
> > those machines doesn't show any ^com line. I can share the dmesg
> > of one of those, and I can attempt an upgrade if it can help to
> > better diagnostic the problem. I can try some kernel patches
> > too.
> > >How-To-Repeat:
> > Upgrade to 7.1 in this provider
> > >Fix:
> > Comment out `ttyflags -a` call in line 393 of /etc/rc.
> > 
> > dmesg:
> > OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 2022
> > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > real mem = 4278169600 (4079MB)
> > avail mem = 4131217408 (3939MB)
> > random: good seed from bootblocks
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5810 (13 entries)
> > bios0: vendor SeaBIOS version "1.12.0-1" date 04/01/2014
> > bios0: QEMU Standard PC (Q35 + ICH9, 2009)
> > acpi0 at bios0: ACPI 1.0
> > acpi0: sleep states S3 S4 S5
> > acpi0: tables DSDT FACP SSDT APIC HPET MCFG
> > acpi0: wakeup devices
> > acpitimer0 at acpi0: 3579545 Hz, 24 bits
> > acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
> > cpu0 at mainbus0: apid 0 (boot processor)
> > cpu0: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 577.66 MHz, 06-3c-03
> > cpu0: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu0: smt 0, core 0, package 0
> > mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> > cpu0: apic clock running at 999MHz
> > cpu1 at mainbus0: apid 1 (application processor)
> > cpu1: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 626.20 MHz, 06-3c-03
> > cpu1: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu1: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu1: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu1: smt 0, core 0, package 1
> > cpu2 at mainbus0: apid 2 (application processor)
> > cpu2: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 575.47 MHz, 06-3c-03
> > cpu2: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu2: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu2: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu2: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu2: smt 0, core 0, package 2
> > cpu3 at mainbus0: apid 3 (application processor)
> > cpu3: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 523.71 MHz, 06-3c-03
> > cpu3: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu3: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu3: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu3: DTLB 255 4KB entries