OS-6465: add iasl

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-02-13T17:27:06.821Z)

Fix Versions

2018-02-15 Lucrecias Cave (Release Date: 2018-02-15)

Related Issues

Related Links

Description

bhyve requires iasl to build ACPI tables for the guest.  To avoid unnecessary churn, iasl will be added without updating acpica.

Comments

Comment by Mike Gerdts
Created at 2017-11-27T19:03:49.525Z
I've forked the upstream acpica repo on github and made a few changes to it in a branch for this bug.

https://github.com/joyent/acpica/commits/20171110-OS-6465

The "remove various I/O calls" was effectively restoring changes that were previously in the illumos gate.  The acsolaris.h change involves copying acsolaris.h from illumos-joyent once everything seemed to be working on smartos.

To simplify future updates, I updated usr/src/cmd/acpi/Readme and added the acpica-update script in that same directory.  How useful that is will depend on the degree of upstream changes.  If nothing else, the script makes it clear how source was copied for this change.

Several things contributed to the rather large amount of noise this time.
The following files are not part of the upstream acpica and were changed in illumos-joyent.
 

Comment by Mike Gerdts
Created at 2017-11-28T16:03:56.376Z
For round 2 of the code review, I updated makefiles such that Makefile.master defines GM4 FLEX and BISON from /usr/bin.  SmartOS builds will override that with new changes to smartos-live/configure that set these variables in illumos.sh to use the versions from /opt/local/bin.

flex and bison were already explicitly listed in smartos-live/configure as build dependencies.  GNU m4 was not explicitly in that list, but comes in as a side effect of build-essential.  This change will not break smartos builds, even if configure is not re-run.

For the eventual upstream to illumos, we are also in good shape as gnu-m4 (/usr/bin/gm4), bison, and yacc are already dependencies in the various illumos derivatives.
The new build dependency on GNU m4 was somewhat controversial but now that we know that this will just make an implicit dependency explicit, there seems to be little reason to be concerned about this new dependency.

Comment by Mike Gerdts
Created at 2018-01-22T16:20:28.529Z
Updated at 2018-01-22T16:23:33.819Z
The initial plan was to update to the latest version of acpica at the same time as adding iasl. At least one community member had hardware that would no longer boot with latest acpica bits, so this change is being simplified to simply add iasl.

The source code in acpica-unix2-20160527.tar.gz seems to match what is currently in illumos-joyent. What one would think is the same release in github has (at least) changed the copyright statements at the top of most/all source files.

iasl uses much of the same source as the kernel modules. As such, the acpica code found in uts/intel/io/acpica/<component>/ is moving to common/acpica/<component>/. Several files in `cmd/acpi/common/` are duplicates of the aforementioned common files and will be removed.

To simplify future resyncs, cmd/acpi/acpica-resync can be used to pull in new or changed source files and remove obsolete ones. For the few cases where upstream code requires changes, patches in Readme.resync files are automatically applied.

Comment by Jira Bot
Created at 2018-02-13T17:03:53.521Z
smartos-live commit 30477c3c8d4d7e3fd15928680066cc951594ec73 (branch master, by Mike Gerdts)

OS-6465 add iasl
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Approved by: Hans Rosenfeld <hans.rosenfeld@joyent.com>


Comment by Jira Bot
Created at 2018-02-13T17:04:14.164Z
illumos-joyent commit ed0e03ac24c4a80fc1dca6c059801da8356cd81a (branch master, by Mike Gerdts)

OS-6465 add iasl
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Approvced by: Jerry Jelinek <jerry.jelinek@joyent.com>


Comment by Jira Bot
Created at 2018-02-20T17:42:44.405Z
smartos-live commit 30477c3c8d4d7e3fd15928680066cc951594ec73 (branch vminfod, by Mike Gerdts)

OS-6465 add iasl
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Approved by: Hans Rosenfeld <hans.rosenfeld@joyent.com>