Problems booting 9.1-STABLE on Netra X1

Chris Ross cross+freebsd at
Mon Feb 25 22:00:17 UTC 2013

On Feb 25, 2013, at 5:13 AM, Marius Strobl wrote:
> This means that the machine is generating a power failure interrupt,
> which causes FreeBSD to initiate a graceful shutdown rather than
> waiting for the power to supply to suddenly die, which could cause
> data loss.
> In general, it's very model specific whether Sun hooked up that
> interrupt to anything and to what. F.e., in U5/U10 it's just
> connected to the power button rather than a circuit that monitors
> the power supply. I don't know for certain what it is connected to
> in X1. However, given that these latter use an ACPI-style power
> button and were intended as servers, it's quite likely that their
> power failure interrupt actually is connected to a power supply
> monitoring circuit.
> You could hack psycho(4) to just not register the power failure
> interrupt handler. Whether you really want to use that machine in
> this configuration (it could be either the power supply actually
> starting to fail or also just the monitoring circuit being broken)
> is something you have to decide on your own.

  Okay.  My memory is sketchy at best, but email is forever.  The following
thread, and the second URL to a notable piece there-in where I found a
pointer to the core problem, documents my efforts to get NetBSD running
on this same system 3 years ago.

  The solution that I think was to ignore the power fail on this hardware.
A reference in that thread mentions a OpenBSD commit:

| revision 1.11
| date: 2002/01/29 20:33:19;  author: jason;  state: Exp;  lines: +3 -1
| Don't install a handler for powerfail... this causes weird problems with
| the Netra X1 (interactions with lom)

  Numerous things were attempted during the course of that port-sparc64
netbsd thread, some of which were tied to not installing the handler
in the case of a machine identified as a Netra X1.

  It appears the code in place now in psycho.c is:

		 * Netra X1 may hang when the powerfail interrupt is enabled.
		if (strcmp(machine_model, "SUNW,UltraAX-i2") != 0) {
			psycho_set_intr(sc, 15, psycho_powerfail,
  Would that be unacceptable for placing into FreeBSD?  Clearly, I can
put it in my own tree for testing and use, but would prefer it live in the
main sources long-term.  :-)

                                - Chris

More information about the freebsd-sparc64 mailing list