	.file	"687947.c"
	.intel_syntax noprefix
	.text
	.type	is_klist_empty, @function
is_klist_empty:
.LFB6:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -8[rbp], rax
	sete	al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	is_klist_empty, .-is_klist_empty
	.type	klist_insert, @function
klist_insert:
.LFB7:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	klist_insert, .-klist_insert
	.type	klist_rm, @function
klist_rm:
.LFB9:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	klist_rm, .-klist_rm
	.type	cpu_cur_get, @function
cpu_cur_get:
.LFB11:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	cpu_cur_get, .-cpu_cur_get
	.type	task_create, @function
task_create:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, ecx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	edi, DWORD PTR 32[rbp]
	mov	esi, DWORD PTR 40[rbp]
	mov	ecx, DWORD PTR 48[rbp]
	mov	edx, DWORD PTR 56[rbp]
	mov	BYTE PTR -44[rbp], al
	mov	eax, edi
	mov	BYTE PTR -48[rbp], al
	mov	eax, esi
	mov	BYTE PTR -68[rbp], al
	mov	eax, ecx
	mov	BYTE PTR -72[rbp], al
	mov	eax, edx
	mov	BYTE PTR -76[rbp], al
	mov	BYTE PTR -13[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	jne	.L8
	mov	eax, 6
	jmp	.L9
.L8:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L10
	mov	eax, 6
	jmp	.L9
.L10:
	cmp	QWORD PTR 24[rbp], 0
	jne	.L11
	mov	eax, 6
	jmp	.L9
.L11:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L12
	mov	eax, 6
	jmp	.L9
.L12:
	cmp	DWORD PTR 16[rbp], 0
	jne	.L13
	mov	eax, 300
	jmp	.L9
.L13:
	cmp	BYTE PTR -44[rbp], 61
	jbe	.L14
	mov	eax, 305
	jmp	.L9
.L14:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -12[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L15
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L9
.L15:
	cmp	BYTE PTR -44[rbp], 61
	jne	.L16
	movzx	eax, BYTE PTR -72[rbp]
	cdqe
	lea	rdx, g_idle_task_spawned[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L17
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 308
	jmp	.L9
.L17:
	movzx	eax, BYTE PTR -72[rbp]
	cdqe
	lea	rdx, g_idle_task_spawned[rip]
	mov	BYTE PTR [rax+rdx], 1
.L16:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 216
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -56[rbp], 0
	je	.L18
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 184[rax], rdx
	jmp	.L19
.L18:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 184[rax], 50
.L19:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 184[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 209[rax], 1
	cmp	BYTE PTR -48[rbp], 0
	je	.L20
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 1
	jmp	.L21
.L20:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], 1
.L21:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	lea	edx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -44[rbp]
	mov	BYTE PTR 211[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -44[rbp]
	mov	BYTE PTR 212[rax], dl
	mov	edx, DWORD PTR 16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -68[rbp]
	mov	BYTE PTR 213[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -72[rbp]
	mov	BYTE PTR 210[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	BYTE PTR -13[rbp], 0
	jmp	.L22
.L23:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	ecx, 3735928495
	mov	QWORD PTR [rax], rcx
	movzx	eax, BYTE PTR -13[rbp]
	add	eax, 1
	mov	BYTE PTR -13[rbp], al
.L22:
	cmp	BYTE PTR -13[rbp], 0
	je	.L23
	mov	rcx, QWORD PTR 24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	cpu_task_stack_init@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 80
	mov	rsi, rax
	lea	rdi, g_kobj_list[rip]
	call	klist_insert
	cmp	BYTE PTR -48[rbp], 0
	je	.L24
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add_tail@PLT
	mov	eax, DWORD PTR g_sys_stat[rip]
	cmp	eax, 3
	jne	.L24
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
	jmp	.L9
.L24:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L9:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	task_create, .-task_create
	.globl	krhino_task_create
	.type	krhino_task_create, @function
krhino_task_create:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, ecx
	mov	QWORD PTR -40[rbp], r8
	mov	QWORD PTR -48[rbp], r9
	mov	edx, DWORD PTR 32[rbp]
	mov	BYTE PTR -28[rbp], al
	mov	eax, edx
	mov	BYTE PTR -32[rbp], al
	movzx	edi, BYTE PTR -32[rbp]
	movzx	ecx, BYTE PTR -28[rbp]
	mov	r9, QWORD PTR -48[rbp]
	mov	r8, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	0
	push	0
	push	1
	push	rdi
	push	QWORD PTR 24[rbp]
	mov	edi, DWORD PTR 16[rbp]
	push	rdi
	mov	rdi, rax
	call	task_create
	add	rsp, 48
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	krhino_task_create, .-krhino_task_create
	.globl	task_dyn_create
	.type	task_dyn_create, @function
task_dyn_create:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	eax, ecx
	mov	QWORD PTR -72[rbp], r8
	mov	DWORD PTR -64[rbp], r9d
	mov	esi, DWORD PTR 24[rbp]
	mov	ecx, DWORD PTR 32[rbp]
	mov	edx, DWORD PTR 40[rbp]
	mov	BYTE PTR -60[rbp], al
	mov	eax, esi
	mov	BYTE PTR -76[rbp], al
	mov	eax, ecx
	mov	BYTE PTR -80[rbp], al
	mov	eax, edx
	mov	BYTE PTR -84[rbp], al
	cmp	QWORD PTR -40[rbp], 0
	jne	.L28
	mov	eax, 6
	jmp	.L29
.L28:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L30
	mov	eax, 5
	jmp	.L29
.L30:
	mov	eax, DWORD PTR -64[rbp]
	sal	eax, 3
	mov	edi, eax
	call	krhino_mm_alloc@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L31
	mov	eax, 105
	jmp	.L29
.L31:
	mov	edi, 216
	call	krhino_mm_alloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L32
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	krhino_mm_free@PLT
	mov	eax, 105
	jmp	.L29
.L32:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	movzx	r9d, BYTE PTR -80[rbp]
	movzx	r8d, BYTE PTR -76[rbp]
	movzx	edi, BYTE PTR -84[rbp]
	movzx	ecx, BYTE PTR -60[rbp]
	mov	r11, QWORD PTR -16[rbp]
	mov	r10, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	r9
	push	r8
	push	2
	push	rdi
	push	QWORD PTR 16[rbp]
	mov	edi, DWORD PTR -64[rbp]
	push	rdi
	mov	r9, r11
	mov	r8, r10
	mov	rdi, rax
	call	task_create
	add	rsp, 48
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L33
	cmp	DWORD PTR -20[rbp], 4
	je	.L33
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	krhino_mm_free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	krhino_mm_free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L29
.L33:
	mov	eax, DWORD PTR -20[rbp]
.L29:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	task_dyn_create, .-task_dyn_create
	.globl	krhino_task_dyn_create
	.type	krhino_task_dyn_create, @function
krhino_task_dyn_create:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, ecx
	mov	QWORD PTR -40[rbp], r8
	mov	DWORD PTR -32[rbp], r9d
	mov	edx, DWORD PTR 24[rbp]
	mov	BYTE PTR -28[rbp], al
	mov	eax, edx
	mov	BYTE PTR -44[rbp], al
	movzx	edi, BYTE PTR -44[rbp]
	movzx	ecx, BYTE PTR -28[rbp]
	mov	r9d, DWORD PTR -32[rbp]
	mov	r8, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	rdi
	push	0
	push	0
	push	QWORD PTR 16[rbp]
	mov	rdi, rax
	call	task_dyn_create
	add	rsp, 32
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	krhino_task_dyn_create, .-krhino_task_dyn_create
	.globl	krhino_task_sleep
	.type	krhino_task_sleep, @function
krhino_task_sleep:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L37
	mov	eax, 5
	jmp	.L38
.L37:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -8[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L39
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L38
.L39:
	call	cpu_cur_get
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -9[rbp]
	cdqe
	lea	rdx, g_sched_lock[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L40
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 200
	jmp	.L38
.L40:
	movzx	eax, BYTE PTR -9[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	DWORD PTR 148[rax], 5
	movzx	eax, BYTE PTR -9[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tick_list_insert@PLT
	movzx	eax, BYTE PTR -9[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_rm@PLT
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -8[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	pend_state_end_proc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, DWORD PTR -4[rbp]
.L38:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	krhino_task_sleep, .-krhino_task_sleep
	.globl	krhino_task_yield
	.type	krhino_task_yield, @function
krhino_task_yield:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_head_to_tail@PLT
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	krhino_task_yield, .-krhino_task_yield
	.globl	krhino_cur_task_get
	.type	krhino_cur_task_get, @function
krhino_cur_task_get:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -12[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	krhino_cur_task_get, .-krhino_cur_task_get
	.globl	task_suspend
	.type	task_suspend, @function
task_suspend:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	mov	BYTE PTR -5[rbp], al
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L46
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, g_sched_lock[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L46
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 200
	jmp	.L47
.L46:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L48
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L50[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L50[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L50:
	.long	.L48-.L50
	.long	.L53-.L50
	.long	.L52-.L50
	.long	.L49-.L50
	.long	.L49-.L50
	.long	.L51-.L50
	.long	.L49-.L50
	.text
.L53:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_rm@PLT
	jmp	.L54
.L51:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 6
	jmp	.L54
.L52:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 4
	jmp	.L54
.L49:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	cmp	al, -1
	jne	.L55
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 304
	jmp	.L47
.L55:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], dl
	jmp	.L54
.L48:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 307
	jmp	.L47
.L54:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	task_suspend, .-task_suspend
	.globl	krhino_task_suspend
	.type	krhino_task_suspend, @function
krhino_task_suspend:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L57
	mov	eax, 6
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	al, 61
	jne	.L59
	mov	eax, 303
	jmp	.L58
.L59:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	task_suspend
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	krhino_task_suspend, .-krhino_task_suspend
	.globl	task_resume
	.type	task_resume, @function
task_resume:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L61
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L63[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L63[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L63:
	.long	.L61-.L63
	.long	.L64-.L63
	.long	.L64-.L63
	.long	.L66-.L63
	.long	.L65-.L63
	.long	.L64-.L63
	.long	.L62-.L63
	.text
.L64:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 301
	jmp	.L67
.L66:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	test	al, al
	jne	.L72
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add@PLT
	jmp	.L72
.L62:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	test	al, al
	jne	.L73
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 5
	jmp	.L73
.L65:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 64[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 64[rax]
	test	al, al
	jne	.L74
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 2
	jmp	.L74
.L61:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 307
	jmp	.L67
.L72:
	nop
	jmp	.L69
.L73:
	nop
	jmp	.L69
.L74:
	nop
.L69:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L67:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	task_resume, .-task_resume
	.globl	krhino_task_resume
	.type	krhino_task_resume, @function
krhino_task_resume:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L76
	mov	eax, 6
	jmp	.L77
.L76:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	task_resume
.L77:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	krhino_task_resume, .-krhino_task_resume
	.globl	krhino_task_stack_min_free
	.type	krhino_task_stack_min_free, @function
krhino_task_stack_min_free:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	jne	.L79
	mov	eax, 6
	jmp	.L80
.L79:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L81
	mov	eax, 6
	jmp	.L80
.L81:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 7
	jne	.L82
	mov	eax, 307
	jmp	.L80
.L82:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	jmp	.L83
.L84:
	add	DWORD PTR -12[rbp], 1
.L83:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L84
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
.L80:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	krhino_task_stack_min_free, .-krhino_task_stack_min_free
	.globl	krhino_task_stack_cur_free
	.type	krhino_task_stack_cur_free, @function
krhino_task_stack_cur_free:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -8[rbp], 0
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	QWORD PTR -24[rbp], 0
	je	.L86
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L87
.L86:
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -24[rbp], rax
	call	soc_get_cur_sp@PLT
	mov	DWORD PTR -8[rbp], eax
	jmp	.L88
.L87:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
.L88:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L89
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	edi, 2
	call	k_err_proc@PLT
	mov	eax, 2
	jmp	.L90
.L89:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	sal	rax, 3
	add	rax, rdx
	cmp	DWORD PTR -8[rbp], eax
	jbe	.L91
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	edi, 1200
	call	k_err_proc@PLT
	mov	eax, 1200
	jmp	.L90
.L91:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	sal	rax, 3
	add	rax, rdx
	sub	eax, DWORD PTR -8[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L90:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	krhino_task_stack_cur_free, .-krhino_task_stack_cur_free
	.globl	task_pri_change
	.type	task_pri_change, @function
task_pri_change:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -44[rbp], al
.L109:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	BYTE PTR -44[rbp], al
	je	.L93
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L94
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L96[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L96[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L96:
	.long	.L94-.L96
	.long	.L98-.L96
	.long	.L97-.L96
	.long	.L95-.L96
	.long	.L97-.L96
	.long	.L95-.L96
	.long	.L95-.L96
	.text
.L98:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_rm@PLT
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR -44[rbp]
	mov	BYTE PTR 211[rax], dl
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L99
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add_head@PLT
	jmp	.L100
.L99:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add_tail@PLT
.L100:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L108
.L95:
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR -44[rbp]
	mov	BYTE PTR 211[rax], dl
	mov	QWORD PTR -40[rbp], 0
	jmp	.L108
.L97:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 211[rax]
	mov	BYTE PTR -17[rbp], al
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR -44[rbp]
	mov	BYTE PTR 211[rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	pend_list_reorder@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 2
	jne	.L102
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR 211[rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	dl, al
	jbe	.L103
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L108
.L103:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	BYTE PTR -17[rbp], al
	jne	.L105
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	mutex_pri_look@PLT
	mov	BYTE PTR -44[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	BYTE PTR -44[rbp], al
	je	.L106
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L108
.L106:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L108
.L105:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L108
.L102:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L108
.L94:
	mov	edi, 307
	call	k_err_proc@PLT
	mov	eax, 307
	jmp	.L107
.L93:
	mov	QWORD PTR -40[rbp], 0
.L108:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L109
	mov	eax, 0
.L107:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	task_pri_change, .-task_pri_change
	.globl	krhino_task_pri_change
	.type	krhino_task_pri_change, @function
krhino_task_pri_change:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR -28[rbp], al
	cmp	QWORD PTR -24[rbp], 0
	jne	.L111
	mov	eax, 6
	jmp	.L112
.L111:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L113
	mov	eax, 6
	jmp	.L112
.L113:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	al, 60
	jbe	.L114
	mov	eax, 306
	jmp	.L112
.L114:
	cmp	BYTE PTR -28[rbp], 60
	jbe	.L115
	mov	eax, 306
	jmp	.L112
.L115:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 7
	jne	.L116
	mov	eax, 307
	jmp	.L112
.L116:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -8[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L117
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L112
.L117:
	movzx	edx, BYTE PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mutex_pri_limit@PLT
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -28[rbp]
	mov	BYTE PTR 212[rax], dl
	movzx	eax, BYTE PTR -9[rbp]
	mov	BYTE PTR -28[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 211[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	movzx	edx, BYTE PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	task_pri_change
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L118
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L112
.L118:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L112:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	krhino_task_pri_change, .-krhino_task_pri_change
	.globl	krhino_task_wait_abort
	.type	krhino_task_wait_abort, @function
krhino_task_wait_abort:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L120
	mov	eax, 6
	jmp	.L121
.L120:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L122
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L121
.L122:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L123
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L125[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L125[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L125:
	.long	.L123-.L125
	.long	.L130-.L125
	.long	.L126-.L125
	.long	.L127-.L125
	.long	.L126-.L125
	.long	.L124-.L125
	.long	.L124-.L125
	.text
.L127:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add@PLT
	jmp	.L129
.L124:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 152[rax], 1
	jmp	.L129
.L126:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 48
	mov	rdi, rax
	call	klist_rm
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_add@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 152[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mutex_task_pri_reset@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 160[rax], 0
	jmp	.L129
.L123:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 307
	jmp	.L121
.L130:
	nop
.L129:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L121:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	krhino_task_wait_abort, .-krhino_task_wait_abort
	.type	task_mutex_free, @function
task_mutex_free:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L132
.L134:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	is_klist_empty
	test	al, al
	jne	.L133
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	sub	rax, 48
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pend_task_wakeup@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L132
.L133:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], 0
.L132:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L134
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	task_mutex_free, .-task_mutex_free
	.globl	krhino_task_del
	.type	krhino_task_del, @function
krhino_task_del:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	mov	BYTE PTR -5[rbp], al
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L136
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L137
.L136:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L138
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -24[rbp], rax
.L138:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	al, 61
	jne	.L139
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 302
	jmp	.L137
.L139:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 213[rax]
	cmp	al, 1
	je	.L140
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 9
	jmp	.L137
.L140:
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L141
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_sched_lock[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L141
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 200
	jmp	.L137
.L141:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	task_mutex_free
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L142
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L144[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L144[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L144:
	.long	.L142-.L144
	.long	.L147-.L144
	.long	.L145-.L144
	.long	.L146-.L144
	.long	.L145-.L144
	.long	.L143-.L144
	.long	.L143-.L144
	.text
.L147:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_rm@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L148
.L146:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L148
.L143:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L148
.L145:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 48
	mov	rdi, rax
	call	klist_rm
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 148[rax], 7
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mutex_task_pri_reset@PLT
	jmp	.L148
.L142:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 307
	jmp	.L137
.L148:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 80
	mov	rdi, rax
	call	klist_rm
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L137:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	krhino_task_del, .-krhino_task_del
	.globl	krhino_task_dyn_del
	.type	krhino_task_dyn_del, @function
krhino_task_dyn_del:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -16[rbp], eax
	call	cpu_cur_get
	mov	BYTE PTR -17[rbp], al
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L150
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L151
.L150:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L152
	movzx	eax, BYTE PTR -17[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -40[rbp], rax
.L152:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 211[rax]
	cmp	al, 61
	jne	.L153
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 302
	jmp	.L151
.L153:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 213[rax]
	cmp	al, 2
	je	.L154
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 9
	jmp	.L151
.L154:
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, g_active_task[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L155
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_sched_lock[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L155
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 200
	jmp	.L151
.L155:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 7
	jne	.L156
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 307
	jmp	.L151
.L156:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	call	cpu_cur_get
	movzx	eax, al
	movsx	rdx, eax
	lea	rcx, g_sched_lock[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	lea	ecx, 1[rdx]
	cdqe
	lea	rdx, g_sched_lock[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 40
	mov	rsi, rax
	lea	rdi, g_res_list[rip]
	call	klist_insert
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	lea	rdi, g_res_sem[rip]
	call	krhino_sem_give@PLT
	mov	DWORD PTR -12[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	movsx	rdx, eax
	lea	rcx, g_sched_lock[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	lea	ecx, -1[rdx]
	cdqe
	lea	rdx, g_sched_lock[rip]
	mov	BYTE PTR [rax+rdx], cl
	cmp	DWORD PTR -12[rbp], 0
	je	.L157
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	edi, 2
	call	k_err_proc@PLT
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L151
.L157:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	task_mutex_free
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 148[rax]
	cmp	eax, 6
	ja	.L165
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L160[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L160[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L160:
	.long	.L165-.L160
	.long	.L163-.L160
	.long	.L161-.L160
	.long	.L162-.L160
	.long	.L161-.L160
	.long	.L159-.L160
	.long	.L159-.L160
	.text
.L163:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, g_ready_queue[rip]
	call	ready_list_rm@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L164
.L162:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L164
.L159:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 148[rax], 7
	jmp	.L164
.L161:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tick_list_rm@PLT
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 48
	mov	rdi, rax
	call	klist_rm
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 148[rax], 7
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	mutex_task_pri_reset@PLT
	jmp	.L164
.L165:
	nop
.L164:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 80
	mov	rdi, rax
	call	klist_rm
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	call	core_sched@PLT
	mov	eax, 0
.L151:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	krhino_task_dyn_del, .-krhino_task_dyn_del
	.globl	krhino_task_time_slice_set
	.type	krhino_task_time_slice_set, @function
krhino_task_time_slice_set:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L167
	mov	eax, 6
	jmp	.L168
.L167:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L169
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L168
.L169:
	cmp	DWORD PTR -28[rbp], 0
	je	.L170
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 184[rax], rdx
	jmp	.L171
.L170:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 184[rax], 50
.L171:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 184[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L168:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	krhino_task_time_slice_set, .-krhino_task_time_slice_set
	.globl	krhino_sched_policy_set
	.type	krhino_sched_policy_set, @function
krhino_sched_policy_set:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	cmp	QWORD PTR -24[rbp], 0
	jne	.L173
	mov	eax, 6
	jmp	.L174
.L173:
	cmp	BYTE PTR -28[rbp], 0
	je	.L175
	cmp	BYTE PTR -28[rbp], 1
	je	.L175
	mov	eax, 203
	jmp	.L174
.L175:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L176
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L174
.L176:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -28[rbp]
	mov	BYTE PTR 209[rax], dl
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L174:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	krhino_sched_policy_set, .-krhino_sched_policy_set
	.globl	krhino_sched_policy_get
	.type	krhino_sched_policy_get, @function
krhino_sched_policy_get:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L178
	mov	eax, 6
	jmp	.L179
.L178:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L180
	mov	eax, 6
	jmp	.L179
.L180:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	call	cpu_cur_get
	movzx	eax, al
	cdqe
	lea	rdx, g_intrpt_nested_level[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L181
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 1000
	jmp	.L179
.L181:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 209[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L179:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	krhino_sched_policy_get, .-krhino_sched_policy_get
	.globl	krhino_task_info_set
	.type	krhino_task_info_set, @function
krhino_task_info_set:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L183
	mov	eax, 6
	jmp	.L184
.L183:
	cmp	DWORD PTR -28[rbp], 1
	jbe	.L185
	mov	eax, 5
	jmp	.L184
.L185:
	call	cpu_intrpt_save@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	lea	rcx, 2[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	cpu_intrpt_restore@PLT
	mov	eax, 0
.L184:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	krhino_task_info_set, .-krhino_task_info_set
	.globl	krhino_task_info_get
	.type	krhino_task_info_get, @function
krhino_task_info_get:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -8[rbp], 0
	jne	.L187
	mov	eax, 6
	jmp	.L188
.L187:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L189
	mov	eax, 6
	jmp	.L188
.L189:
	cmp	DWORD PTR -12[rbp], 1
	jbe	.L190
	mov	eax, 5
	jmp	.L188
.L190:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	add	rdx, 2
	mov	rdx, QWORD PTR [rax+rdx*8]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L188:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	krhino_task_info_get, .-krhino_task_info_get
	.globl	krhino_task_deathbed
	.type	krhino_task_deathbed, @function
krhino_task_deathbed:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	krhino_cur_task_get
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 213[rax]
	cmp	al, 2
	jne	.L192
	mov	edi, 0
	call	krhino_task_dyn_del
	jmp	.L194
.L192:
	mov	edi, 0
	call	krhino_task_del
.L194:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	krhino_task_deathbed, .-krhino_task_deathbed
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"687947.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_klist_empty, %function
is_klist_empty:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_klist_empty, .-is_klist_empty
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	klist_insert, %function
klist_insert:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	klist_insert, .-klist_insert
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	klist_rm, %function
klist_rm:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	klist_rm, .-klist_rm
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cpu_cur_get, %function
cpu_cur_get:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cpu_cur_get, .-cpu_cur_get
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_create, %function
task_create:
	@ args = 36, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	strb	r3, [fp, #-33]
	mov	r3, #0
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L8
	mov	r3, #6
	b	.L9
.L8:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L10
	mov	r3, #6
	b	.L9
.L10:
	ldr	r3, [fp, #20]
	cmp	r3, #0
	bne	.L11
	mov	r3, #6
	b	.L9
.L11:
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bne	.L12
	mov	r3, #6
	b	.L9
.L12:
	ldr	r3, [fp, #16]
	cmp	r3, #0
	bne	.L13
	mov	r3, #300
	b	.L9
.L13:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #61
	bls	.L14
	ldr	r3, .L25
	b	.L9
.L14:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+4
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L15
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L9
.L15:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L16
	ldrb	r3, [fp, #32]	@ zero_extendqisi2
	ldr	r2, .L25+8
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L17
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #308
	b	.L9
.L17:
	ldrb	r3, [fp, #32]	@ zero_extendqisi2
	ldr	r2, .L25+8
	mov	r1, #1
	strb	r1, [r2, r3]
.L16:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r2, #128
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	memset
	ldmib	fp, {r2-r3}
	orrs	r3, r2, r3
	beq	.L18
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #104]
	b	.L19
.L18:
	ldr	r3, [fp, #-24]
	mov	r2, #50
	str	r2, [r3, #104]
.L19:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #104]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #100]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #117]
	ldrb	r3, [fp, #24]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L20
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #84]
	b	.L21
.L20:
	ldr	r3, [fp, #-24]
	mov	r2, #3
	str	r2, [r3, #84]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #32]
.L21:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #16]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3, #119]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #28]
	strb	r2, [r3, #121]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #32]
	strb	r2, [r3, #118]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-13]
	b	.L22
.L23:
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	ldr	r2, .L25+12
	str	r2, [r3]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	add	r3, r3, #1
	strb	r3, [fp, #-13]
.L22:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L23
	ldr	r3, [fp, #20]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #16]
	ldr	r0, [fp, #12]
	bl	cpu_task_stack_init
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #40
	mov	r1, r3
	ldr	r0, .L25+16
	bl	klist_insert
	ldrb	r3, [fp, #24]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L24
	ldr	r1, [fp, #-24]
	ldr	r0, .L25+20
	bl	ready_list_add_tail
	ldr	r3, .L25+24
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L24
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
	b	.L9
.L24:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L9:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	305
	.word	g_intrpt_nested_level
	.word	g_idle_task_spawned
	.word	-559038801
	.word	g_kobj_list
	.word	g_ready_queue
	.word	g_sys_stat
	.size	task_create, .-task_create
	.align	2
	.global	krhino_task_create
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_create, %function
krhino_task_create:
	@ args = 24, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	strb	r3, [fp, #-17]
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #0
	str	r3, [sp, #32]
	mov	r3, #0
	str	r3, [sp, #28]
	mov	r3, #1
	str	r3, [sp, #24]
	ldrb	r3, [fp, #24]	@ zero_extendqisi2
	str	r3, [sp, #20]
	ldr	r3, [fp, #20]
	str	r3, [sp, #16]
	ldr	r3, [fp, #16]
	str	r3, [sp, #12]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r3, r1
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	task_create
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	krhino_task_create, .-krhino_task_create
	.align	2
	.global	task_dyn_create
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_dyn_create, %function
task_dyn_create:
	@ args = 28, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L30
	mov	r3, #6
	b	.L31
.L30:
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bne	.L32
	mov	r3, #5
	b	.L31
.L32:
	ldr	r3, [fp, #12]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	krhino_mm_alloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L33
	mov	r3, #105
	b	.L31
.L33:
	mov	r0, #128
	bl	krhino_mm_alloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L34
	ldr	r0, [fp, #-16]
	bl	krhino_mm_free
	mov	r3, #105
	b	.L31
.L34:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldrb	r1, [fp, #-33]	@ zero_extendqisi2
	ldrb	r3, [fp, #24]	@ zero_extendqisi2
	str	r3, [sp, #32]
	ldrb	r3, [fp, #20]	@ zero_extendqisi2
	str	r3, [sp, #28]
	mov	r3, #2
	str	r3, [sp, #24]
	ldrb	r3, [fp, #28]	@ zero_extendqisi2
	str	r3, [sp, #20]
	ldr	r3, [fp, #16]
	str	r3, [sp, #16]
	ldr	r3, [fp, #12]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-16]
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r3, r1
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-12]
	bl	task_create
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L35
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	beq	.L35
	ldr	r0, [fp, #-16]
	bl	krhino_mm_free
	ldr	r0, [fp, #-12]
	bl	krhino_mm_free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	b	.L31
.L35:
	ldr	r3, [fp, #-8]
.L31:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	task_dyn_create, .-task_dyn_create
	.align	2
	.global	krhino_task_dyn_create
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_dyn_create, %function
krhino_task_dyn_create:
	@ args = 20, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	strb	r3, [fp, #-17]
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	ldrb	r3, [fp, #20]	@ zero_extendqisi2
	str	r3, [sp, #24]
	mov	r3, #0
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #16]
	ldr	r3, [fp, #16]
	str	r3, [sp, #12]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r3, r1
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	task_dyn_create
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	krhino_task_dyn_create, .-krhino_task_dyn_create
	.align	2
	.global	krhino_task_sleep
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_sleep, %function
krhino_task_sleep:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L39
	mov	r3, #5
	b	.L40
.L39:
	bl	cpu_intrpt_save
	str	r0, [fp, #-12]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L43
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L41
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L40
.L41:
	bl	cpu_cur_get
	mov	r3, r0
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r2, .L43+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L42
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	mov	r3, #200
	b	.L40
.L42:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r2, .L43+8
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, #5
	str	r2, [r3, #84]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r2, .L43+8
	ldr	r1, [r2, r3, lsl #2]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	tick_list_insert
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r2, .L43+8
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, r3
	ldr	r0, .L43+12
	bl	ready_list_rm
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	bl	core_sched
	bl	cpu_intrpt_save
	str	r0, [fp, #-12]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L43+8
	ldr	r3, [r3, r2, lsl #2]
	mov	r0, r3
	bl	pend_state_end_proc
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	ldr	r3, [fp, #-8]
.L40:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	g_intrpt_nested_level
	.word	g_sched_lock
	.word	g_active_task
	.word	g_ready_queue
	.size	krhino_task_sleep, .-krhino_task_sleep
	.align	2
	.global	krhino_task_yield
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_yield, %function
krhino_task_yield:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L47
	ldr	r3, [r3, r2, lsl #2]
	mov	r1, r3
	ldr	r0, .L47+4
	bl	ready_list_head_to_tail
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L48:
	.align	2
.L47:
	.word	g_active_task
	.word	g_ready_queue
	.size	krhino_task_yield, .-krhino_task_yield
	.align	2
	.global	krhino_cur_task_get
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_cur_task_get, %function
krhino_cur_task_get:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	cpu_intrpt_save
	str	r0, [fp, #-12]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L51
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	g_active_task
	.size	krhino_cur_task_get, .-krhino_cur_task_get
	.align	2
	.global	task_suspend
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_suspend, %function
task_suspend:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	ldr	r2, .L64
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L54
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	ldr	r2, .L64+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L54
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #200
	b	.L55
.L54:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L56
.L58:
	.word	.L61
	.word	.L60
	.word	.L57
	.word	.L57
	.word	.L59
	.word	.L57
.L61:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3, #84]
	ldr	r1, [fp, #-16]
	ldr	r0, .L64+8
	bl	ready_list_rm
	b	.L62
.L59:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	mov	r2, #6
	str	r2, [r3, #84]
	b	.L62
.L60:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	mov	r2, #4
	str	r2, [r3, #84]
	b	.L62
.L57:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L63
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #304
	b	.L55
.L63:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #32]
	b	.L62
.L56:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L64+12
	b	.L55
.L62:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L55:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	g_active_task
	.word	g_sched_lock
	.word	g_ready_queue
	.word	307
	.size	task_suspend, .-task_suspend
	.align	2
	.global	krhino_task_suspend
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_suspend, %function
krhino_task_suspend:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L67
	mov	r3, #6
	b	.L68
.L67:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L69
	ldr	r3, .L70
	b	.L68
.L69:
	ldr	r0, [fp, #-8]
	bl	task_suspend
	mov	r3, r0
.L68:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L71:
	.align	2
.L70:
	.word	303
	.size	krhino_task_suspend, .-krhino_task_suspend
	.align	2
	.global	task_resume
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_resume, %function
task_resume:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L73
.L75:
	.word	.L76
	.word	.L76
	.word	.L78
	.word	.L77
	.word	.L76
	.word	.L74
.L76:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L87
	b	.L79
.L78:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	sub	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L84
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #84]
	ldr	r1, [fp, #-16]
	ldr	r0, .L87+4
	bl	ready_list_add
	b	.L84
.L74:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	sub	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L85
	ldr	r3, [fp, #-16]
	mov	r2, #5
	str	r2, [r3, #84]
	b	.L85
.L77:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	sub	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #32]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L86
	ldr	r3, [fp, #-16]
	mov	r2, #2
	str	r2, [r3, #84]
	b	.L86
.L73:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L87+8
	b	.L79
.L84:
	nop
	b	.L81
.L85:
	nop
	b	.L81
.L86:
	nop
.L81:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L79:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L88:
	.align	2
.L87:
	.word	301
	.word	g_ready_queue
	.word	307
	.size	task_resume, .-task_resume
	.align	2
	.global	krhino_task_resume
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_resume, %function
krhino_task_resume:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L90
	mov	r3, #6
	b	.L91
.L90:
	ldr	r0, [fp, #-8]
	bl	task_resume
	mov	r3, r0
.L91:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	krhino_task_resume, .-krhino_task_resume
	.align	2
	.global	krhino_task_stack_min_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_stack_min_free, %function
krhino_task_stack_min_free:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L93
	mov	r3, #6
	b	.L94
.L93:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L95
	mov	r3, #6
	b	.L94
.L95:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	cmp	r3, #7
	bne	.L96
	ldr	r3, .L99
	b	.L94
.L96:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	b	.L97
.L98:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L97:
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L98
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L94:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L100:
	.align	2
.L99:
	.word	307
	.size	krhino_task_stack_min_free, .-krhino_task_stack_min_free
	.align	2
	.global	krhino_task_stack_cur_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_stack_cur_free, %function
krhino_task_stack_cur_free:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L102
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L108
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L103
.L102:
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L108
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-16]
	bl	soc_get_cur_sp
	str	r0, [fp, #-12]
	b	.L104
.L103:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L104:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L105
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r0, #2
	bl	k_err_proc
	mov	r3, #2
	b	.L106
.L105:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bls	.L107
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r0, #1200
	bl	k_err_proc
	mov	r3, #1200
	b	.L106
.L107:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsr	r2, r3, #2
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L106:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L109:
	.align	2
.L108:
	.word	g_active_task
	.size	krhino_task_stack_cur_free, .-krhino_task_stack_cur_free
	.align	2
	.global	task_pri_change
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_pri_change, %function
task_pri_change:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, r1
	strb	r3, [fp, #-25]
.L127:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	ldrb	r2, [fp, #-25]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L111
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L112
.L114:
	.word	.L116
	.word	.L115
	.word	.L113
	.word	.L115
	.word	.L113
	.word	.L113
.L116:
	ldr	r1, [fp, #-24]
	ldr	r0, .L128
	bl	ready_list_rm
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3, #119]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L128+4
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L117
	ldr	r1, [fp, #-24]
	ldr	r0, .L128
	bl	ready_list_add_head
	b	.L118
.L117:
	ldr	r1, [fp, #-24]
	ldr	r0, .L128
	bl	ready_list_add_tail
.L118:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L126
.L113:
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3, #119]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L126
.L115:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #119]
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3, #119]
	ldr	r0, [fp, #-24]
	bl	pend_list_reorder
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #92]
	ldr	r3, [r3, #16]
	cmp	r3, #2
	bne	.L120
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #92]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3, #119]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L121
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L126
.L121:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L123
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	mutex_pri_look
	mov	r3, r0
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	ldrb	r2, [fp, #-25]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L124
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L126
.L124:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L126
.L123:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L126
.L120:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L126
.L112:
	ldr	r0, .L128+8
	bl	k_err_proc
	ldr	r3, .L128+8
	b	.L125
.L111:
	mov	r3, #0
	str	r3, [fp, #-24]
.L126:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L127
	mov	r3, #0
.L125:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L129:
	.align	2
.L128:
	.word	g_ready_queue
	.word	g_active_task
	.word	307
	.size	task_pri_change, .-task_pri_change
	.align	2
	.global	krhino_task_pri_change
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_pri_change, %function
krhino_task_pri_change:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	mov	r3, r1
	str	r2, [fp, #-32]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L131
	mov	r3, #6
	b	.L132
.L131:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L133
	mov	r3, #6
	b	.L132
.L133:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	cmp	r3, #60
	bls	.L134
	ldr	r3, .L139
	b	.L132
.L134:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #60
	bls	.L135
	ldr	r3, .L139
	b	.L132
.L135:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #84]
	cmp	r3, #7
	bne	.L136
	ldr	r3, .L139+4
	b	.L132
.L136:
	bl	cpu_intrpt_save
	str	r0, [fp, #-12]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L139+8
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L137
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L132
.L137:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	mutex_pri_limit
	mov	r3, r0
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3, #120]
	ldrb	r3, [fp, #-13]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3, #119]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	task_pri_change
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L138
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	ldr	r3, [fp, #-8]
	b	.L132
.L138:
	ldr	r0, [fp, #-12]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L132:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	306
	.word	307
	.word	g_intrpt_nested_level
	.size	krhino_task_pri_change, .-krhino_task_pri_change
	.align	2
	.global	krhino_task_wait_abort
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_wait_abort, %function
krhino_task_wait_abort:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L142
	mov	r3, #6
	b	.L143
.L142:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L153
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L144
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L143
.L144:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L145
.L147:
	.word	.L152
	.word	.L148
	.word	.L149
	.word	.L148
	.word	.L146
	.word	.L146
.L149:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #84]
	ldr	r1, [fp, #-16]
	ldr	r0, .L153+4
	bl	ready_list_add
	b	.L151
.L146:
	ldr	r0, [fp, #-16]
	bl	tick_list_rm
	ldr	r1, [fp, #-16]
	ldr	r0, .L153+4
	bl	ready_list_add
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #84]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #88]
	b	.L151
.L148:
	ldr	r0, [fp, #-16]
	bl	tick_list_rm
	ldr	r3, [fp, #-16]
	add	r3, r3, #24
	mov	r0, r3
	bl	klist_rm
	ldr	r1, [fp, #-16]
	ldr	r0, .L153+4
	bl	ready_list_add
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #84]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #88]
	ldr	r0, [fp, #-16]
	bl	mutex_task_pri_reset
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #92]
	b	.L151
.L145:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L153+8
	b	.L143
.L152:
	nop
.L151:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L143:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L154:
	.align	2
.L153:
	.word	g_intrpt_nested_level
	.word	g_ready_queue
	.word	307
	.size	krhino_task_wait_abort, .-krhino_task_wait_abort
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	task_mutex_free, %function
task_mutex_free:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-20]
	b	.L156
.L158:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	is_klist_empty
	mov	r3, r0
	cmp	r3, #0
	bne	.L157
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #24
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pend_task_wakeup
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #36]
	b	.L156
.L157:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #20]
.L156:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L158
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	task_mutex_free, .-task_mutex_free
	.align	2
	.global	krhino_task_del
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_del, %function
krhino_task_del:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	strb	r3, [fp, #-9]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L173
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L160
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L161
.L160:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L162
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	ldr	r2, .L173+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-16]
.L162:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L163
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L173+8
	b	.L161
.L163:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #121]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L164
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #9
	b	.L161
.L164:
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L173+4
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L165
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L173+12
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L165
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #200
	b	.L161
.L165:
	ldr	r0, [fp, #-16]
	bl	task_mutex_free
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L166
.L168:
	.word	.L171
	.word	.L169
	.word	.L170
	.word	.L169
	.word	.L167
	.word	.L167
.L171:
	ldr	r1, [fp, #-16]
	ldr	r0, .L173+16
	bl	ready_list_rm
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L172
.L170:
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L172
.L167:
	ldr	r0, [fp, #-16]
	bl	tick_list_rm
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L172
.L169:
	ldr	r0, [fp, #-16]
	bl	tick_list_rm
	ldr	r3, [fp, #-16]
	add	r3, r3, #24
	mov	r0, r3
	bl	klist_rm
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #84]
	ldr	r0, [fp, #-16]
	bl	mutex_task_pri_reset
	b	.L172
.L166:
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	ldr	r3, .L173+20
	b	.L161
.L172:
	ldr	r3, [fp, #-16]
	add	r3, r3, #40
	mov	r0, r3
	bl	klist_rm
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L161:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L174:
	.align	2
.L173:
	.word	g_intrpt_nested_level
	.word	g_active_task
	.word	302
	.word	g_sched_lock
	.word	g_ready_queue
	.word	307
	.size	krhino_task_del, .-krhino_task_del
	.align	2
	.global	krhino_task_dyn_del
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_dyn_del, %function
krhino_task_dyn_del:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	bl	cpu_intrpt_save
	str	r0, [fp, #-16]
	bl	cpu_cur_get
	mov	r3, r0
	strb	r3, [fp, #-17]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L192
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L176
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L177
.L176:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L178
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	ldr	r2, .L192+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-24]
.L178:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #119]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L179
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	ldr	r3, .L192+8
	b	.L177
.L179:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #121]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L180
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	mov	r3, #9
	b	.L177
.L180:
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L192+4
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L181
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L192+12
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L181
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	mov	r3, #200
	b	.L177
.L181:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #84]
	cmp	r3, #7
	bne	.L182
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	ldr	r3, .L192+16
	b	.L177
.L182:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	bl	cpu_cur_get
	mov	r3, r0
	ldr	r2, .L192+12
	ldrb	r2, [r2, r3]	@ zero_extendqisi2
	add	r2, r2, #1
	and	r1, r2, #255
	ldr	r2, .L192+12
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #20
	mov	r1, r3
	ldr	r0, .L192+20
	bl	klist_insert
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r3, #2
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r0, .L192+24
	bl	krhino_sem_give
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	ldr	r2, .L192+12
	ldrb	r2, [r2, r3]	@ zero_extendqisi2
	sub	r2, r2, #1
	and	r1, r2, #255
	ldr	r2, .L192+12
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L183
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	mov	r0, #2
	bl	k_err_proc
	ldr	r3, [fp, #-8]
	b	.L177
.L183:
	ldr	r0, [fp, #-24]
	bl	task_mutex_free
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #84]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L191
.L186:
	.word	.L189
	.word	.L187
	.word	.L188
	.word	.L187
	.word	.L185
	.word	.L185
.L189:
	ldr	r1, [fp, #-24]
	ldr	r0, .L192+28
	bl	ready_list_rm
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L190
.L188:
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L190
.L185:
	ldr	r0, [fp, #-24]
	bl	tick_list_rm
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #84]
	b	.L190
.L187:
	ldr	r0, [fp, #-24]
	bl	tick_list_rm
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	mov	r0, r3
	bl	klist_rm
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #84]
	ldr	r0, [fp, #-24]
	bl	mutex_task_pri_reset
	b	.L190
.L191:
	nop
.L190:
	ldr	r3, [fp, #-24]
	add	r3, r3, #40
	mov	r0, r3
	bl	klist_rm
	ldr	r0, [fp, #-16]
	bl	cpu_intrpt_restore
	bl	core_sched
	mov	r3, #0
.L177:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L193:
	.align	2
.L192:
	.word	g_intrpt_nested_level
	.word	g_active_task
	.word	302
	.word	g_sched_lock
	.word	307
	.word	g_res_list
	.word	g_res_sem
	.word	g_ready_queue
	.size	krhino_task_dyn_del, .-krhino_task_dyn_del
	.align	2
	.global	krhino_task_time_slice_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_time_slice_set, %function
krhino_task_time_slice_set:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L195
	mov	r3, #6
	b	.L196
.L195:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L200
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L197
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L196
.L197:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L198
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #104]
	b	.L199
.L198:
	ldr	r3, [fp, #-16]
	mov	r2, #50
	str	r2, [r3, #104]
.L199:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #104]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #100]
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L196:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L201:
	.align	2
.L200:
	.word	g_intrpt_nested_level
	.size	krhino_task_time_slice_set, .-krhino_task_time_slice_set
	.align	2
	.global	krhino_sched_policy_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_sched_policy_set, %function
krhino_sched_policy_set:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L203
	mov	r3, #6
	b	.L204
.L203:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L205
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L205
	mov	r3, #203
	b	.L204
.L205:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L207
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L206
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L204
.L206:
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-17]
	strb	r2, [r3, #117]
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L204:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L208:
	.align	2
.L207:
	.word	g_intrpt_nested_level
	.size	krhino_sched_policy_set, .-krhino_sched_policy_set
	.align	2
	.global	krhino_sched_policy_get
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_sched_policy_get, %function
krhino_sched_policy_get:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L210
	mov	r3, #6
	b	.L211
.L210:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L212
	mov	r3, #6
	b	.L211
.L212:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	bl	cpu_cur_get
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L214
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L213
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #1000
	b	.L211
.L213:
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3, #117]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L211:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L215:
	.align	2
.L214:
	.word	g_intrpt_nested_level
	.size	krhino_sched_policy_get, .-krhino_sched_policy_get
	.align	2
	.global	krhino_task_info_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_info_set, %function
krhino_task_info_set:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L217
	mov	r3, #6
	b	.L218
.L217:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bls	.L219
	mov	r3, #5
	b	.L218
.L219:
	bl	cpu_intrpt_save
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	add	r2, r2, #2
	ldr	r1, [fp, #-24]
	str	r1, [r3, r2, lsl #2]
	ldr	r0, [fp, #-8]
	bl	cpu_intrpt_restore
	mov	r3, #0
.L218:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	krhino_task_info_set, .-krhino_task_info_set
	.align	2
	.global	krhino_task_info_get
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_info_get, %function
krhino_task_info_get:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L221
	mov	r3, #6
	b	.L222
.L221:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L223
	mov	r3, #6
	b	.L222
.L223:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bls	.L224
	mov	r3, #5
	b	.L222
.L224:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	ldr	r2, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L222:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	krhino_task_info_get, .-krhino_task_info_get
	.align	2
	.global	krhino_task_deathbed
	.syntax unified
	.arm
	.fpu softvfp
	.type	krhino_task_deathbed, %function
krhino_task_deathbed:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	krhino_cur_task_get
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #121]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L226
	mov	r0, #0
	bl	krhino_task_dyn_del
	b	.L228
.L226:
	mov	r0, #0
	bl	krhino_task_del
.L228:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	krhino_task_deathbed, .-krhino_task_deathbed
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
