// File: /workspace/github_cpp_makefile_star2_O3/CMU-SAFARI[P]MQSim/src/nvm_chip/flash_memory/Flash_Chip.cpp
// Function: NVM::FlashMemory::Flash_Chip::Validate_simulation_config()
void Flash_Chip::Validate_simulation_config()
		{
			if (Dies == NULL || die_no == 0) {
				PRINT_ERROR("Flash chip " << ID() << ": has no dies!")
			}

			for (unsigned int i = 0; i < die_no; i++) {
				if (Dies[i]->Planes == NULL) {
					PRINT_ERROR("Flash chip" << ID() << ": die (" + ID() + ") has no planes!")
				}
			}
		}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x80, %rsp
movq %rdi, %rbx
movq 0x40(%rdi), %rax
testq %rax, %rax
je 0x2673b
movl 0x48(%rbx), %ecx
testq %rcx, %rcx
je 0x2673b
xorl %edx, %edx
movq (%rax,%rdx,8), %rsi
cmpq $0x0, (%rsi)
je 0x26669
incq %rdx
cmpq %rdx, %rcx
jne 0x26646
addq $0x80, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq 0x48980(%rip), %r14     # 0x6eff0
leaq 0x2ff31(%rip), %rsi     # 0x565a8
movl $0x6, %edx
movq %r14, %rdi
callq 0x7400
leaq 0x31a4f(%rip), %rsi     # 0x580da
movl $0xa, %edx
movq %r14, %rdi
callq 0x7400
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %rsp, %r15
movq %r15, %rdi
callq 0xaf32
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0x7400
movq %rax, %r14
leaq 0x50(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
leaq 0x40(%rsp), %rdi
callq 0xaf32
leaq 0x319f6(%rip), %rsi     # 0x580e5
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x27c71
leaq 0x319e8(%rip), %rsi     # 0x580ed
leaq 0x60(%rsp), %rdi
callq 0x7690
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
jne 0x267b9
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq %r13, %rsi
jmp 0x267c6
movq 0x488ae(%rip), %r14     # 0x6eff0
leaq 0x2fe5f(%rip), %rsi     # 0x565a8
movl $0x6, %edx
movq %r14, %rdi
callq 0x7400
leaq 0x31962(%rip), %rsi     # 0x580bf
movl $0xb, %edx
movq %r14, %rdi
callq 0x7400
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %rsp, %rbx
movq %rbx, %rdi
callq 0xaf32
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x7400
movq %rax, %rbx
leaq 0x31929(%rip), %rsi     # 0x580cb
movl $0xe, %edx
movq %rax, %rdi
callq 0x7400
movq %rbx, %rdi
callq 0x71c0
jmp 0x2680c
movq %rsi, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x7400
movq %rax, %rdi
callq 0x71c0
leaq 0x20(%rsp), %rdi
callq 0x76b8
leaq 0x60(%rsp), %rdi
callq 0x76b8
leaq 0x40(%rsp), %rdi
callq 0x76b8
movq %rsp, %rdi
callq 0x76b8
movq 0x487b5(%rip), %rdi     # 0x6efd0
callq 0x7430
movl $0x1, %edi
callq 0x7440
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x2684f
callq 0x7370
jmp 0x2684f
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x26886
jmp 0x2688b
movq %rax, %rbx
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26867
callq 0x7370
jmp 0x26867
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x2687d
callq 0x7370
jmp 0x2687d
jmp 0x2687a
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2688b
callq 0x7370
movq %rbx, %rdi
callq 0x7620
nop