Enhance IPMI debugging

parent 21b8f0d2
...@@ -1268,7 +1268,7 @@ static int process_host_to_bmc_ipmi_bt_transactions(void) ...@@ -1268,7 +1268,7 @@ static int process_host_to_bmc_ipmi_bt_transactions(void)
memset(response.data, 0, sizeof(response.data)); memset(response.data, 0, sizeof(response.data));
if (ENABLE_IPMI_DEBUG) { if (ENABLE_IPMI_DEBUG) {
printk("[IPMI] Received request netfn 0x%02x lun 0x%02x\n", request_netfn, request_lun); printk("[IPMI] Received request netfn 0x%02x lun 0x%02x cmd 0x%02x\n", request_netfn, request_lun, ipmi_bt_current_request.command);
} }
unhandled_ipmi_command = 0; unhandled_ipmi_command = 0;
...@@ -1457,6 +1457,9 @@ static int process_host_to_bmc_ipmi_bt_transactions(void) ...@@ -1457,6 +1457,9 @@ static int process_host_to_bmc_ipmi_bt_transactions(void)
(((((uint32_t)ipmi_bt_current_request.data[5]) << 8) | ipmi_bt_current_request.data[4]) << FLASH_BLOCK_SIZE_SHIFT) & (((((uint32_t)ipmi_bt_current_request.data[5]) << 8) | ipmi_bt_current_request.data[4]) << FLASH_BLOCK_SIZE_SHIFT) &
((1 << LPC_ADDRESS_BITS) - 1); ((1 << LPC_ADDRESS_BITS) - 1);
hiomap_config.active_device_id = ipmi_bt_current_request.data[6]; hiomap_config.active_device_id = ipmi_bt_current_request.data[6];
if (ENABLE_IPMI_DEBUG) {
printk("[HIOM] Received window request, 0x%08x len %d bytes read: %d\n", hiomap_config.window_start_address, hiomap_config.window_length_bytes, (ipmi_bt_current_request.data[0] == HIOMAP_CMD_CREATE_RD_WIN));
}
if (ipmi_bt_current_request.data[0] == HIOMAP_CMD_CREATE_RD_WIN) if (ipmi_bt_current_request.data[0] == HIOMAP_CMD_CREATE_RD_WIN)
{ {
hiomap_config.window_type = HIOMAP_WINDOW_TYPE_READ; hiomap_config.window_type = HIOMAP_WINDOW_TYPE_READ;
...@@ -1694,6 +1697,9 @@ static int process_host_to_bmc_ipmi_bt_transactions(void) ...@@ -1694,6 +1697,9 @@ static int process_host_to_bmc_ipmi_bt_transactions(void)
hiomap_config.dirty_ranges[hiomap_config.dirty_range_count].bytes = length_bytes; hiomap_config.dirty_ranges[hiomap_config.dirty_range_count].bytes = length_bytes;
hiomap_config.dirty_ranges[hiomap_config.dirty_range_count].erased = flags & 0x1; hiomap_config.dirty_ranges[hiomap_config.dirty_range_count].erased = flags & 0x1;
hiomap_config.dirty_range_count++; hiomap_config.dirty_range_count++;
if (ENABLE_IPMI_DEBUG) {
printk("[HIOM] Mark range 0x%08x len %d dirty, now %d dirty ranges\n", offset_bytes, length_bytes, hiomap_config.dirty_range_count);
}
response.data[0] = ipmi_bt_current_request.data[0]; response.data[0] = ipmi_bt_current_request.data[0];
response.data[1] = ipmi_bt_current_request.data[1]; response.data[1] = ipmi_bt_current_request.data[1];
...@@ -1761,7 +1767,7 @@ static int process_host_to_bmc_ipmi_bt_transactions(void) ...@@ -1761,7 +1767,7 @@ static int process_host_to_bmc_ipmi_bt_transactions(void)
} }
if (ENABLE_IPMI_DEBUG) { if (ENABLE_IPMI_DEBUG) {
printk("[IPMI] Responding with completion code 0x%02x\n", response.completion_code); printk("[IPMI] Responding with completion code 0x%02x data [0x%02x 0x%02x 0x%02x 0x%02x 0x%02x]\n", response.completion_code, ((uint8_t*)&response)[0], ((uint8_t*)&response)[1], ((uint8_t*)&response)[2], ((uint8_t*)&response)[3], ((uint8_t*)&response)[4]);
} }
ipmi_bt_transaction_state = 2; ipmi_bt_transaction_state = 2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment