Earlier, a white space separated string was generated containing all the section
numbers passed through command line arguments. Later on that would have to be
tokenized and processed. Instead of that, use a NULL terminated array of strings.
Thanks to christos@ for reviewing and suggesting further improvements.
03 March 2017. Summary of changes for version 20170303:
0) ACPICA licensing:
The licensing information at the start of each source code module has
been updated. In addition to the Intel license, the dual GPLv2/BSD
license has been added for completeness. Now, a single version of the
source code should be suitable for all ACPICA customers. This is the
major change for this release since it affects all source code modules.
1) ACPICA kernel-resident subsystem:
Fixed two issues with the common asltypes.h header that could cause
problems in some environments: (Kim Jung-uk)
Removed typedef for YY_BUFFER_STATE ?
Fixes an error with earlier versions of Flex.
Removed use of FILE typedef (which is only defined in stdio.h)
2) iASL Compiler/Disassembler and Tools:
Disassembler: fixed a regression introduced in 20170224. A fix for a
memory leak related to resource descriptor tags (names) could fault when
the disassembler was generated with 64-bit compilers.
The ASLTS test suite has been updated to implement a new testing
architecture. During generation of the suite from ASL source, both the
ASL and ASL+ compilers are now validated, as well as the disassembler
itself (Erik Schmauss). The architecture executes as follows:
For every ASL source module:
Compile (legacy ASL compilation)
Disassemble the resulting AML to ASL+ source code
Compile the new ASL+ module
Perform a binary compare on the legacy AML and the new ASL+ AML
The ASLTS suite then executes normally using the AML binaries.
----------------------------------------
24 February 2017. Summary of changes for version 20170224:
1) ACPICA kernel-resident subsystem:
Interpreter: Fixed two issues with the control method return value auto-
repair feature, where an attempt to double-delete an internal object
could result in an ACPICA warning (for _CID repair and others). No fault
occurs, however, because the attempted deletion (actually a release to an
internal cache) is detected and ignored via object poisoning.
Debugger: Fixed an AML interpreter mutex issue during the single stepping
of control methods. If certain debugger commands are executed during
stepping, a mutex aquire/release error could occur. Lv Zheng.
Fixed some issues generating ACPICA with the Intel C compiler by
restoring the original behavior and compiler-specific include file in
acenv.h. Lv Zheng.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 141.7K Code, 58.5K Data, 200.2K Total
Debug Version: 207.5K Code, 82.7K Data, 290.2K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL/Disassembler: A preliminary version of a new ASL-to-ASL+ conversion
tool has been designed, implemented, and included in this release. The
key feature of this utility is that the original comments within the
input ASL file are preserved during the conversion process, and included
within the converted ASL+ file -- thus creating a transparent conversion
of existing ASL files to ASL+ (ASL 2.0). Erik Schmauss.
Usage: iasl -ca <ASL-filename> // Output is a .dsl file with
converted code
iASL/Disassembler: Improved the detection and correct disassembly of
Switch/Case operators. This feature detects sequences of if/elseif/else
operators that originated from ASL Switch/Case/Default operators and
emits the original operators. David Box.
iASL: Improved the IORT ACPI table support in the following areas. Lv
Zheng:
Clear MappingOffset if the MappingCount is zero.
Fix the disassembly of the SMMU GSU interrupt offset.
Update the template file for the IORT table.
Disassembler: Enhanced the detection and disassembly of resource
template/descriptor within a Buffer object. An EndTag descriptor is now
required to have a zero second byte, since all known ASL compilers emit
this. This helps eliminate incorrect decisions when a buffer is
disassembled (false positives on resource templates).
- Reduce intended core voltage for Tegra K1 124 by 200mV to 1.2V.
The actual value programmed into the SD0 regulator remains the same (0x50),
a value corresponding to 1.20V.
own purposes, and move them elsewhere whenever a user redirection
happens to pick the same number. With this we can move the shell
file descriptors back to lower values (be slightly kinder to the kernel)
since we can no longer clash. (Also get rid of a little old unneeded code.)
This also completes the fdflags command, which no longer permits access
to (by way or either obtaining, or changing) the shell's internal fds.
(that is, with the command itself, not with the traps that are
executed, if any).
- "trap -- -l" is not rational, permit the (non-std) -l option only
when given as the sole arg (ie: "trap -l").
- "trap --" is the same as just "trap" (and -- is ignored for below)
- "trap action" generates a usage message (there must be at least one condition)
- "trap N [condition...]" (the old form with a numeric first arg, to reset
traps to default, instead of "trap - condition...") is properly detected.
In particular while "trap 1 2 3" resets sighup sigint and siquit handlers
to default, "trap hup int quit" runs the "hup" command on sigint or sigquit
and does nothing to sighup at all.
- actions can start with "-" (as can commands in general) - it may be unusual
or even unwise, but it is not prohibited, and should work
- bad conditions (signal names/numbers) are just a usage error (resulting in
non-zero "exit status" (and a diagnostic on stderr)) they do not cause
the script to abort (as a syntax error in a special builtin would.)
(so says posix, very explicitly.)
- when outputting the trap list ("trap") properly quote null actions
(ignored conditions). This has the side effect of also generating an
explicit null string ('') in other cases where null values are output,
such as when reporting var values ("set") but that's OK, and might be
better (VAR= and VAR='' mean the same, but the latter is more obvious.)
We still do not properly handle traps=$(trap) (ie: it does not work at all,
and should) but that's a different problem that needs fixing in another place.
mandoc(3) already generates the text node representing the value for the .Nm macro.
Doing our own parsing for .Nm on top of that leads to large duplication of text
in the database. This gets specially worse for man pages with large NAME sections,
such as queue(3).
- Expand the SMART / Health Information Log Page (Page 02) printout based on
NVM Express 1.2.1 Standard.
- Implement Intel-specific log pages.
- Implement HGST-specific log pages.
- Implement wdc-specific nvme control options.
- Add the ability to dump log pages directly in binary to stdout.