On 05/04/2018 16:43, Don Whitteker wrote:
> I am trying to temporarily disable my ACPI error messages I am getting on
> my laptop. I've tried disabling ACPI (crashed right at boot), tried
> hw.acpi.osname="Windows 2015" based on documentation and output from
> 'acpidump -td | grep "Windows"'(no change), and even tried
> 'hint.acpi_thermal.0.disabled="1"' since the main issue are the thermal
> sensors. I know these issues need to be addressed and that I can't just
> sweep them under the rug. However I am getting spammed with 4 lines of
> errors every 3-5 seconds. This is making it near impossible to type out
> anything but short commands at the prompt. I can't even open a file in vi
> to try to edit before the spam covers the first 4 lines and makes it
> impossible to read or edit. I would love to tackle this problem and get
> ACPI working (if even only partially) but I can't do tanything with these
> constant  error messages.
> 
> Is there a way to pipe the error messages to /dev/null? I have done that
> using the find command and similar commands but I don't know how to when
> it's constantly coming from the system.

Are you using head?  If so, can you please try the attached patch?

Thanks,

Jung-uk Kim
--- sys/contrib/dev/acpica/components/executer/exconfig.c
+++ sys/contrib/dev/acpica/components/executer/exconfig.c
@@ -615,6 +615,11 @@ AcpiExLoadOp (
         return_ACPI_STATUS (Status);
     }
 
+    /* Complete the initialization/resolution of package objects */
+
+    Status = AcpiNsWalkNamespace (ACPI_TYPE_PACKAGE, ACPI_ROOT_OBJECT,
+        ACPI_UINT32_MAX, 0, AcpiNsInitOnePackage, NULL, NULL, NULL);
+
     /* Store the DdbHandle into the Target operand */
 
     Status = AcpiExStore (DdbHandle, Target, WalkState);
--- sys/contrib/dev/acpica/components/namespace/nsinit.c
+++ sys/contrib/dev/acpica/components/namespace/nsinit.c
@@ -406,6 +406,61 @@ ErrorExit:
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiNsInitOnePackage
+ *
+ * PARAMETERS:  ObjHandle       - Node
+ *              Level           - Current nesting level
+ *              Context         - Not used
+ *              ReturnValue     - Not used
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Callback from AcpiWalkNamespace. Invoked for every package
+ *              within the namespace. Used during dynamic load of an SSDT.
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiNsInitOnePackage (
+    ACPI_HANDLE             ObjHandle,
+    UINT32                  Level,
+    void                    *Context,
+    void                    **ReturnValue)
+{
+    ACPI_STATUS             Status;
+    ACPI_OPERAND_OBJECT     *ObjDesc;
+    ACPI_NAMESPACE_NODE     *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
+
+
+    ObjDesc = AcpiNsGetAttachedObject (Node);
+    if (!ObjDesc)
+    {
+        return (AE_OK);
+    }
+
+    /* Exit if package is already initialized */
+
+    if (ObjDesc->Package.Flags & AOPOBJ_DATA_VALID)
+    {
+        return (AE_OK);
+    }
+
+    Status = AcpiDsGetPackageArguments (ObjDesc);
+    if (ACPI_FAILURE (Status))
+    {
+        return (AE_OK);
+    }
+
+    Status = AcpiUtWalkPackageTree (ObjDesc, NULL, AcpiDsInitPackageElement,
+        NULL);
+
+    ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID;
+    return (AE_OK);
+}
+
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiNsInitOneObject
--- sys/contrib/dev/acpica/include/acnamesp.h
+++ sys/contrib/dev/acpica/include/acnamesp.h
@@ -204,6 +204,12 @@ ACPI_STATUS
 AcpiNsInitializeDevices (
     UINT32                  Flags);
 
+ACPI_STATUS
+AcpiNsInitOnePackage (
+    ACPI_HANDLE             ObjHandle,
+    UINT32                  Level,
+    void                    *Context,
+    void                    **ReturnValue);
 
 /*
  * nsload -  Namespace loading

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to