diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/Makefile b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/Makefile
index 33556f14f4d0e9445923b7a813ae11a723f81a3d..4f76e051b47bd129a0706a86592a83715585558b 100644
--- a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/Makefile
+++ b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/Makefile
@@ -30,6 +30,7 @@ OBJS +=build/interrupt.o
 OBJS +=build/main.o
 OBJS +=build/mmu_cfg.o
 OBJS +=build/uart.o
+OBJS +=build/memory.o
 
 # From ../mmu
 OBJS +=build/mmu.o
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/main.o b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/main.o
index d1b20e6de7b003706f526302a9730aa561ed8cc2..c0e2f516525e83f6df8efef73e4b4221ba21a8c4 100644
Binary files a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/main.o and b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/main.o differ
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/memory.o b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/memory.o
new file mode 100644
index 0000000000000000000000000000000000000000..5886fd1cbdba3eae4d80c87073673f0f66e3b211
Binary files /dev/null and b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/build/memory.o differ
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/main.c b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/main.c
index 2a61b2b6310b17e39826a3f3405e73713185cc3d..b9f6d863fc00603d0f32cc262ecdd916f2e70603 100644
--- a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/main.c
+++ b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/main.c
@@ -7,7 +7,7 @@
 #include "timers.h"
 #include "semphr.h"
 
-#include "uart.h"
+#include "memory.h"
 
 /* 
  * Prototypes for the standard FreeRTOS callback/hook functions implemented
@@ -97,10 +97,6 @@ void ledblink(int on)
     
 }
 
-#define SHARED_MEMORY_ADDRESS 0x3F000000
-#define SHARED_MEMORY_ADDRESS2 0x3F001000
-volatile int* shared_memory = (volatile int*) SHARED_MEMORY_ADDRESS;
-volatile int* shared_memory2 = (volatile int*) SHARED_MEMORY_ADDRESS2;
 
 void main(void)
 {
@@ -109,6 +105,9 @@ void main(void)
     uart_puts("\r\n****************************\r\n");
     uart_puts("\r\n    FreeRTOS UART Sample\r\n");
     uart_puts("\r\n****************************\r\n");
+
+    shm_loop();
+    /*
     *shared_memory = 1;
     uart_puts("\r\n Shared memory loc 1 has been set to 1\r\n");
     while(*shared_memory != 0)
@@ -118,6 +117,7 @@ void main(void)
     uart_puts("\r\n Shared memory loc 1 has been set to 0\r\n");
     *shared_memory2 = 1;
     uart_puts("\r\n Shared memory loc 2 has been set to 1\r\n");
+    */
     
 
     xTaskCreate(TaskA, "Task A", 512, NULL, 0x10, &task_a);
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.c b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.c
new file mode 100644
index 0000000000000000000000000000000000000000..d8e5d3b82019819a2c4dccfdb798e2da0ec16519
--- /dev/null
+++ b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.c
@@ -0,0 +1,20 @@
+#include "memory.h"
+
+void shm_loop()
+{
+    volatile int* shared_memory = (volatile int*) SHARED_MEMORY_ADDRESS;
+    while(1)
+    {
+        if(*shared_memory == 0xFF)
+        {
+            uart_puthex(*(shared_memory + 8));
+            uart_putchar(*(shared_memory + 8));
+            uart_putchar(*(shared_memory + 9));
+            uart_putchar(*(shared_memory + 10));
+            uart_putchar(*(shared_memory + 11));
+            
+            uart_puts("\r\noutput read\r\n");
+            *shared_memory = 0x00;
+        }
+    }
+}
\ No newline at end of file
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.h b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.h
new file mode 100644
index 0000000000000000000000000000000000000000..0985e61dbd541ea7e32f688eaa9724c514c88fb3
--- /dev/null
+++ b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/src/memory.h
@@ -0,0 +1,9 @@
+#include <stddef.h>
+#include <stdint.h>
+
+#include "uart.h"
+
+#define SHARED_MEMORY_ADDRESS 0x3F000000
+
+void shm_loop();
+
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.elf b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.elf
index 0d44761178c30b48118ebdf7e8d1fa947b397050..c3e812f1d31cffc5d6cd6a88ab1e5cd43b8fec20 100755
Binary files a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.elf and b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.elf differ
diff --git a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.list b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.list
index 76a4310748f1de4f809f0f2a77136da8ece70439..fbb94d49f01db7f87eb0de81f42ecfd38667bac8 100644
--- a/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.list
+++ b/uboot-compiler/bm_memread/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/uart/uart.list
@@ -106,7 +106,7 @@ Disassembly of section .text:
     200017f0:	f800843f 	str	xzr, [x1], #8
     200017f4:	51000442 	sub	w2, w2, #0x1
     200017f8:	35ffffa2 	cbnz	w2, 200017ec <start_el1+0x28>
-    200017fc:	9400127d 	bl	200061f0 <main>
+    200017fc:	94001269 	bl	200061a0 <main>
     20001800:	d65f03c0 	ret
 
 0000000020001804 <kick_core3>:
@@ -119,7 +119,7 @@ Disassembly of section .text:
     2000181c:	d65f03c0 	ret
     20001820:	00004000 	.word	0x00004000
     20001824:	00000000 	.inst	0x00000000 ; undefined
-    20001828:	20002190 	.word	0x20002190
+    20001828:	20002220 	.word	0x20002220
     2000182c:	00000000 	.word	0x00000000
     20001830:	20008000 	.word	0x20008000
     20001834:	00000000 	.word	0x00000000
@@ -175,12 +175,12 @@ Disassembly of section .text:
     200018cc:	52807d00 	mov	w0, #0x3e8                 	// #1000
     200018d0:	97fffff4 	bl	200018a0 <timer_set_tick_rate_hz>
     200018d4:	97ffffdb 	bl	20001840 <enable_cntv>
-    200018d8:	d0000023 	adrp	x3, 20007000 <shared_memory2>
+    200018d8:	d0000023 	adrp	x3, 20007000 <shared_memory>
     200018dc:	a8c17bfd 	ldp	x29, x30, [sp], #16
     200018e0:	52800102 	mov	w2, #0x8                   	// #8
     200018e4:	52801401 	mov	w1, #0xa0                  	// #160
     200018e8:	52800360 	mov	w0, #0x1b                  	// #27
-    200018ec:	f9408063 	ldr	x3, [x3, #256]
+    200018ec:	f9407863 	ldr	x3, [x3, #240]
     200018f0:	14000024 	b	20001980 <isr_register>
     200018f4:	d503201f 	nop
     200018f8:	d503201f 	nop
@@ -207,8 +207,8 @@ Disassembly of section .text:
     2000193c:	94000045 	bl	20001a50 <eoi_notify>
     20001940:	71037e7f 	cmp	w19, #0xdf
     20001944:	54000128 	b.hi	20001968 <vApplicationIRQHandler+0x58>  // b.pmore
-    20001948:	d0000020 	adrp	x0, 20007000 <shared_memory2>
-    2000194c:	f9406800 	ldr	x0, [x0, #208]
+    20001948:	d0000020 	adrp	x0, 20007000 <shared_memory>
+    2000194c:	f9406400 	ldr	x0, [x0, #200]
     20001950:	f8737800 	ldr	x0, [x0, x19, lsl #3]
     20001954:	b40000a0 	cbz	x0, 20001968 <vApplicationIRQHandler+0x58>
     20001958:	aa0003f0 	mov	x16, x0
@@ -260,9 +260,9 @@ Disassembly of section .text:
     20001a10:	2a020122 	orr	w2, w9, w2
     20001a14:	b8264802 	str	w2, [x0, w6, uxtw]
     20001a18:	d5033fdf 	isb
-    20001a1c:	d0000021 	adrp	x1, 20007000 <shared_memory2>
+    20001a1c:	d0000021 	adrp	x1, 20007000 <shared_memory>
     20001a20:	52800000 	mov	w0, #0x0                   	// #0
-    20001a24:	f9406821 	ldr	x1, [x1, #208]
+    20001a24:	f9406421 	ldr	x1, [x1, #200]
     20001a28:	f8245823 	str	x3, [x1, w4, uxtw #3]
     20001a2c:	d65f03c0 	ret
     20001a30:	12800000 	mov	w0, #0xffffffff            	// #-1
@@ -303,7 +303,7 @@ Disassembly of section .text:
     20001aa4:	910003fd 	mov	x29, sp
     20001aa8:	f9000bf3 	str	x19, [sp, #16]
     20001aac:	b0000033 	adrp	x19, 20006000 <pvPortMalloc+0x20>
-    20001ab0:	91046273 	add	x19, x19, #0x118
+    20001ab0:	9102a273 	add	x19, x19, #0xa8
     20001ab4:	d503201f 	nop
     20001ab8:	aa1303e0 	mov	x0, x19
     20001abc:	94000089 	bl	20001ce0 <uart_puts>
@@ -376,14 +376,14 @@ Disassembly of section .text:
     20001ba8:	b9400000 	ldr	w0, [x0]
     20001bac:	36200040 	tbz	w0, #4, 20001bb4 <uart_isr+0x14>
     20001bb0:	d65f03c0 	ret
-    20001bb4:	d0000020 	adrp	x0, 20007000 <shared_memory2>
+    20001bb4:	d0000020 	adrp	x0, 20007000 <shared_memory>
     20001bb8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
     20001bbc:	910003fd 	mov	x29, sp
     20001bc0:	d2828004 	mov	x4, #0x1400                	// #5120
     20001bc4:	f2bfc404 	movk	x4, #0xfe20, lsl #16
     20001bc8:	91007fe1 	add	x1, sp, #0x1f
     20001bcc:	d2800003 	mov	x3, #0x0                   	// #0
-    20001bd0:	f9407800 	ldr	x0, [x0, #240]
+    20001bd0:	f9407400 	ldr	x0, [x0, #232]
     20001bd4:	d2800002 	mov	x2, #0x0                   	// #0
     20001bd8:	b9400084 	ldr	w4, [x4]
     20001bdc:	f9400000 	ldr	x0, [x0]
@@ -401,9 +401,9 @@ Disassembly of section .text:
     20001c04:	910003fd 	mov	x29, sp
     20001c08:	92800001 	mov	x1, #0xffffffffffffffff    	// #-1
     20001c0c:	a90153f3 	stp	x19, x20, [sp, #16]
-    20001c10:	d0000033 	adrp	x19, 20007000 <shared_memory2>
+    20001c10:	d0000033 	adrp	x19, 20007000 <shared_memory>
     20001c14:	12001c14 	and	w20, w0, #0xff
-    20001c18:	f9407a62 	ldr	x2, [x19, #240]
+    20001c18:	f9407662 	ldr	x2, [x19, #232]
     20001c1c:	f9400040 	ldr	x0, [x2]
     20001c20:	f9400000 	ldr	x0, [x0]
     20001c24:	9400080f 	bl	20003c60 <xQueueSemaphoreTake>
@@ -415,7 +415,7 @@ Disassembly of section .text:
     20001c3c:	f2bfc400 	movk	x0, #0xfe20, lsl #16
     20001c40:	b9000014 	str	w20, [x0]
     20001c44:	d5033fdf 	isb
-    20001c48:	f9407a73 	ldr	x19, [x19, #240]
+    20001c48:	f9407673 	ldr	x19, [x19, #232]
     20001c4c:	d2800003 	mov	x3, #0x0                   	// #0
     20001c50:	d2800002 	mov	x2, #0x0                   	// #0
     20001c54:	d2800001 	mov	x1, #0x0                   	// #0
@@ -432,9 +432,9 @@ Disassembly of section .text:
     20001c78:	d2800001 	mov	x1, #0x0                   	// #0
     20001c7c:	d2800002 	mov	x2, #0x0                   	// #0
     20001c80:	a90153f3 	stp	x19, x20, [sp, #16]
-    20001c84:	d0000033 	adrp	x19, 20007000 <shared_memory2>
+    20001c84:	d0000033 	adrp	x19, 20007000 <shared_memory>
     20001c88:	12001c14 	and	w20, w0, #0xff
-    20001c8c:	f9407a63 	ldr	x3, [x19, #240]
+    20001c8c:	f9407663 	ldr	x3, [x19, #232]
     20001c90:	f9400060 	ldr	x0, [x3]
     20001c94:	f9400000 	ldr	x0, [x0]
     20001c98:	940008da 	bl	20004000 <xQueueReceiveFromISR>
@@ -447,7 +447,7 @@ Disassembly of section .text:
     20001cb4:	f2bfc400 	movk	x0, #0xfe20, lsl #16
     20001cb8:	b9000014 	str	w20, [x0]
     20001cbc:	d5033fdf 	isb
-    20001cc0:	f9407a73 	ldr	x19, [x19, #240]
+    20001cc0:	f9407673 	ldr	x19, [x19, #232]
     20001cc4:	d2800001 	mov	x1, #0x0                   	// #0
     20001cc8:	f9400260 	ldr	x0, [x19]
     20001ccc:	a94153f3 	ldp	x19, x20, [sp, #16]
@@ -482,7 +482,7 @@ Disassembly of section .text:
     20001d30:	52800793 	mov	w19, #0x3c                  	// #60
     20001d34:	f90013f5 	str	x21, [sp, #32]
     20001d38:	b0000035 	adrp	x21, 20006000 <pvPortMalloc+0x20>
-    20001d3c:	9105c2b5 	add	x21, x21, #0x170
+    20001d3c:	910462b5 	add	x21, x21, #0x118
     20001d40:	9ad32681 	lsr	x1, x20, x19
     20001d44:	51001273 	sub	w19, w19, #0x4
     20001d48:	92400c21 	and	x1, x1, #0xf
@@ -498,11 +498,11 @@ Disassembly of section .text:
 
 0000000020001d70 <uart_read_bytes>:
     20001d70:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-    20001d74:	d0000023 	adrp	x3, 20007000 <shared_memory2>
+    20001d74:	d0000023 	adrp	x3, 20007000 <shared_memory>
     20001d78:	910003fd 	mov	x29, sp
     20001d7c:	a9025bf5 	stp	x21, x22, [sp, #32]
     20001d80:	2a0103f6 	mov	w22, w1
-    20001d84:	f9407875 	ldr	x21, [x3, #240]
+    20001d84:	f9407475 	ldr	x21, [x3, #232]
     20001d88:	a90153f3 	stp	x19, x20, [sp, #16]
     20001d8c:	aa0003f3 	mov	x19, x0
     20001d90:	f94002a0 	ldr	x0, [x21]
@@ -572,9 +572,9 @@ Disassembly of section .text:
     20001e88:	b9000064 	str	w4, [x3]
     20001e8c:	d5033fdf 	isb
     20001e90:	d2800200 	mov	x0, #0x10                  	// #16
-    20001e94:	d0000034 	adrp	x20, 20007000 <shared_memory2>
+    20001e94:	d0000034 	adrp	x20, 20007000 <shared_memory>
     20001e98:	94001052 	bl	20005fe0 <pvPortMalloc>
-    20001e9c:	f9407a95 	ldr	x21, [x20, #240]
+    20001e9c:	f9407695 	ldr	x21, [x20, #232]
     20001ea0:	f9001fe0 	str	x0, [sp, #56]
     20001ea4:	52800020 	mov	w0, #0x1                   	// #1
     20001ea8:	f9401ff3 	ldr	x19, [sp, #56]
@@ -589,11 +589,11 @@ Disassembly of section .text:
     20001ecc:	940005d5 	bl	20003620 <xQueueGenericCreate>
     20001ed0:	aa0003e1 	mov	x1, x0
     20001ed4:	b0000020 	adrp	x0, 20006000 <pvPortMalloc+0x20>
-    20001ed8:	91062000 	add	x0, x0, #0x188
+    20001ed8:	9104c000 	add	x0, x0, #0x130
     20001edc:	f90006a1 	str	x1, [x21, #8]
     20001ee0:	97ffff80 	bl	20001ce0 <uart_puts>
     20001ee4:	97fffee3 	bl	20001a70 <wait_gic_init>
-    20001ee8:	f9407683 	ldr	x3, [x20, #232]
+    20001ee8:	f9407283 	ldr	x3, [x20, #224]
     20001eec:	52800102 	mov	w2, #0x8                   	// #8
     20001ef0:	52801401 	mov	w1, #0xa0                  	// #160
     20001ef4:	52801320 	mov	w0, #0x99                  	// #153
@@ -603,769 +603,806 @@ Disassembly of section .text:
     20001f04:	17fffe9f 	b	20001980 <isr_register>
 	...
 
-0000000020001f10 <init_pt>:
-    20001f10:	f0002fe0 	adrp	x0, 20600000 <PT_BASE>
-    20001f14:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-    20001f18:	d2802002 	mov	x2, #0x100                 	// #256
-    20001f1c:	910003fd 	mov	x29, sp
-    20001f20:	52800001 	mov	w1, #0x0                   	// #0
-    20001f24:	91000000 	add	x0, x0, #0x0
-    20001f28:	940000f2 	bl	200022f0 <memset>
-    20001f2c:	b0003000 	adrp	x0, 20602000 <l2pte>
-    20001f30:	d2a00042 	mov	x2, #0x20000               	// #131072
-    20001f34:	52800001 	mov	w1, #0x0                   	// #0
-    20001f38:	91000000 	add	x0, x0, #0x0
-    20001f3c:	940000ed 	bl	200022f0 <memset>
-    20001f40:	90003000 	adrp	x0, 20601000 <l1ptd_dummy>
-    20001f44:	91040000 	add	x0, x0, #0x100
-    20001f48:	a8c17bfd 	ldp	x29, x30, [sp], #16
-    20001f4c:	d1040000 	sub	x0, x0, #0x100
-    20001f50:	d2802002 	mov	x2, #0x100                 	// #256
-    20001f54:	52800001 	mov	w1, #0x0                   	// #0
-    20001f58:	140000e6 	b	200022f0 <memset>
-    20001f5c:	d503201f 	nop
-
-0000000020001f60 <init_regs>:
-    20001f60:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-    20001f64:	910003fd 	mov	x29, sp
-    20001f68:	f9000fff 	str	xzr, [sp, #24]
-    20001f6c:	f9400fe0 	ldr	x0, [sp, #24]
-    20001f70:	d5181000 	msr	sctlr_el1, x0
-    20001f74:	d5033fdf 	isb
-    20001f78:	d508871f 	tlbi	vmalle1
-    20001f7c:	d508751f 	ic	iallu
-    20001f80:	940000be 	bl	20002278 <invalidate_dcache_all>
-    20001f84:	d5033f9f 	dsb	sy
-    20001f88:	d5033fdf 	isb
-    20001f8c:	d2888000 	mov	x0, #0x4400                	// #17408
-    20001f90:	f2bff760 	movk	x0, #0xffbb, lsl #16
-    20001f94:	f9000fe0 	str	x0, [sp, #24]
-    20001f98:	f9400fe0 	ldr	x0, [sp, #24]
-    20001f9c:	d518a200 	msr	mair_el1, x0
-    20001fa0:	d5033fdf 	isb
-    20001fa4:	f0002fe0 	adrp	x0, 20600000 <PT_BASE>
-    20001fa8:	91000000 	add	x0, x0, #0x0
-    20001fac:	d5182000 	msr	ttbr0_el1, x0
-    20001fb0:	90003000 	adrp	x0, 20601000 <l1ptd_dummy>
-    20001fb4:	91040000 	add	x0, x0, #0x100
-    20001fb8:	d1040000 	sub	x0, x0, #0x100
-    20001fbc:	d5182020 	msr	ttbr1_el1, x0
-    20001fc0:	d5033fdf 	isb
-    20001fc4:	d284a3a0 	mov	x0, #0x251d                	// #9501
-    20001fc8:	f2a4b3a0 	movk	x0, #0x259d, lsl #16
-    20001fcc:	f2c00e20 	movk	x0, #0x71, lsl #32
-    20001fd0:	f9000fe0 	str	x0, [sp, #24]
-    20001fd4:	f9400fe0 	ldr	x0, [sp, #24]
-    20001fd8:	d5182040 	msr	tcr_el1, x0
-    20001fdc:	d5033fdf 	isb
-    20001fe0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20001fe4:	d65f03c0 	ret
-    20001fe8:	d503201f 	nop
+0000000020001f10 <shm_loop>:
+    20001f10:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
+    20001f14:	910003fd 	mov	x29, sp
+    20001f18:	a90153f3 	stp	x19, x20, [sp, #16]
+    20001f1c:	d2800414 	mov	x20, #0x20                  	// #32
+    20001f20:	f2a7e014 	movk	x20, #0x3f00, lsl #16
+    20001f24:	d2a7e013 	mov	x19, #0x3f000000            	// #1056964608
+    20001f28:	a9025bf5 	stp	x21, x22, [sp, #32]
+    20001f2c:	d2800516 	mov	x22, #0x28                  	// #40
+    20001f30:	f2a7e016 	movk	x22, #0x3f00, lsl #16
+    20001f34:	d2800595 	mov	x21, #0x2c                  	// #44
+    20001f38:	f2a7e015 	movk	x21, #0x3f00, lsl #16
+    20001f3c:	a90363f7 	stp	x23, x24, [sp, #48]
+    20001f40:	d2800497 	mov	x23, #0x24                  	// #36
+    20001f44:	f2a7e017 	movk	x23, #0x3f00, lsl #16
+    20001f48:	b0000038 	adrp	x24, 20006000 <pvPortMalloc+0x20>
+    20001f4c:	d503201f 	nop
+    20001f50:	b9400260 	ldr	w0, [x19]
+    20001f54:	7103fc1f 	cmp	w0, #0xff
+    20001f58:	54ffffc1 	b.ne	20001f50 <shm_loop+0x40>  // b.any
+    20001f5c:	b9400280 	ldr	w0, [x20]
+    20001f60:	93407c00 	sxtw	x0, w0
+    20001f64:	97ffff6f 	bl	20001d20 <uart_puthex>
+    20001f68:	b9400280 	ldr	w0, [x20]
+    20001f6c:	97ffff25 	bl	20001c00 <uart_putchar>
+    20001f70:	b94002e0 	ldr	w0, [x23]
+    20001f74:	97ffff23 	bl	20001c00 <uart_putchar>
+    20001f78:	b94002c0 	ldr	w0, [x22]
+    20001f7c:	97ffff21 	bl	20001c00 <uart_putchar>
+    20001f80:	b94002a0 	ldr	w0, [x21]
+    20001f84:	97ffff1f 	bl	20001c00 <uart_putchar>
+    20001f88:	91058300 	add	x0, x24, #0x160
+    20001f8c:	97ffff55 	bl	20001ce0 <uart_puts>
+    20001f90:	b900027f 	str	wzr, [x19]
+    20001f94:	17ffffef 	b	20001f50 <shm_loop+0x40>
+	...
+
+0000000020001fa0 <init_pt>:
+    20001fa0:	f0002fe0 	adrp	x0, 20600000 <PT_BASE>
+    20001fa4:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
+    20001fa8:	d2802002 	mov	x2, #0x100                 	// #256
+    20001fac:	910003fd 	mov	x29, sp
+    20001fb0:	52800001 	mov	w1, #0x0                   	// #0
+    20001fb4:	91000000 	add	x0, x0, #0x0
+    20001fb8:	940000f2 	bl	20002380 <memset>
+    20001fbc:	b0003000 	adrp	x0, 20602000 <l2pte>
+    20001fc0:	d2a00042 	mov	x2, #0x20000               	// #131072
+    20001fc4:	52800001 	mov	w1, #0x0                   	// #0
+    20001fc8:	91000000 	add	x0, x0, #0x0
+    20001fcc:	940000ed 	bl	20002380 <memset>
+    20001fd0:	90003000 	adrp	x0, 20601000 <l1ptd_dummy>
+    20001fd4:	91040000 	add	x0, x0, #0x100
+    20001fd8:	a8c17bfd 	ldp	x29, x30, [sp], #16
+    20001fdc:	d1040000 	sub	x0, x0, #0x100
+    20001fe0:	d2802002 	mov	x2, #0x100                 	// #256
+    20001fe4:	52800001 	mov	w1, #0x0                   	// #0
+    20001fe8:	140000e6 	b	20002380 <memset>
     20001fec:	d503201f 	nop
 
-0000000020001ff0 <set_pt>:
-    20001ff0:	d2a80003 	mov	x3, #0x40000000            	// #1073741824
-    20001ff4:	b000300a 	adrp	x10, 20602000 <l2pte>
-    20001ff8:	91000146 	add	x6, x10, #0x0
-    20001ffc:	f0002feb 	adrp	x11, 20600000 <PT_BASE>
-    20002000:	91000167 	add	x7, x11, #0x0
-    20002004:	d10083ff 	sub	sp, sp, #0x20
-    20002008:	aa0003e9 	mov	x9, x0
-    2000200c:	aa0303e8 	mov	x8, x3
-    20002010:	d2800005 	mov	x5, #0x0                   	// #0
-    20002014:	d280c024 	mov	x4, #0x601                 	// #1537
-    20002018:	927454c2 	and	x2, x6, #0x3fffff000
-    2000201c:	d36284a0 	lsl	x0, x5, #30
-    20002020:	b2400442 	orr	x2, x2, #0x3
-    20002024:	aa0603e1 	mov	x1, x6
-    20002028:	f82578e2 	str	x2, [x7, x5, lsl #3]
-    2000202c:	d503201f 	nop
-    20002030:	aa040002 	orr	x2, x0, x4
-    20002034:	91480000 	add	x0, x0, #0x200, lsl #12
-    20002038:	eb00007f 	cmp	x3, x0
-    2000203c:	f9000fe2 	str	x2, [sp, #24]
-    20002040:	f9400fe2 	ldr	x2, [sp, #24]
-    20002044:	f8008422 	str	x2, [x1], #8
-    20002048:	54ffff41 	b.ne	20002030 <set_pt+0x40>  // b.any
-    2000204c:	910004a5 	add	x5, x5, #0x1
-    20002050:	914004c6 	add	x6, x6, #0x1, lsl #12
-    20002054:	f10080bf 	cmp	x5, #0x20
-    20002058:	8b080063 	add	x3, x3, x8
-    2000205c:	54fffde1 	b.ne	20002018 <set_pt+0x28>  // b.any
-    20002060:	aa0903e3 	mov	x3, x9
-    20002064:	91000167 	add	x7, x11, #0x0
-    20002068:	91000146 	add	x6, x10, #0x0
-    2000206c:	91028129 	add	x9, x9, #0xa0
-    20002070:	52808028 	mov	w8, #0x401                 	// #1025
-    20002074:	f9400061 	ldr	x1, [x3]
-    20002078:	d35efc21 	lsr	x1, x1, #30
-    2000207c:	8b0130c0 	add	x0, x6, x1, lsl #12
-    20002080:	92745400 	and	x0, x0, #0x3fffff000
-    20002084:	b2400400 	orr	x0, x0, #0x3
-    20002088:	f82178e0 	str	x0, [x7, x1, lsl #3]
-    2000208c:	a9400061 	ldp	x1, x0, [x3]
-    20002090:	d355fc21 	lsr	x1, x1, #21
-    20002094:	d355fc00 	lsr	x0, x0, #21
-    20002098:	f90007e1 	str	x1, [sp, #8]
-    2000209c:	f9000be0 	str	x0, [sp, #16]
-    200020a0:	f9400be0 	ldr	x0, [sp, #16]
-    200020a4:	b4000340 	cbz	x0, 2000210c <set_pt+0x11c>
-    200020a8:	39406861 	ldrb	w1, [x3, #26]
-    200020ac:	d2800002 	mov	x2, #0x0                   	// #0
-    200020b0:	79403065 	ldrh	w5, [x3, #24]
-    200020b4:	39406c60 	ldrb	w0, [x3, #27]
-    200020b8:	531a6421 	lsl	w1, w1, #6
-    200020bc:	2a052025 	orr	w5, w1, w5, lsl #8
-    200020c0:	2a000900 	orr	w0, w8, w0, lsl #2
-    200020c4:	2a0000a5 	orr	w5, w5, w0
-    200020c8:	93407ca5 	sxtw	x5, w5
-    200020cc:	d503201f 	nop
-    200020d0:	f94007e1 	ldr	x1, [sp, #8]
-    200020d4:	f9400860 	ldr	x0, [x3, #16]
-    200020d8:	8b020021 	add	x1, x1, x2
-    200020dc:	d36ba821 	lsl	x1, x1, #21
-    200020e0:	aa00d420 	orr	x0, x1, x0, lsl #53
-    200020e4:	aa050000 	orr	x0, x0, x5
-    200020e8:	f9000fe0 	str	x0, [sp, #24]
-    200020ec:	f94007e0 	ldr	x0, [sp, #8]
-    200020f0:	f9400fe4 	ldr	x4, [sp, #24]
-    200020f4:	f9400be1 	ldr	x1, [sp, #16]
-    200020f8:	8b020000 	add	x0, x0, x2
-    200020fc:	91000442 	add	x2, x2, #0x1
-    20002100:	f82078c4 	str	x4, [x6, x0, lsl #3]
-    20002104:	eb02003f 	cmp	x1, x2
-    20002108:	54fffe48 	b.hi	200020d0 <set_pt+0xe0>  // b.pmore
-    2000210c:	91008063 	add	x3, x3, #0x20
-    20002110:	eb03013f 	cmp	x9, x3
-    20002114:	54fffb01 	b.ne	20002074 <set_pt+0x84>  // b.any
-    20002118:	910083ff 	add	sp, sp, #0x20
-    2000211c:	d65f03c0 	ret
-
-0000000020002120 <update_pt>:
-    20002120:	b0000020 	adrp	x0, 20007000 <shared_memory2>
-    20002124:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-    20002128:	910003fd 	mov	x29, sp
-    2000212c:	f9409000 	ldr	x0, [x0, #288]
-    20002130:	97ffffb0 	bl	20001ff0 <set_pt>
-    20002134:	d2800000 	mov	x0, #0x0                   	// #0
-    20002138:	d5182000 	msr	ttbr0_el1, x0
-    2000213c:	d0002fe0 	adrp	x0, 20600000 <PT_BASE>
-    20002140:	91000000 	add	x0, x0, #0x0
-    20002144:	d5182000 	msr	ttbr0_el1, x0
-    20002148:	d5033fdf 	isb
-    2000214c:	d5381000 	mrs	x0, sctlr_el1
-    20002150:	f9000fe0 	str	x0, [sp, #24]
-    20002154:	d28203a1 	mov	x1, #0x101d                	// #4125
-    20002158:	f9400fe0 	ldr	x0, [sp, #24]
-    2000215c:	aa010000 	orr	x0, x0, x1
-    20002160:	f9000fe0 	str	x0, [sp, #24]
-    20002164:	f9400fe0 	ldr	x0, [sp, #24]
-    20002168:	926cf800 	and	x0, x0, #0xfffffffffff7ffff
-    2000216c:	f9000fe0 	str	x0, [sp, #24]
-    20002170:	f9400fe0 	ldr	x0, [sp, #24]
-    20002174:	d5181000 	msr	sctlr_el1, x0
-    20002178:	d5033f9f 	dsb	sy
-    2000217c:	d5033fdf 	isb
-    20002180:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20002184:	d65f03c0 	ret
-    20002188:	d503201f 	nop
-    2000218c:	d503201f 	nop
-
-0000000020002190 <configure_mmu>:
-    20002190:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-    20002194:	910003fd 	mov	x29, sp
-    20002198:	97ffff72 	bl	20001f60 <init_regs>
-    2000219c:	97ffff5d 	bl	20001f10 <init_pt>
-    200021a0:	a8c17bfd 	ldp	x29, x30, [sp], #16
-    200021a4:	17ffffdf 	b	20002120 <update_pt>
-
-00000000200021a8 <__asm_dcache_level>:
-    200021a8:	d37ff80c 	lsl	x12, x0, #1
-    200021ac:	d51a000c 	msr	csselr_el1, x12
-    200021b0:	d5033fdf 	isb
-    200021b4:	d5390006 	mrs	x6, ccsidr_el1
-    200021b8:	924008c2 	and	x2, x6, #0x7
-    200021bc:	91001042 	add	x2, x2, #0x4
-    200021c0:	d2807fe3 	mov	x3, #0x3ff                 	// #1023
-    200021c4:	8a460c63 	and	x3, x3, x6, lsr #3
-    200021c8:	5ac01065 	clz	w5, w3
-    200021cc:	d28fffe4 	mov	x4, #0x7fff                	// #32767
-    200021d0:	8a463484 	and	x4, x4, x6, lsr #13
-
-00000000200021d4 <loop_set>:
-    200021d4:	aa0303e6 	mov	x6, x3
-
-00000000200021d8 <loop_way>:
-    200021d8:	9ac520c7 	lsl	x7, x6, x5
-    200021dc:	aa070189 	orr	x9, x12, x7
-    200021e0:	9ac22087 	lsl	x7, x4, x2
-    200021e4:	aa070129 	orr	x9, x9, x7
-    200021e8:	36000061 	tbz	w1, #0, 200021f4 <loop_way+0x1c>
-    200021ec:	d5087649 	dc	isw, x9
-    200021f0:	14000002 	b	200021f8 <loop_way+0x20>
-    200021f4:	d5087e49 	dc	cisw, x9
-    200021f8:	f10004c6 	subs	x6, x6, #0x1
-    200021fc:	54fffeea 	b.ge	200021d8 <loop_way>  // b.tcont
-    20002200:	f1000484 	subs	x4, x4, #0x1
-    20002204:	54fffe8a 	b.ge	200021d4 <loop_set>  // b.tcont
-    20002208:	d65f03c0 	ret
-
-000000002000220c <__asm_dcache_all>:
-    2000220c:	aa0003e1 	mov	x1, x0
-    20002210:	d5033f9f 	dsb	sy
-    20002214:	d539002a 	mrs	x10, clidr_el1
-    20002218:	d358fd4b 	lsr	x11, x10, #24
-    2000221c:	9240096b 	and	x11, x11, #0x7
-    20002220:	b400024b 	cbz	x11, 20002268 <finished>
-    20002224:	aa1e03ef 	mov	x15, x30
-    20002228:	d2800000 	mov	x0, #0x0                   	// #0
-
-000000002000222c <loop_level>:
-    2000222c:	d37ff80c 	lsl	x12, x0, #1
-    20002230:	8b00018c 	add	x12, x12, x0
-    20002234:	9acc254c 	lsr	x12, x10, x12
-    20002238:	9240098c 	and	x12, x12, #0x7
-    2000223c:	f100099f 	cmp	x12, #0x2
-    20002240:	5400004b 	b.lt	20002248 <skip>  // b.tstop
-    20002244:	97ffffd9 	bl	200021a8 <__asm_dcache_level>
-
-0000000020002248 <skip>:
-    20002248:	91000400 	add	x0, x0, #0x1
-    2000224c:	eb00017f 	cmp	x11, x0
-    20002250:	54fffeec 	b.gt	2000222c <loop_level>
-    20002254:	d2800000 	mov	x0, #0x0                   	// #0
-    20002258:	d51a0000 	msr	csselr_el1, x0
-    2000225c:	d5033f9f 	dsb	sy
-    20002260:	d5033fdf 	isb
-    20002264:	aa0f03fe 	mov	x30, x15
-
-0000000020002268 <finished>:
-    20002268:	d65f03c0 	ret
-
-000000002000226c <flush_dcache_all>:
-    2000226c:	d2800000 	mov	x0, #0x0                   	// #0
-    20002270:	17ffffe7 	b	2000220c <__asm_dcache_all>
-    20002274:	d65f03c0 	ret
-
-0000000020002278 <invalidate_dcache_all>:
-    20002278:	d2800020 	mov	x0, #0x1                   	// #1
-    2000227c:	17ffffe4 	b	2000220c <__asm_dcache_all>
-    20002280:	d65f03c0 	ret
-
-0000000020002284 <flush_dcache_range>:
-    20002284:	d53b0023 	mrs	x3, ctr_el0
-    20002288:	d350fc63 	lsr	x3, x3, #16
-    2000228c:	92400c63 	and	x3, x3, #0xf
-    20002290:	d2800082 	mov	x2, #0x4                   	// #4
-    20002294:	9ac32042 	lsl	x2, x2, x3
-    20002298:	d1000443 	sub	x3, x2, #0x1
-    2000229c:	8a230000 	bic	x0, x0, x3
-    200022a0:	d50b7e20 	dc	civac, x0
-    200022a4:	8b020000 	add	x0, x0, x2
-    200022a8:	eb01001f 	cmp	x0, x1
-    200022ac:	54ffffa3 	b.cc	200022a0 <flush_dcache_range+0x1c>  // b.lo, b.ul, b.last
-    200022b0:	d5033f9f 	dsb	sy
-    200022b4:	d65f03c0 	ret
-
-00000000200022b8 <invalidate_dcache_range>:
-    200022b8:	d53b0023 	mrs	x3, ctr_el0
-    200022bc:	d3504c63 	ubfx	x3, x3, #16, #4
-    200022c0:	d2800082 	mov	x2, #0x4                   	// #4
-    200022c4:	9ac32042 	lsl	x2, x2, x3
-    200022c8:	d1000443 	sub	x3, x2, #0x1
-    200022cc:	8a230000 	bic	x0, x0, x3
-    200022d0:	d5087620 	dc	ivac, x0
-    200022d4:	8b020000 	add	x0, x0, x2
-    200022d8:	eb01001f 	cmp	x0, x1
-    200022dc:	54ffffa3 	b.cc	200022d0 <invalidate_dcache_range+0x18>  // b.lo, b.ul, b.last
-    200022e0:	d5033f9f 	dsb	sy
-    200022e4:	d65f03c0 	ret
+0000000020001ff0 <init_regs>:
+    20001ff0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
+    20001ff4:	910003fd 	mov	x29, sp
+    20001ff8:	f9000fff 	str	xzr, [sp, #24]
+    20001ffc:	f9400fe0 	ldr	x0, [sp, #24]
+    20002000:	d5181000 	msr	sctlr_el1, x0
+    20002004:	d5033fdf 	isb
+    20002008:	d508871f 	tlbi	vmalle1
+    2000200c:	d508751f 	ic	iallu
+    20002010:	940000be 	bl	20002308 <invalidate_dcache_all>
+    20002014:	d5033f9f 	dsb	sy
+    20002018:	d5033fdf 	isb
+    2000201c:	d2888000 	mov	x0, #0x4400                	// #17408
+    20002020:	f2bff760 	movk	x0, #0xffbb, lsl #16
+    20002024:	f9000fe0 	str	x0, [sp, #24]
+    20002028:	f9400fe0 	ldr	x0, [sp, #24]
+    2000202c:	d518a200 	msr	mair_el1, x0
+    20002030:	d5033fdf 	isb
+    20002034:	d0002fe0 	adrp	x0, 20600000 <PT_BASE>
+    20002038:	91000000 	add	x0, x0, #0x0
+    2000203c:	d5182000 	msr	ttbr0_el1, x0
+    20002040:	f0002fe0 	adrp	x0, 20601000 <l1ptd_dummy>
+    20002044:	91040000 	add	x0, x0, #0x100
+    20002048:	d1040000 	sub	x0, x0, #0x100
+    2000204c:	d5182020 	msr	ttbr1_el1, x0
+    20002050:	d5033fdf 	isb
+    20002054:	d284a3a0 	mov	x0, #0x251d                	// #9501
+    20002058:	f2a4b3a0 	movk	x0, #0x259d, lsl #16
+    2000205c:	f2c00e20 	movk	x0, #0x71, lsl #32
+    20002060:	f9000fe0 	str	x0, [sp, #24]
+    20002064:	f9400fe0 	ldr	x0, [sp, #24]
+    20002068:	d5182040 	msr	tcr_el1, x0
+    2000206c:	d5033fdf 	isb
+    20002070:	a8c27bfd 	ldp	x29, x30, [sp], #32
+    20002074:	d65f03c0 	ret
+    20002078:	d503201f 	nop
+    2000207c:	d503201f 	nop
+
+0000000020002080 <set_pt>:
+    20002080:	d2a80003 	mov	x3, #0x40000000            	// #1073741824
+    20002084:	9000300a 	adrp	x10, 20602000 <l2pte>
+    20002088:	91000146 	add	x6, x10, #0x0
+    2000208c:	d0002feb 	adrp	x11, 20600000 <PT_BASE>
+    20002090:	91000167 	add	x7, x11, #0x0
+    20002094:	d10083ff 	sub	sp, sp, #0x20
+    20002098:	aa0003e9 	mov	x9, x0
+    2000209c:	aa0303e8 	mov	x8, x3
+    200020a0:	d2800005 	mov	x5, #0x0                   	// #0
+    200020a4:	d280c024 	mov	x4, #0x601                 	// #1537
+    200020a8:	927454c2 	and	x2, x6, #0x3fffff000
+    200020ac:	d36284a0 	lsl	x0, x5, #30
+    200020b0:	b2400442 	orr	x2, x2, #0x3
+    200020b4:	aa0603e1 	mov	x1, x6
+    200020b8:	f82578e2 	str	x2, [x7, x5, lsl #3]
+    200020bc:	d503201f 	nop
+    200020c0:	aa040002 	orr	x2, x0, x4
+    200020c4:	91480000 	add	x0, x0, #0x200, lsl #12
+    200020c8:	eb00007f 	cmp	x3, x0
+    200020cc:	f9000fe2 	str	x2, [sp, #24]
+    200020d0:	f9400fe2 	ldr	x2, [sp, #24]
+    200020d4:	f8008422 	str	x2, [x1], #8
+    200020d8:	54ffff41 	b.ne	200020c0 <set_pt+0x40>  // b.any
+    200020dc:	910004a5 	add	x5, x5, #0x1
+    200020e0:	914004c6 	add	x6, x6, #0x1, lsl #12
+    200020e4:	f10080bf 	cmp	x5, #0x20
+    200020e8:	8b080063 	add	x3, x3, x8
+    200020ec:	54fffde1 	b.ne	200020a8 <set_pt+0x28>  // b.any
+    200020f0:	aa0903e3 	mov	x3, x9
+    200020f4:	91000167 	add	x7, x11, #0x0
+    200020f8:	91000146 	add	x6, x10, #0x0
+    200020fc:	91028129 	add	x9, x9, #0xa0
+    20002100:	52808028 	mov	w8, #0x401                 	// #1025
+    20002104:	f9400061 	ldr	x1, [x3]
+    20002108:	d35efc21 	lsr	x1, x1, #30
+    2000210c:	8b0130c0 	add	x0, x6, x1, lsl #12
+    20002110:	92745400 	and	x0, x0, #0x3fffff000
+    20002114:	b2400400 	orr	x0, x0, #0x3
+    20002118:	f82178e0 	str	x0, [x7, x1, lsl #3]
+    2000211c:	a9400061 	ldp	x1, x0, [x3]
+    20002120:	d355fc21 	lsr	x1, x1, #21
+    20002124:	d355fc00 	lsr	x0, x0, #21
+    20002128:	f90007e1 	str	x1, [sp, #8]
+    2000212c:	f9000be0 	str	x0, [sp, #16]
+    20002130:	f9400be0 	ldr	x0, [sp, #16]
+    20002134:	b4000340 	cbz	x0, 2000219c <set_pt+0x11c>
+    20002138:	39406861 	ldrb	w1, [x3, #26]
+    2000213c:	d2800002 	mov	x2, #0x0                   	// #0
+    20002140:	79403065 	ldrh	w5, [x3, #24]
+    20002144:	39406c60 	ldrb	w0, [x3, #27]
+    20002148:	531a6421 	lsl	w1, w1, #6
+    2000214c:	2a052025 	orr	w5, w1, w5, lsl #8
+    20002150:	2a000900 	orr	w0, w8, w0, lsl #2
+    20002154:	2a0000a5 	orr	w5, w5, w0
+    20002158:	93407ca5 	sxtw	x5, w5
+    2000215c:	d503201f 	nop
+    20002160:	f94007e1 	ldr	x1, [sp, #8]
+    20002164:	f9400860 	ldr	x0, [x3, #16]
+    20002168:	8b020021 	add	x1, x1, x2
+    2000216c:	d36ba821 	lsl	x1, x1, #21
+    20002170:	aa00d420 	orr	x0, x1, x0, lsl #53
+    20002174:	aa050000 	orr	x0, x0, x5
+    20002178:	f9000fe0 	str	x0, [sp, #24]
+    2000217c:	f94007e0 	ldr	x0, [sp, #8]
+    20002180:	f9400fe4 	ldr	x4, [sp, #24]
+    20002184:	f9400be1 	ldr	x1, [sp, #16]
+    20002188:	8b020000 	add	x0, x0, x2
+    2000218c:	91000442 	add	x2, x2, #0x1
+    20002190:	f82078c4 	str	x4, [x6, x0, lsl #3]
+    20002194:	eb02003f 	cmp	x1, x2
+    20002198:	54fffe48 	b.hi	20002160 <set_pt+0xe0>  // b.pmore
+    2000219c:	91008063 	add	x3, x3, #0x20
+    200021a0:	eb03013f 	cmp	x9, x3
+    200021a4:	54fffb01 	b.ne	20002104 <set_pt+0x84>  // b.any
+    200021a8:	910083ff 	add	sp, sp, #0x20
+    200021ac:	d65f03c0 	ret
+
+00000000200021b0 <update_pt>:
+    200021b0:	b0000020 	adrp	x0, 20007000 <shared_memory>
+    200021b4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
+    200021b8:	910003fd 	mov	x29, sp
+    200021bc:	f9408800 	ldr	x0, [x0, #272]
+    200021c0:	97ffffb0 	bl	20002080 <set_pt>
+    200021c4:	d2800000 	mov	x0, #0x0                   	// #0
+    200021c8:	d5182000 	msr	ttbr0_el1, x0
+    200021cc:	d0002fe0 	adrp	x0, 20600000 <PT_BASE>
+    200021d0:	91000000 	add	x0, x0, #0x0
+    200021d4:	d5182000 	msr	ttbr0_el1, x0
+    200021d8:	d5033fdf 	isb
+    200021dc:	d5381000 	mrs	x0, sctlr_el1
+    200021e0:	f9000fe0 	str	x0, [sp, #24]
+    200021e4:	d28203a1 	mov	x1, #0x101d                	// #4125
+    200021e8:	f9400fe0 	ldr	x0, [sp, #24]
+    200021ec:	aa010000 	orr	x0, x0, x1
+    200021f0:	f9000fe0 	str	x0, [sp, #24]
+    200021f4:	f9400fe0 	ldr	x0, [sp, #24]
+    200021f8:	926cf800 	and	x0, x0, #0xfffffffffff7ffff
+    200021fc:	f9000fe0 	str	x0, [sp, #24]
+    20002200:	f9400fe0 	ldr	x0, [sp, #24]
+    20002204:	d5181000 	msr	sctlr_el1, x0
+    20002208:	d5033f9f 	dsb	sy
+    2000220c:	d5033fdf 	isb
+    20002210:	a8c27bfd 	ldp	x29, x30, [sp], #32
+    20002214:	d65f03c0 	ret
+    20002218:	d503201f 	nop
+    2000221c:	d503201f 	nop
+
+0000000020002220 <configure_mmu>:
+    20002220:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
+    20002224:	910003fd 	mov	x29, sp
+    20002228:	97ffff72 	bl	20001ff0 <init_regs>
+    2000222c:	97ffff5d 	bl	20001fa0 <init_pt>
+    20002230:	a8c17bfd 	ldp	x29, x30, [sp], #16
+    20002234:	17ffffdf 	b	200021b0 <update_pt>
+
+0000000020002238 <__asm_dcache_level>:
+    20002238:	d37ff80c 	lsl	x12, x0, #1
+    2000223c:	d51a000c 	msr	csselr_el1, x12
+    20002240:	d5033fdf 	isb
+    20002244:	d5390006 	mrs	x6, ccsidr_el1
+    20002248:	924008c2 	and	x2, x6, #0x7
+    2000224c:	91001042 	add	x2, x2, #0x4
+    20002250:	d2807fe3 	mov	x3, #0x3ff                 	// #1023
+    20002254:	8a460c63 	and	x3, x3, x6, lsr #3
+    20002258:	5ac01065 	clz	w5, w3
+    2000225c:	d28fffe4 	mov	x4, #0x7fff                	// #32767
+    20002260:	8a463484 	and	x4, x4, x6, lsr #13
+
+0000000020002264 <loop_set>:
+    20002264:	aa0303e6 	mov	x6, x3
+
+0000000020002268 <loop_way>:
+    20002268:	9ac520c7 	lsl	x7, x6, x5
+    2000226c:	aa070189 	orr	x9, x12, x7
+    20002270:	9ac22087 	lsl	x7, x4, x2
+    20002274:	aa070129 	orr	x9, x9, x7
+    20002278:	36000061 	tbz	w1, #0, 20002284 <loop_way+0x1c>
+    2000227c:	d5087649 	dc	isw, x9
+    20002280:	14000002 	b	20002288 <loop_way+0x20>
+    20002284:	d5087e49 	dc	cisw, x9
+    20002288:	f10004c6 	subs	x6, x6, #0x1
+    2000228c:	54fffeea 	b.ge	20002268 <loop_way>  // b.tcont
+    20002290:	f1000484 	subs	x4, x4, #0x1
+    20002294:	54fffe8a 	b.ge	20002264 <loop_set>  // b.tcont
+    20002298:	d65f03c0 	ret
+
+000000002000229c <__asm_dcache_all>:
+    2000229c:	aa0003e1 	mov	x1, x0
+    200022a0:	d5033f9f 	dsb	sy
+    200022a4:	d539002a 	mrs	x10, clidr_el1
+    200022a8:	d358fd4b 	lsr	x11, x10, #24
+    200022ac:	9240096b 	and	x11, x11, #0x7
+    200022b0:	b400024b 	cbz	x11, 200022f8 <finished>
+    200022b4:	aa1e03ef 	mov	x15, x30
+    200022b8:	d2800000 	mov	x0, #0x0                   	// #0
+
+00000000200022bc <loop_level>:
+    200022bc:	d37ff80c 	lsl	x12, x0, #1
+    200022c0:	8b00018c 	add	x12, x12, x0
+    200022c4:	9acc254c 	lsr	x12, x10, x12
+    200022c8:	9240098c 	and	x12, x12, #0x7
+    200022cc:	f100099f 	cmp	x12, #0x2
+    200022d0:	5400004b 	b.lt	200022d8 <skip>  // b.tstop
+    200022d4:	97ffffd9 	bl	20002238 <__asm_dcache_level>
+
+00000000200022d8 <skip>:
+    200022d8:	91000400 	add	x0, x0, #0x1
+    200022dc:	eb00017f 	cmp	x11, x0
+    200022e0:	54fffeec 	b.gt	200022bc <loop_level>
+    200022e4:	d2800000 	mov	x0, #0x0                   	// #0
+    200022e8:	d51a0000 	msr	csselr_el1, x0
+    200022ec:	d5033f9f 	dsb	sy
+    200022f0:	d5033fdf 	isb
+    200022f4:	aa0f03fe 	mov	x30, x15
+
+00000000200022f8 <finished>:
+    200022f8:	d65f03c0 	ret
+
+00000000200022fc <flush_dcache_all>:
+    200022fc:	d2800000 	mov	x0, #0x0                   	// #0
+    20002300:	17ffffe7 	b	2000229c <__asm_dcache_all>
+    20002304:	d65f03c0 	ret
+
+0000000020002308 <invalidate_dcache_all>:
+    20002308:	d2800020 	mov	x0, #0x1                   	// #1
+    2000230c:	17ffffe4 	b	2000229c <__asm_dcache_all>
+    20002310:	d65f03c0 	ret
+
+0000000020002314 <flush_dcache_range>:
+    20002314:	d53b0023 	mrs	x3, ctr_el0
+    20002318:	d350fc63 	lsr	x3, x3, #16
+    2000231c:	92400c63 	and	x3, x3, #0xf
+    20002320:	d2800082 	mov	x2, #0x4                   	// #4
+    20002324:	9ac32042 	lsl	x2, x2, x3
+    20002328:	d1000443 	sub	x3, x2, #0x1
+    2000232c:	8a230000 	bic	x0, x0, x3
+    20002330:	d50b7e20 	dc	civac, x0
+    20002334:	8b020000 	add	x0, x0, x2
+    20002338:	eb01001f 	cmp	x0, x1
+    2000233c:	54ffffa3 	b.cc	20002330 <flush_dcache_range+0x1c>  // b.lo, b.ul, b.last
+    20002340:	d5033f9f 	dsb	sy
+    20002344:	d65f03c0 	ret
+
+0000000020002348 <invalidate_dcache_range>:
+    20002348:	d53b0023 	mrs	x3, ctr_el0
+    2000234c:	d3504c63 	ubfx	x3, x3, #16, #4
+    20002350:	d2800082 	mov	x2, #0x4                   	// #4
+    20002354:	9ac32042 	lsl	x2, x2, x3
+    20002358:	d1000443 	sub	x3, x2, #0x1
+    2000235c:	8a230000 	bic	x0, x0, x3
+    20002360:	d5087620 	dc	ivac, x0
+    20002364:	8b020000 	add	x0, x0, x2
+    20002368:	eb01001f 	cmp	x0, x1
+    2000236c:	54ffffa3 	b.cc	20002360 <invalidate_dcache_range+0x18>  // b.lo, b.ul, b.last
+    20002370:	d5033f9f 	dsb	sy
+    20002374:	d65f03c0 	ret
 	...
 
-00000000200022f0 <memset>:
-    200022f0:	b40006e2 	cbz	x2, 200023cc <memset+0xdc>
-    200022f4:	12001c23 	and	w3, w1, #0xff
-    200022f8:	8b020004 	add	x4, x0, x2
-    200022fc:	f100085f 	cmp	x2, #0x2
-    20002300:	39000003 	strb	w3, [x0]
-    20002304:	381ff083 	sturb	w3, [x4, #-1]
-    20002308:	54000629 	b.ls	200023cc <memset+0xdc>  // b.plast
-    2000230c:	39000403 	strb	w3, [x0, #1]
-    20002310:	f100185f 	cmp	x2, #0x6
-    20002314:	39000803 	strb	w3, [x0, #2]
-    20002318:	381fd083 	sturb	w3, [x4, #-3]
-    2000231c:	381fe083 	sturb	w3, [x4, #-2]
-    20002320:	54000569 	b.ls	200023cc <memset+0xdc>  // b.plast
-    20002324:	39000c03 	strb	w3, [x0, #3]
-    20002328:	f100205f 	cmp	x2, #0x8
-    2000232c:	381fc083 	sturb	w3, [x4, #-4]
-    20002330:	540004e9 	b.ls	200023cc <memset+0xdc>  // b.plast
-    20002334:	12001c21 	and	w1, w1, #0xff
-    20002338:	3200c3e4 	mov	w4, #0x1010101             	// #16843009
-    2000233c:	cb0003e3 	neg	x3, x0
-    20002340:	92400463 	and	x3, x3, #0x3
-    20002344:	1b047c21 	mul	w1, w1, w4
-    20002348:	cb030042 	sub	x2, x2, x3
-    2000234c:	8b030005 	add	x5, x0, x3
-    20002350:	927ef442 	and	x2, x2, #0xfffffffffffffffc
-    20002354:	8b0200a6 	add	x6, x5, x2
-    20002358:	b8236801 	str	w1, [x0, x3]
-    2000235c:	f100205f 	cmp	x2, #0x8
-    20002360:	b81fc0c1 	stur	w1, [x6, #-4]
-    20002364:	54000349 	b.ls	200023cc <memset+0xdc>  // b.plast
-    20002368:	290084a1 	stp	w1, w1, [x5, #4]
-    2000236c:	f100605f 	cmp	x2, #0x18
-    20002370:	293e84c1 	stp	w1, w1, [x6, #-12]
-    20002374:	540002c9 	b.ls	200023cc <memset+0xdc>  // b.plast
-    20002378:	927e00a3 	and	x3, x5, #0x4
-    2000237c:	290184a1 	stp	w1, w1, [x5, #12]
-    20002380:	2a0103e4 	mov	w4, w1
-    20002384:	91006063 	add	x3, x3, #0x18
-    20002388:	290284a1 	stp	w1, w1, [x5, #20]
-    2000238c:	aa018084 	orr	x4, x4, x1, lsl #32
-    20002390:	cb030042 	sub	x2, x2, x3
-    20002394:	293c84c1 	stp	w1, w1, [x6, #-28]
-    20002398:	8b0300a3 	add	x3, x5, x3
-    2000239c:	f1007c5f 	cmp	x2, #0x1f
-    200023a0:	293d84c1 	stp	w1, w1, [x6, #-20]
-    200023a4:	54000149 	b.ls	200023cc <memset+0xdc>  // b.plast
-    200023a8:	d1008041 	sub	x1, x2, #0x20
-    200023ac:	927be821 	and	x1, x1, #0xffffffffffffffe0
-    200023b0:	91008021 	add	x1, x1, #0x20
-    200023b4:	8b010061 	add	x1, x3, x1
-    200023b8:	a9001064 	stp	x4, x4, [x3]
-    200023bc:	a9011064 	stp	x4, x4, [x3, #16]
-    200023c0:	91008063 	add	x3, x3, #0x20
-    200023c4:	eb01007f 	cmp	x3, x1
-    200023c8:	54ffff81 	b.ne	200023b8 <memset+0xc8>  // b.any
-    200023cc:	d65f03c0 	ret
-
-00000000200023d0 <memcpy>:
-    200023d0:	f240043f 	tst	x1, #0x3
-    200023d4:	54001580 	b.eq	20002684 <memcpy+0x2b4>  // b.none
-    200023d8:	b4000942 	cbz	x2, 20002500 <memcpy+0x130>
-    200023dc:	aa0003e3 	mov	x3, x0
-    200023e0:	14000002 	b	200023e8 <memcpy+0x18>
-    200023e4:	b40008e2 	cbz	x2, 20002500 <memcpy+0x130>
-    200023e8:	38401424 	ldrb	w4, [x1], #1
-    200023ec:	d1000442 	sub	x2, x2, #0x1
-    200023f0:	f240043f 	tst	x1, #0x3
-    200023f4:	38001464 	strb	w4, [x3], #1
-    200023f8:	54ffff61 	b.ne	200023e4 <memcpy+0x14>  // b.any
-    200023fc:	f2400464 	ands	x4, x3, #0x3
-    20002400:	54000820 	b.eq	20002504 <memcpy+0x134>  // b.none
-    20002404:	f1007c5f 	cmp	x2, #0x1f
-    20002408:	54000509 	b.ls	200024a8 <memcpy+0xd8>  // b.plast
-    2000240c:	f100089f 	cmp	x4, #0x2
-    20002410:	39400025 	ldrb	w5, [x1]
-    20002414:	b9400029 	ldr	w9, [x1]
-    20002418:	54000fa0 	b.eq	2000260c <memcpy+0x23c>  // b.none
-    2000241c:	f1000c9f 	cmp	x4, #0x3
-    20002420:	54000b80 	b.eq	20002590 <memcpy+0x1c0>  // b.none
-    20002424:	79400026 	ldrh	w6, [x1]
-    20002428:	d100504a 	sub	x10, x2, #0x14
-    2000242c:	aa0303eb 	mov	x11, x3
-    20002430:	927ced48 	and	x8, x10, #0xfffffffffffffff0
-    20002434:	91000c2c 	add	x12, x1, #0x3
-    20002438:	39400825 	ldrb	w5, [x1, #2]
-    2000243c:	91004d08 	add	x8, x8, #0x13
-    20002440:	d344fd4a 	lsr	x10, x10, #4
-    20002444:	8b080068 	add	x8, x3, x8
-    20002448:	aa0c03e4 	mov	x4, x12
-    2000244c:	78003566 	strh	w6, [x11], #3
-    20002450:	aa0b03e1 	mov	x1, x11
-    20002454:	39000865 	strb	w5, [x3, #2]
-    20002458:	b8401086 	ldur	w6, [x4, #1]
-    2000245c:	91004084 	add	x4, x4, #0x10
-    20002460:	b85f5085 	ldur	w5, [x4, #-11]
-    20002464:	b85f9083 	ldur	w3, [x4, #-7]
-    20002468:	138960c7 	extr	w7, w6, w9, #24
-    2000246c:	b85fd089 	ldur	w9, [x4, #-3]
-    20002470:	138660a6 	extr	w6, w5, w6, #24
-    20002474:	13856065 	extr	w5, w3, w5, #24
-    20002478:	29001827 	stp	w7, w6, [x1]
-    2000247c:	13836123 	extr	w3, w9, w3, #24
-    20002480:	29010c25 	stp	w5, w3, [x1, #8]
-    20002484:	91004021 	add	x1, x1, #0x10
-    20002488:	eb01011f 	cmp	x8, x1
-    2000248c:	54fffe61 	b.ne	20002458 <memcpy+0x88>  // b.any
-    20002490:	91000541 	add	x1, x10, #0x1
-    20002494:	d1004c42 	sub	x2, x2, #0x13
-    20002498:	d37cec21 	lsl	x1, x1, #4
-    2000249c:	cb0a1042 	sub	x2, x2, x10, lsl #4
-    200024a0:	8b010163 	add	x3, x11, x1
-    200024a4:	8b010181 	add	x1, x12, x1
-    200024a8:	927d0047 	and	x7, x2, #0x8
-    200024ac:	927e0046 	and	x6, x2, #0x4
-    200024b0:	927f0045 	and	x5, x2, #0x2
-    200024b4:	92400044 	and	x4, x2, #0x1
-    200024b8:	36200ee2 	tbz	w2, #4, 20002694 <memcpy+0x2c4>
-    200024bc:	f9400428 	ldr	x8, [x1, #8]
-    200024c0:	aa0303e2 	mov	x2, x3
-    200024c4:	f8410429 	ldr	x9, [x1], #16
-    200024c8:	f8010449 	str	x9, [x2], #16
-    200024cc:	f9000468 	str	x8, [x3, #8]
-    200024d0:	b4000067 	cbz	x7, 200024dc <memcpy+0x10c>
-    200024d4:	f8408423 	ldr	x3, [x1], #8
-    200024d8:	f8008443 	str	x3, [x2], #8
-    200024dc:	b4000066 	cbz	x6, 200024e8 <memcpy+0x118>
-    200024e0:	b8404423 	ldr	w3, [x1], #4
-    200024e4:	b8004443 	str	w3, [x2], #4
-    200024e8:	b4000065 	cbz	x5, 200024f4 <memcpy+0x124>
-    200024ec:	78402423 	ldrh	w3, [x1], #2
-    200024f0:	78002443 	strh	w3, [x2], #2
-    200024f4:	b4000064 	cbz	x4, 20002500 <memcpy+0x130>
-    200024f8:	39400021 	ldrb	w1, [x1]
-    200024fc:	39000041 	strb	w1, [x2]
-    20002500:	d65f03c0 	ret
-    20002504:	f1003c5f 	cmp	x2, #0xf
-    20002508:	54000c29 	b.ls	2000268c <memcpy+0x2bc>  // b.plast
-    2000250c:	d1004049 	sub	x9, x2, #0x10
-    20002510:	aa0103e4 	mov	x4, x1
-    20002514:	927ced29 	and	x9, x9, #0xfffffffffffffff0
-    20002518:	91004129 	add	x9, x9, #0x10
-    2000251c:	8b090068 	add	x8, x3, x9
-    20002520:	29401c85 	ldp	w5, w7, [x4]
-    20002524:	91004084 	add	x4, x4, #0x10
-    20002528:	b85f8086 	ldur	w6, [x4, #-8]
-    2000252c:	29001c65 	stp	w5, w7, [x3]
-    20002530:	91004063 	add	x3, x3, #0x10
-    20002534:	b85fc085 	ldur	w5, [x4, #-4]
-    20002538:	b81f8066 	stur	w6, [x3, #-8]
-    2000253c:	b81fc065 	stur	w5, [x3, #-4]
-    20002540:	eb08007f 	cmp	x3, x8
-    20002544:	54fffee1 	b.ne	20002520 <memcpy+0x150>  // b.any
-    20002548:	92400c42 	and	x2, x2, #0xf
-    2000254c:	8b090021 	add	x1, x1, x9
-    20002550:	927e0045 	and	x5, x2, #0x4
-    20002554:	927f0044 	and	x4, x2, #0x2
-    20002558:	92400043 	and	x3, x2, #0x1
-    2000255c:	36180062 	tbz	w2, #3, 20002568 <memcpy+0x198>
-    20002560:	f8408422 	ldr	x2, [x1], #8
-    20002564:	f8008502 	str	x2, [x8], #8
-    20002568:	b4000065 	cbz	x5, 20002574 <memcpy+0x1a4>
-    2000256c:	b8404422 	ldr	w2, [x1], #4
-    20002570:	b8004502 	str	w2, [x8], #4
-    20002574:	b4000064 	cbz	x4, 20002580 <memcpy+0x1b0>
-    20002578:	78402422 	ldrh	w2, [x1], #2
-    2000257c:	78002502 	strh	w2, [x8], #2
-    20002580:	b4fffc03 	cbz	x3, 20002500 <memcpy+0x130>
-    20002584:	39400021 	ldrb	w1, [x1]
-    20002588:	39000101 	strb	w1, [x8]
-    2000258c:	d65f03c0 	ret
-    20002590:	d100504b 	sub	x11, x2, #0x14
-    20002594:	aa0303ec 	mov	x12, x3
-    20002598:	927ced6a 	and	x10, x11, #0xfffffffffffffff0
-    2000259c:	91000421 	add	x1, x1, #0x1
-    200025a0:	9100454a 	add	x10, x10, #0x11
-    200025a4:	d344fd6b 	lsr	x11, x11, #4
-    200025a8:	38001585 	strb	w5, [x12], #1
-    200025ac:	8b0a006a 	add	x10, x3, x10
-    200025b0:	aa0103e4 	mov	x4, x1
-    200025b4:	aa0c03e3 	mov	x3, x12
-    200025b8:	b8403087 	ldur	w7, [x4, #3]
-    200025bc:	91004084 	add	x4, x4, #0x10
-    200025c0:	b85f7086 	ldur	w6, [x4, #-9]
-    200025c4:	b85fb085 	ldur	w5, [x4, #-5]
-    200025c8:	138920e8 	extr	w8, w7, w9, #8
-    200025cc:	b85ff089 	ldur	w9, [x4, #-1]
-    200025d0:	138720c7 	extr	w7, w6, w7, #8
-    200025d4:	138620a6 	extr	w6, w5, w6, #8
-    200025d8:	29001c68 	stp	w8, w7, [x3]
-    200025dc:	13852125 	extr	w5, w9, w5, #8
-    200025e0:	29011466 	stp	w6, w5, [x3, #8]
-    200025e4:	91004063 	add	x3, x3, #0x10
-    200025e8:	eb0a007f 	cmp	x3, x10
-    200025ec:	54fffe61 	b.ne	200025b8 <memcpy+0x1e8>  // b.any
-    200025f0:	91000564 	add	x4, x11, #0x1
-    200025f4:	d1004442 	sub	x2, x2, #0x11
-    200025f8:	d37cec84 	lsl	x4, x4, #4
-    200025fc:	cb0b1042 	sub	x2, x2, x11, lsl #4
-    20002600:	8b040183 	add	x3, x12, x4
-    20002604:	8b040021 	add	x1, x1, x4
-    20002608:	17ffffa8 	b	200024a8 <memcpy+0xd8>
-    2000260c:	78402424 	ldrh	w4, [x1], #2
-    20002610:	d100504c 	sub	x12, x2, #0x14
-    20002614:	927ced8b 	and	x11, x12, #0xfffffffffffffff0
-    20002618:	d344fd8c 	lsr	x12, x12, #4
-    2000261c:	9100496b 	add	x11, x11, #0x12
-    20002620:	8b0b006b 	add	x11, x3, x11
-    20002624:	aa0103e5 	mov	x5, x1
-    20002628:	78002464 	strh	w4, [x3], #2
-    2000262c:	aa0303e4 	mov	x4, x3
-    20002630:	b84020a8 	ldur	w8, [x5, #2]
-    20002634:	910040a5 	add	x5, x5, #0x10
-    20002638:	b85f60a7 	ldur	w7, [x5, #-10]
-    2000263c:	b85fa0a6 	ldur	w6, [x5, #-6]
-    20002640:	1389410a 	extr	w10, w8, w9, #16
-    20002644:	b85fe0a9 	ldur	w9, [x5, #-2]
-    20002648:	138840e8 	extr	w8, w7, w8, #16
-    2000264c:	138740c7 	extr	w7, w6, w7, #16
-    20002650:	2900208a 	stp	w10, w8, [x4]
-    20002654:	13864126 	extr	w6, w9, w6, #16
-    20002658:	29011887 	stp	w7, w6, [x4, #8]
-    2000265c:	91004084 	add	x4, x4, #0x10
-    20002660:	eb04017f 	cmp	x11, x4
-    20002664:	54fffe61 	b.ne	20002630 <memcpy+0x260>  // b.any
-    20002668:	91000584 	add	x4, x12, #0x1
-    2000266c:	d1004842 	sub	x2, x2, #0x12
-    20002670:	d37cec84 	lsl	x4, x4, #4
-    20002674:	cb0c1042 	sub	x2, x2, x12, lsl #4
-    20002678:	8b040063 	add	x3, x3, x4
-    2000267c:	8b040021 	add	x1, x1, x4
-    20002680:	17ffff8a 	b	200024a8 <memcpy+0xd8>
-    20002684:	aa0003e3 	mov	x3, x0
-    20002688:	17ffff5d 	b	200023fc <memcpy+0x2c>
-    2000268c:	aa0303e8 	mov	x8, x3
-    20002690:	17ffffb0 	b	20002550 <memcpy+0x180>
-    20002694:	aa0303e2 	mov	x2, x3
-    20002698:	17ffff8e 	b	200024d0 <memcpy+0x100>
-    2000269c:	00000000 	.inst	0x00000000 ; undefined
-
-00000000200026a0 <pxPortInitialiseStack>:
-    200026a0:	5282424e 	mov	w14, #0x1212                	// #4626
-    200026a4:	aa0003e3 	mov	x3, x0
-    200026a8:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-    200026ac:	33103dce 	bfi	w14, w14, #16, #16
-    200026b0:	910003fd 	mov	x29, sp
-    200026b4:	52828290 	mov	w16, #0x1414                	// #5140
-    200026b8:	5282e2f1 	mov	w17, #0x1717                	// #5911
-    200026bc:	5282c2d2 	mov	w18, #0x1616                	// #5654
-    200026c0:	33103e10 	bfi	w16, w16, #16, #16
-    200026c4:	5282a2af 	mov	w15, #0x1515                	// #5397
-    200026c8:	5283233e 	mov	w30, #0x1919                	// #6425
-    200026cc:	33103e31 	bfi	w17, w17, #16, #16
-    200026d0:	a90153f3 	stp	x19, x20, [sp, #16]
-    200026d4:	52842433 	mov	w19, #0x2121                	// #8481
-    200026d8:	33103e52 	bfi	w18, w18, #16, #16
-    200026dc:	5281212d 	mov	w13, #0x909                 	// #2313
-    200026e0:	52826264 	mov	w4, #0x1313                	// #4883
-    200026e4:	33103def 	bfi	w15, w15, #16, #16
-    200026e8:	5280a0ac 	mov	w12, #0x505                 	// #1285
-    200026ec:	52846465 	mov	w5, #0x2323                	// #8995
-    200026f0:	a9025bf5 	stp	x21, x22, [sp, #32]
-    200026f4:	33103fde 	bfi	w30, w30, #16, #16
-    200026f8:	5284a4a6 	mov	w6, #0x2525                	// #9509
-    200026fc:	33103e73 	bfi	w19, w19, #16, #16
-    20002700:	52848487 	mov	w7, #0x2424                	// #9252
-    20002704:	5284e4e8 	mov	w8, #0x2727                	// #10023
-    20002708:	33103dad 	bfi	w13, w13, #16, #16
-    2000270c:	5284c4c9 	mov	w9, #0x2626                	// #9766
-    20002710:	5285252a 	mov	w10, #0x2929                	// #10537
-    20002714:	2932386e 	stp	w14, w14, [x3, #-112]
-    20002718:	b205c7ee 	mov	x14, #0x1818181818181818    	// #1736164148113840152
-    2000271c:	33103c84 	bfi	w4, w4, #16, #16
-    20002720:	5285050b 	mov	w11, #0x2828                	// #10280
-    20002724:	33103d8c 	bfi	w12, w12, #16, #16
-    20002728:	b207c7f6 	mov	x22, #0x606060606060606     	// #434041037028460038
-    2000272c:	33103ca5 	bfi	w5, w5, #16, #16
-    20002730:	b205c3e0 	mov	x0, #0x808080808080808     	// #578721382704613384
-    20002734:	f816006e 	stur	x14, [x3, #-160]
-    20002738:	33103cc6 	bfi	w6, w6, #16, #16
-    2000273c:	b203c3ee 	mov	x14, #0x2020202020202020    	// #2314885530818453536
-    20002740:	292e4872 	stp	w18, w18, [x3, #-144]
-    20002744:	33103ce7 	bfi	w7, w7, #16, #16
-    20002748:	b200cbf2 	mov	x18, #0x707070707070707     	// #506381209866536711
-    2000274c:	292f4471 	stp	w17, w17, [x3, #-136]
-    20002750:	33103d08 	bfi	w8, w8, #16, #16
-    20002754:	b204c3f1 	mov	x17, #0x1010101010101010    	// #1157442765409226768
-    20002758:	29304070 	stp	w16, w16, [x3, #-128]
-    2000275c:	33103d29 	bfi	w9, w9, #16, #16
-    20002760:	b200e3f0 	mov	x16, #0x1111111111111111    	// #1229782938247303441
-    20002764:	b200c3f4 	mov	x20, #0x101010101010101     	// #72340172838076673
-    20002768:	33103d4a 	bfi	w10, w10, #16, #16
-    2000276c:	b200c7f5 	mov	x21, #0x303030303030303     	// #217020518514230019
-    20002770:	292b4c73 	stp	w19, w19, [x3, #-168]
-    20002774:	33103d6b 	bfi	w11, w11, #16, #16
-    20002778:	b207c3f3 	mov	x19, #0x202020202020202     	// #144680345676153346
-    2000277c:	292d787e 	stp	w30, w30, [x3, #-152]
-    20002780:	b206c3fe 	mov	x30, #0x404040404040404     	// #289360691352306692
-    20002784:	29313c6f 	stp	w15, w15, [x3, #-120]
-    20002788:	b203e3ef 	mov	x15, #0x2222222222222222    	// #2459565876494606882
-    2000278c:	f815006e 	stur	x14, [x3, #-176]
-    20002790:	d280008e 	mov	x14, #0x4                   	// #4
-    20002794:	29331064 	stp	w4, w4, [x3, #-104]
-    20002798:	d1402064 	sub	x4, x3, #0x8, lsl #12
-    2000279c:	a93a4071 	stp	x17, x16, [x3, #-96]
-    200027a0:	f81b0060 	stur	x0, [x3, #-80]
-    200027a4:	d1048060 	sub	x0, x3, #0x120
-    200027a8:	2937346d 	stp	w13, w13, [x3, #-72]
-    200027ac:	f81c0076 	stur	x22, [x3, #-64]
-    200027b0:	f81c8072 	stur	x18, [x3, #-56]
-    200027b4:	f81d007e 	stur	x30, [x3, #-48]
-    200027b8:	a9307c7f 	stp	xzr, xzr, [x3, #-256]
-    200027bc:	29222c6b 	stp	w11, w11, [x3, #-240]
-    200027c0:	2923286a 	stp	w10, w10, [x3, #-232]
-    200027c4:	29242469 	stp	w9, w9, [x3, #-224]
-    200027c8:	29252068 	stp	w8, w8, [x3, #-216]
-    200027cc:	29261c67 	stp	w7, w7, [x3, #-208]
-    200027d0:	29271866 	stp	w6, w6, [x3, #-200]
-    200027d4:	f814006f 	stur	x15, [x3, #-192]
-    200027d8:	29291465 	stp	w5, w5, [x3, #-184]
-    200027dc:	293b306c 	stp	w12, w12, [x3, #-40]
-    200027e0:	a93e5473 	stp	x19, x21, [x3, #-32]
-    200027e4:	a93f5062 	stp	x2, x20, [x3, #-16]
-    200027e8:	a94153f3 	ldp	x19, x20, [sp, #16]
-    200027ec:	a9425bf5 	ldp	x21, x22, [sp, #32]
-    200027f0:	f93f709f 	str	xzr, [x4, #32480]
-    200027f4:	f93f749f 	str	xzr, [x4, #32488]
-    200027f8:	f93f7881 	str	x1, [x4, #32496]
-    200027fc:	f93f7c8e 	str	x14, [x4, #32504]
-    20002800:	a8c37bfd 	ldp	x29, x30, [sp], #48
-    20002804:	d65f03c0 	ret
-    20002808:	d503201f 	nop
-    2000280c:	d503201f 	nop
-
-0000000020002810 <xPortStartScheduler>:
-    20002810:	d5384240 	mrs	x0, currentel
-    20002814:	121e0400 	and	w0, w0, #0xc
-    20002818:	7100101f 	cmp	w0, #0x4
-    2000281c:	54000060 	b.eq	20002828 <xPortStartScheduler+0x18>  // b.none
-    20002820:	d2800000 	mov	x0, #0x0                   	// #0
-    20002824:	d65f03c0 	ret
-    20002828:	d2840100 	mov	x0, #0x2008                	// #8200
-    2000282c:	f2bff080 	movk	x0, #0xff84, lsl #16
-    20002830:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-    20002834:	910003fd 	mov	x29, sp
-    20002838:	b9400000 	ldr	w0, [x0]
-    2000283c:	d50342df 	msr	daifset, #0x2
-    20002840:	d5033f9f 	dsb	sy
-    20002844:	d5033fdf 	isb
-    20002848:	97fffc1e 	bl	200018c0 <vConfigureTickInterrupt>
-    2000284c:	9400012d 	bl	20002d00 <vPortRestoreTaskContext>
-    20002850:	d2800000 	mov	x0, #0x0                   	// #0
-    20002854:	a8c17bfd 	ldp	x29, x30, [sp], #16
-    20002858:	d65f03c0 	ret
-    2000285c:	d503201f 	nop
-
-0000000020002860 <vPortEndScheduler>:
-    20002860:	d65f03c0 	ret
-    20002864:	d503201f 	nop
-    20002868:	d503201f 	nop
-    2000286c:	d503201f 	nop
-
-0000000020002870 <vPortExitCritical>:
-    20002870:	b0000020 	adrp	x0, 20007000 <shared_memory2>
-    20002874:	f9406c00 	ldr	x0, [x0, #216]
-    20002878:	f9400001 	ldr	x1, [x0]
-    2000287c:	b4000241 	cbz	x1, 200028c4 <vPortExitCritical+0x54>
-    20002880:	f9400001 	ldr	x1, [x0]
-    20002884:	d1000421 	sub	x1, x1, #0x1
-    20002888:	f9000001 	str	x1, [x0]
-    2000288c:	f9400000 	ldr	x0, [x0]
-    20002890:	b50001a0 	cbnz	x0, 200028c4 <vPortExitCritical+0x54>
-    20002894:	d50342df 	msr	daifset, #0x2
-    20002898:	d5033f9f 	dsb	sy
-    2000289c:	d5033fdf 	isb
-    200028a0:	52801fe1 	mov	w1, #0xff                  	// #255
-    200028a4:	d2840080 	mov	x0, #0x2004                	// #8196
-    200028a8:	f2bff080 	movk	x0, #0xff84, lsl #16
-    200028ac:	b9000001 	str	w1, [x0]
-    200028b0:	d5033f9f 	dsb	sy
-    200028b4:	d5033fdf 	isb
-    200028b8:	d50342ff 	msr	daifclr, #0x2
-    200028bc:	d5033f9f 	dsb	sy
-    200028c0:	d5033fdf 	isb
-    200028c4:	d65f03c0 	ret
-    200028c8:	d503201f 	nop
-    200028cc:	d503201f 	nop
-
-00000000200028d0 <FreeRTOS_Tick_Handler>:
-    200028d0:	52801c01 	mov	w1, #0xe0                  	// #224
-    200028d4:	d2840080 	mov	x0, #0x2004                	// #8196
-    200028d8:	f2bff080 	movk	x0, #0xff84, lsl #16
-    200028dc:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-    200028e0:	910003fd 	mov	x29, sp
-    200028e4:	b9000001 	str	w1, [x0]
-    200028e8:	d5033f9f 	dsb	sy
-    200028ec:	d5033fdf 	isb
-    200028f0:	97fffc04 	bl	20001900 <vClearTickInterrupt>
-    200028f4:	d50342ff 	msr	daifclr, #0x2
-    200028f8:	d5033f9f 	dsb	sy
-    200028fc:	d5033fdf 	isb
-    20002900:	94000788 	bl	20004720 <xTaskIncrementTick>
-    20002904:	b40000a0 	cbz	x0, 20002918 <FreeRTOS_Tick_Handler+0x48>
-    20002908:	b0000020 	adrp	x0, 20007000 <shared_memory2>
-    2000290c:	d2800021 	mov	x1, #0x1                   	// #1
-    20002910:	f9408400 	ldr	x0, [x0, #264]
-    20002914:	f9000001 	str	x1, [x0]
-    20002918:	d50342df 	msr	daifset, #0x2
-    2000291c:	d5033f9f 	dsb	sy
-    20002920:	d5033fdf 	isb
-    20002924:	52801fe1 	mov	w1, #0xff                  	// #255
-    20002928:	d2840080 	mov	x0, #0x2004                	// #8196
-    2000292c:	f2bff080 	movk	x0, #0xff84, lsl #16
-    20002930:	b9000001 	str	w1, [x0]
-    20002934:	d5033f9f 	dsb	sy
-    20002938:	d5033fdf 	isb
-    2000293c:	d50342ff 	msr	daifclr, #0x2
+0000000020002380 <memset>:
+    20002380:	b40006e2 	cbz	x2, 2000245c <memset+0xdc>
+    20002384:	12001c23 	and	w3, w1, #0xff
+    20002388:	8b020004 	add	x4, x0, x2
+    2000238c:	f100085f 	cmp	x2, #0x2
+    20002390:	39000003 	strb	w3, [x0]
+    20002394:	381ff083 	sturb	w3, [x4, #-1]
+    20002398:	54000629 	b.ls	2000245c <memset+0xdc>  // b.plast
+    2000239c:	39000403 	strb	w3, [x0, #1]
+    200023a0:	f100185f 	cmp	x2, #0x6
+    200023a4:	39000803 	strb	w3, [x0, #2]
+    200023a8:	381fd083 	sturb	w3, [x4, #-3]
+    200023ac:	381fe083 	sturb	w3, [x4, #-2]
+    200023b0:	54000569 	b.ls	2000245c <memset+0xdc>  // b.plast
+    200023b4:	39000c03 	strb	w3, [x0, #3]
+    200023b8:	f100205f 	cmp	x2, #0x8
+    200023bc:	381fc083 	sturb	w3, [x4, #-4]
+    200023c0:	540004e9 	b.ls	2000245c <memset+0xdc>  // b.plast
+    200023c4:	12001c21 	and	w1, w1, #0xff
+    200023c8:	3200c3e4 	mov	w4, #0x1010101             	// #16843009
+    200023cc:	cb0003e3 	neg	x3, x0
+    200023d0:	92400463 	and	x3, x3, #0x3
+    200023d4:	1b047c21 	mul	w1, w1, w4
+    200023d8:	cb030042 	sub	x2, x2, x3
+    200023dc:	8b030005 	add	x5, x0, x3
+    200023e0:	927ef442 	and	x2, x2, #0xfffffffffffffffc
+    200023e4:	8b0200a6 	add	x6, x5, x2
+    200023e8:	b8236801 	str	w1, [x0, x3]
+    200023ec:	f100205f 	cmp	x2, #0x8
+    200023f0:	b81fc0c1 	stur	w1, [x6, #-4]
+    200023f4:	54000349 	b.ls	2000245c <memset+0xdc>  // b.plast
+    200023f8:	290084a1 	stp	w1, w1, [x5, #4]
+    200023fc:	f100605f 	cmp	x2, #0x18
+    20002400:	293e84c1 	stp	w1, w1, [x6, #-12]
+    20002404:	540002c9 	b.ls	2000245c <memset+0xdc>  // b.plast
+    20002408:	927e00a3 	and	x3, x5, #0x4
+    2000240c:	290184a1 	stp	w1, w1, [x5, #12]
+    20002410:	2a0103e4 	mov	w4, w1
+    20002414:	91006063 	add	x3, x3, #0x18
+    20002418:	290284a1 	stp	w1, w1, [x5, #20]
+    2000241c:	aa018084 	orr	x4, x4, x1, lsl #32
+    20002420:	cb030042 	sub	x2, x2, x3
+    20002424:	293c84c1 	stp	w1, w1, [x6, #-28]
+    20002428:	8b0300a3 	add	x3, x5, x3
+    2000242c:	f1007c5f 	cmp	x2, #0x1f
+    20002430:	293d84c1 	stp	w1, w1, [x6, #-20]
+    20002434:	54000149 	b.ls	2000245c <memset+0xdc>  // b.plast
+    20002438:	d1008041 	sub	x1, x2, #0x20
+    2000243c:	927be821 	and	x1, x1, #0xffffffffffffffe0
+    20002440:	91008021 	add	x1, x1, #0x20
+    20002444:	8b010061 	add	x1, x3, x1
+    20002448:	a9001064 	stp	x4, x4, [x3]
+    2000244c:	a9011064 	stp	x4, x4, [x3, #16]
+    20002450:	91008063 	add	x3, x3, #0x20
+    20002454:	eb01007f 	cmp	x3, x1
+    20002458:	54ffff81 	b.ne	20002448 <memset+0xc8>  // b.any
+    2000245c:	d65f03c0 	ret
+
+0000000020002460 <memcpy>:
+    20002460:	f240043f 	tst	x1, #0x3
+    20002464:	54001580 	b.eq	20002714 <memcpy+0x2b4>  // b.none
+    20002468:	b4000942 	cbz	x2, 20002590 <memcpy+0x130>
+    2000246c:	aa0003e3 	mov	x3, x0
+    20002470:	14000002 	b	20002478 <memcpy+0x18>
+    20002474:	b40008e2 	cbz	x2, 20002590 <memcpy+0x130>
+    20002478:	38401424 	ldrb	w4, [x1], #1
+    2000247c:	d1000442 	sub	x2, x2, #0x1
+    20002480:	f240043f 	tst	x1, #0x3
+    20002484:	38001464 	strb	w4, [x3], #1
+    20002488:	54ffff61 	b.ne	20002474 <memcpy+0x14>  // b.any
+    2000248c:	f2400464 	ands	x4, x3, #0x3
+    20002490:	54000820 	b.eq	20002594 <memcpy+0x134>  // b.none
+    20002494:	f1007c5f 	cmp	x2, #0x1f
+    20002498:	54000509 	b.ls	20002538 <memcpy+0xd8>  // b.plast
+    2000249c:	f100089f 	cmp	x4, #0x2
+    200024a0:	39400025 	ldrb	w5, [x1]
+    200024a4:	b9400029 	ldr	w9, [x1]
+    200024a8:	54000fa0 	b.eq	2000269c <memcpy+0x23c>  // b.none
+    200024ac:	f1000c9f 	cmp	x4, #0x3
+    200024b0:	54000b80 	b.eq	20002620 <memcpy+0x1c0>  // b.none
+    200024b4:	79400026 	ldrh	w6, [x1]
+    200024b8:	d100504a 	sub	x10, x2, #0x14
+    200024bc:	aa0303eb 	mov	x11, x3
+    200024c0:	927ced48 	and	x8, x10, #0xfffffffffffffff0
+    200024c4:	91000c2c 	add	x12, x1, #0x3
+    200024c8:	39400825 	ldrb	w5, [x1, #2]
+    200024cc:	91004d08 	add	x8, x8, #0x13
+    200024d0:	d344fd4a 	lsr	x10, x10, #4
+    200024d4:	8b080068 	add	x8, x3, x8
+    200024d8:	aa0c03e4 	mov	x4, x12
+    200024dc:	78003566 	strh	w6, [x11], #3
+    200024e0:	aa0b03e1 	mov	x1, x11
+    200024e4:	39000865 	strb	w5, [x3, #2]
+    200024e8:	b8401086 	ldur	w6, [x4, #1]
+    200024ec:	91004084 	add	x4, x4, #0x10
+    200024f0:	b85f5085 	ldur	w5, [x4, #-11]
+    200024f4:	b85f9083 	ldur	w3, [x4, #-7]
+    200024f8:	138960c7 	extr	w7, w6, w9, #24
+    200024fc:	b85fd089 	ldur	w9, [x4, #-3]
+    20002500:	138660a6 	extr	w6, w5, w6, #24
+    20002504:	13856065 	extr	w5, w3, w5, #24
+    20002508:	29001827 	stp	w7, w6, [x1]
+    2000250c:	13836123 	extr	w3, w9, w3, #24
+    20002510:	29010c25 	stp	w5, w3, [x1, #8]
+    20002514:	91004021 	add	x1, x1, #0x10
+    20002518:	eb01011f 	cmp	x8, x1
+    2000251c:	54fffe61 	b.ne	200024e8 <memcpy+0x88>  // b.any
+    20002520:	91000541 	add	x1, x10, #0x1
+    20002524:	d1004c42 	sub	x2, x2, #0x13
+    20002528:	d37cec21 	lsl	x1, x1, #4
+    2000252c:	cb0a1042 	sub	x2, x2, x10, lsl #4
+    20002530:	8b010163 	add	x3, x11, x1
+    20002534:	8b010181 	add	x1, x12, x1
+    20002538:	927d0047 	and	x7, x2, #0x8
+    2000253c:	927e0046 	and	x6, x2, #0x4
+    20002540:	927f0045 	and	x5, x2, #0x2
+    20002544:	92400044 	and	x4, x2, #0x1
+    20002548:	36200ee2 	tbz	w2, #4, 20002724 <memcpy+0x2c4>
+    2000254c:	f9400428 	ldr	x8, [x1, #8]
+    20002550:	aa0303e2 	mov	x2, x3
+    20002554:	f8410429 	ldr	x9, [x1], #16
+    20002558:	f8010449 	str	x9, [x2], #16
+    2000255c:	f9000468 	str	x8, [x3, #8]
+    20002560:	b4000067 	cbz	x7, 2000256c <memcpy+0x10c>
+    20002564:	f8408423 	ldr	x3, [x1], #8
+    20002568:	f8008443 	str	x3, [x2], #8
+    2000256c:	b4000066 	cbz	x6, 20002578 <memcpy+0x118>
+    20002570:	b8404423 	ldr	w3, [x1], #4
+    20002574:	b8004443 	str	w3, [x2], #4
+    20002578:	b4000065 	cbz	x5, 20002584 <memcpy+0x124>
+    2000257c:	78402423 	ldrh	w3, [x1], #2
+    20002580:	78002443 	strh	w3, [x2], #2
+    20002584:	b4000064 	cbz	x4, 20002590 <memcpy+0x130>
+    20002588:	39400021 	ldrb	w1, [x1]
+    2000258c:	39000041 	strb	w1, [x2]
+    20002590:	d65f03c0 	ret
+    20002594:	f1003c5f 	cmp	x2, #0xf
+    20002598:	54000c29 	b.ls	2000271c <memcpy+0x2bc>  // b.plast
+    2000259c:	d1004049 	sub	x9, x2, #0x10
+    200025a0:	aa0103e4 	mov	x4, x1
+    200025a4:	927ced29 	and	x9, x9, #0xfffffffffffffff0
+    200025a8:	91004129 	add	x9, x9, #0x10
+    200025ac:	8b090068 	add	x8, x3, x9
+    200025b0:	29401c85 	ldp	w5, w7, [x4]
+    200025b4:	91004084 	add	x4, x4, #0x10
+    200025b8:	b85f8086 	ldur	w6, [x4, #-8]
+    200025bc:	29001c65 	stp	w5, w7, [x3]
+    200025c0:	91004063 	add	x3, x3, #0x10
+    200025c4:	b85fc085 	ldur	w5, [x4, #-4]
+    200025c8:	b81f8066 	stur	w6, [x3, #-8]
+    200025cc:	b81fc065 	stur	w5, [x3, #-4]
+    200025d0:	eb08007f 	cmp	x3, x8
+    200025d4:	54fffee1 	b.ne	200025b0 <memcpy+0x150>  // b.any
+    200025d8:	92400c42 	and	x2, x2, #0xf
+    200025dc:	8b090021 	add	x1, x1, x9
+    200025e0:	927e0045 	and	x5, x2, #0x4
+    200025e4:	927f0044 	and	x4, x2, #0x2
+    200025e8:	92400043 	and	x3, x2, #0x1
+    200025ec:	36180062 	tbz	w2, #3, 200025f8 <memcpy+0x198>
+    200025f0:	f8408422 	ldr	x2, [x1], #8
+    200025f4:	f8008502 	str	x2, [x8], #8
+    200025f8:	b4000065 	cbz	x5, 20002604 <memcpy+0x1a4>
+    200025fc:	b8404422 	ldr	w2, [x1], #4
+    20002600:	b8004502 	str	w2, [x8], #4
+    20002604:	b4000064 	cbz	x4, 20002610 <memcpy+0x1b0>
+    20002608:	78402422 	ldrh	w2, [x1], #2
+    2000260c:	78002502 	strh	w2, [x8], #2
+    20002610:	b4fffc03 	cbz	x3, 20002590 <memcpy+0x130>
+    20002614:	39400021 	ldrb	w1, [x1]
+    20002618:	39000101 	strb	w1, [x8]
+    2000261c:	d65f03c0 	ret
+    20002620:	d100504b 	sub	x11, x2, #0x14
+    20002624:	aa0303ec 	mov	x12, x3
+    20002628:	927ced6a 	and	x10, x11, #0xfffffffffffffff0
+    2000262c:	91000421 	add	x1, x1, #0x1
+    20002630:	9100454a 	add	x10, x10, #0x11
+    20002634:	d344fd6b 	lsr	x11, x11, #4
+    20002638:	38001585 	strb	w5, [x12], #1
+    2000263c:	8b0a006a 	add	x10, x3, x10
+    20002640:	aa0103e4 	mov	x4, x1
+    20002644:	aa0c03e3 	mov	x3, x12
+    20002648:	b8403087 	ldur	w7, [x4, #3]
+    2000264c:	91004084 	add	x4, x4, #0x10
+    20002650:	b85f7086 	ldur	w6, [x4, #-9]
+    20002654:	b85fb085 	ldur	w5, [x4, #-5]
+    20002658:	138920e8 	extr	w8, w7, w9, #8
+    2000265c:	b85ff089 	ldur	w9, [x4, #-1]
+    20002660:	138720c7 	extr	w7, w6, w7, #8
+    20002664:	138620a6 	extr	w6, w5, w6, #8
+    20002668:	29001c68 	stp	w8, w7, [x3]
+    2000266c:	13852125 	extr	w5, w9, w5, #8
+    20002670:	29011466 	stp	w6, w5, [x3, #8]
+    20002674:	91004063 	add	x3, x3, #0x10
+    20002678:	eb0a007f 	cmp	x3, x10
+    2000267c:	54fffe61 	b.ne	20002648 <memcpy+0x1e8>  // b.any
+    20002680:	91000564 	add	x4, x11, #0x1
+    20002684:	d1004442 	sub	x2, x2, #0x11
+    20002688:	d37cec84 	lsl	x4, x4, #4
+    2000268c:	cb0b1042 	sub	x2, x2, x11, lsl #4
+    20002690:	8b040183 	add	x3, x12, x4
+    20002694:	8b040021 	add	x1, x1, x4
+    20002698:	17ffffa8 	b	20002538 <memcpy+0xd8>
+    2000269c:	78402424 	ldrh	w4, [x1], #2
+    200026a0:	d100504c 	sub	x12, x2, #0x14
+    200026a4:	927ced8b 	and	x11, x12, #0xfffffffffffffff0
+    200026a8:	d344fd8c 	lsr	x12, x12, #4
+    200026ac:	9100496b 	add	x11, x11, #0x12
+    200026b0:	8b0b006b 	add	x11, x3, x11
+    200026b4:	aa0103e5 	mov	x5, x1
+    200026b8:	78002464 	strh	w4, [x3], #2
+    200026bc:	aa0303e4 	mov	x4, x3
+    200026c0:	b84020a8 	ldur	w8, [x5, #2]
+    200026c4:	910040a5 	add	x5, x5, #0x10
+    200026c8:	b85f60a7 	ldur	w7, [x5, #-10]
+    200026cc:	b85fa0a6 	ldur	w6, [x5, #-6]
+    200026d0:	1389410a 	extr	w10, w8, w9, #16
+    200026d4:	b85fe0a9 	ldur	w9, [x5, #-2]
+    200026d8:	138840e8 	extr	w8, w7, w8, #16
+    200026dc:	138740c7 	extr	w7, w6, w7, #16
+    200026e0:	2900208a 	stp	w10, w8, [x4]
+    200026e4:	13864126 	extr	w6, w9, w6, #16
+    200026e8:	29011887 	stp	w7, w6, [x4, #8]
+    200026ec:	91004084 	add	x4, x4, #0x10
+    200026f0:	eb04017f 	cmp	x11, x4
+    200026f4:	54fffe61 	b.ne	200026c0 <memcpy+0x260>  // b.any
+    200026f8:	91000584 	add	x4, x12, #0x1
+    200026fc:	d1004842 	sub	x2, x2, #0x12
+    20002700:	d37cec84 	lsl	x4, x4, #4
+    20002704:	cb0c1042 	sub	x2, x2, x12, lsl #4
+    20002708:	8b040063 	add	x3, x3, x4
+    2000270c:	8b040021 	add	x1, x1, x4
+    20002710:	17ffff8a 	b	20002538 <memcpy+0xd8>
+    20002714:	aa0003e3 	mov	x3, x0
+    20002718:	17ffff5d 	b	2000248c <memcpy+0x2c>
+    2000271c:	aa0303e8 	mov	x8, x3
+    20002720:	17ffffb0 	b	200025e0 <memcpy+0x180>
+    20002724:	aa0303e2 	mov	x2, x3
+    20002728:	17ffff8e 	b	20002560 <memcpy+0x100>
+    2000272c:	00000000 	.inst	0x00000000 ; undefined
+
+0000000020002730 <pxPortInitialiseStack>:
+    20002730:	5282424e 	mov	w14, #0x1212                	// #4626
+    20002734:	aa0003e3 	mov	x3, x0
+    20002738:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
+    2000273c:	33103dce 	bfi	w14, w14, #16, #16
+    20002740:	910003fd 	mov	x29, sp
+    20002744:	52828290 	mov	w16, #0x1414                	// #5140
+    20002748:	5282e2f1 	mov	w17, #0x1717                	// #5911
+    2000274c:	5282c2d2 	mov	w18, #0x1616                	// #5654
+    20002750:	33103e10 	bfi	w16, w16, #16, #16
+    20002754:	5282a2af 	mov	w15, #0x1515                	// #5397
+    20002758:	5283233e 	mov	w30, #0x1919                	// #6425
+    2000275c:	33103e31 	bfi	w17, w17, #16, #16
+    20002760:	a90153f3 	stp	x19, x20, [sp, #16]
+    20002764:	52842433 	mov	w19, #0x2121                	// #8481
+    20002768:	33103e52 	bfi	w18, w18, #16, #16
+    2000276c:	5281212d 	mov	w13, #0x909                 	// #2313
+    20002770:	52826264 	mov	w4, #0x1313                	// #4883
+    20002774:	33103def 	bfi	w15, w15, #16, #16
+    20002778:	5280a0ac 	mov	w12, #0x505                 	// #1285
+    2000277c:	52846465 	mov	w5, #0x2323                	// #8995
+    20002780:	a9025bf5 	stp	x21, x22, [sp, #32]
+    20002784:	33103fde 	bfi	w30, w30, #16, #16
+    20002788:	5284a4a6 	mov	w6, #0x2525                	// #9509
+    2000278c:	33103e73 	bfi	w19, w19, #16, #16
+    20002790:	52848487 	mov	w7, #0x2424                	// #9252
+    20002794:	5284e4e8 	mov	w8, #0x2727                	// #10023
+    20002798:	33103dad 	bfi	w13, w13, #16, #16
+    2000279c:	5284c4c9 	mov	w9, #0x2626                	// #9766
+    200027a0:	5285252a 	mov	w10, #0x2929                	// #10537
+    200027a4:	2932386e 	stp	w14, w14, [x3, #-112]
+    200027a8:	b205c7ee 	mov	x14, #0x1818181818181818    	// #1736164148113840152
+    200027ac:	33103c84 	bfi	w4, w4, #16, #16
+    200027b0:	5285050b 	mov	w11, #0x2828                	// #10280
+    200027b4:	33103d8c 	bfi	w12, w12, #16, #16
+    200027b8:	b207c7f6 	mov	x22, #0x606060606060606     	// #434041037028460038
+    200027bc:	33103ca5 	bfi	w5, w5, #16, #16
+    200027c0:	b205c3e0 	mov	x0, #0x808080808080808     	// #578721382704613384
+    200027c4:	f816006e 	stur	x14, [x3, #-160]
+    200027c8:	33103cc6 	bfi	w6, w6, #16, #16
+    200027cc:	b203c3ee 	mov	x14, #0x2020202020202020    	// #2314885530818453536
+    200027d0:	292e4872 	stp	w18, w18, [x3, #-144]
+    200027d4:	33103ce7 	bfi	w7, w7, #16, #16
+    200027d8:	b200cbf2 	mov	x18, #0x707070707070707     	// #506381209866536711
+    200027dc:	292f4471 	stp	w17, w17, [x3, #-136]
+    200027e0:	33103d08 	bfi	w8, w8, #16, #16
+    200027e4:	b204c3f1 	mov	x17, #0x1010101010101010    	// #1157442765409226768
+    200027e8:	29304070 	stp	w16, w16, [x3, #-128]
+    200027ec:	33103d29 	bfi	w9, w9, #16, #16
+    200027f0:	b200e3f0 	mov	x16, #0x1111111111111111    	// #1229782938247303441
+    200027f4:	b200c3f4 	mov	x20, #0x101010101010101     	// #72340172838076673
+    200027f8:	33103d4a 	bfi	w10, w10, #16, #16
+    200027fc:	b200c7f5 	mov	x21, #0x303030303030303     	// #217020518514230019
+    20002800:	292b4c73 	stp	w19, w19, [x3, #-168]
+    20002804:	33103d6b 	bfi	w11, w11, #16, #16
+    20002808:	b207c3f3 	mov	x19, #0x202020202020202     	// #144680345676153346
+    2000280c:	292d787e 	stp	w30, w30, [x3, #-152]
+    20002810:	b206c3fe 	mov	x30, #0x404040404040404     	// #289360691352306692
+    20002814:	29313c6f 	stp	w15, w15, [x3, #-120]
+    20002818:	b203e3ef 	mov	x15, #0x2222222222222222    	// #2459565876494606882
+    2000281c:	f815006e 	stur	x14, [x3, #-176]
+    20002820:	d280008e 	mov	x14, #0x4                   	// #4
+    20002824:	29331064 	stp	w4, w4, [x3, #-104]
+    20002828:	d1402064 	sub	x4, x3, #0x8, lsl #12
+    2000282c:	a93a4071 	stp	x17, x16, [x3, #-96]
+    20002830:	f81b0060 	stur	x0, [x3, #-80]
+    20002834:	d1048060 	sub	x0, x3, #0x120
+    20002838:	2937346d 	stp	w13, w13, [x3, #-72]
+    2000283c:	f81c0076 	stur	x22, [x3, #-64]
+    20002840:	f81c8072 	stur	x18, [x3, #-56]
+    20002844:	f81d007e 	stur	x30, [x3, #-48]
+    20002848:	a9307c7f 	stp	xzr, xzr, [x3, #-256]
+    2000284c:	29222c6b 	stp	w11, w11, [x3, #-240]
+    20002850:	2923286a 	stp	w10, w10, [x3, #-232]
+    20002854:	29242469 	stp	w9, w9, [x3, #-224]
+    20002858:	29252068 	stp	w8, w8, [x3, #-216]
+    2000285c:	29261c67 	stp	w7, w7, [x3, #-208]
+    20002860:	29271866 	stp	w6, w6, [x3, #-200]
+    20002864:	f814006f 	stur	x15, [x3, #-192]
+    20002868:	29291465 	stp	w5, w5, [x3, #-184]
+    2000286c:	293b306c 	stp	w12, w12, [x3, #-40]
+    20002870:	a93e5473 	stp	x19, x21, [x3, #-32]
+    20002874:	a93f5062 	stp	x2, x20, [x3, #-16]
+    20002878:	a94153f3 	ldp	x19, x20, [sp, #16]
+    2000287c:	a9425bf5 	ldp	x21, x22, [sp, #32]
+    20002880:	f93f709f 	str	xzr, [x4, #32480]
+    20002884:	f93f749f 	str	xzr, [x4, #32488]
+    20002888:	f93f7881 	str	x1, [x4, #32496]
+    2000288c:	f93f7c8e 	str	x14, [x4, #32504]
+    20002890:	a8c37bfd 	ldp	x29, x30, [sp], #48
+    20002894:	d65f03c0 	ret
+    20002898:	d503201f 	nop
+    2000289c:	d503201f 	nop
+
+00000000200028a0 <xPortStartScheduler>:
+    200028a0:	d5384240 	mrs	x0, currentel
+    200028a4:	121e0400 	and	w0, w0, #0xc
+    200028a8:	7100101f 	cmp	w0, #0x4
+    200028ac:	54000060 	b.eq	200028b8 <xPortStartScheduler+0x18>  // b.none
+    200028b0:	d2800000 	mov	x0, #0x0                   	// #0
+    200028b4:	d65f03c0 	ret
+    200028b8:	d2840100 	mov	x0, #0x2008                	// #8200
+    200028bc:	f2bff080 	movk	x0, #0xff84, lsl #16
+    200028c0:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
+    200028c4:	910003fd 	mov	x29, sp
+    200028c8:	b9400000 	ldr	w0, [x0]
+    200028cc:	d50342df 	msr	daifset, #0x2
+    200028d0:	d5033f9f 	dsb	sy
+    200028d4:	d5033fdf 	isb
+    200028d8:	97fffbfa 	bl	200018c0 <vConfigureTickInterrupt>
+    200028dc:	94000109 	bl	20002d00 <vPortRestoreTaskContext>
+    200028e0:	d2800000 	mov	x0, #0x0                   	// #0
+    200028e4:	a8c17bfd 	ldp	x29, x30, [sp], #16
+    200028e8:	d65f03c0 	ret
+    200028ec:	d503201f 	nop
+
+00000000200028f0 <vPortEndScheduler>:
+    200028f0:	d65f03c0 	ret
+    200028f4:	d503201f 	nop
+    200028f8:	d503201f 	nop
+    200028fc:	d503201f 	nop
+
+0000000020002900 <vPortExitCritical>:
+    20002900:	b0000020 	adrp	x0, 20007000 <shared_memory>
+    20002904:	f9406800 	ldr	x0, [x0, #208]
+    20002908:	f9400001 	ldr	x1, [x0]
+    2000290c:	b4000241 	cbz	x1, 20002954 <vPortExitCritical+0x54>
+    20002910:	f9400001 	ldr	x1, [x0]
+    20002914:	d1000421 	sub	x1, x1, #0x1
+    20002918:	f9000001 	str	x1, [x0]
+    2000291c:	f9400000 	ldr	x0, [x0]
+    20002920:	b50001a0 	cbnz	x0, 20002954 <vPortExitCritical+0x54>
+    20002924:	d50342df 	msr	daifset, #0x2
+    20002928:	d5033f9f 	dsb	sy
+    2000292c:	d5033fdf 	isb
+    20002930:	52801fe1 	mov	w1, #0xff                  	// #255
+    20002934:	d2840080 	mov	x0, #0x2004                	// #8196
+    20002938:	f2bff080 	movk	x0, #0xff84, lsl #16
+    2000293c:	b9000001 	str	w1, [x0]
     20002940:	d5033f9f 	dsb	sy
     20002944:	d5033fdf 	isb
-    20002948:	a8c17bfd 	ldp	x29, x30, [sp], #16
-    2000294c:	d65f03c0 	ret
-
-0000000020002950 <vPortTaskUsesFPU>:
-    20002950:	b0000020 	adrp	x0, 20007000 <shared_memory2>
-    20002954:	d2800021 	mov	x1, #0x1                   	// #1
-    20002958:	f9408c00 	ldr	x0, [x0, #280]
-    2000295c:	f9000001 	str	x1, [x0]
-    20002960:	d65f03c0 	ret
-    20002964:	d503201f 	nop
-    20002968:	d503201f 	nop
-    2000296c:	d503201f 	nop
-
-0000000020002970 <vPortClearInterruptMask>:
-    20002970:	b50001a0 	cbnz	x0, 200029a4 <vPortClearInterruptMask+0x34>
-    20002974:	d50342df 	msr	daifset, #0x2
+    20002948:	d50342ff 	msr	daifclr, #0x2
+    2000294c:	d5033f9f 	dsb	sy
+    20002950:	d5033fdf 	isb
+    20002954:	d65f03c0 	ret
+    20002958:	d503201f 	nop
+    2000295c:	d503201f 	nop
+
+0000000020002960 <FreeRTOS_Tick_Handler>:
+    20002960:	52801c01 	mov	w1, #0xe0                  	// #224
+    20002964:	d2840080 	mov	x0, #0x2004                	// #8196
+    20002968:	f2bff080 	movk	x0, #0xff84, lsl #16
+    2000296c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
+    20002970:	910003fd 	mov	x29, sp
+    20002974:	b9000001 	str	w1, [x0]
     20002978:	d5033f9f 	dsb	sy
     2000297c:	d5033fdf 	isb
-    20002980:	52801fe1 	mov	w1, #0xff                  	// #255
-    20002984:	d2840080 	mov	x0, #0x2004                	// #8196
-    20002988:	f2bff080 	movk	x0, #0xff84, lsl #16
-    2000298c:	b9000001 	str	w1, [x0]
-    20002990:	d5033f9f 	dsb	sy
-    20002994:	d5033fdf 	isb
-    20002998:	d50342ff 	msr	daifclr, #0x2
-    2000299c:	d5033f9f 	dsb	sy
-    200029a0:	d5033fdf 	isb
-    200029a4:	d65f03c0 	ret
-    200029a8:	d503201f 	nop
-    200029ac:	d503201f 	nop
-
-00000000200029b0 <uxPortSetInterruptMask>:
-    200029b0:	d50342df 	msr	daifset, #0x2
-    200029b4:	d5033f9f 	dsb	sy
-    200029b8:	d5033fdf 	isb
-    200029bc:	d2840081 	mov	x1, #0x2004                	// #8196
-    200029c0:	f2bff081 	movk	x1, #0xff84, lsl #16
-    200029c4:	b9400022 	ldr	w2, [x1]
-    200029c8:	d2800020 	mov	x0, #0x1                   	// #1
-    200029cc:	7103805f 	cmp	w2, #0xe0
-    200029d0:	540000c0 	b.eq	200029e8 <uxPortSetInterruptMask+0x38>  // b.none
-    200029d4:	52801c00 	mov	w0, #0xe0                  	// #224
-    200029d8:	b9000020 	str	w0, [x1]
-    200029dc:	d5033f9f 	dsb	sy
-    200029e0:	d5033fdf 	isb
-    200029e4:	d2800000 	mov	x0, #0x0                   	// #0
-    200029e8:	d50342ff 	msr	daifclr, #0x2
-    200029ec:	d5033f9f 	dsb	sy
-    200029f0:	d5033fdf 	isb
-    200029f4:	d65f03c0 	ret
+    20002980:	97fffbe0 	bl	20001900 <vClearTickInterrupt>
+    20002984:	d50342ff 	msr	daifclr, #0x2
+    20002988:	d5033f9f 	dsb	sy
+    2000298c:	d5033fdf 	isb
+    20002990:	94000764 	bl	20004720 <xTaskIncrementTick>
+    20002994:	b40000a0 	cbz	x0, 200029a8 <FreeRTOS_Tick_Handler+0x48>
+    20002998:	b0000020 	adrp	x0, 20007000 <shared_memory>
+    2000299c:	d2800021 	mov	x1, #0x1                   	// #1
+    200029a0:	f9407c00 	ldr	x0, [x0, #248]
+    200029a4:	f9000001 	str	x1, [x0]
+    200029a8:	d50342df 	msr	daifset, #0x2
+    200029ac:	d5033f9f 	dsb	sy
+    200029b0:	d5033fdf 	isb
+    200029b4:	52801fe1 	mov	w1, #0xff                  	// #255
+    200029b8:	d2840080 	mov	x0, #0x2004                	// #8196
+    200029bc:	f2bff080 	movk	x0, #0xff84, lsl #16
+    200029c0:	b9000001 	str	w1, [x0]
+    200029c4:	d5033f9f 	dsb	sy
+    200029c8:	d5033fdf 	isb
+    200029cc:	d50342ff 	msr	daifclr, #0x2
+    200029d0:	d5033f9f 	dsb	sy
+    200029d4:	d5033fdf 	isb
+    200029d8:	a8c17bfd 	ldp	x29, x30, [sp], #16
+    200029dc:	d65f03c0 	ret
+
+00000000200029e0 <vPortTaskUsesFPU>:
+    200029e0:	b0000020 	adrp	x0, 20007000 <shared_memory>
+    200029e4:	d2800021 	mov	x1, #0x1                   	// #1
+    200029e8:	f9408400 	ldr	x0, [x0, #264]
+    200029ec:	f9000001 	str	x1, [x0]
+    200029f0:	d65f03c0 	ret
+    200029f4:	d503201f 	nop
     200029f8:	d503201f 	nop
     200029fc:	d503201f 	nop
 
-0000000020002a00 <vPortEnterCritical>:
-    20002a00:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-    20002a04:	910003fd 	mov	x29, sp
-    20002a08:	97ffffea 	bl	200029b0 <uxPortSetInterruptMask>
-    20002a0c:	b0000020 	adrp	x0, 20007000 <shared_memory2>
-    20002a10:	f9406c00 	ldr	x0, [x0, #216]
-    20002a14:	f9400001 	ldr	x1, [x0]
-    20002a18:	91000421 	add	x1, x1, #0x1
-    20002a1c:	f9000001 	str	x1, [x0]
-    20002a20:	a8c17bfd 	ldp	x29, x30, [sp], #16
-    20002a24:	f9400000 	ldr	x0, [x0]
-    20002a28:	d65f03c0 	ret
+0000000020002a00 <vPortClearInterruptMask>:
+    20002a00:	b50001a0 	cbnz	x0, 20002a34 <vPortClearInterruptMask+0x34>
+    20002a04:	d50342df 	msr	daifset, #0x2
+    20002a08:	d5033f9f 	dsb	sy
+    20002a0c:	d5033fdf 	isb
+    20002a10:	52801fe1 	mov	w1, #0xff                  	// #255
+    20002a14:	d2840080 	mov	x0, #0x2004                	// #8196
+    20002a18:	f2bff080 	movk	x0, #0xff84, lsl #16
+    20002a1c:	b9000001 	str	w1, [x0]
+    20002a20:	d5033f9f 	dsb	sy
+    20002a24:	d5033fdf 	isb
+    20002a28:	d50342ff 	msr	daifclr, #0x2
+    20002a2c:	d5033f9f 	dsb	sy
+    20002a30:	d5033fdf 	isb
+    20002a34:	d65f03c0 	ret
+    20002a38:	d503201f 	nop
+    20002a3c:	d503201f 	nop
+
+0000000020002a40 <uxPortSetInterruptMask>:
+    20002a40:	d50342df 	msr	daifset, #0x2
+    20002a44:	d5033f9f 	dsb	sy
+    20002a48:	d5033fdf 	isb
+    20002a4c:	d2840081 	mov	x1, #0x2004                	// #8196
+    20002a50:	f2bff081 	movk	x1, #0xff84, lsl #16
+    20002a54:	b9400022 	ldr	w2, [x1]
+    20002a58:	d2800020 	mov	x0, #0x1                   	// #1
+    20002a5c:	7103805f 	cmp	w2, #0xe0
+    20002a60:	540000c0 	b.eq	20002a78 <uxPortSetInterruptMask+0x38>  // b.none
+    20002a64:	52801c00 	mov	w0, #0xe0                  	// #224
+    20002a68:	b9000020 	str	w0, [x1]
+    20002a6c:	d5033f9f 	dsb	sy
+    20002a70:	d5033fdf 	isb
+    20002a74:	d2800000 	mov	x0, #0x0                   	// #0
+    20002a78:	d50342ff 	msr	daifclr, #0x2
+    20002a7c:	d5033f9f 	dsb	sy
+    20002a80:	d5033fdf 	isb
+    20002a84:	d65f03c0 	ret
+    20002a88:	d503201f 	nop
+    20002a8c:	d503201f 	nop
+
+0000000020002a90 <vPortEnterCritical>:
+    20002a90:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
+    20002a94:	910003fd 	mov	x29, sp
+    20002a98:	97ffffea 	bl	20002a40 <uxPortSetInterruptMask>
+    20002a9c:	b0000020 	adrp	x0, 20007000 <shared_memory>
+    20002aa0:	f9406800 	ldr	x0, [x0, #208]
+    20002aa4:	f9400001 	ldr	x1, [x0]
+    20002aa8:	91000421 	add	x1, x1, #0x1
+    20002aac:	f9000001 	str	x1, [x0]
+    20002ab0:	a8c17bfd 	ldp	x29, x30, [sp], #16
+    20002ab4:	f9400000 	ldr	x0, [x0]
+    20002ab8:	d65f03c0 	ret
 	...
 
 0000000020002b00 <FreeRTOS_SWI_Handler>:
@@ -1767,7 +1804,7 @@ Disassembly of section .text:
     20003104:	00000000 	.word	0x00000000
 
 0000000020003108 <ullCriticalNestingConst>:
-    20003108:	200070b0 	.word	0x200070b0
+    20003108:	200070a8 	.word	0x200070a8
     2000310c:	00000000 	.word	0x00000000
 
 0000000020003110 <ullPortTaskHasFPUContextConst>:
@@ -1775,11 +1812,11 @@ Disassembly of section .text:
     20003114:	00000000 	.word	0x00000000
 
 0000000020003118 <ullICCPMRConst>:
-    20003118:	200061d0 	.word	0x200061d0
+    20003118:	20006188 	.word	0x20006188
     2000311c:	00000000 	.word	0x00000000
 
 0000000020003120 <ullMaxAPIPriorityMaskConst>:
-    20003120:	200061c8 	.word	0x200061c8
+    20003120:	20006180 	.word	0x20006180
     20003124:	00000000 	.word	0x00000000
 
 0000000020003128 <vApplicationIRQHandlerConst>:
@@ -1847,11 +1884,11 @@ Disassembly of section .text:
     2000320c:	00000000 	.word	0x00000000
 
 0000000020003210 <ullICCIARConst>:
-    20003210:	200061d8 	.word	0x200061d8
+    20003210:	20006190 	.word	0x20006190
     20003214:	00000000 	.word	0x00000000
 
 0000000020003218 <ullICCEOIRConst>:
-    20003218:	200061e0 	.word	0x200061e0
+    20003218:	20006198 	.word	0x20006198
     2000321c:	00000000 	.word	0x00000000
     20003220:	20001000 	.word	0x20001000
 	...
@@ -1956,7 +1993,7 @@ Disassembly of section .text:
     20003388:	b5000255 	cbnz	x21, 200033d0 <prvCopyDataToQueue+0x90>
     2000338c:	f9400400 	ldr	x0, [x0, #8]
     20003390:	91000694 	add	x20, x20, #0x1
-    20003394:	97fffc0f 	bl	200023d0 <memcpy>
+    20003394:	97fffc33 	bl	20002460 <memcpy>
     20003398:	a9408a61 	ldp	x1, x2, [x19, #8]
     2000339c:	d2800000 	mov	x0, #0x0                   	// #0
     200033a0:	f9404263 	ldr	x3, [x19, #128]
@@ -1972,7 +2009,7 @@ Disassembly of section .text:
     200033c8:	a8c37bfd 	ldp	x29, x30, [sp], #48
     200033cc:	d65f03c0 	ret
     200033d0:	f9400c00 	ldr	x0, [x0, #24]
-    200033d4:	97fffbff 	bl	200023d0 <memcpy>
+    200033d4:	97fffc23 	bl	20002460 <memcpy>
     200033d8:	f9400e60 	ldr	x0, [x19, #24]
     200033dc:	f9404261 	ldr	x1, [x19, #128]
     200033e0:	f9400262 	ldr	x2, [x19]
@@ -2016,7 +2053,7 @@ Disassembly of section .text:
     20003470:	54000063 	b.cc	2000347c <prvCopyDataFromQueue+0x2c>  // b.lo, b.ul, b.last
     20003474:	f9400061 	ldr	x1, [x3]
     20003478:	f9000c61 	str	x1, [x3, #24]
-    2000347c:	17fffbd5 	b	200023d0 <memcpy>
+    2000347c:	17fffbf9 	b	20002460 <memcpy>
     20003480:	d65f03c0 	ret
     20003484:	d503201f 	nop
     20003488:	d503201f 	nop
@@ -2028,7 +2065,7 @@ Disassembly of section .text:
     20003498:	a90153f3 	stp	x19, x20, [sp, #16]
     2000349c:	aa0003f4 	mov	x20, x0
     200034a0:	f90013f5 	str	x21, [sp, #32]
-    200034a4:	97fffd57 	bl	20002a00 <vPortEnterCritical>
+    200034a4:	97fffd7b 	bl	20002a90 <vPortEnterCritical>
     200034a8:	39422681 	ldrb	w1, [x20, #137]
     200034ac:	13001c33 	sxtb	w19, w1
     200034b0:	7100027f 	cmp	w19, #0x0
@@ -2051,8 +2088,8 @@ Disassembly of section .text:
     200034f4:	54fffee1 	b.ne	200034d0 <prvUnlockQueue+0x40>  // b.any
     200034f8:	12800000 	mov	w0, #0xffffffff            	// #-1
     200034fc:	39022680 	strb	w0, [x20, #137]
-    20003500:	97fffcdc 	bl	20002870 <vPortExitCritical>
-    20003504:	97fffd3f 	bl	20002a00 <vPortEnterCritical>
+    20003500:	97fffd00 	bl	20002900 <vPortExitCritical>
+    20003504:	97fffd63 	bl	20002a90 <vPortEnterCritical>
     20003508:	39422281 	ldrb	w1, [x20, #136]
     2000350c:	13001c33 	sxtb	w19, w1
     20003510:	7100027f 	cmp	w19, #0x0
@@ -2078,7 +2115,7 @@ Disassembly of section .text:
     20003560:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003564:	f94013f5 	ldr	x21, [sp, #32]
     20003568:	a8c37bfd 	ldp	x29, x30, [sp], #48
-    2000356c:	17fffcc1 	b	20002870 <vPortExitCritical>
+    2000356c:	17fffce5 	b	20002900 <vPortExitCritical>
 
 0000000020003570 <xQueueGenericReset>:
     20003570:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
@@ -2086,7 +2123,7 @@ Disassembly of section .text:
     20003578:	a90153f3 	stp	x19, x20, [sp, #16]
     2000357c:	aa0003f3 	mov	x19, x0
     20003580:	aa0103f4 	mov	x20, x1
-    20003584:	97fffd1f 	bl	20002a00 <vPortEnterCritical>
+    20003584:	97fffd43 	bl	20002a90 <vPortEnterCritical>
     20003588:	a9478e60 	ldp	x0, x3, [x19, #120]
     2000358c:	12800004 	mov	w4, #0xffffffff            	// #-1
     20003590:	f9003a7f 	str	xzr, [x19, #112]
@@ -2101,7 +2138,7 @@ Disassembly of section .text:
     200035b4:	b5000234 	cbnz	x20, 200035f8 <xQueueGenericReset+0x88>
     200035b8:	f9401260 	ldr	x0, [x19, #32]
     200035bc:	b50000c0 	cbnz	x0, 200035d4 <xQueueGenericReset+0x64>
-    200035c0:	97fffcac 	bl	20002870 <vPortExitCritical>
+    200035c0:	97fffcd0 	bl	20002900 <vPortExitCritical>
     200035c4:	d2800020 	mov	x0, #0x1                   	// #1
     200035c8:	a94153f3 	ldp	x19, x20, [sp, #16]
     200035cc:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -2110,7 +2147,7 @@ Disassembly of section .text:
     200035d8:	9400059e 	bl	20004c50 <xTaskRemoveFromEventList>
     200035dc:	b4ffff20 	cbz	x0, 200035c0 <xQueueGenericReset+0x50>
     200035e0:	d4000001 	svc	#0x0
-    200035e4:	97fffca3 	bl	20002870 <vPortExitCritical>
+    200035e4:	97fffcc7 	bl	20002900 <vPortExitCritical>
     200035e8:	d2800020 	mov	x0, #0x1                   	// #1
     200035ec:	a94153f3 	ldp	x19, x20, [sp, #16]
     200035f0:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -2119,7 +2156,7 @@ Disassembly of section .text:
     200035fc:	97ffff0d 	bl	20003230 <vListInitialise>
     20003600:	91012260 	add	x0, x19, #0x48
     20003604:	97ffff0b 	bl	20003230 <vListInitialise>
-    20003608:	97fffc9a 	bl	20002870 <vPortExitCritical>
+    20003608:	97fffcbe 	bl	20002900 <vPortExitCritical>
     2000360c:	d2800020 	mov	x0, #0x1                   	// #1
     20003610:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003614:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -2157,16 +2194,16 @@ Disassembly of section .text:
     20003684:	910003fd 	mov	x29, sp
     20003688:	f9000bf3 	str	x19, [sp, #16]
     2000368c:	aa0003f3 	mov	x19, x0
-    20003690:	97fffcdc 	bl	20002a00 <vPortEnterCritical>
+    20003690:	97fffd00 	bl	20002a90 <vPortEnterCritical>
     20003694:	f9400260 	ldr	x0, [x19]
     20003698:	b50000e0 	cbnz	x0, 200036b4 <xQueueGetMutexHolder+0x34>
     2000369c:	f9400a73 	ldr	x19, [x19, #16]
-    200036a0:	97fffc74 	bl	20002870 <vPortExitCritical>
+    200036a0:	97fffc98 	bl	20002900 <vPortExitCritical>
     200036a4:	aa1303e0 	mov	x0, x19
     200036a8:	f9400bf3 	ldr	x19, [sp, #16]
     200036ac:	a8c27bfd 	ldp	x29, x30, [sp], #32
     200036b0:	d65f03c0 	ret
-    200036b4:	97fffc6f 	bl	20002870 <vPortExitCritical>
+    200036b4:	97fffc93 	bl	20002900 <vPortExitCritical>
     200036b8:	d2800013 	mov	x19, #0x0                   	// #0
     200036bc:	aa1303e0 	mov	x0, x19
     200036c0:	f9400bf3 	ldr	x19, [sp, #16]
@@ -2201,7 +2238,7 @@ Disassembly of section .text:
     20003724:	aa0103f9 	mov	x25, x1
     20003728:	d280001a 	mov	x26, #0x0                   	// #0
     2000372c:	f9002fe2 	str	x2, [sp, #88]
-    20003730:	97fffcb4 	bl	20002a00 <vPortEnterCritical>
+    20003730:	97fffcd8 	bl	20002a90 <vPortEnterCritical>
     20003734:	f9403a61 	ldr	x1, [x19, #112]
     20003738:	710002bf 	cmp	w21, #0x0
     2000373c:	f9403e60 	ldr	x0, [x19, #120]
@@ -2210,9 +2247,9 @@ Disassembly of section .text:
     20003748:	f9402fe0 	ldr	x0, [sp, #88]
     2000374c:	b40008c0 	cbz	x0, 20003864 <xQueueGenericSend+0x174>
     20003750:	b40007ba 	cbz	x26, 20003844 <xQueueGenericSend+0x154>
-    20003754:	97fffc47 	bl	20002870 <vPortExitCritical>
+    20003754:	97fffc6b 	bl	20002900 <vPortExitCritical>
     20003758:	940003d6 	bl	200046b0 <vTaskSuspendAll>
-    2000375c:	97fffca9 	bl	20002a00 <vPortEnterCritical>
+    2000375c:	97fffccd 	bl	20002a90 <vPortEnterCritical>
     20003760:	39422260 	ldrb	w0, [x19, #136]
     20003764:	13001c00 	sxtb	w0, w0
     20003768:	3100041f 	cmn	w0, #0x1
@@ -2223,22 +2260,22 @@ Disassembly of section .text:
     2000377c:	3100041f 	cmn	w0, #0x1
     20003780:	54000041 	b.ne	20003788 <xQueueGenericSend+0x98>  // b.any
     20003784:	3902267f 	strb	wzr, [x19, #137]
-    20003788:	97fffc3a 	bl	20002870 <vPortExitCritical>
+    20003788:	97fffc5e 	bl	20002900 <vPortExitCritical>
     2000378c:	aa1603e1 	mov	x1, x22
     20003790:	aa1403e0 	mov	x0, x20
     20003794:	9400059b 	bl	20004e00 <xTaskCheckForTimeOut>
     20003798:	b5000760 	cbnz	x0, 20003884 <xQueueGenericSend+0x194>
-    2000379c:	97fffc99 	bl	20002a00 <vPortEnterCritical>
+    2000379c:	97fffcbd 	bl	20002a90 <vPortEnterCritical>
     200037a0:	f9403a61 	ldr	x1, [x19, #112]
     200037a4:	f9403e60 	ldr	x0, [x19, #120]
     200037a8:	eb00003f 	cmp	x1, x0
     200037ac:	54000360 	b.eq	20003818 <xQueueGenericSend+0x128>  // b.none
-    200037b0:	97fffc30 	bl	20002870 <vPortExitCritical>
+    200037b0:	97fffc54 	bl	20002900 <vPortExitCritical>
     200037b4:	aa1303e0 	mov	x0, x19
     200037b8:	97ffff36 	bl	20003490 <prvUnlockQueue>
     200037bc:	94000459 	bl	20004920 <xTaskResumeAll>
     200037c0:	d280003a 	mov	x26, #0x1                   	// #1
-    200037c4:	97fffc8f 	bl	20002a00 <vPortEnterCritical>
+    200037c4:	97fffcb3 	bl	20002a90 <vPortEnterCritical>
     200037c8:	f9403a61 	ldr	x1, [x19, #112]
     200037cc:	710002bf 	cmp	w21, #0x0
     200037d0:	f9403e60 	ldr	x0, [x19, #120]
@@ -2251,7 +2288,7 @@ Disassembly of section .text:
     200037ec:	f9402661 	ldr	x1, [x19, #72]
     200037f0:	b5000301 	cbnz	x1, 20003850 <xQueueGenericSend+0x160>
     200037f4:	b5000340 	cbnz	x0, 2000385c <xQueueGenericSend+0x16c>
-    200037f8:	97fffc1e 	bl	20002870 <vPortExitCritical>
+    200037f8:	97fffc42 	bl	20002900 <vPortExitCritical>
     200037fc:	d2800020 	mov	x0, #0x1                   	// #1
     20003800:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003804:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2259,7 +2296,7 @@ Disassembly of section .text:
     2000380c:	a9446bf9 	ldp	x25, x26, [sp, #64]
     20003810:	a8c77bfd 	ldp	x29, x30, [sp], #112
     20003814:	d65f03c0 	ret
-    20003818:	97fffc16 	bl	20002870 <vPortExitCritical>
+    20003818:	97fffc3a 	bl	20002900 <vPortExitCritical>
     2000381c:	f9402fe1 	ldr	x1, [sp, #88]
     20003820:	aa1803e0 	mov	x0, x24
     20003824:	940004db 	bl	20004b90 <vTaskPlaceOnEventList>
@@ -2278,7 +2315,7 @@ Disassembly of section .text:
     20003858:	b4fffd00 	cbz	x0, 200037f8 <xQueueGenericSend+0x108>
     2000385c:	d4000001 	svc	#0x0
     20003860:	17ffffe6 	b	200037f8 <xQueueGenericSend+0x108>
-    20003864:	97fffc03 	bl	20002870 <vPortExitCritical>
+    20003864:	97fffc27 	bl	20002900 <vPortExitCritical>
     20003868:	d2800000 	mov	x0, #0x0                   	// #0
     2000386c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003870:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2330,7 +2367,7 @@ Disassembly of section .text:
     20003918:	aa0103f6 	mov	x22, x1
     2000391c:	a90363f7 	stp	x23, x24, [sp, #48]
     20003920:	aa0203f8 	mov	x24, x2
-    20003924:	97fffc23 	bl	200029b0 <uxPortSetInterruptMask>
+    20003924:	97fffc47 	bl	20002a40 <uxPortSetInterruptMask>
     20003928:	aa0003f5 	mov	x21, x0
     2000392c:	f9403a61 	ldr	x1, [x19, #112]
     20003930:	f9403e60 	ldr	x0, [x19, #120]
@@ -2351,7 +2388,7 @@ Disassembly of section .text:
     2000396c:	13001ef7 	sxtb	w23, w23
     20003970:	39022677 	strb	w23, [x19, #137]
     20003974:	aa1503e0 	mov	x0, x21
-    20003978:	97fffbfe 	bl	20002970 <vPortClearInterruptMask>
+    20003978:	97fffc22 	bl	20002a00 <vPortClearInterruptMask>
     2000397c:	aa1403e0 	mov	x0, x20
     20003980:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003984:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2360,7 +2397,7 @@ Disassembly of section .text:
     20003990:	d65f03c0 	ret
     20003994:	aa1503e0 	mov	x0, x21
     20003998:	d2800014 	mov	x20, #0x0                   	// #0
-    2000399c:	97fffbf5 	bl	20002970 <vPortClearInterruptMask>
+    2000399c:	97fffc19 	bl	20002a00 <vPortClearInterruptMask>
     200039a0:	aa1403e0 	mov	x0, x20
     200039a4:	a94153f3 	ldp	x19, x20, [sp, #16]
     200039a8:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2371,7 +2408,7 @@ Disassembly of section .text:
     200039bc:	b5000140 	cbnz	x0, 200039e4 <xQueueGenericSendFromISR+0xe4>
     200039c0:	aa1503e0 	mov	x0, x21
     200039c4:	d2800034 	mov	x20, #0x1                   	// #1
-    200039c8:	97fffbea 	bl	20002970 <vPortClearInterruptMask>
+    200039c8:	97fffc0e 	bl	20002a00 <vPortClearInterruptMask>
     200039cc:	aa1403e0 	mov	x0, x20
     200039d0:	a94153f3 	ldp	x19, x20, [sp, #16]
     200039d4:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2398,7 +2435,7 @@ Disassembly of section .text:
     20003a20:	a9025bf5 	stp	x21, x22, [sp, #32]
     20003a24:	aa0103f5 	mov	x21, x1
     20003a28:	d2800016 	mov	x22, #0x0                   	// #0
-    20003a2c:	97fffbe1 	bl	200029b0 <uxPortSetInterruptMask>
+    20003a2c:	97fffc05 	bl	20002a40 <uxPortSetInterruptMask>
     20003a30:	aa0003f4 	mov	x20, x0
     20003a34:	f9403a62 	ldr	x2, [x19, #112]
     20003a38:	f9403e60 	ldr	x0, [x19, #120]
@@ -2415,7 +2452,7 @@ Disassembly of section .text:
     20003a64:	13001c00 	sxtb	w0, w0
     20003a68:	39022660 	strb	w0, [x19, #137]
     20003a6c:	aa1403e0 	mov	x0, x20
-    20003a70:	97fffbc0 	bl	20002970 <vPortClearInterruptMask>
+    20003a70:	97fffbe4 	bl	20002a00 <vPortClearInterruptMask>
     20003a74:	aa1603e0 	mov	x0, x22
     20003a78:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003a7c:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2425,7 +2462,7 @@ Disassembly of section .text:
     20003a8c:	b5000120 	cbnz	x0, 20003ab0 <xQueueGiveFromISR+0xa0>
     20003a90:	aa1403e0 	mov	x0, x20
     20003a94:	d2800036 	mov	x22, #0x1                   	// #1
-    20003a98:	97fffbb6 	bl	20002970 <vPortClearInterruptMask>
+    20003a98:	97fffbda 	bl	20002a00 <vPortClearInterruptMask>
     20003a9c:	aa1603e0 	mov	x0, x22
     20003aa0:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003aa4:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2452,7 +2489,7 @@ Disassembly of section .text:
     20003af0:	a90363f7 	stp	x23, x24, [sp, #48]
     20003af4:	aa0103f7 	mov	x23, x1
     20003af8:	f90027e2 	str	x2, [sp, #72]
-    20003afc:	97fffbc1 	bl	20002a00 <vPortEnterCritical>
+    20003afc:	97fffbe5 	bl	20002a90 <vPortEnterCritical>
     20003b00:	f9403a74 	ldr	x20, [x19, #112]
     20003b04:	b5000854 	cbnz	x20, 20003c0c <xQueueReceive+0x12c>
     20003b08:	a9025bf5 	stp	x21, x22, [sp, #32]
@@ -2463,9 +2500,9 @@ Disassembly of section .text:
     20003b1c:	aa1503e0 	mov	x0, x21
     20003b20:	91012278 	add	x24, x19, #0x48
     20003b24:	940004af 	bl	20004de0 <vTaskInternalSetTimeOutState>
-    20003b28:	97fffb52 	bl	20002870 <vPortExitCritical>
+    20003b28:	97fffb76 	bl	20002900 <vPortExitCritical>
     20003b2c:	940002e1 	bl	200046b0 <vTaskSuspendAll>
-    20003b30:	97fffbb4 	bl	20002a00 <vPortEnterCritical>
+    20003b30:	97fffbd8 	bl	20002a90 <vPortEnterCritical>
     20003b34:	39422260 	ldrb	w0, [x19, #136]
     20003b38:	13001c00 	sxtb	w0, w0
     20003b3c:	3100041f 	cmn	w0, #0x1
@@ -2476,15 +2513,15 @@ Disassembly of section .text:
     20003b50:	3100041f 	cmn	w0, #0x1
     20003b54:	54000041 	b.ne	20003b5c <xQueueReceive+0x7c>  // b.any
     20003b58:	3902267f 	strb	wzr, [x19, #137]
-    20003b5c:	97fffb45 	bl	20002870 <vPortExitCritical>
+    20003b5c:	97fffb69 	bl	20002900 <vPortExitCritical>
     20003b60:	aa1603e1 	mov	x1, x22
     20003b64:	aa1503e0 	mov	x0, x21
     20003b68:	940004a6 	bl	20004e00 <xTaskCheckForTimeOut>
     20003b6c:	b5000300 	cbnz	x0, 20003bcc <xQueueReceive+0xec>
-    20003b70:	97fffba4 	bl	20002a00 <vPortEnterCritical>
+    20003b70:	97fffbc8 	bl	20002a90 <vPortEnterCritical>
     20003b74:	f9403a60 	ldr	x0, [x19, #112]
     20003b78:	b50003a0 	cbnz	x0, 20003bec <xQueueReceive+0x10c>
-    20003b7c:	97fffb3d 	bl	20002870 <vPortExitCritical>
+    20003b7c:	97fffb61 	bl	20002900 <vPortExitCritical>
     20003b80:	f94027e1 	ldr	x1, [sp, #72]
     20003b84:	aa1803e0 	mov	x0, x24
     20003b88:	94000402 	bl	20004b90 <vTaskPlaceOnEventList>
@@ -2492,12 +2529,12 @@ Disassembly of section .text:
     20003b90:	97fffe40 	bl	20003490 <prvUnlockQueue>
     20003b94:	94000363 	bl	20004920 <xTaskResumeAll>
     20003b98:	b4000540 	cbz	x0, 20003c40 <xQueueReceive+0x160>
-    20003b9c:	97fffb99 	bl	20002a00 <vPortEnterCritical>
+    20003b9c:	97fffbbd 	bl	20002a90 <vPortEnterCritical>
     20003ba0:	f9403a74 	ldr	x20, [x19, #112]
     20003ba4:	b5000334 	cbnz	x20, 20003c08 <xQueueReceive+0x128>
     20003ba8:	f94027e0 	ldr	x0, [sp, #72]
     20003bac:	b5fffbe0 	cbnz	x0, 20003b28 <xQueueReceive+0x48>
-    20003bb0:	97fffb30 	bl	20002870 <vPortExitCritical>
+    20003bb0:	97fffb54 	bl	20002900 <vPortExitCritical>
     20003bb4:	d2800000 	mov	x0, #0x0                   	// #0
     20003bb8:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003bbc:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2507,16 +2544,16 @@ Disassembly of section .text:
     20003bcc:	aa1303e0 	mov	x0, x19
     20003bd0:	97fffe30 	bl	20003490 <prvUnlockQueue>
     20003bd4:	94000353 	bl	20004920 <xTaskResumeAll>
-    20003bd8:	97fffb8a 	bl	20002a00 <vPortEnterCritical>
+    20003bd8:	97fffbae 	bl	20002a90 <vPortEnterCritical>
     20003bdc:	f9403a60 	ldr	x0, [x19, #112]
     20003be0:	b4fffe80 	cbz	x0, 20003bb0 <xQueueReceive+0xd0>
-    20003be4:	97fffb23 	bl	20002870 <vPortExitCritical>
+    20003be4:	97fffb47 	bl	20002900 <vPortExitCritical>
     20003be8:	17ffffed 	b	20003b9c <xQueueReceive+0xbc>
-    20003bec:	97fffb21 	bl	20002870 <vPortExitCritical>
+    20003bec:	97fffb45 	bl	20002900 <vPortExitCritical>
     20003bf0:	aa1303e0 	mov	x0, x19
     20003bf4:	97fffe27 	bl	20003490 <prvUnlockQueue>
     20003bf8:	9400034a 	bl	20004920 <xTaskResumeAll>
-    20003bfc:	97fffb81 	bl	20002a00 <vPortEnterCritical>
+    20003bfc:	97fffba5 	bl	20002a90 <vPortEnterCritical>
     20003c00:	f9403a74 	ldr	x20, [x19, #112]
     20003c04:	b4fffd34 	cbz	x20, 20003ba8 <xQueueReceive+0xc8>
     20003c08:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2527,7 +2564,7 @@ Disassembly of section .text:
     20003c1c:	f9003a74 	str	x20, [x19, #112]
     20003c20:	f9401260 	ldr	x0, [x19, #32]
     20003c24:	b5000120 	cbnz	x0, 20003c48 <xQueueReceive+0x168>
-    20003c28:	97fffb12 	bl	20002870 <vPortExitCritical>
+    20003c28:	97fffb36 	bl	20002900 <vPortExitCritical>
     20003c2c:	d2800020 	mov	x0, #0x1                   	// #1
     20003c30:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003c34:	a94363f7 	ldp	x23, x24, [sp, #48]
@@ -2555,15 +2592,15 @@ Disassembly of section .text:
     20003c84:	91012017 	add	x23, x0, #0x48
     20003c88:	d2800018 	mov	x24, #0x0                   	// #0
     20003c8c:	f90027e1 	str	x1, [sp, #72]
-    20003c90:	97fffb5c 	bl	20002a00 <vPortEnterCritical>
+    20003c90:	97fffb80 	bl	20002a90 <vPortEnterCritical>
     20003c94:	f9403a61 	ldr	x1, [x19, #112]
     20003c98:	b5000501 	cbnz	x1, 20003d38 <xQueueSemaphoreTake+0xd8>
     20003c9c:	f94027e0 	ldr	x0, [sp, #72]
     20003ca0:	b4000ca0 	cbz	x0, 20003e34 <xQueueSemaphoreTake+0x1d4>
     20003ca4:	b4000798 	cbz	x24, 20003d94 <xQueueSemaphoreTake+0x134>
-    20003ca8:	97fffaf2 	bl	20002870 <vPortExitCritical>
+    20003ca8:	97fffb16 	bl	20002900 <vPortExitCritical>
     20003cac:	94000281 	bl	200046b0 <vTaskSuspendAll>
-    20003cb0:	97fffb54 	bl	20002a00 <vPortEnterCritical>
+    20003cb0:	97fffb78 	bl	20002a90 <vPortEnterCritical>
     20003cb4:	39422261 	ldrb	w1, [x19, #136]
     20003cb8:	13001c21 	sxtb	w1, w1
     20003cbc:	3100043f 	cmn	w1, #0x1
@@ -2574,15 +2611,15 @@ Disassembly of section .text:
     20003cd0:	3100043f 	cmn	w1, #0x1
     20003cd4:	54000041 	b.ne	20003cdc <xQueueSemaphoreTake+0x7c>  // b.any
     20003cd8:	3902267f 	strb	wzr, [x19, #137]
-    20003cdc:	97fffae5 	bl	20002870 <vPortExitCritical>
+    20003cdc:	97fffb09 	bl	20002900 <vPortExitCritical>
     20003ce0:	aa1503e1 	mov	x1, x21
     20003ce4:	aa1403e0 	mov	x0, x20
     20003ce8:	94000446 	bl	20004e00 <xTaskCheckForTimeOut>
     20003cec:	b5000420 	cbnz	x0, 20003d70 <xQueueSemaphoreTake+0x110>
-    20003cf0:	97fffb44 	bl	20002a00 <vPortEnterCritical>
+    20003cf0:	97fffb68 	bl	20002a90 <vPortEnterCritical>
     20003cf4:	f9403a60 	ldr	x0, [x19, #112]
     20003cf8:	b5000540 	cbnz	x0, 20003da0 <xQueueSemaphoreTake+0x140>
-    20003cfc:	97fffadd 	bl	20002870 <vPortExitCritical>
+    20003cfc:	97fffb01 	bl	20002900 <vPortExitCritical>
     20003d00:	f9400260 	ldr	x0, [x19]
     20003d04:	b40008c0 	cbz	x0, 20003e1c <xQueueSemaphoreTake+0x1bc>
     20003d08:	f94027e1 	ldr	x1, [sp, #72]
@@ -2594,7 +2631,7 @@ Disassembly of section .text:
     20003d20:	b5000040 	cbnz	x0, 20003d28 <xQueueSemaphoreTake+0xc8>
     20003d24:	d4000001 	svc	#0x0
     20003d28:	d2800038 	mov	x24, #0x1                   	// #1
-    20003d2c:	97fffb35 	bl	20002a00 <vPortEnterCritical>
+    20003d2c:	97fffb59 	bl	20002a90 <vPortEnterCritical>
     20003d30:	f9403a61 	ldr	x1, [x19, #112]
     20003d34:	b4fffb41 	cbz	x1, 20003c9c <xQueueSemaphoreTake+0x3c>
     20003d38:	d1000421 	sub	x1, x1, #0x1
@@ -2603,7 +2640,7 @@ Disassembly of section .text:
     20003d44:	b4000920 	cbz	x0, 20003e68 <xQueueSemaphoreTake+0x208>
     20003d48:	f9401260 	ldr	x0, [x19, #32]
     20003d4c:	b5000840 	cbnz	x0, 20003e54 <xQueueSemaphoreTake+0x1f4>
-    20003d50:	97fffac8 	bl	20002870 <vPortExitCritical>
+    20003d50:	97fffaec 	bl	20002900 <vPortExitCritical>
     20003d54:	d2800036 	mov	x22, #0x1                   	// #1
     20003d58:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003d5c:	aa1603e0 	mov	x0, x22
@@ -2614,22 +2651,22 @@ Disassembly of section .text:
     20003d70:	aa1303e0 	mov	x0, x19
     20003d74:	97fffdc7 	bl	20003490 <prvUnlockQueue>
     20003d78:	940002ea 	bl	20004920 <xTaskResumeAll>
-    20003d7c:	97fffb21 	bl	20002a00 <vPortEnterCritical>
+    20003d7c:	97fffb45 	bl	20002a90 <vPortEnterCritical>
     20003d80:	f9403a60 	ldr	x0, [x19, #112]
     20003d84:	b40001a0 	cbz	x0, 20003db8 <xQueueSemaphoreTake+0x158>
     20003d88:	d2800038 	mov	x24, #0x1                   	// #1
-    20003d8c:	97fffab9 	bl	20002870 <vPortExitCritical>
+    20003d8c:	97fffadd 	bl	20002900 <vPortExitCritical>
     20003d90:	17ffffe7 	b	20003d2c <xQueueSemaphoreTake+0xcc>
     20003d94:	aa1403e0 	mov	x0, x20
     20003d98:	94000412 	bl	20004de0 <vTaskInternalSetTimeOutState>
     20003d9c:	17ffffc3 	b	20003ca8 <xQueueSemaphoreTake+0x48>
-    20003da0:	97fffab4 	bl	20002870 <vPortExitCritical>
+    20003da0:	97fffad8 	bl	20002900 <vPortExitCritical>
     20003da4:	aa1303e0 	mov	x0, x19
     20003da8:	d2800038 	mov	x24, #0x1                   	// #1
     20003dac:	97fffdb9 	bl	20003490 <prvUnlockQueue>
     20003db0:	940002dc 	bl	20004920 <xTaskResumeAll>
     20003db4:	17ffffde 	b	20003d2c <xQueueSemaphoreTake+0xcc>
-    20003db8:	97fffaae 	bl	20002870 <vPortExitCritical>
+    20003db8:	97fffad2 	bl	20002900 <vPortExitCritical>
     20003dbc:	b50000f6 	cbnz	x22, 20003dd8 <xQueueSemaphoreTake+0x178>
     20003dc0:	aa1603e0 	mov	x0, x22
     20003dc4:	a94153f3 	ldp	x19, x20, [sp, #16]
@@ -2637,7 +2674,7 @@ Disassembly of section .text:
     20003dcc:	a94363f7 	ldp	x23, x24, [sp, #48]
     20003dd0:	a8c67bfd 	ldp	x29, x30, [sp], #96
     20003dd4:	d65f03c0 	ret
-    20003dd8:	97fffb0a 	bl	20002a00 <vPortEnterCritical>
+    20003dd8:	97fffb2e 	bl	20002a90 <vPortEnterCritical>
     20003ddc:	f9402661 	ldr	x1, [x19, #72]
     20003de0:	b40000a1 	cbz	x1, 20003df4 <xQueueSemaphoreTake+0x194>
     20003de4:	f9403260 	ldr	x0, [x19, #96]
@@ -2647,20 +2684,20 @@ Disassembly of section .text:
     20003df4:	f9400a60 	ldr	x0, [x19, #16]
     20003df8:	d2800016 	mov	x22, #0x0                   	// #0
     20003dfc:	940004c9 	bl	20005120 <vTaskPriorityDisinheritAfterTimeout>
-    20003e00:	97fffa9c 	bl	20002870 <vPortExitCritical>
+    20003e00:	97fffac0 	bl	20002900 <vPortExitCritical>
     20003e04:	aa1603e0 	mov	x0, x22
     20003e08:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003e0c:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20003e10:	a94363f7 	ldp	x23, x24, [sp, #48]
     20003e14:	a8c67bfd 	ldp	x29, x30, [sp], #96
     20003e18:	d65f03c0 	ret
-    20003e1c:	97fffaf9 	bl	20002a00 <vPortEnterCritical>
+    20003e1c:	97fffb1d 	bl	20002a90 <vPortEnterCritical>
     20003e20:	f9400a60 	ldr	x0, [x19, #16]
     20003e24:	9400043b 	bl	20004f10 <xTaskPriorityInherit>
     20003e28:	aa0003f6 	mov	x22, x0
-    20003e2c:	97fffa91 	bl	20002870 <vPortExitCritical>
+    20003e2c:	97fffab5 	bl	20002900 <vPortExitCritical>
     20003e30:	17ffffb6 	b	20003d08 <xQueueSemaphoreTake+0xa8>
-    20003e34:	97fffa8f 	bl	20002870 <vPortExitCritical>
+    20003e34:	97fffab3 	bl	20002900 <vPortExitCritical>
     20003e38:	d2800016 	mov	x22, #0x0                   	// #0
     20003e3c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003e40:	aa1603e0 	mov	x0, x22
@@ -2688,7 +2725,7 @@ Disassembly of section .text:
     20003e90:	a9025bf5 	stp	x21, x22, [sp, #32]
     20003e94:	aa0103f6 	mov	x22, x1
     20003e98:	f90027e2 	str	x2, [sp, #72]
-    20003e9c:	97fffad9 	bl	20002a00 <vPortEnterCritical>
+    20003e9c:	97fffafd 	bl	20002a90 <vPortEnterCritical>
     20003ea0:	f9403a60 	ldr	x0, [x19, #112]
     20003ea4:	b5000860 	cbnz	x0, 20003fb0 <xQueuePeek+0x130>
     20003ea8:	f9001bf7 	str	x23, [sp, #48]
@@ -2699,9 +2736,9 @@ Disassembly of section .text:
     20003ebc:	aa1403e0 	mov	x0, x20
     20003ec0:	91012277 	add	x23, x19, #0x48
     20003ec4:	940003c7 	bl	20004de0 <vTaskInternalSetTimeOutState>
-    20003ec8:	97fffa6a 	bl	20002870 <vPortExitCritical>
+    20003ec8:	97fffa8e 	bl	20002900 <vPortExitCritical>
     20003ecc:	940001f9 	bl	200046b0 <vTaskSuspendAll>
-    20003ed0:	97fffacc 	bl	20002a00 <vPortEnterCritical>
+    20003ed0:	97fffaf0 	bl	20002a90 <vPortEnterCritical>
     20003ed4:	39422260 	ldrb	w0, [x19, #136]
     20003ed8:	13001c00 	sxtb	w0, w0
     20003edc:	3100041f 	cmn	w0, #0x1
@@ -2712,15 +2749,15 @@ Disassembly of section .text:
     20003ef0:	3100041f 	cmn	w0, #0x1
     20003ef4:	54000041 	b.ne	20003efc <xQueuePeek+0x7c>  // b.any
     20003ef8:	3902267f 	strb	wzr, [x19, #137]
-    20003efc:	97fffa5d 	bl	20002870 <vPortExitCritical>
+    20003efc:	97fffa81 	bl	20002900 <vPortExitCritical>
     20003f00:	aa1503e1 	mov	x1, x21
     20003f04:	aa1403e0 	mov	x0, x20
     20003f08:	940003be 	bl	20004e00 <xTaskCheckForTimeOut>
     20003f0c:	b5000320 	cbnz	x0, 20003f70 <xQueuePeek+0xf0>
-    20003f10:	97fffabc 	bl	20002a00 <vPortEnterCritical>
+    20003f10:	97fffae0 	bl	20002a90 <vPortEnterCritical>
     20003f14:	f9403a60 	ldr	x0, [x19, #112]
     20003f18:	b50003c0 	cbnz	x0, 20003f90 <xQueuePeek+0x110>
-    20003f1c:	97fffa55 	bl	20002870 <vPortExitCritical>
+    20003f1c:	97fffa79 	bl	20002900 <vPortExitCritical>
     20003f20:	f94027e1 	ldr	x1, [sp, #72]
     20003f24:	aa1703e0 	mov	x0, x23
     20003f28:	9400031a 	bl	20004b90 <vTaskPlaceOnEventList>
@@ -2729,12 +2766,12 @@ Disassembly of section .text:
     20003f34:	9400027b 	bl	20004920 <xTaskResumeAll>
     20003f38:	b4000360 	cbz	x0, 20003fa4 <xQueuePeek+0x124>
     20003f3c:	d503201f 	nop
-    20003f40:	97fffab0 	bl	20002a00 <vPortEnterCritical>
+    20003f40:	97fffad4 	bl	20002a90 <vPortEnterCritical>
     20003f44:	f9403a60 	ldr	x0, [x19, #112]
     20003f48:	b5000320 	cbnz	x0, 20003fac <xQueuePeek+0x12c>
     20003f4c:	f94027e0 	ldr	x0, [sp, #72]
     20003f50:	b5fffbc0 	cbnz	x0, 20003ec8 <xQueuePeek+0x48>
-    20003f54:	97fffa47 	bl	20002870 <vPortExitCritical>
+    20003f54:	97fffa6b 	bl	20002900 <vPortExitCritical>
     20003f58:	d2800000 	mov	x0, #0x0                   	// #0
     20003f5c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003f60:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2744,12 +2781,12 @@ Disassembly of section .text:
     20003f70:	aa1303e0 	mov	x0, x19
     20003f74:	97fffd47 	bl	20003490 <prvUnlockQueue>
     20003f78:	9400026a 	bl	20004920 <xTaskResumeAll>
-    20003f7c:	97fffaa1 	bl	20002a00 <vPortEnterCritical>
+    20003f7c:	97fffac5 	bl	20002a90 <vPortEnterCritical>
     20003f80:	f9403a60 	ldr	x0, [x19, #112]
     20003f84:	b4fffe80 	cbz	x0, 20003f54 <xQueuePeek+0xd4>
-    20003f88:	97fffa3a 	bl	20002870 <vPortExitCritical>
+    20003f88:	97fffa5e 	bl	20002900 <vPortExitCritical>
     20003f8c:	17ffffed 	b	20003f40 <xQueuePeek+0xc0>
-    20003f90:	97fffa38 	bl	20002870 <vPortExitCritical>
+    20003f90:	97fffa5c 	bl	20002900 <vPortExitCritical>
     20003f94:	aa1303e0 	mov	x0, x19
     20003f98:	97fffd3e 	bl	20003490 <prvUnlockQueue>
     20003f9c:	94000261 	bl	20004920 <xTaskResumeAll>
@@ -2764,7 +2801,7 @@ Disassembly of section .text:
     20003fc0:	f9402660 	ldr	x0, [x19, #72]
     20003fc4:	f9000e74 	str	x20, [x19, #24]
     20003fc8:	b50000e0 	cbnz	x0, 20003fe4 <xQueuePeek+0x164>
-    20003fcc:	97fffa29 	bl	20002870 <vPortExitCritical>
+    20003fcc:	97fffa4d 	bl	20002900 <vPortExitCritical>
     20003fd0:	d2800020 	mov	x0, #0x1                   	// #1
     20003fd4:	a94153f3 	ldp	x19, x20, [sp, #16]
     20003fd8:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2787,13 +2824,13 @@ Disassembly of section .text:
     20004014:	aa0103f5 	mov	x21, x1
     20004018:	a90363f7 	stp	x23, x24, [sp, #48]
     2000401c:	aa0203f7 	mov	x23, x2
-    20004020:	97fffa64 	bl	200029b0 <uxPortSetInterruptMask>
+    20004020:	97fffa88 	bl	20002a40 <uxPortSetInterruptMask>
     20004024:	f9403a76 	ldr	x22, [x19, #112]
     20004028:	aa0003f4 	mov	x20, x0
     2000402c:	b5000156 	cbnz	x22, 20004054 <xQueueReceiveFromISR+0x54>
     20004030:	d2800015 	mov	x21, #0x0                   	// #0
     20004034:	aa1403e0 	mov	x0, x20
-    20004038:	97fffa4e 	bl	20002970 <vPortClearInterruptMask>
+    20004038:	97fffa72 	bl	20002a00 <vPortClearInterruptMask>
     2000403c:	aa1503e0 	mov	x0, x21
     20004040:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004044:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2814,7 +2851,7 @@ Disassembly of section .text:
     20004080:	13001f18 	sxtb	w24, w24
     20004084:	d2800035 	mov	x21, #0x1                   	// #1
     20004088:	39022278 	strb	w24, [x19, #136]
-    2000408c:	97fffa39 	bl	20002970 <vPortClearInterruptMask>
+    2000408c:	97fffa5d 	bl	20002a00 <vPortClearInterruptMask>
     20004090:	aa1503e0 	mov	x0, x21
     20004094:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004098:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2843,13 +2880,13 @@ Disassembly of section .text:
     200040ec:	aa0003f3 	mov	x19, x0
     200040f0:	a9025bf5 	stp	x21, x22, [sp, #32]
     200040f4:	aa0103f5 	mov	x21, x1
-    200040f8:	97fffa2e 	bl	200029b0 <uxPortSetInterruptMask>
+    200040f8:	97fffa52 	bl	20002a40 <uxPortSetInterruptMask>
     200040fc:	f9403a61 	ldr	x1, [x19, #112]
     20004100:	aa0003f4 	mov	x20, x0
     20004104:	b5000121 	cbnz	x1, 20004128 <xQueuePeekFromISR+0x48>
     20004108:	aa1403e0 	mov	x0, x20
     2000410c:	d2800015 	mov	x21, #0x0                   	// #0
-    20004110:	97fffa18 	bl	20002970 <vPortClearInterruptMask>
+    20004110:	97fffa3c 	bl	20002a00 <vPortClearInterruptMask>
     20004114:	aa1503e0 	mov	x0, x21
     20004118:	a94153f3 	ldp	x19, x20, [sp, #16]
     2000411c:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2862,7 +2899,7 @@ Disassembly of section .text:
     20004138:	aa1403e0 	mov	x0, x20
     2000413c:	d2800035 	mov	x21, #0x1                   	// #1
     20004140:	f9000e76 	str	x22, [x19, #24]
-    20004144:	97fffa0b 	bl	20002970 <vPortClearInterruptMask>
+    20004144:	97fffa2f 	bl	20002a00 <vPortClearInterruptMask>
     20004148:	aa1503e0 	mov	x0, x21
     2000414c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004150:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -2875,9 +2912,9 @@ Disassembly of section .text:
     20004164:	910003fd 	mov	x29, sp
     20004168:	f9000bf3 	str	x19, [sp, #16]
     2000416c:	aa0003f3 	mov	x19, x0
-    20004170:	97fffa24 	bl	20002a00 <vPortEnterCritical>
+    20004170:	97fffa48 	bl	20002a90 <vPortEnterCritical>
     20004174:	f9403a73 	ldr	x19, [x19, #112]
-    20004178:	97fff9be 	bl	20002870 <vPortExitCritical>
+    20004178:	97fff9e2 	bl	20002900 <vPortExitCritical>
     2000417c:	aa1303e0 	mov	x0, x19
     20004180:	f9400bf3 	ldr	x19, [sp, #16]
     20004184:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -2889,11 +2926,11 @@ Disassembly of section .text:
     20004194:	910003fd 	mov	x29, sp
     20004198:	f9000bf3 	str	x19, [sp, #16]
     2000419c:	aa0003f3 	mov	x19, x0
-    200041a0:	97fffa18 	bl	20002a00 <vPortEnterCritical>
+    200041a0:	97fffa3c 	bl	20002a90 <vPortEnterCritical>
     200041a4:	f9403a60 	ldr	x0, [x19, #112]
     200041a8:	f9403e73 	ldr	x19, [x19, #120]
     200041ac:	cb000273 	sub	x19, x19, x0
-    200041b0:	97fff9b0 	bl	20002870 <vPortExitCritical>
+    200041b0:	97fff9d4 	bl	20002900 <vPortExitCritical>
     200041b4:	aa1303e0 	mov	x0, x19
     200041b8:	f9400bf3 	ldr	x19, [sp, #16]
     200041bc:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -2938,7 +2975,7 @@ Disassembly of section .text:
     20004230:	aa0103f4 	mov	x20, x1
     20004234:	f90013f5 	str	x21, [sp, #32]
     20004238:	aa0203f5 	mov	x21, x2
-    2000423c:	97fff9f1 	bl	20002a00 <vPortEnterCritical>
+    2000423c:	97fffa15 	bl	20002a90 <vPortEnterCritical>
     20004240:	39422260 	ldrb	w0, [x19, #136]
     20004244:	13001c00 	sxtb	w0, w0
     20004248:	3100041f 	cmn	w0, #0x1
@@ -2949,7 +2986,7 @@ Disassembly of section .text:
     2000425c:	3100041f 	cmn	w0, #0x1
     20004260:	54000041 	b.ne	20004268 <vQueueWaitForMessageRestricted+0x48>  // b.any
     20004264:	3902267f 	strb	wzr, [x19, #137]
-    20004268:	97fff982 	bl	20002870 <vPortExitCritical>
+    20004268:	97fff9a6 	bl	20002900 <vPortExitCritical>
     2000426c:	f9403a60 	ldr	x0, [x19, #112]
     20004270:	b40000c0 	cbz	x0, 20004288 <vQueueWaitForMessageRestricted+0x68>
     20004274:	aa1303e0 	mov	x0, x19
@@ -2986,9 +3023,9 @@ Disassembly of section .text:
     200042e0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
     200042e4:	910003fd 	mov	x29, sp
     200042e8:	a90153f3 	stp	x19, x20, [sp, #16]
-    200042ec:	f0000013 	adrp	x19, 20007000 <shared_memory2>
+    200042ec:	f0000013 	adrp	x19, 20007000 <shared_memory>
     200042f0:	a90363f7 	stp	x23, x24, [sp, #48]
-    200042f4:	f9406678 	ldr	x24, [x19, #200]
+    200042f4:	f9406278 	ldr	x24, [x19, #192]
     200042f8:	a9025bf5 	stp	x21, x22, [sp, #32]
     200042fc:	90000035 	adrp	x21, 20008000 <__bss_start>
     20004300:	911cc2b7 	add	x23, x21, #0x730
@@ -3005,7 +3042,7 @@ Disassembly of section .text:
     2000432c:	9ac22000 	lsl	x0, x0, x2
     20004330:	8a200020 	bic	x0, x1, x0
     20004334:	f900a6e0 	str	x0, [x23, #328]
-    20004338:	f9406673 	ldr	x19, [x19, #200]
+    20004338:	f9406273 	ldr	x19, [x19, #192]
     2000433c:	ab160294 	adds	x20, x20, x22
     20004340:	911cc2b5 	add	x21, x21, #0x730
     20004344:	f9400260 	ldr	x0, [x19]
@@ -3093,16 +3130,16 @@ Disassembly of section .text:
     20004484:	f9001a76 	str	x22, [x19, #48]
     20004488:	f9002673 	str	x19, [x19, #72]
     2000448c:	3902327f 	strb	wzr, [x19, #140]
-    20004490:	97fff884 	bl	200026a0 <pxPortInitialiseStack>
+    20004490:	97fff8a8 	bl	20002730 <pxPortInitialiseStack>
     20004494:	f9000260 	str	x0, [x19]
     20004498:	b4000057 	cbz	x23, 200044a0 <xTaskCreate+0xf0>
     2000449c:	f90002f3 	str	x19, [x23]
-    200044a0:	97fff958 	bl	20002a00 <vPortEnterCritical>
+    200044a0:	97fff97c 	bl	20002a90 <vPortEnterCritical>
     200044a4:	90000034 	adrp	x20, 20008000 <__bss_start>
     200044a8:	911cc280 	add	x0, x20, #0x730
     200044ac:	f940b401 	ldr	x1, [x0, #360]
-    200044b0:	f0000016 	adrp	x22, 20007000 <shared_memory2>
-    200044b4:	f94066c2 	ldr	x2, [x22, #200]
+    200044b0:	f0000016 	adrp	x22, 20007000 <shared_memory>
+    200044b4:	f94062c2 	ldr	x2, [x22, #192]
     200044b8:	91000421 	add	x1, x1, #0x1
     200044bc:	f900b401 	str	x1, [x0, #360]
     200044c0:	f9400041 	ldr	x1, [x2]
@@ -3128,11 +3165,11 @@ Disassembly of section .text:
     20004510:	f900a682 	str	x2, [x20, #328]
     20004514:	f900fa83 	str	x3, [x20, #496]
     20004518:	97fffb52 	bl	20003260 <vListInsertEnd>
-    2000451c:	97fff8d5 	bl	20002870 <vPortExitCritical>
+    2000451c:	97fff8f9 	bl	20002900 <vPortExitCritical>
     20004520:	f940f681 	ldr	x1, [x20, #488]
     20004524:	aa1503e0 	mov	x0, x21
     20004528:	b4000141 	cbz	x1, 20004550 <xTaskCreate+0x1a0>
-    2000452c:	f94066d6 	ldr	x22, [x22, #200]
+    2000452c:	f94062d6 	ldr	x22, [x22, #192]
     20004530:	f9402e61 	ldr	x1, [x19, #88]
     20004534:	f94002c2 	ldr	x2, [x22]
     20004538:	f9402c42 	ldr	x2, [x2, #88]
@@ -3195,7 +3232,7 @@ Disassembly of section .text:
     20004614:	910003fd 	mov	x29, sp
     20004618:	d0000001 	adrp	x1, 20006000 <pvPortMalloc+0x20>
     2000461c:	90000000 	adrp	x0, 20004000 <xQueueReceiveFromISR>
-    20004620:	9106e021 	add	x1, x1, #0x1b8
+    20004620:	9105c021 	add	x1, x1, #0x170
     20004624:	910ac000 	add	x0, x0, #0x2b0
     20004628:	f9000bf3 	str	x19, [sp, #16]
     2000462c:	90000033 	adrp	x19, 20008000 <__bss_start>
@@ -3222,7 +3259,7 @@ Disassembly of section .text:
     20004680:	f900a27f 	str	xzr, [x19, #320]
     20004684:	f9400bf3 	ldr	x19, [sp, #16]
     20004688:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    2000468c:	17fff861 	b	20002810 <xPortStartScheduler>
+    2000468c:	17fff885 	b	200028a0 <xPortStartScheduler>
 
 0000000020004690 <vTaskEndScheduler>:
     20004690:	d50342df 	msr	daifset, #0x2
@@ -3231,7 +3268,7 @@ Disassembly of section .text:
     2000469c:	90000020 	adrp	x0, 20008000 <__bss_start>
     200046a0:	911cc000 	add	x0, x0, #0x730
     200046a4:	f900f41f 	str	xzr, [x0, #488]
-    200046a8:	17fff86e 	b	20002860 <vPortEndScheduler>
+    200046a8:	17fff892 	b	200028f0 <vPortEndScheduler>
     200046ac:	d503201f 	nop
 
 00000000200046b0 <vTaskSuspendAll>:
@@ -3266,8 +3303,8 @@ Disassembly of section .text:
     20004700:	b4000060 	cbz	x0, 2000470c <pcTaskGetName+0xc>
     20004704:	9101a000 	add	x0, x0, #0x68
     20004708:	d65f03c0 	ret
-    2000470c:	f0000000 	adrp	x0, 20007000 <shared_memory2>
-    20004710:	f9406400 	ldr	x0, [x0, #200]
+    2000470c:	f0000000 	adrp	x0, 20007000 <shared_memory>
+    20004710:	f9406000 	ldr	x0, [x0, #192]
     20004714:	f9400000 	ldr	x0, [x0]
     20004718:	9101a000 	add	x0, x0, #0x68
     2000471c:	d65f03c0 	ret
@@ -3306,10 +3343,10 @@ Disassembly of section .text:
     20004798:	f940ae80 	ldr	x0, [x20, #344]
     2000479c:	f9400000 	ldr	x0, [x0]
     200047a0:	b4000b60 	cbz	x0, 2000490c <xTaskIncrementTick+0x1ec>
-    200047a4:	f0000019 	adrp	x25, 20007000 <shared_memory2>
+    200047a4:	f0000019 	adrp	x25, 20007000 <shared_memory>
     200047a8:	d2800015 	mov	x21, #0x0                   	// #0
     200047ac:	f9002bfb 	str	x27, [sp, #80]
-    200047b0:	f940673a 	ldr	x26, [x25, #200]
+    200047b0:	f940633a 	ldr	x26, [x25, #192]
     200047b4:	d2800037 	mov	x23, #0x1                   	// #1
     200047b8:	14000017 	b	20004814 <xTaskIncrementTick+0xf4>
     200047bc:	97fffacd 	bl	200032f0 <uxListRemove>
@@ -3346,8 +3383,8 @@ Disassembly of section .text:
     20004838:	f9402bfb 	ldr	x27, [sp, #80]
     2000483c:	14000003 	b	20004848 <xTaskIncrementTick+0x128>
     20004840:	d2800015 	mov	x21, #0x0                   	// #0
-    20004844:	f0000019 	adrp	x25, 20007000 <shared_memory2>
-    20004848:	f9406722 	ldr	x2, [x25, #200]
+    20004844:	f0000019 	adrp	x25, 20007000 <shared_memory>
+    20004848:	f9406322 	ldr	x2, [x25, #192]
     2000484c:	911cc301 	add	x1, x24, #0x730
     20004850:	f9400040 	ldr	x0, [x2]
     20004854:	f9402c00 	ldr	x0, [x0, #88]
@@ -3397,7 +3434,7 @@ Disassembly of section .text:
     20004904:	f900b001 	str	x1, [x0, #352]
     20004908:	17ffffd0 	b	20004848 <xTaskIncrementTick+0x128>
     2000490c:	d2800015 	mov	x21, #0x0                   	// #0
-    20004910:	f0000019 	adrp	x25, 20007000 <shared_memory2>
+    20004910:	f0000019 	adrp	x25, 20007000 <shared_memory>
     20004914:	17fffffa 	b	200048fc <xTaskIncrementTick+0x1dc>
     20004918:	d503201f 	nop
     2000491c:	d503201f 	nop
@@ -3409,7 +3446,7 @@ Disassembly of section .text:
     2000492c:	a90363f7 	stp	x23, x24, [sp, #48]
     20004930:	90000037 	adrp	x23, 20008000 <__bss_start>
     20004934:	911cc2f3 	add	x19, x23, #0x730
-    20004938:	97fff832 	bl	20002a00 <vPortEnterCritical>
+    20004938:	97fff856 	bl	20002a90 <vPortEnterCritical>
     2000493c:	f9410260 	ldr	x0, [x19, #512]
     20004940:	d1000400 	sub	x0, x0, #0x1
     20004944:	f9010260 	str	x0, [x19, #512]
@@ -3420,9 +3457,9 @@ Disassembly of section .text:
     20004958:	a9025bf5 	stp	x21, x22, [sp, #32]
     2000495c:	f940e260 	ldr	x0, [x19, #448]
     20004960:	b4000420 	cbz	x0, 200049e4 <xTaskResumeAll+0xc4>
-    20004964:	f0000000 	adrp	x0, 20007000 <shared_memory2>
+    20004964:	f0000000 	adrp	x0, 20007000 <shared_memory>
     20004968:	d2800036 	mov	x22, #0x1                   	// #1
-    2000496c:	f9406418 	ldr	x24, [x0, #200]
+    2000496c:	f9406018 	ldr	x24, [x0, #192]
     20004970:	f940ee60 	ldr	x0, [x19, #472]
     20004974:	f9400c14 	ldr	x20, [x0, #24]
     20004978:	9100c280 	add	x0, x20, #0x30
@@ -3470,7 +3507,7 @@ Disassembly of section .text:
     20004a20:	d4000001 	svc	#0x0
     20004a24:	d2800033 	mov	x19, #0x1                   	// #1
     20004a28:	a9425bf5 	ldp	x21, x22, [sp, #32]
-    20004a2c:	97fff791 	bl	20002870 <vPortExitCritical>
+    20004a2c:	97fff7b5 	bl	20002900 <vPortExitCritical>
     20004a30:	aa1303e0 	mov	x0, x19
     20004a34:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004a38:	a94363f7 	ldp	x23, x24, [sp, #48]
@@ -3478,7 +3515,7 @@ Disassembly of section .text:
     20004a40:	d65f03c0 	ret
     20004a44:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20004a48:	d2800013 	mov	x19, #0x0                   	// #0
-    20004a4c:	97fff789 	bl	20002870 <vPortExitCritical>
+    20004a4c:	97fff7ad 	bl	20002900 <vPortExitCritical>
     20004a50:	aa1303e0 	mov	x0, x19
     20004a54:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004a58:	a94363f7 	ldp	x23, x24, [sp, #48]
@@ -3552,14 +3589,14 @@ Disassembly of section .text:
     20004b50:	eb00003f 	cmp	x1, x0
     20004b54:	f9000441 	str	x1, [x2, #8]
     20004b58:	540000c0 	b.eq	20004b70 <vTaskSwitchContext+0x70>  // b.none
-    20004b5c:	f0000000 	adrp	x0, 20007000 <shared_memory2>
+    20004b5c:	f0000000 	adrp	x0, 20007000 <shared_memory>
     20004b60:	f9400c21 	ldr	x1, [x1, #24]
-    20004b64:	f9406400 	ldr	x0, [x0, #200]
+    20004b64:	f9406000 	ldr	x0, [x0, #192]
     20004b68:	f9000001 	str	x1, [x0]
     20004b6c:	d65f03c0 	ret
     20004b70:	f9400421 	ldr	x1, [x1, #8]
-    20004b74:	f0000000 	adrp	x0, 20007000 <shared_memory2>
-    20004b78:	f9406400 	ldr	x0, [x0, #200]
+    20004b74:	f0000000 	adrp	x0, 20007000 <shared_memory>
+    20004b78:	f9406000 	ldr	x0, [x0, #192]
     20004b7c:	f9000441 	str	x1, [x2, #8]
     20004b80:	f9400c21 	ldr	x1, [x1, #24]
     20004b84:	f9000001 	str	x1, [x0]
@@ -3567,10 +3604,10 @@ Disassembly of section .text:
     20004b8c:	d503201f 	nop
 
 0000000020004b90 <vTaskPlaceOnEventList>:
-    20004b90:	f0000002 	adrp	x2, 20007000 <shared_memory2>
+    20004b90:	f0000002 	adrp	x2, 20007000 <shared_memory>
     20004b94:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
     20004b98:	910003fd 	mov	x29, sp
-    20004b9c:	f9406442 	ldr	x2, [x2, #200]
+    20004b9c:	f9406042 	ldr	x2, [x2, #192]
     20004ba0:	f9000bf3 	str	x19, [sp, #16]
     20004ba4:	aa0103f3 	mov	x19, x1
     20004ba8:	f9400041 	ldr	x1, [x2]
@@ -3585,11 +3622,11 @@ Disassembly of section .text:
     20004bcc:	d503201f 	nop
 
 0000000020004bd0 <vTaskPlaceOnUnorderedEventList>:
-    20004bd0:	f0000003 	adrp	x3, 20007000 <shared_memory2>
+    20004bd0:	f0000003 	adrp	x3, 20007000 <shared_memory>
     20004bd4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
     20004bd8:	910003fd 	mov	x29, sp
     20004bdc:	b2610024 	orr	x4, x1, #0x80000000
-    20004be0:	f9406463 	ldr	x3, [x3, #200]
+    20004be0:	f9406063 	ldr	x3, [x3, #192]
     20004be4:	f9000bf3 	str	x19, [sp, #16]
     20004be8:	aa0203f3 	mov	x19, x2
     20004bec:	f9400062 	ldr	x2, [x3]
@@ -3603,10 +3640,10 @@ Disassembly of section .text:
     20004c0c:	17fffdb5 	b	200042e0 <prvAddCurrentTaskToDelayedList.isra.0>
 
 0000000020004c10 <vTaskPlaceOnEventListRestricted>:
-    20004c10:	f0000003 	adrp	x3, 20007000 <shared_memory2>
+    20004c10:	f0000003 	adrp	x3, 20007000 <shared_memory>
     20004c14:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
     20004c18:	910003fd 	mov	x29, sp
-    20004c1c:	f9406463 	ldr	x3, [x3, #200]
+    20004c1c:	f9406063 	ldr	x3, [x3, #192]
     20004c20:	a90153f3 	stp	x19, x20, [sp, #16]
     20004c24:	aa0103f3 	mov	x19, x1
     20004c28:	aa0203f4 	mov	x20, x2
@@ -3647,10 +3684,10 @@ Disassembly of section .text:
     20004cac:	8b000e80 	add	x0, x20, x0, lsl #3
     20004cb0:	f900a682 	str	x2, [x20, #328]
     20004cb4:	97fff96b 	bl	20003260 <vListInsertEnd>
-    20004cb8:	f0000001 	adrp	x1, 20007000 <shared_memory2>
+    20004cb8:	f0000001 	adrp	x1, 20007000 <shared_memory>
     20004cbc:	f9402e62 	ldr	x2, [x19, #88]
     20004cc0:	d2800000 	mov	x0, #0x0                   	// #0
-    20004cc4:	f9406421 	ldr	x1, [x1, #200]
+    20004cc4:	f9406021 	ldr	x1, [x1, #192]
     20004cc8:	f9400021 	ldr	x1, [x1]
     20004ccc:	f9402c21 	ldr	x1, [x1, #88]
     20004cd0:	eb01005f 	cmp	x2, x1
@@ -3694,9 +3731,9 @@ Disassembly of section .text:
     20004d60:	8b000e60 	add	x0, x19, x0, lsl #3
     20004d64:	f900a662 	str	x2, [x19, #328]
     20004d68:	97fff93e 	bl	20003260 <vListInsertEnd>
-    20004d6c:	f0000000 	adrp	x0, 20007000 <shared_memory2>
+    20004d6c:	f0000000 	adrp	x0, 20007000 <shared_memory>
     20004d70:	f9402e81 	ldr	x1, [x20, #88]
-    20004d74:	f9406400 	ldr	x0, [x0, #200]
+    20004d74:	f9406000 	ldr	x0, [x0, #192]
     20004d78:	f9400000 	ldr	x0, [x0]
     20004d7c:	f9402c00 	ldr	x0, [x0, #88]
     20004d80:	eb00003f 	cmp	x1, x0
@@ -3713,7 +3750,7 @@ Disassembly of section .text:
     20004da4:	910003fd 	mov	x29, sp
     20004da8:	f9000bf3 	str	x19, [sp, #16]
     20004dac:	aa0003f3 	mov	x19, x0
-    20004db0:	97fff714 	bl	20002a00 <vPortEnterCritical>
+    20004db0:	97fff738 	bl	20002a90 <vPortEnterCritical>
     20004db4:	90000020 	adrp	x0, 20008000 <__bss_start>
     20004db8:	911cc000 	add	x0, x0, #0x730
     20004dbc:	f9410401 	ldr	x1, [x0, #520]
@@ -3721,7 +3758,7 @@ Disassembly of section .text:
     20004dc4:	a9000261 	stp	x1, x0, [x19]
     20004dc8:	f9400bf3 	ldr	x19, [sp, #16]
     20004dcc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20004dd0:	17fff6a8 	b	20002870 <vPortExitCritical>
+    20004dd0:	17fff6cc 	b	20002900 <vPortExitCritical>
     20004dd4:	d503201f 	nop
     20004dd8:	d503201f 	nop
     20004ddc:	d503201f 	nop
@@ -3742,7 +3779,7 @@ Disassembly of section .text:
     20004e08:	a90153f3 	stp	x19, x20, [sp, #16]
     20004e0c:	aa0003f3 	mov	x19, x0
     20004e10:	aa0103f4 	mov	x20, x1
-    20004e14:	97fff6fb 	bl	20002a00 <vPortEnterCritical>
+    20004e14:	97fff71f 	bl	20002a90 <vPortEnterCritical>
     20004e18:	90000020 	adrp	x0, 20008000 <__bss_start>
     20004e1c:	911cc000 	add	x0, x0, #0x730
     20004e20:	a9400663 	ldp	x3, x1, [x19]
@@ -3757,7 +3794,7 @@ Disassembly of section .text:
     20004e44:	54000108 	b.hi	20004e64 <xTaskCheckForTimeOut+0x64>  // b.pmore
     20004e48:	f900029f 	str	xzr, [x20]
     20004e4c:	d2800033 	mov	x19, #0x1                   	// #1
-    20004e50:	97fff688 	bl	20002870 <vPortExitCritical>
+    20004e50:	97fff6ac 	bl	20002900 <vPortExitCritical>
     20004e54:	aa1303e0 	mov	x0, x19
     20004e58:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004e5c:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -3768,12 +3805,12 @@ Disassembly of section .text:
     20004e70:	d2800013 	mov	x19, #0x0                   	// #0
     20004e74:	f9000282 	str	x2, [x20]
     20004e78:	97ffffda 	bl	20004de0 <vTaskInternalSetTimeOutState>
-    20004e7c:	97fff67d 	bl	20002870 <vPortExitCritical>
+    20004e7c:	97fff6a1 	bl	20002900 <vPortExitCritical>
     20004e80:	aa1303e0 	mov	x0, x19
     20004e84:	a94153f3 	ldp	x19, x20, [sp, #16]
     20004e88:	a8c27bfd 	ldp	x29, x30, [sp], #32
     20004e8c:	d65f03c0 	ret
-    20004e90:	97fff678 	bl	20002870 <vPortExitCritical>
+    20004e90:	97fff69c 	bl	20002900 <vPortExitCritical>
     20004e94:	d2800033 	mov	x19, #0x1                   	// #1
     20004e98:	aa1303e0 	mov	x0, x19
     20004e9c:	a94153f3 	ldp	x19, x20, [sp, #16]
@@ -3793,8 +3830,8 @@ Disassembly of section .text:
     20004ecc:	d503201f 	nop
 
 0000000020004ed0 <xTaskGetCurrentTaskHandle>:
-    20004ed0:	f0000000 	adrp	x0, 20007000 <shared_memory2>
-    20004ed4:	f9406400 	ldr	x0, [x0, #200]
+    20004ed0:	f0000000 	adrp	x0, 20007000 <shared_memory>
+    20004ed4:	f9406000 	ldr	x0, [x0, #192]
     20004ed8:	f9400000 	ldr	x0, [x0]
     20004edc:	d65f03c0 	ret
 
@@ -3817,9 +3854,9 @@ Disassembly of section .text:
     20004f14:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
     20004f18:	910003fd 	mov	x29, sp
     20004f1c:	a90153f3 	stp	x19, x20, [sp, #16]
-    20004f20:	f0000014 	adrp	x20, 20007000 <shared_memory2>
+    20004f20:	f0000014 	adrp	x20, 20007000 <shared_memory>
     20004f24:	aa0003f3 	mov	x19, x0
-    20004f28:	f9406681 	ldr	x1, [x20, #200]
+    20004f28:	f9406281 	ldr	x1, [x20, #192]
     20004f2c:	f9402c00 	ldr	x0, [x0, #88]
     20004f30:	f9400022 	ldr	x2, [x1]
     20004f34:	f9402c42 	ldr	x2, [x2, #88]
@@ -3843,7 +3880,7 @@ Disassembly of section .text:
     20004f7c:	8b000ec0 	add	x0, x22, x0, lsl #3
     20004f80:	eb00003f 	cmp	x1, x0
     20004f84:	54000240 	b.eq	20004fcc <xTaskPriorityInherit+0xbc>  // b.none
-    20004f88:	f9406694 	ldr	x20, [x20, #200]
+    20004f88:	f9406294 	ldr	x20, [x20, #192]
     20004f8c:	d2800020 	mov	x0, #0x1                   	// #1
     20004f90:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20004f94:	f9400281 	ldr	x1, [x20]
@@ -3871,7 +3908,7 @@ Disassembly of section .text:
     20004fec:	9ac22000 	lsl	x0, x0, x2
     20004ff0:	8a200020 	bic	x0, x1, x0
     20004ff4:	f900a6c0 	str	x0, [x22, #328]
-    20004ff8:	f9406694 	ldr	x20, [x20, #200]
+    20004ff8:	f9406294 	ldr	x20, [x20, #192]
     20004ffc:	911cc2a3 	add	x3, x21, #0x730
     20005000:	d2800035 	mov	x21, #0x1                   	// #1
     20005004:	aa1703e1 	mov	x1, x23
@@ -4015,9 +4052,9 @@ Disassembly of section .text:
     2000521c:	d503201f 	nop
 
 0000000020005220 <uxTaskResetEventItemValue>:
-    20005220:	d0000000 	adrp	x0, 20007000 <shared_memory2>
+    20005220:	d0000000 	adrp	x0, 20007000 <shared_memory>
     20005224:	d2800101 	mov	x1, #0x8                   	// #8
-    20005228:	f9406400 	ldr	x0, [x0, #200]
+    20005228:	f9406000 	ldr	x0, [x0, #192]
     2000522c:	f9400004 	ldr	x4, [x0]
     20005230:	f9400003 	ldr	x3, [x0]
     20005234:	f9400002 	ldr	x2, [x0]
@@ -4029,15 +4066,15 @@ Disassembly of section .text:
     2000524c:	d503201f 	nop
 
 0000000020005250 <pvTaskIncrementMutexHeldCount>:
-    20005250:	d0000000 	adrp	x0, 20007000 <shared_memory2>
-    20005254:	f9406401 	ldr	x1, [x0, #200]
+    20005250:	d0000000 	adrp	x0, 20007000 <shared_memory>
+    20005254:	f9406001 	ldr	x1, [x0, #192]
     20005258:	f9400022 	ldr	x2, [x1]
     2000525c:	b40000a2 	cbz	x2, 20005270 <pvTaskIncrementMutexHeldCount+0x20>
     20005260:	f9400022 	ldr	x2, [x1]
     20005264:	f9404041 	ldr	x1, [x2, #128]
     20005268:	91000421 	add	x1, x1, #0x1
     2000526c:	f9004041 	str	x1, [x2, #128]
-    20005270:	f9406400 	ldr	x0, [x0, #200]
+    20005270:	f9406000 	ldr	x0, [x0, #192]
     20005274:	f9400000 	ldr	x0, [x0]
     20005278:	d65f03c0 	ret
     2000527c:	d503201f 	nop
@@ -4047,11 +4084,11 @@ Disassembly of section .text:
     20005284:	910003fd 	mov	x29, sp
     20005288:	a90153f3 	stp	x19, x20, [sp, #16]
     2000528c:	aa0103f4 	mov	x20, x1
-    20005290:	d0000013 	adrp	x19, 20007000 <shared_memory2>
+    20005290:	d0000013 	adrp	x19, 20007000 <shared_memory>
     20005294:	f90013f5 	str	x21, [sp, #32]
     20005298:	aa0003f5 	mov	x21, x0
-    2000529c:	97fff5d9 	bl	20002a00 <vPortEnterCritical>
-    200052a0:	f9406661 	ldr	x1, [x19, #200]
+    2000529c:	97fff5fd 	bl	20002a90 <vPortEnterCritical>
+    200052a0:	f9406261 	ldr	x1, [x19, #192]
     200052a4:	f9400020 	ldr	x0, [x1]
     200052a8:	b9408800 	ldr	w0, [x0, #136]
     200052ac:	350000a0 	cbnz	w0, 200052c0 <ulTaskNotifyTake+0x40>
@@ -4059,19 +4096,19 @@ Disassembly of section .text:
     200052b4:	52800021 	mov	w1, #0x1                   	// #1
     200052b8:	39023001 	strb	w1, [x0, #140]
     200052bc:	b50002d4 	cbnz	x20, 20005314 <ulTaskNotifyTake+0x94>
-    200052c0:	97fff56c 	bl	20002870 <vPortExitCritical>
-    200052c4:	97fff5cf 	bl	20002a00 <vPortEnterCritical>
-    200052c8:	f9406661 	ldr	x1, [x19, #200]
+    200052c0:	97fff590 	bl	20002900 <vPortExitCritical>
+    200052c4:	97fff5f3 	bl	20002a90 <vPortEnterCritical>
+    200052c8:	f9406261 	ldr	x1, [x19, #192]
     200052cc:	f9400020 	ldr	x0, [x1]
     200052d0:	b9408814 	ldr	w20, [x0, #136]
     200052d4:	34000094 	cbz	w20, 200052e4 <ulTaskNotifyTake+0x64>
     200052d8:	f9400020 	ldr	x0, [x1]
     200052dc:	b4000175 	cbz	x21, 20005308 <ulTaskNotifyTake+0x88>
     200052e0:	b900881f 	str	wzr, [x0, #136]
-    200052e4:	f9406673 	ldr	x19, [x19, #200]
+    200052e4:	f9406273 	ldr	x19, [x19, #192]
     200052e8:	f9400260 	ldr	x0, [x19]
     200052ec:	3902301f 	strb	wzr, [x0, #140]
-    200052f0:	97fff560 	bl	20002870 <vPortExitCritical>
+    200052f0:	97fff584 	bl	20002900 <vPortExitCritical>
     200052f4:	2a1403e0 	mov	w0, w20
     200052f8:	a94153f3 	ldp	x19, x20, [sp, #16]
     200052fc:	f94013f5 	ldr	x21, [sp, #32]
@@ -4093,14 +4130,14 @@ Disassembly of section .text:
     20005334:	910003fd 	mov	x29, sp
     20005338:	a90153f3 	stp	x19, x20, [sp, #16]
     2000533c:	2a0003f4 	mov	w20, w0
-    20005340:	d0000013 	adrp	x19, 20007000 <shared_memory2>
+    20005340:	d0000013 	adrp	x19, 20007000 <shared_memory>
     20005344:	a9025bf5 	stp	x21, x22, [sp, #32]
     20005348:	2a0103f6 	mov	w22, w1
     2000534c:	aa0203f5 	mov	x21, x2
     20005350:	f9001bf7 	str	x23, [sp, #48]
     20005354:	aa0303f7 	mov	x23, x3
-    20005358:	97fff5aa 	bl	20002a00 <vPortEnterCritical>
-    2000535c:	f9406662 	ldr	x2, [x19, #200]
+    20005358:	97fff5ce 	bl	20002a90 <vPortEnterCritical>
+    2000535c:	f9406262 	ldr	x2, [x19, #192]
     20005360:	f9400040 	ldr	x0, [x2]
     20005364:	39423001 	ldrb	w1, [x0, #140]
     20005368:	12001c21 	and	w1, w1, #0xff
@@ -4114,14 +4151,14 @@ Disassembly of section .text:
     20005388:	f9400040 	ldr	x0, [x2]
     2000538c:	39023003 	strb	w3, [x0, #140]
     20005390:	b50003d7 	cbnz	x23, 20005408 <xTaskNotifyWait+0xd8>
-    20005394:	97fff537 	bl	20002870 <vPortExitCritical>
-    20005398:	97fff59a 	bl	20002a00 <vPortEnterCritical>
+    20005394:	97fff55b 	bl	20002900 <vPortExitCritical>
+    20005398:	97fff5be 	bl	20002a90 <vPortEnterCritical>
     2000539c:	b40000b5 	cbz	x21, 200053b0 <xTaskNotifyWait+0x80>
-    200053a0:	f9406660 	ldr	x0, [x19, #200]
+    200053a0:	f9406260 	ldr	x0, [x19, #192]
     200053a4:	f9400000 	ldr	x0, [x0]
     200053a8:	b9408800 	ldr	w0, [x0, #136]
     200053ac:	b90002a0 	str	w0, [x21]
-    200053b0:	f9406660 	ldr	x0, [x19, #200]
+    200053b0:	f9406260 	ldr	x0, [x19, #192]
     200053b4:	d2800014 	mov	x20, #0x0                   	// #0
     200053b8:	f9400001 	ldr	x1, [x0]
     200053bc:	39423021 	ldrb	w1, [x1, #140]
@@ -4133,10 +4170,10 @@ Disassembly of section .text:
     200053d4:	b9408801 	ldr	w1, [x0, #136]
     200053d8:	0a360036 	bic	w22, w1, w22
     200053dc:	b9008816 	str	w22, [x0, #136]
-    200053e0:	f9406673 	ldr	x19, [x19, #200]
+    200053e0:	f9406273 	ldr	x19, [x19, #192]
     200053e4:	f9400260 	ldr	x0, [x19]
     200053e8:	3902301f 	strb	wzr, [x0, #140]
-    200053ec:	97fff521 	bl	20002870 <vPortExitCritical>
+    200053ec:	97fff545 	bl	20002900 <vPortExitCritical>
     200053f0:	aa1403e0 	mov	x0, x20
     200053f4:	a94153f3 	ldp	x19, x20, [sp, #16]
     200053f8:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -4159,7 +4196,7 @@ Disassembly of section .text:
     20005434:	a90153f3 	stp	x19, x20, [sp, #16]
     20005438:	aa0003f3 	mov	x19, x0
     2000543c:	2a0203f4 	mov	w20, w2
-    20005440:	97fff570 	bl	20002a00 <vPortEnterCritical>
+    20005440:	97fff594 	bl	20002a90 <vPortEnterCritical>
     20005444:	b4000075 	cbz	x21, 20005450 <xTaskGenericNotify+0x30>
     20005448:	b9408a60 	ldr	w0, [x19, #136]
     2000544c:	b90002a0 	str	w0, [x21]
@@ -4180,7 +4217,7 @@ Disassembly of section .text:
     20005488:	7100045f 	cmp	w2, #0x1
     2000548c:	54000200 	b.eq	200054cc <xTaskGenericNotify+0xac>  // b.none
     20005490:	d2800034 	mov	x20, #0x1                   	// #1
-    20005494:	97fff4f7 	bl	20002870 <vPortExitCritical>
+    20005494:	97fff51b 	bl	20002900 <vPortExitCritical>
     20005498:	aa1403e0 	mov	x0, x20
     2000549c:	a94153f3 	ldp	x19, x20, [sp, #16]
     200054a0:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -4209,15 +4246,15 @@ Disassembly of section .text:
     200054fc:	8b000c40 	add	x0, x2, x0, lsl #3
     20005500:	f900a443 	str	x3, [x2, #328]
     20005504:	97fff757 	bl	20003260 <vListInsertEnd>
-    20005508:	d0000000 	adrp	x0, 20007000 <shared_memory2>
+    20005508:	d0000000 	adrp	x0, 20007000 <shared_memory>
     2000550c:	f9402e61 	ldr	x1, [x19, #88]
-    20005510:	f9406400 	ldr	x0, [x0, #200]
+    20005510:	f9406000 	ldr	x0, [x0, #192]
     20005514:	f9400000 	ldr	x0, [x0]
     20005518:	f9402c00 	ldr	x0, [x0, #88]
     2000551c:	eb00003f 	cmp	x1, x0
     20005520:	54fffb89 	b.ls	20005490 <xTaskGenericNotify+0x70>  // b.plast
     20005524:	d4000001 	svc	#0x0
-    20005528:	97fff4d2 	bl	20002870 <vPortExitCritical>
+    20005528:	97fff4f6 	bl	20002900 <vPortExitCritical>
     2000552c:	aa1403e0 	mov	x0, x20
     20005530:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005534:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -4243,7 +4280,7 @@ Disassembly of section .text:
     2000557c:	a90363f7 	stp	x23, x24, [sp, #48]
     20005580:	2a0103f7 	mov	w23, w1
     20005584:	aa0403f8 	mov	x24, x4
-    20005588:	97fff50a 	bl	200029b0 <uxPortSetInterruptMask>
+    20005588:	97fff52e 	bl	20002a40 <uxPortSetInterruptMask>
     2000558c:	aa0003f6 	mov	x22, x0
     20005590:	b4000075 	cbz	x21, 2000559c <xTaskGenericNotifyFromISR+0x3c>
     20005594:	b9408a60 	ldr	w0, [x19, #136]
@@ -4266,7 +4303,7 @@ Disassembly of section .text:
     200055d8:	54000240 	b.eq	20005620 <xTaskGenericNotifyFromISR+0xc0>  // b.none
     200055dc:	d2800034 	mov	x20, #0x1                   	// #1
     200055e0:	aa1603e0 	mov	x0, x22
-    200055e4:	97fff4e3 	bl	20002970 <vPortClearInterruptMask>
+    200055e4:	97fff507 	bl	20002a00 <vPortClearInterruptMask>
     200055e8:	aa1403e0 	mov	x0, x20
     200055ec:	a94153f3 	ldp	x19, x20, [sp, #16]
     200055f0:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -4288,9 +4325,9 @@ Disassembly of section .text:
     20005630:	91070280 	add	x0, x20, #0x1c0
     20005634:	9100c261 	add	x1, x19, #0x30
     20005638:	97fff70a 	bl	20003260 <vListInsertEnd>
-    2000563c:	d0000000 	adrp	x0, 20007000 <shared_memory2>
+    2000563c:	d0000000 	adrp	x0, 20007000 <shared_memory>
     20005640:	f9402e61 	ldr	x1, [x19, #88]
-    20005644:	f9406400 	ldr	x0, [x0, #200]
+    20005644:	f9406000 	ldr	x0, [x0, #192]
     20005648:	f9400000 	ldr	x0, [x0]
     2000564c:	f9402c00 	ldr	x0, [x0, #88]
     20005650:	eb00003f 	cmp	x1, x0
@@ -4303,7 +4340,7 @@ Disassembly of section .text:
     2000566c:	aa0003f4 	mov	x20, x0
     20005670:	f9010ea0 	str	x0, [x21, #536]
     20005674:	aa1603e0 	mov	x0, x22
-    20005678:	97fff4be 	bl	20002970 <vPortClearInterruptMask>
+    20005678:	97fff4e2 	bl	20002a00 <vPortClearInterruptMask>
     2000567c:	aa1403e0 	mov	x0, x20
     20005680:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005684:	a9425bf5 	ldp	x21, x22, [sp, #32]
@@ -4341,7 +4378,7 @@ Disassembly of section .text:
     200056fc:	aa0003f3 	mov	x19, x0
     20005700:	a9025bf5 	stp	x21, x22, [sp, #32]
     20005704:	aa0103f5 	mov	x21, x1
-    20005708:	97fff4aa 	bl	200029b0 <uxPortSetInterruptMask>
+    20005708:	97fff4ce 	bl	20002a40 <uxPortSetInterruptMask>
     2000570c:	52800043 	mov	w3, #0x2                   	// #2
     20005710:	39423262 	ldrb	w2, [x19, #140]
     20005714:	aa0003f4 	mov	x20, x0
@@ -4356,7 +4393,7 @@ Disassembly of section .text:
     20005738:	a94153f3 	ldp	x19, x20, [sp, #16]
     2000573c:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20005740:	a8c47bfd 	ldp	x29, x30, [sp], #64
-    20005744:	17fff48b 	b	20002970 <vPortClearInterruptMask>
+    20005744:	17fff4af 	b	20002a00 <vPortClearInterruptMask>
     20005748:	a90363f7 	stp	x23, x24, [sp, #48]
     2000574c:	f0000017 	adrp	x23, 20008000 <__bss_start>
     20005750:	911cc2f6 	add	x22, x23, #0x730
@@ -4365,9 +4402,9 @@ Disassembly of section .text:
     2000575c:	910702c0 	add	x0, x22, #0x1c0
     20005760:	9100c261 	add	x1, x19, #0x30
     20005764:	97fff6bf 	bl	20003260 <vListInsertEnd>
-    20005768:	d0000000 	adrp	x0, 20007000 <shared_memory2>
+    20005768:	d0000000 	adrp	x0, 20007000 <shared_memory>
     2000576c:	f9402e61 	ldr	x1, [x19, #88]
-    20005770:	f9406400 	ldr	x0, [x0, #200]
+    20005770:	f9406000 	ldr	x0, [x0, #192]
     20005774:	f9400000 	ldr	x0, [x0]
     20005778:	f9402c00 	ldr	x0, [x0, #88]
     2000577c:	eb00003f 	cmp	x1, x0
@@ -4383,7 +4420,7 @@ Disassembly of section .text:
     200057a4:	a94153f3 	ldp	x19, x20, [sp, #16]
     200057a8:	a94363f7 	ldp	x23, x24, [sp, #48]
     200057ac:	a8c47bfd 	ldp	x29, x30, [sp], #64
-    200057b0:	17fff470 	b	20002970 <vPortClearInterruptMask>
+    200057b0:	17fff494 	b	20002a00 <vPortClearInterruptMask>
     200057b4:	91002278 	add	x24, x19, #0x8
     200057b8:	aa1803e0 	mov	x0, x24
     200057bc:	97fff6cd 	bl	200032f0 <uxListRemove>
@@ -4397,9 +4434,9 @@ Disassembly of section .text:
     200057dc:	8b000ec0 	add	x0, x22, x0, lsl #3
     200057e0:	f900a6c2 	str	x2, [x22, #328]
     200057e4:	97fff69f 	bl	20003260 <vListInsertEnd>
-    200057e8:	d0000000 	adrp	x0, 20007000 <shared_memory2>
+    200057e8:	d0000000 	adrp	x0, 20007000 <shared_memory>
     200057ec:	f9402e61 	ldr	x1, [x19, #88]
-    200057f0:	f9406400 	ldr	x0, [x0, #200]
+    200057f0:	f9406000 	ldr	x0, [x0, #192]
     200057f4:	f9400000 	ldr	x0, [x0]
     200057f8:	f9402c00 	ldr	x0, [x0, #88]
     200057fc:	eb00003f 	cmp	x1, x0
@@ -4409,7 +4446,7 @@ Disassembly of section .text:
     2000580c:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20005810:	a94363f7 	ldp	x23, x24, [sp, #48]
     20005814:	a8c47bfd 	ldp	x29, x30, [sp], #64
-    20005818:	17fff456 	b	20002970 <vPortClearInterruptMask>
+    20005818:	17fff47a 	b	20002a00 <vPortClearInterruptMask>
     2000581c:	d503201f 	nop
 
 0000000020005820 <xTaskNotifyStateClear>:
@@ -4419,20 +4456,20 @@ Disassembly of section .text:
     2000582c:	aa0003f3 	mov	x19, x0
     20005830:	b40001c0 	cbz	x0, 20005868 <xTaskNotifyStateClear+0x48>
     20005834:	d2800014 	mov	x20, #0x0                   	// #0
-    20005838:	97fff472 	bl	20002a00 <vPortEnterCritical>
+    20005838:	97fff496 	bl	20002a90 <vPortEnterCritical>
     2000583c:	39423261 	ldrb	w1, [x19, #140]
     20005840:	12001c21 	and	w1, w1, #0xff
     20005844:	7100083f 	cmp	w1, #0x2
     20005848:	54000061 	b.ne	20005854 <xTaskNotifyStateClear+0x34>  // b.any
     2000584c:	d2800034 	mov	x20, #0x1                   	// #1
     20005850:	3902327f 	strb	wzr, [x19, #140]
-    20005854:	97fff407 	bl	20002870 <vPortExitCritical>
+    20005854:	97fff42b 	bl	20002900 <vPortExitCritical>
     20005858:	aa1403e0 	mov	x0, x20
     2000585c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005860:	a8c27bfd 	ldp	x29, x30, [sp], #32
     20005864:	d65f03c0 	ret
-    20005868:	d0000000 	adrp	x0, 20007000 <shared_memory2>
-    2000586c:	f9406400 	ldr	x0, [x0, #200]
+    20005868:	d0000000 	adrp	x0, 20007000 <shared_memory>
+    2000586c:	f9406000 	ldr	x0, [x0, #192]
     20005870:	f9400013 	ldr	x19, [x0]
     20005874:	17fffff0 	b	20005834 <xTaskNotifyStateClear+0x14>
     20005878:	d503201f 	nop
@@ -4446,22 +4483,22 @@ Disassembly of section .text:
     20005890:	f90013f5 	str	x21, [sp, #32]
     20005894:	b4000200 	cbz	x0, 200058d4 <ulTaskNotifyValueClear+0x54>
     20005898:	aa0003f3 	mov	x19, x0
-    2000589c:	d0000015 	adrp	x21, 20007000 <shared_memory2>
-    200058a0:	97fff458 	bl	20002a00 <vPortEnterCritical>
-    200058a4:	f94066a0 	ldr	x0, [x21, #200]
+    2000589c:	d0000015 	adrp	x21, 20007000 <shared_memory>
+    200058a0:	97fff47c 	bl	20002a90 <vPortEnterCritical>
+    200058a4:	f94062a0 	ldr	x0, [x21, #192]
     200058a8:	f9400000 	ldr	x0, [x0]
     200058ac:	b9408815 	ldr	w21, [x0, #136]
     200058b0:	b9408a61 	ldr	w1, [x19, #136]
     200058b4:	0a340034 	bic	w20, w1, w20
     200058b8:	b9008a74 	str	w20, [x19, #136]
-    200058bc:	97fff3ed 	bl	20002870 <vPortExitCritical>
+    200058bc:	97fff411 	bl	20002900 <vPortExitCritical>
     200058c0:	2a1503e0 	mov	w0, w21
     200058c4:	a94153f3 	ldp	x19, x20, [sp, #16]
     200058c8:	f94013f5 	ldr	x21, [sp, #32]
     200058cc:	a8c37bfd 	ldp	x29, x30, [sp], #48
     200058d0:	d65f03c0 	ret
-    200058d4:	d0000015 	adrp	x21, 20007000 <shared_memory2>
-    200058d8:	f94066a0 	ldr	x0, [x21, #200]
+    200058d4:	d0000015 	adrp	x21, 20007000 <shared_memory>
+    200058d8:	f94062a0 	ldr	x0, [x21, #192]
     200058dc:	f9400013 	ldr	x19, [x0]
     200058e0:	17fffff0 	b	200058a0 <ulTaskNotifyValueClear+0x20>
 	...
@@ -4471,12 +4508,12 @@ Disassembly of section .text:
     200058f4:	910003fd 	mov	x29, sp
     200058f8:	a90153f3 	stp	x19, x20, [sp, #16]
     200058fc:	f0000013 	adrp	x19, 20008000 <__bss_start>
-    20005900:	97fff440 	bl	20002a00 <vPortEnterCritical>
+    20005900:	97fff464 	bl	20002a90 <vPortEnterCritical>
     20005904:	f944ae60 	ldr	x0, [x19, #2392]
     20005908:	b4000080 	cbz	x0, 20005918 <prvCheckForValidListAndQueue+0x28>
     2000590c:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005910:	a8c37bfd 	ldp	x29, x30, [sp], #48
-    20005914:	17fff3d7 	b	20002870 <vPortExitCritical>
+    20005914:	17fff3fb 	b	20002900 <vPortExitCritical>
     20005918:	91256274 	add	x20, x19, #0x958
     2000591c:	a9025bf5 	stp	x21, x22, [sp, #32]
     20005920:	91002296 	add	x22, x20, #0x8
@@ -4494,7 +4531,7 @@ Disassembly of section .text:
     20005950:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005954:	a9425bf5 	ldp	x21, x22, [sp, #32]
     20005958:	a8c37bfd 	ldp	x29, x30, [sp], #48
-    2000595c:	17fff3c5 	b	20002870 <vPortExitCritical>
+    2000595c:	17fff3e9 	b	20002900 <vPortExitCritical>
 
 0000000020005960 <prvInsertTimerInActiveList>:
     20005960:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
@@ -4542,7 +4579,7 @@ Disassembly of section .text:
     20005a00:	90000000 	adrp	x0, 20005000 <xTaskPriorityInherit+0xf0>
     20005a04:	a8c17bfd 	ldp	x29, x30, [sp], #16
     20005a08:	9101a0a5 	add	x5, x5, #0x68
-    20005a0c:	91070021 	add	x1, x1, #0x1c0
+    20005a0c:	9105e021 	add	x1, x1, #0x178
     20005a10:	91304000 	add	x0, x0, #0xc10
     20005a14:	d28000e4 	mov	x4, #0x7                   	// #7
     20005a18:	d2800003 	mov	x3, #0x0                   	// #0
@@ -4858,30 +4895,30 @@ Disassembly of section .text:
     20005eb8:	a90153f3 	stp	x19, x20, [sp, #16]
     20005ebc:	aa0103f4 	mov	x20, x1
     20005ec0:	aa0003f3 	mov	x19, x0
-    20005ec4:	97fff2cf 	bl	20002a00 <vPortEnterCritical>
+    20005ec4:	97fff2f3 	bl	20002a90 <vPortEnterCritical>
     20005ec8:	b40000f4 	cbz	x20, 20005ee4 <vTimerSetReloadMode+0x34>
     20005ecc:	39412260 	ldrb	w0, [x19, #72]
     20005ed0:	321e0000 	orr	w0, w0, #0x4
     20005ed4:	39012260 	strb	w0, [x19, #72]
     20005ed8:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005edc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20005ee0:	17fff264 	b	20002870 <vPortExitCritical>
+    20005ee0:	17fff288 	b	20002900 <vPortExitCritical>
     20005ee4:	39412260 	ldrb	w0, [x19, #72]
     20005ee8:	121d7800 	and	w0, w0, #0xfffffffb
     20005eec:	12001c00 	and	w0, w0, #0xff
     20005ef0:	39012260 	strb	w0, [x19, #72]
     20005ef4:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005ef8:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20005efc:	17fff25d 	b	20002870 <vPortExitCritical>
+    20005efc:	17fff281 	b	20002900 <vPortExitCritical>
 
 0000000020005f00 <uxTimerGetReloadMode>:
     20005f00:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
     20005f04:	910003fd 	mov	x29, sp
     20005f08:	f9000bf3 	str	x19, [sp, #16]
     20005f0c:	aa0003f3 	mov	x19, x0
-    20005f10:	97fff2bc 	bl	20002a00 <vPortEnterCritical>
+    20005f10:	97fff2e0 	bl	20002a90 <vPortEnterCritical>
     20005f14:	39412273 	ldrb	w19, [x19, #72]
-    20005f18:	97fff256 	bl	20002870 <vPortExitCritical>
+    20005f18:	97fff27a 	bl	20002900 <vPortExitCritical>
     20005f1c:	d3420a73 	ubfx	x19, x19, #2, #1
     20005f20:	aa1303e0 	mov	x0, x19
     20005f24:	f9400bf3 	ldr	x19, [sp, #16]
@@ -4905,9 +4942,9 @@ Disassembly of section .text:
     20005f54:	910003fd 	mov	x29, sp
     20005f58:	f9000bf3 	str	x19, [sp, #16]
     20005f5c:	aa0003f3 	mov	x19, x0
-    20005f60:	97fff2a8 	bl	20002a00 <vPortEnterCritical>
+    20005f60:	97fff2cc 	bl	20002a90 <vPortEnterCritical>
     20005f64:	39412273 	ldrb	w19, [x19, #72]
-    20005f68:	97fff242 	bl	20002870 <vPortExitCritical>
+    20005f68:	97fff266 	bl	20002900 <vPortExitCritical>
     20005f6c:	92400273 	and	x19, x19, #0x1
     20005f70:	aa1303e0 	mov	x0, x19
     20005f74:	f9400bf3 	ldr	x19, [sp, #16]
@@ -4919,9 +4956,9 @@ Disassembly of section .text:
     20005f84:	910003fd 	mov	x29, sp
     20005f88:	f9000bf3 	str	x19, [sp, #16]
     20005f8c:	aa0003f3 	mov	x19, x0
-    20005f90:	97fff29c 	bl	20002a00 <vPortEnterCritical>
+    20005f90:	97fff2c0 	bl	20002a90 <vPortEnterCritical>
     20005f94:	f9401e73 	ldr	x19, [x19, #56]
-    20005f98:	97fff236 	bl	20002870 <vPortExitCritical>
+    20005f98:	97fff25a 	bl	20002900 <vPortExitCritical>
     20005f9c:	aa1303e0 	mov	x0, x19
     20005fa0:	f9400bf3 	ldr	x19, [sp, #16]
     20005fa4:	a8c27bfd 	ldp	x29, x30, [sp], #32
@@ -4934,11 +4971,11 @@ Disassembly of section .text:
     20005fb8:	a90153f3 	stp	x19, x20, [sp, #16]
     20005fbc:	aa0003f3 	mov	x19, x0
     20005fc0:	aa0103f4 	mov	x20, x1
-    20005fc4:	97fff28f 	bl	20002a00 <vPortEnterCritical>
+    20005fc4:	97fff2b3 	bl	20002a90 <vPortEnterCritical>
     20005fc8:	f9001e74 	str	x20, [x19, #56]
     20005fcc:	a94153f3 	ldp	x19, x20, [sp, #16]
     20005fd0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-    20005fd4:	17fff227 	b	20002870 <vPortExitCritical>
+    20005fd4:	17fff24b 	b	20002900 <vPortExitCritical>
 	...
 
 0000000020005fe0 <pvPortMalloc>:
@@ -5001,64 +5038,49 @@ Disassembly of section .text:
 
 Disassembly of section .text.startup:
 
-00000000200061f0 <main>:
-    200061f0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-    200061f4:	910003fd 	mov	x29, sp
-    200061f8:	a90153f3 	stp	x19, x20, [sp, #16]
-    200061fc:	90000014 	adrp	x20, 20006000 <pvPortMalloc+0x20>
-    20006200:	9102a294 	add	x20, x20, #0xa8
-    20006204:	b0000013 	adrp	x19, 20007000 <shared_memory2>
-    20006208:	97ffeefa 	bl	20001df0 <uart_init>
-    2000620c:	aa1403e0 	mov	x0, x20
-    20006210:	97ffeeb4 	bl	20001ce0 <uart_puts>
-    20006214:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
-    20006218:	91034000 	add	x0, x0, #0xd0
-    2000621c:	97ffeeb1 	bl	20001ce0 <uart_puts>
-    20006220:	aa1403e0 	mov	x0, x20
-    20006224:	97ffeeaf 	bl	20001ce0 <uart_puts>
-    20006228:	f9407e61 	ldr	x1, [x19, #248]
-    2000622c:	52800020 	mov	w0, #0x1                   	// #1
-    20006230:	f9400021 	ldr	x1, [x1]
-    20006234:	b9000020 	str	w0, [x1]
-    20006238:	b9400020 	ldr	w0, [x1]
-    2000623c:	35ffffe0 	cbnz	w0, 20006238 <main+0x48>
-    20006240:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
-    20006244:	9103c000 	add	x0, x0, #0xf0
-    20006248:	97ffeea6 	bl	20001ce0 <uart_puts>
-    2000624c:	f9409661 	ldr	x1, [x19, #296]
-    20006250:	52800022 	mov	w2, #0x1                   	// #1
-    20006254:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
-    20006258:	91048000 	add	x0, x0, #0x120
-    2000625c:	f9400021 	ldr	x1, [x1]
-    20006260:	b9000022 	str	w2, [x1]
-    20006264:	97ffee9f 	bl	20001ce0 <uart_puts>
-    20006268:	90000001 	adrp	x1, 20006000 <pvPortMalloc+0x20>
-    2000626c:	f9408a60 	ldr	x0, [x19, #272]
-    20006270:	9100a3e5 	add	x5, sp, #0x28
-    20006274:	91054021 	add	x1, x1, #0x150
-    20006278:	d2800204 	mov	x4, #0x10                  	// #16
-    2000627c:	d2800003 	mov	x3, #0x0                   	// #0
-    20006280:	52804002 	mov	w2, #0x200                 	// #512
-    20006284:	97fff84b 	bl	200043b0 <xTaskCreate>
-    20006288:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
-    2000628c:	f9407264 	ldr	x4, [x19, #224]
-    20006290:	d2800003 	mov	x3, #0x0                   	// #0
-    20006294:	91056000 	add	x0, x0, #0x158
-    20006298:	d2800022 	mov	x2, #0x1                   	// #1
-    2000629c:	d2800141 	mov	x1, #0xa                   	// #10
-    200062a0:	97fffde4 	bl	20005a30 <xTimerCreate>
-    200062a4:	f9406273 	ldr	x19, [x19, #192]
-    200062a8:	aa0003f4 	mov	x20, x0
-    200062ac:	f9000260 	str	x0, [x19]
-    200062b0:	b4000100 	cbz	x0, 200062d0 <main+0xe0>
-    200062b4:	97fff907 	bl	200046d0 <xTaskGetTickCount>
-    200062b8:	aa0003e2 	mov	x2, x0
-    200062bc:	d2800004 	mov	x4, #0x0                   	// #0
-    200062c0:	aa1403e0 	mov	x0, x20
-    200062c4:	d2800003 	mov	x3, #0x0                   	// #0
-    200062c8:	d2800021 	mov	x1, #0x1                   	// #1
-    200062cc:	97fffdf9 	bl	20005ab0 <xTimerGenericCommand>
-    200062d0:	97fff8d0 	bl	20004610 <vTaskStartScheduler>
-    200062d4:	a94153f3 	ldp	x19, x20, [sp, #16]
-    200062d8:	a8c37bfd 	ldp	x29, x30, [sp], #48
-    200062dc:	d65f03c0 	ret
+00000000200061a0 <main>:
+    200061a0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
+    200061a4:	910003fd 	mov	x29, sp
+    200061a8:	a90153f3 	stp	x19, x20, [sp, #16]
+    200061ac:	90000014 	adrp	x20, 20006000 <pvPortMalloc+0x20>
+    200061b0:	9102c294 	add	x20, x20, #0xb0
+    200061b4:	b0000013 	adrp	x19, 20007000 <shared_memory>
+    200061b8:	97ffef0e 	bl	20001df0 <uart_init>
+    200061bc:	aa1403e0 	mov	x0, x20
+    200061c0:	97ffeec8 	bl	20001ce0 <uart_puts>
+    200061c4:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
+    200061c8:	91036000 	add	x0, x0, #0xd8
+    200061cc:	97ffeec5 	bl	20001ce0 <uart_puts>
+    200061d0:	aa1403e0 	mov	x0, x20
+    200061d4:	97ffeec3 	bl	20001ce0 <uart_puts>
+    200061d8:	97ffef4e 	bl	20001f10 <shm_loop>
+    200061dc:	90000001 	adrp	x1, 20006000 <pvPortMalloc+0x20>
+    200061e0:	f9408260 	ldr	x0, [x19, #256]
+    200061e4:	9100a3e5 	add	x5, sp, #0x28
+    200061e8:	9103e021 	add	x1, x1, #0xf8
+    200061ec:	d2800204 	mov	x4, #0x10                  	// #16
+    200061f0:	d2800003 	mov	x3, #0x0                   	// #0
+    200061f4:	52804002 	mov	w2, #0x200                 	// #512
+    200061f8:	97fff86e 	bl	200043b0 <xTaskCreate>
+    200061fc:	90000000 	adrp	x0, 20006000 <pvPortMalloc+0x20>
+    20006200:	f9406e64 	ldr	x4, [x19, #216]
+    20006204:	d2800003 	mov	x3, #0x0                   	// #0
+    20006208:	91040000 	add	x0, x0, #0x100
+    2000620c:	d2800022 	mov	x2, #0x1                   	// #1
+    20006210:	d2800141 	mov	x1, #0xa                   	// #10
+    20006214:	97fffe07 	bl	20005a30 <xTimerCreate>
+    20006218:	f9405e73 	ldr	x19, [x19, #184]
+    2000621c:	f9000260 	str	x0, [x19]
+    20006220:	b4000120 	cbz	x0, 20006244 <main+0xa4>
+    20006224:	aa0003f4 	mov	x20, x0
+    20006228:	97fff92a 	bl	200046d0 <xTaskGetTickCount>
+    2000622c:	aa0003e2 	mov	x2, x0
+    20006230:	d2800004 	mov	x4, #0x0                   	// #0
+    20006234:	aa1403e0 	mov	x0, x20
+    20006238:	d2800003 	mov	x3, #0x0                   	// #0
+    2000623c:	d2800021 	mov	x1, #0x1                   	// #1
+    20006240:	97fffe1c 	bl	20005ab0 <xTimerGenericCommand>
+    20006244:	97fff8f3 	bl	20004610 <vTaskStartScheduler>
+    20006248:	a94153f3 	ldp	x19, x20, [sp, #16]
+    2000624c:	a8c37bfd 	ldp	x29, x30, [sp], #48
+    20006250:	d65f03c0 	ret
diff --git a/uboot-compiler/shmbuffer/main.c b/uboot-compiler/shmbuffer/main.c
index 0aadcad4556e27fc1e811633093028f0ad685a81..8ded25ca1ce899648666803bb24fe1e56560fb11 100644
--- a/uboot-compiler/shmbuffer/main.c
+++ b/uboot-compiler/shmbuffer/main.c
@@ -1,31 +1,7 @@
-#include<stdio.h>
-#include<stddef.h>
-#include<sys/mman.h>
-#include<fcntl.h>
-
-#define SHMADDR 0x3F000000
 
 int main(int argc, char *argv[])
 {
-    int fd;
-    int * memaddr;
-
-    fd = open("/dev/mem", O_RDWR);
-
-    if (fd == -1)
-    {
-        printf("can not access /dev/mem\n" );
-        return -1;
-    }
-
-    memaddr =
-    (int*)mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, SHMADDR);
-    if (memaddr == MAP_FAILED)
-    {
-        printf("mmap failed\n" );
-        return -1;
-    }
-    printf("value=%d\n", *memaddr);
+    
     
 
 }
\ No newline at end of file
diff --git a/uboot-compiler/shmbuffer/memory.c b/uboot-compiler/shmbuffer/memory.c
new file mode 100644
index 0000000000000000000000000000000000000000..4c6c595bd2230eb4b3c4ab75cbb10c73f9bf16f9
--- /dev/null
+++ b/uboot-compiler/shmbuffer/memory.c
@@ -0,0 +1,36 @@
+#include "memory.h"
+
+char* map_shared_mem()
+{
+    int fd;
+    char *memaddr;
+
+    fd = open("/dev/mem", O_RDWR);
+
+    if (fd == -1)
+    {
+        printf("can not access /dev/mem\n" );
+        return NULL;
+    }
+
+    memaddr =
+    (char *)mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, SHMADDR);
+    if (memaddr == MAP_FAILED)
+    {
+        printf("mmap failed\n" );
+        return NULL;
+    }
+    return memaddr;
+}
+
+int write_shared_mem(char* memaddr, packet_t packet)
+{
+    *memaddr = 0xFF;
+    memcpy(*(memaddr + 1), packet.data, packet.len);
+    return 0;
+}
+
+int shared_mem_loop(queue_t* queue)
+{
+    
+}
\ No newline at end of file
diff --git a/uboot-compiler/shmbuffer/memory.h b/uboot-compiler/shmbuffer/memory.h
new file mode 100644
index 0000000000000000000000000000000000000000..e8dd661238ee8c6623b6a263d87a1a47b54acc4e
--- /dev/null
+++ b/uboot-compiler/shmbuffer/memory.h
@@ -0,0 +1,15 @@
+#ifndef MEMORY_H
+#define MEMORY_H
+
+#include<stdio.h>
+#include<stddef.h>
+#include<sys/mman.h>
+#include<fcntl.h>
+#include<string.h>
+#include<stdint.h>
+
+#include "queue.h"
+
+#define SHMADDR 0x3F000000
+
+#endif
\ No newline at end of file
diff --git a/uboot-compiler/shmbuffer/packet.h b/uboot-compiler/shmbuffer/packet.h
new file mode 100644
index 0000000000000000000000000000000000000000..ca6d412d6a695eff40c87c2a2c55d521dafe3615
--- /dev/null
+++ b/uboot-compiler/shmbuffer/packet.h
@@ -0,0 +1,12 @@
+#ifndef PACKET_H
+#define PACKET_H
+
+#include<stddef.h>
+
+typedef struct packet {
+    size_t len;
+    char * data;
+} packet_t;
+
+
+#endif
\ No newline at end of file
diff --git a/uboot-compiler/shmbuffer/queue.c b/uboot-compiler/shmbuffer/queue.c
new file mode 100644
index 0000000000000000000000000000000000000000..66047c5b5928c86b9068e8152cec3d468885f567
--- /dev/null
+++ b/uboot-compiler/shmbuffer/queue.c
@@ -0,0 +1,64 @@
+#include "queue.h"
+
+/*
+Author: Justin Kenny
+
+Creates a queue to hold packets for shared memory based on a linked list
+*/
+
+//Initializes the queue.s
+void queue_init(queue_t *queue)
+{
+    queue->head = NULL;
+    queue->tail = NULL;
+    queue->size = 0;
+}
+
+//Returns a pointer to the new queue node. If it return null, then malloc failed.
+queue_node_t* enqueue(queue_t *queue, packet_t* packet)
+{
+    queue_node_t *n;
+    n = malloc(sizeof(*n));
+    if(n)
+    {
+        n->data = packet;
+        if(queue->head)
+        {
+            queue->tail->next = n;
+            n->prev = queue->tail;
+            queue->tail = n;
+        }
+        else
+        {
+            //the queue is empty
+            queue->head = queue->tail = n;
+        }
+        queue->size++;
+    }
+    return n;
+}
+
+packet_t* dequeue(queue_t *queue)
+{
+    queue_node_t *n;
+    if(!queue->head)
+    {
+        return NULL;
+    }
+    if(queue->head == queue->tail)
+    {
+        n = queue->head;
+        queue->head = queue->tail = NULL;
+    }
+    else
+    {
+        queue_node_t *next;
+        next = queue->head->next;
+        n = queue->head;
+        next->prev = NULL;
+        queue->head = next;
+    }
+    packet_t *packet = n->data;
+    free(n);
+    return packet;
+}
\ No newline at end of file
diff --git a/uboot-compiler/shmbuffer/queue.h b/uboot-compiler/shmbuffer/queue.h
new file mode 100644
index 0000000000000000000000000000000000000000..70146f3348375314c949682dc8af61598f142933
--- /dev/null
+++ b/uboot-compiler/shmbuffer/queue.h
@@ -0,0 +1,25 @@
+#ifndef QUEUE_H
+#define QUEUE_H
+
+#include "packet.h"
+#include <stdlib.h>
+
+typedef struct queue_node {
+    struct queue_node *next;
+    struct queue_node *prev;
+    packet_t *data;
+} queue_node_t;
+
+typedef struct queue {
+    queue_node_t *head;
+    queue_node_t *tail;
+    int size;
+} queue_t;
+
+void queue_init(queue_t *queue);
+
+queue_node_t* enqueue(queue_t *queue, packet_t* packet);
+
+packet_t* dequeue(queue_t *queue);
+
+#endif
\ No newline at end of file