• Huang Ying's avatar
    ACPI, Add RAM mapping support to ACPI atomic IO support · 76da3fb3
    Huang Ying authored
    On one of our testing machine, the following EINJ command lines:
    
      # echo 0x10000000 > param1
      # echo 0xfffffffffffff000 > param2
      # echo 0x8 > error_type
      # echo 1 > error_inject
    
    Will get:
    
      echo: write error: Input/output error
    
    The EIO comes from:
    
        rc = apei_exec_pre_map_gars(&trigger_ctx);
    
    The root cause is as follow.  Normally, ACPI atomic IO support is used
    to access IO memory.  But in EINJ of that machine, it is used to
    access RAM to trigger the injected error.  And the ioremap() called by
    apei_exec_pre_map_gars() can not map the RAM.
    
    This patch add RAM mapping support to ACPI atomic IO support to
    satisfy EINJ requirement.
    Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
    Tested-by: default avatarTony Luck <tony.luck@intel.com>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    76da3fb3
atomicio.c 9.4 KB