// File: /workspace/github_cpp_makefile_star2_O2/CMU-SAFARI[P]MQSim/src/ssd/Host_Interface_SATA.cpp
// Function: SSD_Components::Host_Interface_SATA::Report_results_in_XML(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Utils::XmlWriter&)
void Host_Interface_SATA::Report_results_in_XML(std::string name_prefix, Utils::XmlWriter& xmlwriter)
	{
		std::string tmp = name_prefix + ".HostInterface";
		xmlwriter.Write_open_tag(tmp);

		std::string attr = "Name";
		std::string val = ID();
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Read_Transaction_Turnaround_Time";
		val = std::to_string(input_stream_manager->Get_average_read_transaction_turnaround_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Read_Transaction_Execution_Time";
		val = std::to_string(input_stream_manager->Get_average_read_transaction_execution_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Read_Transaction_Transfer_Time";
		val = std::to_string(input_stream_manager->Get_average_read_transaction_transfer_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Read_Transaction_Waiting_Time";
		val = std::to_string(input_stream_manager->Get_average_read_transaction_waiting_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Write_Transaction_Turnaround_Time";
		val = std::to_string(input_stream_manager->Get_average_write_transaction_turnaround_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Write_Transaction_Execution_Time";
		val = std::to_string(input_stream_manager->Get_average_write_transaction_execution_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Write_Transaction_Transfer_Time";
		val = std::to_string(input_stream_manager->Get_average_write_transaction_transfer_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		attr = "Average_Write_Transaction_Waiting_Time";
		val = std::to_string(input_stream_manager->Get_average_write_transaction_waiting_time(SATA_STREAM_ID));
		xmlwriter.Write_attribute_string(attr, val);

		xmlwriter.Write_close_tag();
	}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdx, %rbx
movq %rdi, %r14
leaq 0xed1b(%rip), %rdx      # 0x45630
leaq 0x2c0(%rsp), %r15
movq %r15, %rdi
callq 0x11c18
leaq 0x2a0(%rsp), %rdi
movq %r15, %rsi
callq 0x7480
leaq 0x2a0(%rsp), %rsi
movq %rbx, %rdi
callq 0x419e0
leaq 0x2a0(%rsp), %rdi
callq 0x7678
leaq 0xf0b3(%rip), %rsi      # 0x45a0c
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x7150
leaq 0x8(%r14), %rsi
movq %rsp, %rdi
callq 0x7480
leaq 0x280(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x260(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x280(%rsp), %rsi
leaq 0x260(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x260(%rsp), %rdi
callq 0x7678
leaq 0x280(%rsp), %rdi
callq 0x7678
leaq 0x11515(%rip), %rsi     # 0x47ee2
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x34644
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x240(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x220(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x240(%rsp), %rsi
leaq 0x220(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x220(%rsp), %rdi
callq 0x7678
leaq 0x240(%rsp), %rdi
callq 0x7678
leaq 0x114aa(%rip), %rsi     # 0x47f0b
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x34676
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x200(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x1e0(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x200(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x1e0(%rsp), %rdi
callq 0x7678
leaq 0x200(%rsp), %rdi
callq 0x7678
leaq 0x1143e(%rip), %rsi     # 0x47f33
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x346a0
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x1c0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x1a0(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x1c0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x1a0(%rsp), %rdi
callq 0x7678
leaq 0x1c0(%rsp), %rdi
callq 0x7678
leaq 0x113d1(%rip), %rsi     # 0x47f5a
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x346ca
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x180(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x160(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x180(%rsp), %rsi
leaq 0x160(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x160(%rsp), %rdi
callq 0x7678
leaq 0x180(%rsp), %rdi
callq 0x7678
leaq 0x11363(%rip), %rsi     # 0x47f80
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x346f4
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x140(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x120(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x140(%rsp), %rsi
leaq 0x120(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x120(%rsp), %rdi
callq 0x7678
leaq 0x140(%rsp), %rdi
callq 0x7678
leaq 0x112f9(%rip), %rsi     # 0x47faa
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x34726
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x100(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x100(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0xe0(%rsp), %rdi
callq 0x7678
leaq 0x100(%rsp), %rdi
callq 0x7678
leaq 0x1128e(%rip), %rsi     # 0x47fd3
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x34750
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0xa0(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0xc0(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0xa0(%rsp), %rdi
callq 0x7678
leaq 0xc0(%rsp), %rdi
callq 0x7678
leaq 0x11222(%rip), %rsi     # 0x47ffb
leaq 0x20(%rsp), %rdi
callq 0x7640
movq 0x50(%r14), %rdi
xorl %esi, %esi
callq 0x3477a
leaq 0x40(%rsp), %rdi
movl %eax, %esi
callq 0xe74b
movq %rsp, %rdi
leaq 0x40(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x80(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x7480
leaq 0x60(%rsp), %rdi
movq %rsp, %rsi
callq 0x7480
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x60(%rsp), %rdi
callq 0x7678
leaq 0x80(%rsp), %rdi
callq 0x7678
movq %rbx, %rdi
callq 0x41c5c
movq %rsp, %rdi
callq 0x7678
leaq 0x20(%rsp), %rdi
callq 0x7678
leaq 0x2c0(%rsp), %rdi
callq 0x7678
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x7678
jmp 0x36ea3
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x7678
jmp 0x36ec5
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0xe0(%rsp), %rdi
callq 0x7678
jmp 0x36ee7
movq %rax, %rbx
leaq 0x100(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x7678
jmp 0x36f09
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x160(%rsp), %rdi
callq 0x7678
jmp 0x36f2b
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x1a0(%rsp), %rdi
callq 0x7678
jmp 0x36f4a
movq %rax, %rbx
leaq 0x1c0(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x1e0(%rsp), %rdi
callq 0x7678
jmp 0x36f69
movq %rax, %rbx
leaq 0x200(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x220(%rsp), %rdi
callq 0x7678
jmp 0x36f88
movq %rax, %rbx
leaq 0x240(%rsp), %rdi
jmp 0x36faf
movq %rax, %rbx
leaq 0x260(%rsp), %rdi
callq 0x7678
jmp 0x36fa7
movq %rax, %rbx
leaq 0x280(%rsp), %rdi
callq 0x7678
jmp 0x36fe2
movq %rax, %rbx
jmp 0x36fea
jmp 0x36fca
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
jmp 0x36fef
movq %rax, %rbx
jmp 0x36ff4
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
jmp 0x36fdf
movq %rax, %rbx
movq %rsp, %rdi
callq 0x7678
leaq 0x20(%rsp), %rdi
callq 0x7678
leaq 0x2c0(%rsp), %rdi
callq 0x7678
movq %rbx, %rdi
callq 0x75d0
nop