+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_BEGIN_READ_OPERATION:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_BEGIN_CLEAR_OPERATION:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_END_OPERATION:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_SET_RECORD_OFFSET:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER , 0, 32,
+ s->bar0 + ERST_CSR_VALUE , 0, MASK32);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_EXECUTE_OPERATION:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_VALUE , ERST_EXECUTE_OPERATION_MAGIC,
MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_CHECK_BUSY_STATUS:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER_VALUE , 0, 32,
+ s->bar0 + ERST_CSR_VALUE, 0x01, MASK8);
+ break;
+ case ACPI_ERST_ACTION_GET_COMMAND_STATUS:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 32,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK8);
+ break;
+ case ACPI_ERST_ACTION_GET_RECORD_IDENTIFIER:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 64,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK64);
+ break;
+ case ACPI_ERST_ACTION_SET_RECORD_IDENTIFIER:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER , 0, 64,
+ s->bar0 + ERST_CSR_VALUE , 0, MASK64);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_GET_RECORD_COUNT:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 32,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK32);
+ break;
+ case ACPI_ERST_ACTION_BEGIN_DUMMY_WRITE_OPERATION:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_RESERVED:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ break;
+ case ACPI_ERST_ACTION_GET_ERROR_LOG_ADDRESS_RANGE:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 64,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK64);
+ break;
+ case ACPI_ERST_ACTION_GET_ERROR_LOG_ADDRESS_LENGTH:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 64,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK32);
+ break;
+ case ACPI_ERST_ACTION_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 32,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK32);
+ break;
+ case ACPI_ERST_ACTION_GET_EXECUTE_OPERATION_TIMINGS:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_WRITE_REGISTER_VALUE, 0, 32,
+ s->bar0 + ERST_CSR_ACTION, action, MASK8);
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_READ_REGISTER , 0, 64,
+ s->bar0 + ERST_CSR_VALUE, 0, MASK64);
+ default:
+ build_serialization_instruction_entry(table_data, action,
+ ACPI_ERST_INST_NOOP, 0, 0, 0, action, 0);
+ break;
+ }