svn commit: r274739 - head/sys/mips/conf
Ian Lepore
ian at FreeBSD.org
Mon Nov 24 15:01:12 UTC 2014
On Mon, 2014-11-24 at 07:53 +0000, Mark R V Murray wrote:
> > On 24 Nov 2014, at 05:28, Ian Lepore <ian at FreeBSD.org> wrote:
> >
> > But I got some logging that maybe will be useful to you, attached. This
> > is the boot logging from hitting the reset button 4 times in a row. I
> > had RANDOM_DEBUG and FORTUNA options on.
>
> Thanks.
>
> > In the random debugging printf for device attach I added a display of
> > the actual bits being fed in as well as the count. That data in tabular
> > form (from 3 of the 4 runs so it fits email width) is interesting:
> >
> > nexus0: 0x00000010c6f7a0b6 0x00000010c6f7a0b6 0x00000010c6f7a0b6
> > at91_aic0: 0x00000010c6f7a0b6 0x00000010c6f7a0b6 0x00000010c6f7a0b6
> > at91_pmc0: 0x00000010c6f7a0b6 0x00000010c6f7a0b6 0x00000010c6f7a0b6
> > at91_st0: 0x0000003254e6e222 0x0000003254e6e222 0x0000003254e6e222
> > mmc0: 0x0000000000000000 0x0000000000000000 0x0000020000000000
> > at91_mci0: 0x0004480000000000 0x0004480000000000 0x00044e0000000000
> > ukphy0: 0x0001980000000000 0x00019a0000000000 0x0001960000000000
> > miibus0: 0x00060a0000000000 0x00060c0000000000 0x00060a0000000000
> > ate0: 0x000d260000000000 0x000d280000000000 0x000d2a0000000000
> > uart0: 0x0001400000000000 0x0001400000000000 0x0001400000000000
> > atmelarm0: 0x00231cc9539b8887 0x00231ec9539b8887 0x002328c9539b8887
> > mmcsd0: 0x0002620000000000 0x0002620000000000 0x0002620000000000
>
> Those numbers look weird; please send a diff of your change.
>
> The number of devices probed is also low. When you get the booting
> problem sorted, there are some constants that we could change that
> may help.
>
> > This nicely illustrates one of the main points I've been trying to make
> > for a long time: This kind of system boots nearly identically every
> > time you power on or reset. On every boot, all that "entropy" that's
> > getting fed in is about the same as last time it booted. In addition to
> > the low quantity of data available, when you consider its similarity
> > from one reboot to the next it's hard to even grace it with the name
> > "entropy.”
>
> I’m well aware of that; I’ve been saying something similar since at
> least 2000.
>
> M
The logging change was pretty simple:
Index: kern/subr_bus.c
===================================================================
--- kern/subr_bus.c (revision 274946)
+++ kern/subr_bus.c (working copy)
@@ -2851,8 +2851,8 @@ device_attach(device_t dev)
* need to be adjusted on other platforms.
*/
#ifdef RANDOM_DEBUG
- printf("random: %s(): feeding %d bit(s) of entropy from %s%d\n",
- __func__, 4, dev->driver->name, dev->unit);
+ printf("random: %s(): feeding %d bit(s) of entropy from %s%d: 0x%016llx\n",
+ __func__, 4, dev->driver->name, dev->unit, attachtime);
#endif
random_harvest(&attachtime, sizeof(attachtime), 4, RANDOM_ATTACH);
device_sysctl_update(dev);
The low number of devices is pretty typical. Sometimes there'll be
another uart. Sometimes an i2c eeprom.
I have no idea what's up with the first 3 unchanging numbers, but I
suspect a big part of the explanation for the other numbers is the 32KHz
clock it's getting the numbers from. There used to be a clock running
at about 2.8MHz, but the source code for that driver seems to have
disappeared from FreeBSD at some point between 8.x and -current.
-- Ian
More information about the freebsd-arch
mailing list