When I execute cpu_poweroff() which in turn calls this
plat_cpu_poweroff() function, it returns with ENOTSUP, so it seems the
sbdp_cpu_poweroff function does not exist.

What kind of machine are you running this on?

However, using the source browser, there seems to be a
sbdp_cpu_poweroff() function in uts/sun4u/serengeti/io/sbdp_cpu.c. If
I understand correctly, this is part of some sbdp module for
serengeti, which does not seem to be loaded and isn't in my /kernel
directory either.

It is in the platform-specific directory:

$ nm /platform/SUNW,Sun-Fire/kernel/misc/sparcv9/sbdp | grep sbdp_cpu_poweroff [142] | 8596| 532|FUNC |GLOB |0 |1 |sbdp_cpu_poweroff

The module that depends on it:

$ ldd /platform/sun4u/kernel/misc/sparcv9/sbd
        misc/sbdp =>     (file not found)

sbd module is loaded from ssm_open() http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/sun4u/serengeti/io/ssm.c#732

    734                 if (modload("misc", "sbd") == -1) {

which is called whenever ssm device is opened by cfgadm.

what does the acronym sbdp stand for?

Don't know, but perhaps what the module name says: "System Board DR v%I%".

Is there a particular problem you're trying to solve. DR is one of the most complicated parts of the system and probably one of the ugliest.

-Artem.


_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to