253350 Commits

Author SHA1 Message Date
macallan
e6c5dacdf2 bus_space-ify 2017-09-15 21:34:42 +00:00
macallan
dd732ee745 provide a bus_space to child devices 2017-09-15 21:33:52 +00:00
macallan
dc7fb28ecc ki2c uses i2c addresses with the direction bit shifted out now, adjust
masking accordingly
2017-09-15 21:31:25 +00:00
macallan
ba8f70730b flesh out RANGE_TYPE_MACIO 2017-09-15 21:27:46 +00:00
christos
7985e76473 1/2 the number of {l,s}stat(2) calls by exposing the stat data found
when calling islink()!
2017-09-15 21:03:26 +00:00
mbalmer
9c2e040ae7 Fix COC. 2017-09-15 19:20:11 +00:00
martin
8fd54ae0fb Make DEBUG code compile again. 2017-09-15 18:28:53 +00:00
maxv
faf0f614bb Declare INTRFASTEXIT as a function, so that there is only one iretq in the
kernel. Then, check %rip against the address of this iretq instead of
disassembling (%rip) - which could fault again, or point at some random
address which happens to contain the iretq opcode. The same is true for gs
below, but I'll fix that in another commit.
2017-09-15 17:32:12 +00:00
maxv
1ce5090720 Obviously, I was being absolutely dumb here; it's XEN, not Xen. 2017-09-15 17:22:09 +00:00
christos
12db47c0e7 - new acpica
- obey the 80 character speed limit
2017-09-15 17:19:44 +00:00
christos
3e6f013085 Adjust for acpica 20170831 2017-09-15 17:17:25 +00:00
christos
ae01dbf55c merge conflicts 2017-09-15 17:10:30 +00:00
christos
89b8eb6cc1 ----------------------------------------
31 August 2017. Summary of changes for version 20170831:


1) ACPICA kernel-resident subsystem:

Implemented internal support for full 64-bit addresses that appear in all
Generic Address Structure (GAS) structures. Previously, only the lower 32
bits were used. Affects the use of GAS structures in the FADT and other
tables, as well as the GAS structures passed to the AcpiRead and
AcpiWrite public external interfaces that are used by drivers. Lv Zheng.

Added header support for the PDTT ACPI table (Processor Debug Trigger
Table). Full support in the iASL Data Table Compiler and disassembler is
forthcoming.


2) iASL Compiler/Disassembler and Tools:

iASL/Disassembler: Fixed a problem with the PPTT ACPI table (Processor
Properties Topology Table) where a flag bit was specified in the wrong
bit position ("Line Size Valid", bit 6).

iASL: Implemented support for Octal integer constants as defined by the
ASL language grammar, per the ACPI specification. Any integer constant
that starts with a zero is an octal constant. For example,
    Store (037777, Local0) /* Octal constant */
    Store (0x3FFF, Local0) /* Hex equivalent */
    Store (16383,  Local0) /* Decimal equivalent */

iASL: Improved overflow detection for 64-bit string conversions during
compilation of integer constants. "Overflow" in this case means a string
that represents an integer that is too large to fit into a 64-bit value.
Any 64-bit constants within a 32-bit DSDT or SSDT are still truncated to
the low-order 32 bits with a warning, as previously implemented. Several
new exceptions are defined that indicate a 64-bit overflow, as well as
the base (radix) that was used during the attempted conversion. Examples:
    Local0 = 0xAAAABBBBCCCCDDDDEEEEFFFF        // AE_HEX_OVERFLOW
    Local0 = 01111222233334444555566667777     // AE_OCTAL_OVERFLOW
    Local0 = 11112222333344445555666677778888  // AE_DECIMAL_OVERFLOW

iASL: Added a warning for the case where a ResourceTemplate is declared
with no ResourceDescriptor entries (coded as "ResourceTemplate(){}"). In
this case, the resulting template is created with a single END_TAG
descriptor, which is essentially useless.

iASL: Expanded the -vw option (ignore specific warnings/remarks) to
include compilation error codes as well.

----------------------------------------
28 July 2017. Summary of changes for version 20170728:


1) ACPICA kernel-resident subsystem:

Fixed a regression seen with small resource descriptors that could cause
an inadvertent AE_AML_NO_RESOURCE_END_TAG exception.

AML interpreter: Implemented a new feature that allows forward references
from individual named references within package objects that are
contained within blocks of "module-level code". This provides
compatibility with other ACPI implementations and supports existing
firmware that depends on this feature. Example:

    Name (ABCD, 1)
    If (ABCD)                       /* An If() at module-level */
    {
        Name (PKG1, Package()
        {
            INT1                    /* Forward reference to object INT1
*/
        })
        Name (INT1, 0x1234)
    }

AML Interpreter: Fixed a problem with the Alias() operator where aliases
to some ASL objects were not handled properly. Objects affected are:
Mutex, Event, and OperationRegion.

AML Debugger: Enhanced to properly handle AML Alias objects. These
objects have one level of indirection which was not fully supported by
the debugger.

Table Manager: Added support to detect and ignore duplicate SSDTs within
the XSDT/RSDT. This error in the XSDT has been seen in the field.

EFI and EDK2 support:
    Enabled /WX flag for MSVC builds
    Added support for AcpiOsStall, AcpiOsSleep, and AcpiOsGetTimer
    Added local support for 64-bit multiply and shift operations
    Added support to compile acpidump.efi on Windows
    Added OSL function stubs for interfaces not used under EFI

Added additional support for the _DMA predefined name. _DMA returns a
buffer containing a resource template. This change add support within the
resource manager (AcpiWalkResourceBuffer) to walk and parse this list of
resource descriptors. Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a problem where the internal input line buffer(s) could
overflow if there are very long lines in the input ASL source code file.
Implemented buffer management that automatically increases the size of
the buffers as necessary.

iASL: Added an option (-vx) to "expect" particular remarks, warnings and
errors. If the specified exception is not raised during compilation, the
compiler emits an error. This is intended to support the ASL test suite,
but may be useful in other contexts.

iASL: Implemented a new predefined macro, __METHOD__, which returns a
string containing the name of the current control method that is being
compiled.

iASL: Implemented debugger and table compiler support for the SDEI ACPI
table (Software Delegated Exception Interface). James Morse
<james.morse@arm.com>

Unix/Linux makefiles: Added an option to disable compile optimizations.
The disable occurs when the NOOPT flag is set to TRUE.
theracermaster@gmail.com

Acpidump: Added support for multiple DSDT and FACS tables. This can occur
when there are different tables for 32-bit versus 64-bit.

Enhanced error reporting for the ASL test suite (ASLTS) by removing
unnecessary/verbose text, and emit the actual line number where an error
has occurred. These changes are intended to improve the usefulness of the
test suite.

----------------------------------------
29 June 2017. Summary of changes for version 20170629:


1) ACPICA kernel-resident subsystem:

Tables: Implemented a deferred ACPI table verification. This is useful
for operating systems where the tables cannot be verified in the early
initialization stage due to early memory mapping limitations on some
architectures. Lv Zheng.

Tables: Removed the signature validation for dynamically loaded tables.
Provides compatibility with other ACPI implementations. Previously, only
SSDT tables were allowed, as per the ACPI specification. Now, any table
signature can be used via the Load() operator. Lv Zheng.

Tables: Fixed several mutex issues that could cause errors during table
acquisition. Lv Zheng.

Tables: Fixed a problem where an ACPI warning could be generated if a
null pointer was passed to the AcpiPutTable interface. Lv Zheng.

Tables: Added a mechanism to handle imbalances for the AcpiGetTable and
AcpiPutTable interfaces. This applies to the "late stage" table loading
when the use of AcpiPutTable is no longer required (since the system
memory manager is fully running and available). Lv Zheng.

Fixed/Reverted a regression during processing of resource descriptors
that contain only a single EndTag. Fixes an AE_AML_NO_RESOURCE_END_TAG
exception in this case.

Headers: IORT/SMMU support: Updated the SMMU models for Revision C of the
I/O Remapping specification. Robin Murphy <robin.murphy@arm.com>

Interpreter: Fixed a possible fault if an Alias operator with an invalid
or duplicate target is encountered during Alias creation in
AcpiExCreateAlias. Alex James <theracermaster@gmail.com>

Added an option to use designated initializers for function pointers.
Kees Cook <keescook@google.com>


2) iASL Compiler/Disassembler and Tools:

iASL: Allow compilation of External declarations with target pathnames
that refer to existing named objects within the table. Erik Schmauss.

iASL: Fixed a regression when compiling FieldUnits. Fixes an error if a
FieldUnit name also is declared via External in the same table. Erik
Schmauss.

iASL: Allow existing scope names within pathnames used in External
statements. For example:
    External (ABCD.EFGH) // ABCD exists, but EFGH is truly external
    Device (ABCD)

iASL: IORT ACPI table: Implemented changes required to decode the new
Proximity Domain for the SMMUv3 IORT. Disassembler and Data Table
compiler. Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>

Disassembler: Don't abort disassembly on errors from External()
statements. Erik Schmauss.

Disassembler: fixed a possible fault when one of the Create*Field
operators references a Resource Template. ACPICA Bugzilla 1396.

iASL: In the source code, resolved some naming inconsistences across the
parsing support. Fixes confusion between "Parse Op" and "Parse Node".
Adds a new file, aslparseop.c

----------------------------------------
31 May 2017. Summary of changes for version 20170531:


0) ACPI 6.2 support:

The ACPI specification version 6.2 has been released and is available at
http://uefi.org/specifications

This version of ACPICA fully supports the ACPI 6.2 specification. Changes
are summarized below.

New ACPI tables (Table Compiler/Disassembler/Templates):
    HMAT (Heterogeneous Memory Attributes Table)
    WSMT (Windows SMM Security Mitigation Table)
    PPTT (Processor Properties Topology Table)

New subtables for existing ACPI tables:
    HEST (New subtable, Arch-deferred machine check)
    SRAT (New subtable, Arch-specific affinity structure)
    PCCT (New subtables, Extended PCC subspaces (types 3 and 4))

Simple updates for existing ACPI tables:
    BGRT (two new flag bits)
    HEST (New bit defined for several subtables, GHES_ASSIST)

New Resource Descriptors and Resource macros (Compiler/Disassembler):
    PinConfig()
    PinFunction()
    PinGroup()
    PinGroupConfig()
    PinGroupFunction()
    New type for hardware error notification (section 18.3.2.9)

New predefined names/methods (Compiler/Interpreter):
    _HMA (Heterogeneous Memory Attributes)
    _LSI (Label Storage Information)
    _LSR (Label Storage Read)
    _LSW (Label Storage Write)

ASL grammar/macro changes (Compiler):
    For() ASL macro, implemented with the AML while operator
    Extensions to Concatenate operator
    Support for multiple definition blocks in same ASL file
    Clarification for Buffer operator
    Allow executable AML code underneath all scopes (Devices, etc.)
    Clarification/change for the _OSI return value
    ASL grammar update for reference operators
    Allow a zero-length string for AML filename in DefinitionBlock

Miscellaneous:
    New device object notification value
    Remove a notify value (0x0C) for graceful shutdown
    New UUIDs for processor/cache properties and
        physical package property
    New _HID, ACPI0014 (Wireless Power Calibration Device)


1) ACPICA kernel-resident subsystem:

Added support to disable ACPI events on hardware-reduced platforms.
Eliminates error messages of the form "Could not enable fixed event". Lv
Zheng

Fixed a problem using Device/Thermal objects with the ObjectType and
DerefOf ASL operators. This support had not been fully/properly
implemented.

Fixed a problem where if a Buffer object containing a resource template
was longer than the actual resource template, an error was generated --
even though the AML is legal. This case has been seen in the field.

Fixed a problem with the header definition of the MADT PCAT_COMPAT flag.
The values for DUAL_PIC and MULTIPLE_APIC were reversed.

Added header file changes for the TPM2 ACPI table. Update to new version
of the TCG specification. Adds a new TPM2 subtable for ARM SMC.

Exported the external interfaces AcpiAcquireMutex and AcpiReleaseMutex.
These interfaces are intended to be used only in conjunction with the
predefined _DLM method (Device Lock Method). "This object appears in a
device scope when AML access to the device must be synchronized with the
OS environment".

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: 143.1K Code, 60.0K Data, 203.1K Total
    Debug Version:     204.0K Code, 84.3K Data, 288.3K Total
  Previous Release:
    Non-Debug Version: 141.7K Code, 58.5K Data, 200.2K Total
    Debug Version:     207.5K Code, 82.7K Data, 290.2K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a problem where an External() declaration could not refer to
a Field Unit. Erik Schmauss.

Disassembler: Improved support for the Switch/Case operators. This
feature will disassemble AML code back to the original Switch operators
when possible, instead of an If..Else sequence. David Box

iASL and disassembler: Improved the handling of multiple extraneous
parentheses for both ASL input and disassembled ASL output.

Improved the behavior of the iASL compiler and disassembler to detect
improper use of external declarations

Disassembler: Now aborts immediately upon detection of an unknown AML
opcode. The AML parser has no real way to recover from this, and can
result in the creation of an ill-formed parse tree that causes errors
later during the disassembly.

All tools: Fixed a problem where the Unix application OSL did not handle
control-c correctly. For example, a control-c could incorrectly wake the
debugger.

AcpiExec: Improved the Control-C handling and added a handler for
segmentation faults (SIGSEGV). Supports both Windows and Unix-like
environments.

Reduced the verbosity of the generic unix makefiles. Previously, each
compilation displayed the full set of compiler options. This has been
eliminated as the options are easily inspected within the makefiles. Each
compilation now results in a single line of output.
2017-09-15 16:50:43 +00:00
hikaru
5f9b792aa8 Regen. 2017-09-15 14:25:24 +00:00
hikaru
08dae23ab9 Add Intel QuickAssist devices. 2017-09-15 14:24:32 +00:00
martin
827210fa44 If the bootloader passes us information about the boot device lun/target/
and wwn, use those to properly match the boot device.
If the new bootinfo is not available, fall back to the old heuristic
trying to match the pathname of the boot device (which is ugly, firmware
dependend and known to fail in some QEMU configurations).
2017-09-15 13:27:53 +00:00
martin
be9f90e871 Add more details about the boot device as a new bootinfo record type.
From within the bootloader, when we have readily accessible instance
handles of the boot device, it is easy to query more details like SCSI
LUN, target, and FC-AL wwn from the firmware.
The kernel later would have a hard time getting theses, but can make good
use to match the boot device.
2017-09-15 13:25:34 +00:00
roy
f514d3c7bb build dhcpcd with ARPING support for non small builds. 2017-09-15 12:02:00 +00:00
msaitoh
8c36354b1f xv(4) VLAN fixes:
- Dirty hack for VID mask bits. On ixg(4), VLAN filter is disabled. So any
  vlan ID's packet passes RX filter. On ixv(4), usually, PF driver uses
  VLAN filter enabled. There is no way to disable PF's VLAN filter function
  itself. NetBSD's Ethernet driver has currently no API to know which VLAN ID
  should be accepted. To avoid this proble, enable all VIDs... Yes, I know
  this is dirty hack. We should rethink.
- Call ixv_setup_vlan_support() in ixv_ifflags_cb().
- Don't use global ixv_shadow_vfta[].
- Use local variable (rxr->) to reduce diff against ixgbe.c. No functional
  change.
2017-09-15 08:31:32 +00:00
msaitoh
0fd253c14f Make ixv(4) TX/RX descriptors size the same as ixg(4). 2017-09-15 04:52:32 +00:00
christos
5952c072ab pass the correct argument 2017-09-15 03:12:05 +00:00
christos
ed7d865c43 pass the right argument 2017-09-15 03:11:15 +00:00
christos
6f722efce2 make this compile 2017-09-15 03:10:07 +00:00
christos
0d49a52f44 fix path miff 2017-09-15 03:07:55 +00:00
christos
a3517230ff there is no netbsd 17 2017-09-15 03:06:11 +00:00
sevan
b052743050 As instructed, one tab to start an item, and two tabs to indent the content.
Drop space.
2017-09-14 18:45:17 +00:00
sevan
29ce7f6a86 As instructed, start the content with a capital and end it with a dot.
Noticed wsbell entry from 20170612 is listed as unknown date on the website.
2017-09-14 18:24:30 +00:00
msaitoh
61c94a1b88 Quick hack to fix ixv(4)'s hardware counter. ixgbe_rx_checksum() passes
"struct ixgbe_hw_stats *" even if its a virtual function. The layout between
ixgbe_hw_stats and ixgbevf_hw_stats are different, so ixgbe_rx_checksum()
wrote wrong area if a device is a virtual function. To fix this problem with
small change, move the location of ipcs, ipcs_bad, l4cs and l4cs_bad of
struct ixgbe(vf)_hw_stats to the same location at the biggining of the struct.
2017-09-14 09:25:58 +00:00
wiz
bcb8c183bc Remove reference to removed iso(4). 2017-09-14 08:52:41 +00:00
mrg
95772a8862 clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
  since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
  many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
2017-09-14 07:58:38 +00:00
sevan
fb7d2fdb96 Note veriexec(4) supported fingerprint algorithms change 2017-09-13 23:06:17 +00:00
sevan
684872c792 Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
2017-09-13 22:24:42 +00:00
sevan
383c6761a6 Add missing VERIFIED_EXEC_FP_SHA384 option. 2017-09-13 22:15:25 +00:00
macallan
cbc62b266e MAX6642 does not have lower limit registers 2017-09-13 21:15:11 +00:00
wiz
784f7baa2b gdb-8.0.1 out. 2017-09-13 15:43:04 +00:00
phx
458e4e7996 The __fgetenv() macro operates on a fenv_t, not on a fenv_t *.
Fixes a segfault in fegetenv() and feholdexcept().
2017-09-13 09:55:35 +00:00
wiz
e6cbc8ef7c Improve wording. 2017-09-13 08:26:38 +00:00
wiz
77b2080b4f Remove Tn. 2017-09-13 08:24:23 +00:00
msaitoh
99915adbe7 - Print driver feature capabilities and enable bits when verbose boot as
ixgbe.c rev. 1.99.
- Whitespace fix.
2017-09-13 04:50:50 +00:00
msaitoh
1f01128ca2 Set get_link_status to true in ixv_init_locked() to get the first link status
correctly.
2017-09-13 04:48:40 +00:00
mrg
dc2c957456 note that COMPAT_XX netbsd options enable all forward support as well.
eg, COMPAT_60 enables COMPAT_70 and higher.
document the changes in compat for 4, 5, 6, and 7.
bump date.
2017-09-13 00:34:48 +00:00
wiz
5a0ec9c8ab Remove scc(4), driver was replaced by zs(4).
Fixes PR 52539 by Miod Vallat.
2017-09-12 14:52:02 +00:00
wiz
cf9630d8ae Remove scc(4) reference, driver was replaced by zs. PR 52539.
New sentence, new line.
2017-09-12 14:48:44 +00:00
wiz
0b69da803e Remove scc(4) reference, driver was replaced by this one. PR 52539.
Remove .Tn while here.
2017-09-12 14:48:11 +00:00
gson
9eaf8aa9ad Don't use a const variable as an array size, because it is not a
constant expression and will cause the array to needlessly become a
variable-size one.  Fixes "error: stack protector not protecting local
variables: variable length buffer [-Werror=stack-protector]" when
building i386 with MKDEBUG=YES -V COPTS="-g".
2017-09-12 14:10:49 +00:00
jmcneill
20fc9fd202 For SD cards, send the SET_WR_BLK_ERASE_COUNT app command before a
multi-block write to improve write performance.
2017-09-12 13:43:37 +00:00
jmcneill
317b609ad0 Fix non-MULTIPROCESSOR builds 2017-09-12 10:46:33 +00:00
msaitoh
a6cefc3531 itesio(4) Add IT8628E, IT8728F and IT877[12]E support. 2017-09-12 10:05:37 +00:00
msaitoh
6c6661e72c Add IT8728F and IT877[12]E. 2017-09-12 09:54:45 +00:00
he
b7a909847c Replicate fix from the old gcc.old: alpha.d needs pass-instances.def. 2017-09-12 09:25:24 +00:00