[syslinux] [RESEND][RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI

Andy Walls awalls at md.metrocast.net
Wed Mar 14 17:46:06 PDT 2012


Hi Paulo,

On Mon, 2012-03-12 at 23:13 -0300, Paulo Alcantara wrote:
> Hi Andy,
> 
> On Tue, Mar 06, 2012 at 04:20:04PM -0500, Andy Walls wrote:
> > [resending again, cutting out git pull-request output to make message smaller]
> > 
> > Hi all,
> > 
> > I have written a COM32 module called "acpioff", that, not surprisingly,
> > powers off a machine using ACPI.  I have tested it only using pxelinux.0
> > with a SeaBIOS/Qemu virtual machine.
> > 
> 
> I'm just wondering how useful is having a COMBOOT32 module to power off a
> machine using ACPI.

It serves the same use cases as syslinux/modules/poweroff.asm, except
that acpioff works on modern machines that don't implement APM. ;)

I use acpioff to powerdown a subset of PXE-booting, single board
computers, that are installed in a chassis which only has a single power
switch.  The boards which I tell to "acpioff" go into a reasonably low
power mode and stop talking on the network.  It is easier than pulling
boards or unplugging cables.

I suppose one could also use it in an enterprise environment, to
restrict the time during which thin-clients in another part of the
building are permitted to PXE-boot and operate.



> > Since the changeset pulls in a "Linux-ized" version of the open source
> > ACPI Component Architecture, it was too big to post as a patches to the
> > list.  See the git pull-request output below.  My github tree is from a
> > clone of the git.kernel.org syslinux git tree. 
> > 
> 
> The Syslinux tree on git.kernel.org is out to date, hence you should work
> against the tree on git.zytor.com (with git HEAD d05647).

Not a problem, if this moves forward for inclusion.

Although, as hpa mentioned, the whole changeset is very isolated and
only relies on basic SYSLINUX/COM32 services.

I did not make a general library of the single threaded ACPICA instance
for two reasons:

1. Hooking into the SCI interrupt, for a proper ACPI implementation, was
going to require non-trivial changes to the SYSLINUX core.

2. LwIP should be able to support a mutli-threaded ACPICA instance, so
there is no point in creating a library of a barely working
single-threaded instance.

Regards,
Andy




More information about the Syslinux mailing list