Andy Walls
2012-Mar-03 13:46 UTC
[syslinux] [RESEND][RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI
[resending, 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.
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.
I have two questions which I would like answered, since I don't like to
maintain things out of tree:
a) Is there any possibilty that this could be included in the official
syslinux source tree?
b) If so, what changes do I need to make to the patch for it to be
accepted?
Note that this COM32 module implements a single-threaded instantiation
of the ACPICA for itself that ignores the SCI interrupt. The acpioff.c
program using the syslinux COM32 library act as the "OS" for the
ACPICA
instantiation.
The changeset is very large due to the ACPICA, but the following files
are what really matter for review purposes:
Program:
com32/acpioff/acpioff.c
com32/Makefile
Platform/enviroment specific customization required for
single-threaded ACPI instantiation for COM32:
com32/acpioff/acpica_linuxized/README
com32/acpioff/osl.h
com32/acpioff/acpica_linuxized/drivers/acpi/osl.c
com32/acpioff/acpica_linuxized/include/acpi/platform/accom32.h
com32/acpioff/acpica_linuxized/include/acpi/platform/acenv.h
Fixes required to the ACPICA for available types and debugging:
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/acglobal.h
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/utaddress.c
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/acutils.h
Regards,
Andy
The following changes since commit c0c25b4826950162517896c5039c6d62d07115be:
hdt: Adding postexec= option (2011-12-17 22:27:07 +0100)
are available in the git repository at:
git://github.com/awalls-cx18/syslinux.git acpi_off
Andy Walls (14):
acpioff: Add directory with basic Makefile for new acpioff com32 module
acpioff: Add a "Linux-ized" version of the ACPICA.org source for
ACPI
acpioff: Add initial ACPICA config for COM32 target and build environment
acpica: Fix ACPI_ADDRESS_RANGE => struct acpi_address_range conversion
acpioff: Add first stab at the ACPICA required OSL layer
acpioff: Modify Makefile to compile the ACPICA and OSL
acpioff: Add initial version of program
acpioff: First version of Makefile to build both library and executable
acpioff: Allow the ACPICA to be built to emit verbose debugging
acpioff: First version that fully works with Qemu/SeaBIOS
acpioff: Get rid of noisy status message from ACPICA OSL
com32: Add building acpioff to the COM32 Makefile
acpioff: Add copyright and update text of README of ACPICA code pedigree
acpioff: Move ACPI tree dump on error to not obscure error message
com32/Makefile | 2 +-
com32/acpioff/Makefile | 71 ++
com32/acpioff/acpica_linuxized/README | 34 +
.../drivers/acpi/acpica/accommon.h | 63 +
.../drivers/acpi/acpica/acconfig.h | 210 ++++
[snip]
com32/acpioff/acpioff.c | 174 +++
com32/acpioff/osl.h | 44 +
185 files changed, 87007 insertions(+), 1 deletions(-)
create mode 100644 com32/acpioff/Makefile
create mode 100644 com32/acpioff/acpica_linuxized/README
create mode 100644
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/accommon.h
[snip]
create mode 100644 com32/acpioff/acpica_linuxized/include/acpi/platform/acwin.h
create mode 100644
com32/acpioff/acpica_linuxized/include/acpi/platform/acwin64.h
create mode 100644 com32/acpioff/acpioff.c
create mode 100644 com32/acpioff/osl.h
Andy Walls
2012-Mar-06 21:20 UTC
[syslinux] [RESEND][RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI
[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.
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.
I have two questions which I would like answered, since I don't like to
maintain things out of tree:
a) Is there any possibilty that this could be included in the official
syslinux source tree?
b) If so, what changes do I need to make to the patch for it to be
accepted?
Note that this COM32 module implements a single-threaded instantiation
of the ACPICA for itself that ignores the SCI interrupt. The acpioff.c
program using the syslinux COM32 library act as the "OS" for the
ACPICA
instantiation.
The changeset is very large due to the ACPICA, but the following files
are what really matter for review purposes:
Program:
com32/acpioff/acpioff.c
com32/Makefile
Platform/enviroment specific customization required for
single-threaded ACPI instantiation for COM32:
com32/acpioff/acpica_linuxized/README
com32/acpioff/osl.h
com32/acpioff/acpica_linuxized/drivers/acpi/osl.c
com32/acpioff/acpica_linuxized/include/acpi/platform/accom32.h
com32/acpioff/acpica_linuxized/include/acpi/platform/acenv.h
Fixes required to the ACPICA for available types and debugging:
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/acglobal.h
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/utaddress.c
com32/acpioff/acpica_linuxized/drivers/acpi/acpica/acutils.h
Regards,
Andy
The following changes since commit c0c25b4826950162517896c5039c6d62d07115be:
hdt: Adding postexec= option (2011-12-17 22:27:07 +0100)
are available in the git repository at:
git://github.com/awalls-cx18/syslinux.git acpi_off
Andy Walls (14):
acpioff: Add directory with basic Makefile for new acpioff com32 module
acpioff: Add a "Linux-ized" version of the ACPICA.org source for
ACPI
acpioff: Add initial ACPICA config for COM32 target and build environment
acpica: Fix ACPI_ADDRESS_RANGE => struct acpi_address_range conversion
acpioff: Add first stab at the ACPICA required OSL layer
acpioff: Modify Makefile to compile the ACPICA and OSL
acpioff: Add initial version of program
acpioff: First version of Makefile to build both library and executable
acpioff: Allow the ACPICA to be built to emit verbose debugging
acpioff: First version that fully works with Qemu/SeaBIOS
acpioff: Get rid of noisy status message from ACPICA OSL
com32: Add building acpioff to the COM32 Makefile
acpioff: Add copyright and update text of README of ACPICA code pedigree
acpioff: Move ACPI tree dump on error to not obscure error message
185 files changed, 87007 insertions(+), 1 deletions(-)
Erwan Velu
2012-Mar-16 07:11 UTC
[syslinux] [RESEND][RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI
Le 03/03/2012 14:46, Andy Walls a ?crit : Does this work can be somehow merged or integrated with the acpi stuff I did in gpllib ? The need of acpi is somehow global to syslinux, duplicating the efforts in every com32 module sounds like duplicating the efforts and preventing have a global interface. Having something usable for all com32 modules would be nicer. Erwan,
Andy Walls
2012-Mar-18 18:32 UTC
[syslinux] [RESEND][RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI
Hi Erwan, On Fri, 2012-03-16 at 08:11 +0100, Erwan Velu wrote:> Does this work can be somehow merged or integrated with the acpi stuff I > did in gpllib ? > The need of acpi is somehow global to syslinux,Aside from parsing the ACPI tables and turning power off, do you know of any other ACPI functions that SYSLINUX or a COM32 module might need? Regards, Andy
Apparently Analagous Threads
- [RFC GIT PATCHES] acpioff: COM32 module to shut off machine using ACPI
- Constraint maximum (likelihood) using nlm
- acpioff: COM32 module to shut off machine using ACPI
- Kernel panic when playing games/iourbanterror
- [PATCH v2] drm/nouveau/acpi: fix check for power resources support