Commit Graph

246334 Commits

Author SHA1 Message Date
pho
b146e1b741 Rename test functions 2016-11-15 00:37:18 +00:00
pho
5ae81a5b54 fuse_opt_match(3): Support every form of templates, not just the simple strcmp case
Also it should return 1 for successful matches, not the way around.
2016-11-15 00:34:19 +00:00
pho
ed2b984681 lib 2016-11-15 00:32:42 +00:00
joerg
30cf47a558 Drop remarks about AArch64 ABI being PIC following a discussion with Tim
Northover. The default code model is small and globals are expected to
be within the lower 4GB if not explicitly using -fPIC.
2016-11-14 20:42:46 +00:00
maya
3427bc8524 actually correct tyop now... 2016-11-14 19:24:23 +00:00
maya
e88848f0b4 correct nofitication tpyo in comments.
from miod
2016-11-14 19:22:52 +00:00
pho
8a68fd4cd6 Add missing macros 2016-11-14 17:48:57 +00:00
pho
111da591d5 Implement missing fuse_opt_add_opt(3) and fuse_opt_add_opt_escaped(3) 2016-11-14 17:19:29 +00:00
pho
7768b99586 Add some tests for librefuse 2016-11-14 16:10:31 +00:00
wiz
f662fdae7e Whitespace. 2016-11-14 10:40:59 +00:00
kre
75973081c3 Return the "true" parent's pid as the parent pid (ppid) via the
various sysctl/procfs interfaces that allow it to be interrogated.
(This is rather than the temporary parent's pid when a process is
being traced and has been reparented.)

XXX The ppid in elf32 core files has not been similarly adjusted,
XXX Should it be ?
2016-11-14 08:55:51 +00:00
msaitoh
6918c3ff19 Sort registers. No functional change. 2016-11-14 08:48:03 +00:00
msaitoh
135b46a176 Set CTRL_MEHE correctly (PCH_{LPT,SPT} only). 2016-11-14 05:38:39 +00:00
kamil
0bdd8fbaba Add new tests attach6 and attach7 in t_wait_proc{4,6,id,pid}
attach6:
    Assert that tracer sees its parent when attached to tracer (check
    sysctl(7) and struct kinfo_proc2)

attach7:
    Assert that tracer sees its parent when attached to tracer (check
    /proc/curproc/status 3rd column).

Currently these tests fail as getppid() and parent id obtained in these
alternative ways differ.

Sponsored by <The NetBSD Foundation>
2016-11-14 04:55:57 +00:00
ozaki-r
c2f4bfe351 Add missing rtfree 2016-11-14 02:34:19 +00:00
kamil
92c0e7fdb1 Enhance pipe(2)-based IPC barrier in attach5 of t_ptrace_wait
The write(2) call does not block and there is need to perform handshake, in
order to wait on the read(2) call.

The pipe(2) interface for IPC purposes is quite difficult to design and get
right. It might be refactored and with added new helper functions, although
it would be better to switch to some other mechanism rather. But as it
works now quite well in the current set of tests, do not touch it.

Sponsored by <The NetBSD Foundation>.
2016-11-14 00:18:33 +00:00
kamil
e124526d89 Add attach_pid1_securelevel in t_ptrace
Assert that a debugger cannot attach to PID 1 with securelevel >= 1 (as root).

Test requested by <mrg>

Sponsored by <The NetBSD Foundation>
2016-11-13 22:59:31 +00:00
christos
033d09113f no need for config.h; it should be auto-gened. 2016-11-13 22:38:22 +00:00
christos
989be9bb50 add include in the vpath. 2016-11-13 22:37:39 +00:00
joerg
23b4e7f4cd Give the ramdisk a bit more space, evbppc64 for clang is running out. 2016-11-13 22:14:44 +00:00
joerg
cbf73e02bf Define the MKPICLIB default for aarch64 and powerpc64 only for native
builds, not inside src/compat.
2016-11-13 22:13:55 +00:00
christos
931a19e8b1 Make p_ppid contain the original parent's pid even for traced processes.
Only change it when we are being permanently reparented to init. Since
p_ppid is only used as a cached value to retrieve the parent's process id
from userland, this change makes it correct at all times. Idea from kre@
Revert specialized logic from getpid/getppid now that it is not needed.
2016-11-13 15:25:01 +00:00
ast
c024434196 With driver modulization of if_loop.c through introduction of
sys/net/if_module.h, build.sh rumptest of -lrumpnet_virtif now also
requires -lrumpdev -lrumpvfs for if_loop.c:config_cfdriver_attach()
and kern_pmf.c:do_sys_sync().
2016-11-13 14:47:46 +00:00
rin
f9b119314b correct wrong casting. some are considered harmless, but
- tv_sec in netbsd32_timeval is netbsd32_time_t (aka netbsd32_int64_t)
  rather than time_t (int64_t)
- tv_sec in netbsd32_timespec is netbsd32_time_t rather than
  netbsd32_long (y2038 problem)
approved by martin
2016-11-13 13:59:45 +00:00
rin
24356beca9 tv_usec in netbsd32_timeval is suseconds_t (aka int32_t) rather than
netbsd32_long (considered harmless)

approved by martin
2016-11-13 13:52:41 +00:00
maxv
bc776fcc5b Explain why this is the right value, otherwise someone (like me) could be
tempted to increase it. The invlpg part is from rmind, the statistical from
me.
2016-11-13 12:58:40 +00:00
maxv
1580cfb195 The reason we are not using INTRENTRY here is because this interrupt goes
through a task gate that points to a TSS entry in the GDT, and therefore
the GPRs are saved in the TSS by the hardware itself. Explain it, otherwise
it easily looks buggy.
2016-11-13 12:38:14 +00:00
christos
833d9b2108 Add _STANDALONE (scole mail) 2016-11-12 22:38:55 +00:00
christos
2ef9150db4 add on more synchronization point 2016-11-12 20:56:49 +00:00
christos
224320bcba back to expecting SIGSTOP after ptrace 2016-11-12 20:03:53 +00:00
christos
f19994519e back to using SIGSTOP.. 2016-11-12 20:03:17 +00:00
christos
7b9127fdbc add an assert that prints the values, and remove expected failure. 2016-11-12 19:44:59 +00:00
christos
cf7cb04d80 PR/51624: Return the original parent for a traced process. 2016-11-12 19:42:47 +00:00
kamil
7e1ce67124 Expect SIGSTOP in attach3 in t_ptrace_wait{,3,4,6,id,pid}
Set SIGSTOP as expected signal in attach3, is it is preferred in general.
Not just because FreeBSD and Linux work this way, but to make it consistent
and regardless of relation between tracee and tracer always get the same
signal.

attach3 tests parent attaching with PT_ATTACH to its child

Sponsored by <The NetBSD Foundation>
2016-11-12 16:33:48 +00:00
christos
9c610b0a94 - Unbuffer stdout and stderr, because the tracee ends up with with the tracers
unflushed buffers, and that confuses things.
2016-11-12 16:23:43 +00:00
christos
9b1476576b - Add a 3 way handshake between the tracer and the tracee to make sure the
tracer got a chance to run before we trace it.
- Unbuffer stdout and stderr, because the tracee ends up with with the tracers
  unflushed buffers, and that confuses things.
2016-11-12 16:23:36 +00:00
mlelstv
ac0b03959b Fix netbsd32 emulation for clockctl_ntp_adjtime.
The ioctl args reference a timex structure that needs to be
transformed to 64bit layout and back.

The 32bit ioctl definition was wrong for mips, as register_t is 64bit
for N32 abi.
2016-11-12 16:06:04 +00:00
kre
1445630bb9 Delete inappropriate \n from atd_tc_expect_fail() message 2016-11-12 15:12:59 +00:00
kamil
f5d5aaf97e Add new test attach5 in t_ptrace_wait{4,6,id,pid}
Assert that tracer sees its parent when attached to tracer.

This test is designed only for wait(2) members with ability to specify the
PID value. This propery excludes wait(2) and wait3(2).

Add new helper macro ATF_TP_ADD_TC_HAVE_PID() enabing tests when
TWAIT_HAVE_PID is defined.

This test fails and is linked with the following issue: PR kern/51624.

Sponsored by <The NetBSD Foundation>.
2016-11-12 14:48:55 +00:00
kamil
83d5aa4c38 Add new test attach4 in t_ptrace_wait{,3,4,6,id,pid}
Assert that tracer child can PT_ATTACH to its parent.

Sponsored by <The NetBSD Foundation>.
2016-11-12 12:54:32 +00:00
jdolecek
3d6f4a8817 fix !WAPBL variant of UFS_WAPBL_REGISTER_DEALLOCATION() 2016-11-11 22:59:26 +00:00
christos
47dc3895f8 Adjust to new acpica 2016-11-11 21:11:30 +00:00
christos
751612fcd9 new acpica 2016-11-11 21:11:03 +00:00
christos
8b8a28d15a Adjust to new acpica 2016-11-11 21:09:21 +00:00
christos
d4ca3bd6a5 Import acpica-20160930:
----------------------------------------
30 September 2016. Summary of changes for version 20160930:


1) ACPICA kernel-resident subsystem:

Fixed a regression in the internal AcpiTbFindTable function where a non
AE_OK exception could inadvertently be returned even if the function did
not fail. This problem affects the following operators:
    DataTableRegion
    LoadTable

Fixed a regression in the LoadTable operator where a load to any
namespace location other than the root no longer worked properly.

Increased the maximum loop count value that will result in the
AE_AML_INFINITE_LOOP exception. This is a mechanism that is intended to
prevent infinite loops within the AML interpreter and thus the host OS
kernel. The value is increased from 0xFFFF to 0xFFFFF loops (65,535 to
1,048,575).

Moved the AcpiGbl_MaxLoopIterations configuration variable to the public
acpixf.h file. This allows hosts to easily configure the maximum loop
count at runtime.

Removed an illegal character in the strtoul64.c file. This character
caused errors with some C compilers.

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: 140.4K Code, 58.1K Data, 198.5K Total
    Debug Version:     200.7K Code, 82.1K Data, 282.8K Total
  Previous Release:
    Non-Debug Version: 140.0K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a problem with the conversion of Else{If{ blocks into
the simpler ASL ElseIf keyword. During the conversion, a trailing If
block could be lost and missing from the disassembled output.

iASL: Fixed a missing parser rule for the ObjectType operator. For ASL+,
the missing rule caused a parse error when using the Index operator as an
operand to ObjectType. This construct now compiles properly. Example:
    ObjectType(PKG1[4]).

iASL: Correctly handle unresolved symbols in the hardware map file (-lm
option). Previously, unresolved symbols could cause a protection fault.
Such symbols are now marked as unresolved in the map file.

iASL: Implemented support to allow control method invocations as an
operand to the ASL DeRefOf operator. Example:
    DeRefOf(MTH1(Local0))

Disassembler: Improved support for the ToPLD ASL macro. Detection of a
possible _PLD buffer now includes examination of both the normal buffer
length (16 or 20) as well as the surrounding AML package length.

Disassembler: Fixed a problem with the decoding of complex expressions
within the Divide operator for ASL+. For the case where both the quotient
and remainder targets are specified, the entire statement cannot be
disassembled. Previously, the output incorrectly contained a mix of ASL-
and ASL+ operators. This mixed statement causes a syntax error when
compiled. Example:
    Divide (Add (INT1, 6), 128, RSLT, QUOT)  // was incorrectly
disassembled to:
    Divide (INT1 + 6, 128, RSLT, QUOT)

iASL/Tools: Added support to process AML and non-AML ACPI tables
consistently. For the disassembler and AcpiExec, allow all types of ACPI
tables (AML and data tables). For the iASL -e option, allow only AML
tables (DSDT/SSDT).

----------------------------------------
31 August 2016. Summary of changes for version 20160831:


1) ACPICA kernel-resident subsystem:

Improve support for the so-called "module-level code", which is defined
to be math, logical and control AML opcodes that appear outside of any
control method. This change improves the support by adding more opcodes
that can be executed in the manner. Some other issues have been solved,
and the ASL grammar changes to support such code under all scope
operators (Device, etc.) are complete. Lv Zheng.

UEFI support: these OSL functions have been implemented. This is an
additional step toward supporting the AcpiExec utility natively (with
full hardware access) under UEFI. Marcelo Ferreira.
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Fixed a possible mutex error during control method auto-serialization. Lv
Zheng.

Updated support for the Generic Address Structure by fully implementing
all GAS fields when a 32-bit address is expanded to a 64-bit GAS. Lv
Zheng.

Updated the return value for the internal _OSI method. Instead of
0xFFFFFFFF, the "Ones" value is now returned, which is 0xFFFFFFFFFFFFFFFF
for 64-bit ACPI tables. This fixes an incompatibility with other ACPI
implementations, and will be reflected and clarified in the next version
of the ACPI specification.

Implemented two new table events that can be passed to an ACPICA table
handler. These events are used to indicate a table installation or
uninstallation. These events are used in addition to existed table load
and unload events. Lv Zheng.

Implemented a cleanup for all internal string-to-integer conversions.
Consolidate multiple versions of this functionality and limit possible
bases to either 10 or 16 to simplify the code. Adds a new file,
utstrtoul64.

Cleanup the inclusion order of the various compiler-specific headers.
This simplifies build configuration management. The compiler-specific
headers are now split out from the host-specific headers. 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: 140.1K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

iASL/AcpiExec: Added a command line option to display the build date/time
of the tool (-vd). This can be useful to verify that the correct version
of the tools are being used.

AML Debugger: Implemented a new subcommand ("execute predef") to execute
all predefined control methods and names within the current namespace.
This can be useful for debugging problems with ACPI tables and the ACPI
namespace.

----------------------------------------
29 July 2016. Summary of changes for version 20160729:


1) ACPICA kernel-resident subsystem:

Implemented basic UEFI support for the various ACPICA tools. This
includes:
1) An OSL to implement the various AcpiOs* interfaces on UEFI.
2) Support to obtain the ACPI tables on UEFI.
3) Local implementation of required C library functions not available on
UEFI.
4) A front-end (main) function for the tools for UEFI-related
initialization.

The initial deployment of this support is the AcpiDump utility executing
as an UEFI application via EDK2 (EDKII, "UEFI Firmware Development Kit").
Current environments supported are Linux/Unix. MSVC generation is not
supported at this time. See the generate/efi/README file for build
instructions. Lv Zheng.

Future plans include porting the AcpiExec utility to execute natively on
the platform with I/O and memory access. This will allow viewing/dump of
the platform namespace and native execution of ACPI control methods that
access the actual hardware. To fully implement this support, the OSL
functions below must be implemented with UEFI interfaces. Any community
help in the implementation of these functions would be appreciated:
    AcpiOsReadPort
    AcpiOsWritePort
    AcpiOsReadMemory
    AcpiOsWriteMemory
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Restructured and standardized the C library configuration for ACPICA,
resulting in the various configuration options below. This includes a
global restructuring of the compiler-dependent and platform-dependent
include files. These changes may affect the existing platform-dependent
configuration files on some hosts. Lv Zheng.

The current C library configuration options appear below. For any issues,
it may be helpful to examine the existing compiler-dependent and
platform-dependent files as examples. Lv Zheng.

1) Linux kernel:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
2) Unix/Windows/BSD applications:
    ACPI_USE_STANDARD_HEADERS=y in order to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
3) UEFI applications:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=n in order to use ACPICA mini C library.
4) UEFI applications (EDK2/StdLib):
    ACPI_USE_STANDARD_HEADERS=y in order to use EDK2 StdLib C library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order to use EDK2 StdLib C library.


AML interpreter: "module-level code" support. Allows for execution of so-
called "executable" AML code (math/logical operations, etc.) outside of
control methods not just at the module level (top level) but also within
any scope declared outside of a control method - Scope{}, Device{},
Processor{}, PowerResource{}, and ThermalZone{}. Lv Zheng.

Simplified the configuration of the "maximum AML loops" global option by
adding a global public variable, "AcpiGbl_MaxLoopIterations" which can be
modified at runtime.


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: 139.1K Code, 22.9K Data, 162.0K Total
    Debug Version:     199.0K Code, 81.8K Data, 280.8K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Add full support for the RASF ACPI table (RAS Features Table).
Includes disassembler, data table compiler, and header support.

iASL Expand "module-level code" support. Allows for
compilation/disassembly of so-called "executable" AML code (math/logical
operations, etc.) outside of control methods not just at the module level
(top level) but also within any scope declared outside of a control
method - Scope{}, Device{}, Processor{}, PowerResource{}, and
ThermalZone{}.

AcpiDump: Added support for dumping all SSDTs on newer versions of
Windows. These tables are now easily available -- SSDTs are not available
through the registry on older versions.
2016-11-11 19:24:26 +00:00
christos
d0e1da266a Import acpica-20160930:
----------------------------------------
30 September 2016. Summary of changes for version 20160930:


1) ACPICA kernel-resident subsystem:

Fixed a regression in the internal AcpiTbFindTable function where a non
AE_OK exception could inadvertently be returned even if the function did
not fail. This problem affects the following operators:
    DataTableRegion
    LoadTable

Fixed a regression in the LoadTable operator where a load to any
namespace location other than the root no longer worked properly.

Increased the maximum loop count value that will result in the
AE_AML_INFINITE_LOOP exception. This is a mechanism that is intended to
prevent infinite loops within the AML interpreter and thus the host OS
kernel. The value is increased from 0xFFFF to 0xFFFFF loops (65,535 to
1,048,575).

Moved the AcpiGbl_MaxLoopIterations configuration variable to the public
acpixf.h file. This allows hosts to easily configure the maximum loop
count at runtime.

Removed an illegal character in the strtoul64.c file. This character
caused errors with some C compilers.

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: 140.4K Code, 58.1K Data, 198.5K Total
    Debug Version:     200.7K Code, 82.1K Data, 282.8K Total
  Previous Release:
    Non-Debug Version: 140.0K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a problem with the conversion of Else{If{ blocks into
the simpler ASL ElseIf keyword. During the conversion, a trailing If
block could be lost and missing from the disassembled output.

iASL: Fixed a missing parser rule for the ObjectType operator. For ASL+,
the missing rule caused a parse error when using the Index operator as an
operand to ObjectType. This construct now compiles properly. Example:
    ObjectType(PKG1[4]).

iASL: Correctly handle unresolved symbols in the hardware map file (-lm
option). Previously, unresolved symbols could cause a protection fault.
Such symbols are now marked as unresolved in the map file.

iASL: Implemented support to allow control method invocations as an
operand to the ASL DeRefOf operator. Example:
    DeRefOf(MTH1(Local0))

Disassembler: Improved support for the ToPLD ASL macro. Detection of a
possible _PLD buffer now includes examination of both the normal buffer
length (16 or 20) as well as the surrounding AML package length.

Disassembler: Fixed a problem with the decoding of complex expressions
within the Divide operator for ASL+. For the case where both the quotient
and remainder targets are specified, the entire statement cannot be
disassembled. Previously, the output incorrectly contained a mix of ASL-
and ASL+ operators. This mixed statement causes a syntax error when
compiled. Example:
    Divide (Add (INT1, 6), 128, RSLT, QUOT)  // was incorrectly
disassembled to:
    Divide (INT1 + 6, 128, RSLT, QUOT)

iASL/Tools: Added support to process AML and non-AML ACPI tables
consistently. For the disassembler and AcpiExec, allow all types of ACPI
tables (AML and data tables). For the iASL -e option, allow only AML
tables (DSDT/SSDT).

----------------------------------------
31 August 2016. Summary of changes for version 20160831:


1) ACPICA kernel-resident subsystem:

Improve support for the so-called "module-level code", which is defined
to be math, logical and control AML opcodes that appear outside of any
control method. This change improves the support by adding more opcodes
that can be executed in the manner. Some other issues have been solved,
and the ASL grammar changes to support such code under all scope
operators (Device, etc.) are complete. Lv Zheng.

UEFI support: these OSL functions have been implemented. This is an
additional step toward supporting the AcpiExec utility natively (with
full hardware access) under UEFI. Marcelo Ferreira.
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Fixed a possible mutex error during control method auto-serialization. Lv
Zheng.

Updated support for the Generic Address Structure by fully implementing
all GAS fields when a 32-bit address is expanded to a 64-bit GAS. Lv
Zheng.

Updated the return value for the internal _OSI method. Instead of
0xFFFFFFFF, the "Ones" value is now returned, which is 0xFFFFFFFFFFFFFFFF
for 64-bit ACPI tables. This fixes an incompatibility with other ACPI
implementations, and will be reflected and clarified in the next version
of the ACPI specification.

Implemented two new table events that can be passed to an ACPICA table
handler. These events are used to indicate a table installation or
uninstallation. These events are used in addition to existed table load
and unload events. Lv Zheng.

Implemented a cleanup for all internal string-to-integer conversions.
Consolidate multiple versions of this functionality and limit possible
bases to either 10 or 16 to simplify the code. Adds a new file,
utstrtoul64.

Cleanup the inclusion order of the various compiler-specific headers.
This simplifies build configuration management. The compiler-specific
headers are now split out from the host-specific headers. 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: 140.1K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

iASL/AcpiExec: Added a command line option to display the build date/time
of the tool (-vd). This can be useful to verify that the correct version
of the tools are being used.

AML Debugger: Implemented a new subcommand ("execute predef") to execute
all predefined control methods and names within the current namespace.
This can be useful for debugging problems with ACPI tables and the ACPI
namespace.

----------------------------------------
29 July 2016. Summary of changes for version 20160729:


1) ACPICA kernel-resident subsystem:

Implemented basic UEFI support for the various ACPICA tools. This
includes:
1) An OSL to implement the various AcpiOs* interfaces on UEFI.
2) Support to obtain the ACPI tables on UEFI.
3) Local implementation of required C library functions not available on
UEFI.
4) A front-end (main) function for the tools for UEFI-related
initialization.

The initial deployment of this support is the AcpiDump utility executing
as an UEFI application via EDK2 (EDKII, "UEFI Firmware Development Kit").
Current environments supported are Linux/Unix. MSVC generation is not
supported at this time. See the generate/efi/README file for build
instructions. Lv Zheng.

Future plans include porting the AcpiExec utility to execute natively on
the platform with I/O and memory access. This will allow viewing/dump of
the platform namespace and native execution of ACPI control methods that
access the actual hardware. To fully implement this support, the OSL
functions below must be implemented with UEFI interfaces. Any community
help in the implementation of these functions would be appreciated:
    AcpiOsReadPort
    AcpiOsWritePort
    AcpiOsReadMemory
    AcpiOsWriteMemory
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Restructured and standardized the C library configuration for ACPICA,
resulting in the various configuration options below. This includes a
global restructuring of the compiler-dependent and platform-dependent
include files. These changes may affect the existing platform-dependent
configuration files on some hosts. Lv Zheng.

The current C library configuration options appear below. For any issues,
it may be helpful to examine the existing compiler-dependent and
platform-dependent files as examples. Lv Zheng.

1) Linux kernel:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
2) Unix/Windows/BSD applications:
    ACPI_USE_STANDARD_HEADERS=y in order to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
3) UEFI applications:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=n in order to use ACPICA mini C library.
4) UEFI applications (EDK2/StdLib):
    ACPI_USE_STANDARD_HEADERS=y in order to use EDK2 StdLib C library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order to use EDK2 StdLib C library.


AML interpreter: "module-level code" support. Allows for execution of so-
called "executable" AML code (math/logical operations, etc.) outside of
control methods not just at the module level (top level) but also within
any scope declared outside of a control method - Scope{}, Device{},
Processor{}, PowerResource{}, and ThermalZone{}. Lv Zheng.

Simplified the configuration of the "maximum AML loops" global option by
adding a global public variable, "AcpiGbl_MaxLoopIterations" which can be
modified at runtime.


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: 139.1K Code, 22.9K Data, 162.0K Total
    Debug Version:     199.0K Code, 81.8K Data, 280.8K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Add full support for the RASF ACPI table (RAS Features Table).
Includes disassembler, data table compiler, and header support.

iASL Expand "module-level code" support. Allows for
compilation/disassembly of so-called "executable" AML code (math/logical
operations, etc.) outside of control methods not just at the module level
(top level) but also within any scope declared outside of a control
method - Scope{}, Device{}, Processor{}, PowerResource{}, and
ThermalZone{}.

AcpiDump: Added support for dumping all SSDTs on newer versions of
Windows. These tables are now easily available -- SSDTs are not available
through the registry on older versions.
2016-11-11 19:14:16 +00:00
christos
711ad24258 kern/51621: When attaching to a child send it a SIGTRAP not a SIGSTOP like
Linux and FreeBSD do.
2016-11-11 17:10:04 +00:00
christos
5e11bfaeb7 clear failure, print signals symbolically. 2016-11-11 17:08:54 +00:00
maya
48097a1e57 switch post-mfc0 call "hazard barrier" from NOP_L to MFC0_HAZARD.
this means it will be applied if MIPS3 too, and now with the prior
commit, it will be a superscalar nop, not just a plain nop.
2016-11-11 16:49:30 +00:00
maya
8eed97ac9a remove redundant NOP_L. we do not use the register immediately after
load, so it's not needed.
2016-11-11 16:45:14 +00:00