1. 24 7月, 2014 1 次提交
  2. 08 7月, 2014 2 次提交
  3. 01 6月, 2014 1 次提交
    • L
      ACPICA: Tables: Add mechanism to control early table checksum verification. · 47d68c7f
      Lv Zheng 提交于
      It is reported that Linux x86 kernel cannot map large tables. The following
      large SSDT table on such platform fails to pass checksum verification and
      cannot be installed:
       ACPI: SSDT 0x00000000B9638018 07A0C4 (v02 INTEL  S2600CP  00004000 INTL 20100331)
      
      It sounds strange that in the 64-bit virtual memory address space, we
      cannot map a single ACPI table to do checksum verification. The root cause
      is:
       1. ACPICA doesn't split IO memory mapping and table mapping;
       2. Linux x86 OSL implements acpi_os_map_memory() using a size limited fix-map
          mechanism during early boot stage, which is more suitable for only IO
          mappings.
      
      ACPICA originally only mapped table header for signature validation, and
      this header mapping is required by OSL override mechanism. There was no
      checksum verification because we could not map the whole table using this
      OSL. While the following ACPICA commit enforces checksum verification by
      mapping the whole table during Linux boot stage and it finally triggers
      this issue on some platforms:
       Commit: 86dfc6f3
       Subject: ACPICA: Tables: Fix table checksums verification before installation.
      
      Before doing further cleanups for the OSL table mapping and override
      implementation, this patch introduces an option for such OSPMs to
      temporarily discard the checksum verification feature. It then can be
      re-enabled easily when the ACPICA and the underlying OSL is ready.
      
      This patch also deletes a comment around the limitation of mappings because
      it is not correct. The limitation is not how many times we can map in the
      early stage, but the OSL mapping facility may not be suitable for mapping
      the ACPI tables and thus may complain us the size limitation.
      
      The acpi_tb_verify_table() is renamed to acpi_tb_verify_temp_table() due to the
      work around added, it now only applies to the table descriptor that hasn't
      been installed and cannot be used in other cases. Lv Zheng.
      Tested-by: NYuanhan Liu <yuanhan.liu@linux.intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      47d68c7f
  4. 07 5月, 2014 9 次提交
  5. 21 4月, 2014 3 次提交
  6. 26 3月, 2014 2 次提交
  7. 18 3月, 2014 2 次提交
  8. 27 2月, 2014 1 次提交
  9. 11 2月, 2014 2 次提交
  10. 06 2月, 2014 1 次提交
  11. 28 1月, 2014 1 次提交
  12. 08 1月, 2014 4 次提交
  13. 21 11月, 2013 1 次提交
  14. 31 10月, 2013 6 次提交
    • L
      ACPICA: Add __init for ACPICA initializers/finalizers. · 45c9f78b
      Lv Zheng 提交于
      This patch adds __init to the ACPICA documented initializers:
        acpi_initialize_tables()
        acpi_initialize_subsystem()
        acpi_load_tables()
        acpi_enable_subsystem()
        acpi_initialize_objects()
      and to acpi_reallocate_root_table(), acpi_find_root_pointer() which
      are also meant to be called only during initialization.
      
      This patch adds __init to the ACPICA documented finalizer:
        acpi_terminate()
      as this finalizer is only called in __init function now.
      
      This change helps to reduce source code differences between
      ACPICA upstream and Linux.
      
      [rjw: Changelog]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      45c9f78b
    • L
      ACPICA: Cleanup asmlinkage for ACPICA APIs. · 40bce100
      Lv Zheng 提交于
      Add an asmlinkage wrapper around acpi_enter_sleep_state() to prevent
      an empty stub from being called by assmebly code for ACPI_REDUCED_HARDWARE
      set.
      
      As arch/x86/kernel/acpi/wakeup_xx.S is only compiled when CONFIG_ACPI=y
      and there are no users of ACPI_HARDWARE_REDUCED, currently this is in
      fact not a real issue, but a cleanup to reduce source code differences
      between Linux and ACPICA upstream.
      
      [rjw: Changelog]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      40bce100
    • L
      ACPICA: Add new statistics interface. · 9187a415
      Lv Zheng 提交于
      This patch ports new counters and statistics interface, already
      implemented in ACPICA upstream, to Linux.  That helps to reduce
      source code differences between Linux and ACPICA upstream.
      
      [rjw: Changelog]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9187a415
    • B
      ACPICA: Update version to 20130927. · affffae3
      Bob Moore 提交于
      Version 20130927.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      affffae3
    • L
      ACPICA: Fix indentation issues for macro invocations. · cd27d79f
      Lv Zheng 提交于
      During the automatic translation of the upstream ACPICA source code
      into Linux kernel source code some extra white spaces are added by
      the "indent" program at the beginning of each line which is an
      invocation of a macro and there is no ";" at the end of the line.
      
      For this reason, a new mode has been added to the translation scripts
      to remove the extra spaces inserted before invoking such macros and add
      an empty line between the invocations of such macros (like the other
      function declarations).  This new mode is executed after executing
      "indent" during the Linux release process.  Consequently, some
      existing ACPICA source code in the Linux kernel tree needs to be
      adjusted to allow the new scripts to work correctly.
      
      The affected macros and files are:
       1. ACPI_HW_DEPENDENT_RETURN (acpixf.h/acdebug.h/acevents.h):
          This macro is used as a wrapper for hardware dependent APIs to offer
          a stub when the reduced hardware is configured during compilation.
       2. ACPI_EXPORT_SYMBOL (utglobal.c):
          This macro is used by Linux to export symbols to be found by Linux
          modules.  All such invocations are well formatted except those
          exported as global variables.
      
      This can help to reduce the source code differences between Linux
      and upstream ACPICA, and also help to automate the release process.
      No functional or binary generation changes should result from it.
      Lv Zheng.
      
      [rjw: Changelog]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cd27d79f
    • L
      ACPICA: Prevent possible build issues for use of ACPI_PRINTF_LIKE macro · 4506bf23
      Lv Zheng 提交于
      The following build error:
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         CC      arch/x86/kernel/setup.o
       In file included from include/acpi/acpi.h:64:0,
                        from include/linux/iscsi_ibft.h:24,
                        from arch/x86/kernel/setup.c:43:
       include/acpi/acpixf.h:543:1: error: expected ',' or ';' before '{' token
       include/acpi/acpixf.h:540:1: warning: 'acpi_error' declared 'static' but never defined [-Wunused-function]
       make[2]: *** [arch/x86/kernel/setup.o] Error 1
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      can be triggerred by the following stub function (if implemented):
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       static inline void ACPI_INTERNAL_VAR_XFACE
       acpi_error(const char *module_name,
       	   u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3)
       {
       }
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      This patch changes the position of ACPI_PRINTF_LIKE(x) to follow the
      style of __printf(x, x+1) used in Linux to prevent such issues from
      happening.  Lv Zheng.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4506bf23
  15. 30 10月, 2013 2 次提交
  16. 24 9月, 2013 2 次提交