// File: CMU-SAFARI[P]MQSim/src/exec/Host_Parameter_Set.cpp
// Function: Host_Parameter_Set::XML_serialize(Utils::XmlWriter&)
void Host_Parameter_Set::XML_serialize(Utils::XmlWriter& xmlwriter)
{
	std::string tmp;
	tmp = "Host_Parameter_Set";
	xmlwriter.Write_open_tag(tmp);

	std::string attr = "PCIe_Lane_Bandwidth";
	std::string val = std::to_string(PCIe_Lane_Bandwidth);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "PCIe_Lane_Count";
	val = std::to_string(PCIe_Lane_Count);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "SATA_Processing_Delay";
	val = std::to_string(SATA_Processing_Delay);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Enable_ResponseTime_Logging";
	val = (Enable_ResponseTime_Logging ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);

	attr = "ResponseTime_Logging_Period_Length";
	val = std::to_string(ResponseTime_Logging_Period_Length);
	xmlwriter.Write_attribute_string(attr, val);

	xmlwriter.Write_close_tag();
}

// Assembly:
subq $0x2a8, %rsp            # imm = 0x2A8
movq %rdi, 0x2a0(%rsp)
movq %rsi, 0x298(%rsp)
leaq 0x278(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x85e0
movq 0x58(%rsp), %rdi
leaq 0x8dd64(%rip), %rsi     # 0xaad79
callq 0x85c0
jmp 0x1d01c
movq 0x298(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x248(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0x81a0
jmp 0x1d040
movq 0x50(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0xa7d60
jmp 0x1d054
leaq 0x248(%rsp), %rdi
callq 0x8848
leaq 0x227(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x8780
movq 0x48(%rsp), %rdx
leaq 0x8dfa3(%rip), %rsi     # 0xab022
leaq 0x228(%rsp), %rdi
callq 0x85d0
jmp 0x1d08e
leaq 0x227(%rsp), %rdi
callq 0x84a0
movsd 0xbd4b5(%rip), %xmm0    # 0xda558
leaq 0x200(%rsp), %rdi
callq 0x19130
jmp 0x1d0b2
movq 0x298(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x1e0(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x81a0
jmp 0x1d0d6
leaq 0x1c0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x81a0
jmp 0x1d0ed
movq 0x40(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
callq 0xa7eb0
jmp 0x1d109
leaq 0x1c0(%rsp), %rdi
callq 0x8848
leaq 0x1e0(%rsp), %rdi
callq 0x8848
leaq 0x8df0c(%rip), %rsi     # 0xab036
leaq 0x228(%rsp), %rdi
callq 0x85c0
jmp 0x1d139
movl 0xbd421(%rip), %esi     # 0xda560
leaq 0x1a0(%rsp), %rdi
callq 0x18f30
jmp 0x1d14e
leaq 0x200(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
movq %rsi, 0x30(%rsp)
callq 0x8510
movq 0x30(%rsp), %rdi
callq 0x8848
movq 0x298(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x180(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x81a0
jmp 0x1d196
leaq 0x160(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x81a0
jmp 0x1d1ad
movq 0x38(%rsp), %rdi
leaq 0x180(%rsp), %rsi
leaq 0x160(%rsp), %rdx
callq 0xa7eb0
jmp 0x1d1c9
leaq 0x160(%rsp), %rdi
callq 0x8848
leaq 0x180(%rsp), %rdi
callq 0x8848
leaq 0x8de5c(%rip), %rsi     # 0xab046
leaq 0x228(%rsp), %rdi
callq 0x85c0
jmp 0x1d1f9
movq 0xbd428(%rip), %rsi     # 0xda628
leaq 0x140(%rsp), %rdi
callq 0x19030
jmp 0x1d20f
leaq 0x200(%rsp), %rdi
leaq 0x140(%rsp), %rsi
movq %rsi, 0x20(%rsp)
callq 0x8510
movq 0x20(%rsp), %rdi
callq 0x8848
movq 0x298(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x120(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x81a0
jmp 0x1d257
leaq 0x100(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x81a0
jmp 0x1d26e
movq 0x28(%rsp), %rdi
leaq 0x120(%rsp), %rsi
leaq 0x100(%rsp), %rdx
callq 0xa7eb0
jmp 0x1d28a
leaq 0x100(%rsp), %rdi
callq 0x8848
leaq 0x120(%rsp), %rdi
callq 0x8848
leaq 0x8ddb1(%rip), %rsi     # 0xab05c
leaq 0x228(%rsp), %rdi
callq 0x85c0
jmp 0x1d2ba
movb 0xbd370(%rip), %cl      # 0xda630
leaq 0x8d1b3(%rip), %rax     # 0xaa47a
leaq 0x8d1b1(%rip), %rsi     # 0xaa47f
testb $0x1, %cl
cmovneq %rax, %rsi
leaq 0x200(%rsp), %rdi
callq 0x85c0
jmp 0x1d2e4
movq 0x298(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x81a0
jmp 0x1d308
leaq 0xc0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x81a0
jmp 0x1d31f
movq 0x18(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xa7eb0
jmp 0x1d33b
leaq 0xc0(%rsp), %rdi
callq 0x8848
leaq 0xe0(%rsp), %rdi
callq 0x8848
leaq 0x8dd1c(%rip), %rsi     # 0xab078
leaq 0x228(%rsp), %rdi
callq 0x85c0
jmp 0x1d36b
movq 0xbd1f6(%rip), %rsi     # 0xda568
leaq 0xa0(%rsp), %rdi
callq 0x19030
jmp 0x1d381
leaq 0x200(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x8(%rsp)
callq 0x8510
movq 0x8(%rsp), %rdi
callq 0x8848
movq 0x298(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x80(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x81a0
jmp 0x1d3c9
leaq 0x60(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x81a0
jmp 0x1d3dd
movq 0x10(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
callq 0xa7eb0
jmp 0x1d3f6
leaq 0x60(%rsp), %rdi
callq 0x8848
leaq 0x80(%rsp), %rdi
callq 0x8848
movq 0x298(%rsp), %rdi
callq 0xa80f0
jmp 0x1d41c
leaq 0x200(%rsp), %rdi
callq 0x8848
leaq 0x228(%rsp), %rdi
callq 0x8848
leaq 0x278(%rsp), %rdi
callq 0x8848
addq $0x2a8, %rsp            # imm = 0x2A8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x8848
jmp 0x1d65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x227(%rsp), %rdi
callq 0x84a0
jmp 0x1d65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d651
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d519
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x1c0(%rsp), %rdi
callq 0x8848
leaq 0x1e0(%rsp), %rdi
callq 0x8848
jmp 0x1d644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d562
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x8848
leaq 0x180(%rsp), %rdi
callq 0x8848
jmp 0x1d644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d5ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x100(%rsp), %rdi
callq 0x8848
leaq 0x120(%rsp), %rdi
callq 0x8848
jmp 0x1d644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d5f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0x8848
leaq 0xe0(%rsp), %rdi
callq 0x8848
jmp 0x1d644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
jmp 0x1d637
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x270(%rsp)
movl %eax, 0x26c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x8848
leaq 0x80(%rsp), %rdi
callq 0x8848
leaq 0x200(%rsp), %rdi
callq 0x8848
leaq 0x228(%rsp), %rdi
callq 0x8848
leaq 0x278(%rsp), %rdi
callq 0x8848
movq 0x270(%rsp), %rdi
callq 0x8770
nopl (%rax,%rax)