me2150 microkit part1 and 2
This commit is contained in:
parent
edfdd215b3
commit
1e7742c6a3
BIN
ME_2150/microkit_tutorial/microkit_tutorial/tutorial/build/client.elf
Executable file
BIN
ME_2150/microkit_tutorial/microkit_tutorial/tutorial/build/client.elf
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,57 +7,82 @@
|
||||
|
||||
# Loader Regions
|
||||
|
||||
<Region name=PD-ELF serial_server-0 addr=0x60247000 size=20584>
|
||||
<Region name=PD-ELF serial_server-1 addr=0x6024d000 size=112>
|
||||
<Region name=PD-ELF serial_server-0 addr=0x60248000 size=20896>
|
||||
<Region name=PD-ELF serial_server-1 addr=0x6024e000 size=128>
|
||||
<Region name=PD-ELF client-0 addr=0x6024f000 size=20992>
|
||||
<Region name=PD-ELF client-1 addr=0x60255000 size=320>
|
||||
|
||||
# Monitor (Initial Task) Info
|
||||
|
||||
virtual memory : MemoryRegion(base=0x8a000000, end=0x8a008000)
|
||||
physical memory: MemoryRegion(base=0x6024e000, end=0x60256000)
|
||||
physical memory: MemoryRegion(base=0x60256000, end=0x6025e000)
|
||||
|
||||
# Allocated Kernel Objects Summary
|
||||
|
||||
# of allocated objects: 23
|
||||
# of allocated objects: 46
|
||||
|
||||
# Bootstrap Kernel Invocations Summary
|
||||
|
||||
# of invocations : 9
|
||||
size of invocations: 576
|
||||
size of invocations: 616
|
||||
|
||||
# System Kernel Invocations Summary
|
||||
|
||||
# of invocations : 48
|
||||
size of invocations: 3,232
|
||||
# of invocations : 84
|
||||
size of invocations: 5,944
|
||||
|
||||
# Allocated Kernel Objects Detail
|
||||
|
||||
Page(4 KiB): IPC Buffer PD=serial_server 9 cap_addr=8000000000000002 phys_addr=60002000
|
||||
Page(4 KiB): MR=STACK:serial_server #0 9 cap_addr=8000000000000003 phys_addr=60003000
|
||||
Page(4 KiB): MR=uart @ 9000000 9 cap_addr=8000000000000004 phys_addr=9000000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 60247000 9 cap_addr=8000000000000005 phys_addr=60247000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 60248000 9 cap_addr=8000000000000006 phys_addr=60248000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 60249000 9 cap_addr=8000000000000007 phys_addr=60249000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024a000 9 cap_addr=8000000000000008 phys_addr=6024a000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024b000 9 cap_addr=8000000000000009 phys_addr=6024b000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024c000 9 cap_addr=800000000000000a phys_addr=6024c000
|
||||
Page(4 KiB): MR=ELF:serial_server-1 @ 6024d000 9 cap_addr=800000000000000b phys_addr=6024d000
|
||||
TCB: PD=serial_server 1 cap_addr=800000000000000c phys_addr=60004000
|
||||
SchedContext: PD=serial_server 5 cap_addr=800000000000000d phys_addr=60006000
|
||||
Reply: Monitor 6 cap_addr=800000000000000e phys_addr=60008000
|
||||
Reply: PD=serial_server 6 cap_addr=800000000000000f phys_addr=60008020
|
||||
EP: Monitor Fault 2 cap_addr=8000000000000010 phys_addr=60008040
|
||||
Notification: PD=serial_server 3 cap_addr=8000000000000011 phys_addr=60008080
|
||||
VSpace: PD=serial_server 8 cap_addr=8000000000000012 phys_addr=6000a000
|
||||
PageTable: PD=serial_server VADDR=0x0 11 cap_addr=8000000000000013 phys_addr=6000c000
|
||||
PageTable: PD=serial_server VADDR=0xffc0000000 11 cap_addr=8000000000000014 phys_addr=6000d000
|
||||
PageTable: PD=serial_server VADDR=0x200000 11 cap_addr=8000000000000015 phys_addr=60258000
|
||||
PageTable: PD=serial_server VADDR=0x2000000 11 cap_addr=8000000000000016 phys_addr=60259000
|
||||
PageTable: PD=serial_server VADDR=0xffffe00000 11 cap_addr=8000000000000017 phys_addr=6025a000
|
||||
CNode: PD=serial_server 4 cap_addr=8000000000000018 phys_addr=6025c000
|
||||
Page(4 KiB): IPC Buffer PD=serial_server 9 cap_addr=8000000000000003 phys_addr=60003000
|
||||
Page(4 KiB): IPC Buffer PD=client 9 cap_addr=8000000000000004 phys_addr=60004000
|
||||
Page(4 KiB): MR=serial_to_client #0 9 cap_addr=8000000000000005 phys_addr=60005000
|
||||
Page(4 KiB): MR=client_to_serial #0 9 cap_addr=8000000000000006 phys_addr=60006000
|
||||
Page(4 KiB): MR=STACK:serial_server #0 9 cap_addr=8000000000000007 phys_addr=60007000
|
||||
Page(4 KiB): MR=STACK:client #0 9 cap_addr=8000000000000008 phys_addr=60008000
|
||||
Page(4 KiB): MR=uart @ 9000000 9 cap_addr=8000000000000009 phys_addr=9000000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 60248000 9 cap_addr=800000000000000a phys_addr=60248000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 60249000 9 cap_addr=800000000000000b phys_addr=60249000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024a000 9 cap_addr=800000000000000c phys_addr=6024a000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024b000 9 cap_addr=800000000000000d phys_addr=6024b000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024c000 9 cap_addr=800000000000000e phys_addr=6024c000
|
||||
Page(4 KiB): MR=ELF:serial_server-0 @ 6024d000 9 cap_addr=800000000000000f phys_addr=6024d000
|
||||
Page(4 KiB): MR=ELF:serial_server-1 @ 6024e000 9 cap_addr=8000000000000010 phys_addr=6024e000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 6024f000 9 cap_addr=8000000000000011 phys_addr=6024f000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 60250000 9 cap_addr=8000000000000012 phys_addr=60250000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 60251000 9 cap_addr=8000000000000013 phys_addr=60251000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 60252000 9 cap_addr=8000000000000014 phys_addr=60252000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 60253000 9 cap_addr=8000000000000015 phys_addr=60253000
|
||||
Page(4 KiB): MR=ELF:client-0 @ 60254000 9 cap_addr=8000000000000016 phys_addr=60254000
|
||||
Page(4 KiB): MR=ELF:client-1 @ 60255000 9 cap_addr=8000000000000017 phys_addr=60255000
|
||||
TCB: PD=serial_server 1 cap_addr=8000000000000018 phys_addr=60009000
|
||||
TCB: PD=client 1 cap_addr=8000000000000019 phys_addr=60009800
|
||||
SchedContext: PD=serial_server 5 cap_addr=800000000000001a phys_addr=6000a000
|
||||
SchedContext: PD=client 5 cap_addr=800000000000001b phys_addr=6000c000
|
||||
Reply: Monitor 6 cap_addr=800000000000001c phys_addr=6000e000
|
||||
Reply: PD=serial_server 6 cap_addr=800000000000001d phys_addr=6000e020
|
||||
Reply: PD=client 6 cap_addr=800000000000001e phys_addr=6000e040
|
||||
EP: Monitor Fault 2 cap_addr=800000000000001f phys_addr=6000e060
|
||||
Notification: PD=serial_server 3 cap_addr=8000000000000020 phys_addr=6000e080
|
||||
Notification: PD=client 3 cap_addr=8000000000000021 phys_addr=6000e0c0
|
||||
VSpace: PD=serial_server 8 cap_addr=8000000000000022 phys_addr=60260000
|
||||
VSpace: PD=client 8 cap_addr=8000000000000023 phys_addr=60262000
|
||||
PageTable: PD=serial_server VADDR=0x0 11 cap_addr=8000000000000024 phys_addr=60264000
|
||||
PageTable: PD=serial_server VADDR=0xffc0000000 11 cap_addr=8000000000000025 phys_addr=60265000
|
||||
PageTable: PD=client VADDR=0x0 11 cap_addr=8000000000000026 phys_addr=60266000
|
||||
PageTable: PD=client VADDR=0xffc0000000 11 cap_addr=8000000000000027 phys_addr=60267000
|
||||
PageTable: PD=serial_server VADDR=0x200000 11 cap_addr=8000000000000028 phys_addr=60268000
|
||||
PageTable: PD=serial_server VADDR=0x2000000 11 cap_addr=8000000000000029 phys_addr=60269000
|
||||
PageTable: PD=serial_server VADDR=0x4000000 11 cap_addr=800000000000002a phys_addr=6026a000
|
||||
PageTable: PD=serial_server VADDR=0xffffe00000 11 cap_addr=800000000000002b phys_addr=6026b000
|
||||
PageTable: PD=client VADDR=0x200000 11 cap_addr=800000000000002c phys_addr=6026c000
|
||||
PageTable: PD=client VADDR=0x4000000 11 cap_addr=800000000000002d phys_addr=6026d000
|
||||
PageTable: PD=client VADDR=0xffffe00000 11 cap_addr=800000000000002e phys_addr=6026e000
|
||||
CNode: PD=serial_server 4 cap_addr=800000000000002f phys_addr=60270000
|
||||
CNode: PD=client 4 cap_addr=8000000000000030 phys_addr=60274000
|
||||
|
||||
# Bootstrap Kernel Invocations Detail
|
||||
|
||||
0x0000 Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
0x0000 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 4 (SEL4_CNODE_OBJECT - variable size)
|
||||
size_bits 1 (0x2)
|
||||
root (cap) 0x0000000000000002 (CNode: init)
|
||||
@ -79,9 +104,9 @@
|
||||
cspace_root_data 0
|
||||
vspace_root (cap) 0x0000000000000003 (VSpace: init)
|
||||
vspace_root_data 0
|
||||
0x0003 Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
0x0003 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 4 (SEL4_CNODE_OBJECT - variable size)
|
||||
size_bits 6 (0x40)
|
||||
size_bits 7 (0x80)
|
||||
root (cap) 0x0000000000000002 (CNode: init)
|
||||
node_index 0
|
||||
node_depth 0
|
||||
@ -94,7 +119,7 @@
|
||||
src_obj (cap) 0x0000000000000061 (CNode: system)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 57
|
||||
badge 56
|
||||
0x0005 Untyped - Retype - 0x000000000000001b (Untyped @ 0x60246000:0x2000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
@ -102,16 +127,16 @@
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 0
|
||||
num_objects 1
|
||||
0x0006 Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
num_objects 2
|
||||
0x0006 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 11 (SEL4_PAGE_TABLE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 1
|
||||
node_offset 2
|
||||
num_objects 1
|
||||
0x0007 Page Table - Map - 0x8000000000000001 (PageTable: monitor)
|
||||
0x0007 Page Table - Map - 0x8000000000000002 (PageTable: monitor)
|
||||
vspace (cap) 0x0000000000000003 (VSpace: init)
|
||||
vaddr 0x80000000
|
||||
attr 3
|
||||
@ -120,58 +145,19 @@
|
||||
vaddr 0x80000000
|
||||
rights 2
|
||||
attr 7
|
||||
REPEAT: count=2
|
||||
|
||||
# System Kernel Invocations Detail
|
||||
|
||||
0x0000 Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
0x0000 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 2
|
||||
num_objects 2
|
||||
0x0001 Untyped - Retype - 0x0000000000000032 (Untyped @ 0x9000000:0x1000000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 4
|
||||
num_objects 1
|
||||
0x0002 Untyped - Retype - 0x000000000000001b (Untyped @ 0x60246000:0x2000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 5
|
||||
num_objects 1
|
||||
0x0003 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 6
|
||||
num_objects 1
|
||||
0x0004 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 7
|
||||
num_objects 1
|
||||
0x0005 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 8
|
||||
num_objects 1
|
||||
0x0006 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x4000 (device))
|
||||
node_offset 3
|
||||
num_objects 6
|
||||
0x0001 Untyped - Retype - 0x0000000000000033 (Untyped @ 0x9000000:0x1000000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
@ -179,7 +165,7 @@
|
||||
node_depth 1
|
||||
node_offset 9
|
||||
num_objects 1
|
||||
0x0007 Untyped - Retype - 0x000000000000001d (Untyped @ 0x6024c000:0x2000 (device))
|
||||
0x0002 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
@ -187,7 +173,7 @@
|
||||
node_depth 1
|
||||
node_offset 10
|
||||
num_objects 1
|
||||
0x0008 Untyped - Retype - 0x000000000000001d (Untyped @ 0x6024c000:0x2000 (device))
|
||||
0x0003 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
@ -195,238 +181,508 @@
|
||||
node_depth 1
|
||||
node_offset 11
|
||||
num_objects 1
|
||||
0x0009 Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 1 (SEL4_TCB_OBJECT - 0x800)
|
||||
0x0004 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 12
|
||||
num_objects 1
|
||||
0x000a Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 5 (SEL4_SCHEDCONTEXT_OBJECT - variable size)
|
||||
size_bits 8 (0x100)
|
||||
0x0005 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 13
|
||||
num_objects 1
|
||||
0x000b Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 6 (SEL4_REPLY_OBJECT - 0x20)
|
||||
0x0006 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 14
|
||||
num_objects 2
|
||||
0x000c Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 2 (SEL4_ENDPOINT_OBJECT - 0x10)
|
||||
num_objects 1
|
||||
0x0007 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 15
|
||||
num_objects 1
|
||||
0x0008 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 16
|
||||
num_objects 1
|
||||
0x000d Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 3 (SEL4_NOTIFICATION_OBJECT - 0x40)
|
||||
0x0009 Untyped - Retype - 0x000000000000001c (Untyped @ 0x60248000:0x8000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 17
|
||||
num_objects 1
|
||||
0x000e Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 8 (SEL4_VSPACE_OBJECT - 0x2000)
|
||||
0x000a Untyped - Retype - 0x000000000000001d (Untyped @ 0x60250000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 18
|
||||
num_objects 1
|
||||
0x000f Untyped - Retype - 0x0000000000000041 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 11 (SEL4_PAGE_TABLE_OBJECT - 0x1000)
|
||||
0x000b Untyped - Retype - 0x000000000000001d (Untyped @ 0x60250000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 19
|
||||
num_objects 2
|
||||
0x0010 Untyped - Retype - 0x0000000000000043 (Untyped @ 0x60258000:0x8000)
|
||||
object_type 11 (SEL4_PAGE_TABLE_OBJECT - 0x1000)
|
||||
num_objects 1
|
||||
0x000c Untyped - Retype - 0x000000000000001d (Untyped @ 0x60250000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 20
|
||||
num_objects 1
|
||||
0x000d Untyped - Retype - 0x000000000000001d (Untyped @ 0x60250000:0x4000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 21
|
||||
num_objects 1
|
||||
0x000e Untyped - Retype - 0x000000000000001e (Untyped @ 0x60254000:0x2000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 22
|
||||
num_objects 1
|
||||
0x000f Untyped - Retype - 0x000000000000001e (Untyped @ 0x60254000:0x2000 (device))
|
||||
object_type 9 (SEL4_SMALL_PAGE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 23
|
||||
num_objects 1
|
||||
0x0010 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 1 (SEL4_TCB_OBJECT - 0x800)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 24
|
||||
num_objects 2
|
||||
0x0011 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 5 (SEL4_SCHEDCONTEXT_OBJECT - variable size)
|
||||
size_bits 8 (0x100)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 26
|
||||
num_objects 2
|
||||
0x0012 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 6 (SEL4_REPLY_OBJECT - 0x20)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 28
|
||||
num_objects 3
|
||||
0x0011 Untyped - Retype - 0x0000000000000043 (Untyped @ 0x60258000:0x8000)
|
||||
0x0013 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 2 (SEL4_ENDPOINT_OBJECT - 0x10)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 31
|
||||
num_objects 1
|
||||
0x0014 Untyped - Retype - 0x0000000000000042 (Untyped @ 0x60000000:0x10000)
|
||||
object_type 3 (SEL4_NOTIFICATION_OBJECT - 0x40)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 32
|
||||
num_objects 2
|
||||
0x0015 Untyped - Retype - 0x0000000000000044 (Untyped @ 0x60260000:0x20000)
|
||||
object_type 8 (SEL4_VSPACE_OBJECT - 0x2000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 34
|
||||
num_objects 2
|
||||
0x0016 Untyped - Retype - 0x0000000000000044 (Untyped @ 0x60260000:0x20000)
|
||||
object_type 11 (SEL4_PAGE_TABLE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 36
|
||||
num_objects 4
|
||||
0x0017 Untyped - Retype - 0x0000000000000044 (Untyped @ 0x60260000:0x20000)
|
||||
object_type 11 (SEL4_PAGE_TABLE_OBJECT - 0x1000)
|
||||
size_bits 0 (N/A)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 40
|
||||
num_objects 7
|
||||
0x0018 Untyped - Retype - 0x0000000000000044 (Untyped @ 0x60260000:0x20000)
|
||||
object_type 4 (SEL4_CNODE_OBJECT - variable size)
|
||||
size_bits 9 (0x200)
|
||||
root (cap) 0x0000000000000060 (CNode: root)
|
||||
node_index 1
|
||||
node_depth 1
|
||||
node_offset 24
|
||||
num_objects 1
|
||||
0x0012 IRQ Control - Get - 0x0000000000000004 (IRQ Control)
|
||||
node_offset 47
|
||||
num_objects 2
|
||||
0x0019 IRQ Control - Get - 0x0000000000000004 (IRQ Control)
|
||||
irq 33
|
||||
trigger 0
|
||||
dest_root (cap) 0x0000000000000060 (CNode: root)
|
||||
dest_index 9223372036854775833
|
||||
dest_index 9223372036854775857
|
||||
dest_depth 64
|
||||
0x0013 ASID Pool - Assign - 0x0000000000000006 (ASID Pool: init)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0014 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 26
|
||||
dest_depth 6
|
||||
0x001a ASID Pool - Assign - 0x0000000000000006 (ASID Pool: init)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
REPEAT: count=2
|
||||
0x001b CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 50
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000004 (Page(4 KiB): MR=uart @ 9000000)
|
||||
src_obj (cap) 0x8000000000000009 (Page(4 KiB): MR=uart @ 9000000)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0015 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 27
|
||||
dest_depth 6
|
||||
0x001c CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 51
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000005 (Page(4 KiB): MR=ELF:serial_server-0 @ 60247000)
|
||||
src_obj (cap) 0x8000000000000005 (Page(4 KiB): MR=serial_to_client #0)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x001d CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 52
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000006 (Page(4 KiB): MR=client_to_serial #0)
|
||||
src_depth 64
|
||||
rights 2
|
||||
badge 0
|
||||
0x001e CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 53
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x800000000000000a (Page(4 KiB): MR=ELF:serial_server-0 @ 60248000)
|
||||
src_depth 64
|
||||
rights 2
|
||||
badge 0
|
||||
REPEAT: count=6
|
||||
0x0016 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 33
|
||||
dest_depth 6
|
||||
0x001f CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 59
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x800000000000000b (Page(4 KiB): MR=ELF:serial_server-1 @ 6024d000)
|
||||
src_obj (cap) 0x8000000000000010 (Page(4 KiB): MR=ELF:serial_server-1 @ 6024e000)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0017 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 34
|
||||
dest_depth 6
|
||||
0x0020 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 60
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000003 (Page(4 KiB): MR=STACK:serial_server #0)
|
||||
src_obj (cap) 0x8000000000000007 (Page(4 KiB): MR=STACK:serial_server #0)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0018 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 35
|
||||
dest_depth 6
|
||||
0x0021 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 61
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000011 (Notification: PD=serial_server)
|
||||
src_obj (cap) 0x8000000000000005 (Page(4 KiB): MR=serial_to_client #0)
|
||||
src_depth 64
|
||||
rights 2
|
||||
badge 0
|
||||
0x0022 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 62
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000006 (Page(4 KiB): MR=client_to_serial #0)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0023 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 63
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000011 (Page(4 KiB): MR=ELF:client-0 @ 6024f000)
|
||||
src_depth 64
|
||||
rights 2
|
||||
badge 0
|
||||
REPEAT: count=6
|
||||
0x0024 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 69
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000017 (Page(4 KiB): MR=ELF:client-1 @ 60255000)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0025 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 70
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000008 (Page(4 KiB): MR=STACK:client #0)
|
||||
src_depth 64
|
||||
rights 3
|
||||
badge 0
|
||||
0x0026 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 71
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000020 (Notification: PD=serial_server)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 2
|
||||
0x0019 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 36
|
||||
dest_depth 6
|
||||
0x0027 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 72
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000010 (EP: Monitor Fault)
|
||||
src_obj (cap) 0x800000000000001f (EP: Monitor Fault)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 1
|
||||
0x001a CNode - Mint - 0x8000000000000018 (CNode: PD=serial_server)
|
||||
0x0028 CNode - Mint - 0x0000000000000061 (CNode: system)
|
||||
dest_index 73
|
||||
dest_depth 7
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x800000000000001f (EP: Monitor Fault)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 2
|
||||
0x0029 CNode - Mint - 0x800000000000002f (CNode: PD=serial_server)
|
||||
dest_index 1
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000011 (Notification: PD=serial_server)
|
||||
src_obj (cap) 0x8000000000000020 (Notification: PD=serial_server)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 0
|
||||
0x001b CNode - Mint - 0x8000000000000018 (CNode: PD=serial_server)
|
||||
0x002a CNode - Mint - 0x8000000000000030 (CNode: PD=client)
|
||||
dest_index 1
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000021 (Notification: PD=client)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 0
|
||||
0x002b CNode - Mint - 0x800000000000002f (CNode: PD=serial_server)
|
||||
dest_index 4
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x800000000000000f (Reply: PD=serial_server)
|
||||
src_obj (cap) 0x800000000000001d (Reply: PD=serial_server)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 1
|
||||
0x001c CNode - Mint - 0x8000000000000018 (CNode: PD=serial_server)
|
||||
REPEAT: count=2
|
||||
0x002c CNode - Mint - 0x800000000000002f (CNode: PD=serial_server)
|
||||
dest_index 3
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
src_obj (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 0
|
||||
0x001d CNode - Mint - 0x8000000000000018 (CNode: PD=serial_server)
|
||||
REPEAT: count=2
|
||||
0x002d CNode - Mint - 0x800000000000002f (CNode: PD=serial_server)
|
||||
dest_index 139
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000019 (IRQ Handler: irq=33)
|
||||
src_obj (cap) 0x8000000000000031 (IRQ Handler: irq=33)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 0
|
||||
0x001e IRQ Handler - SetNotification - 0x8000000000000019 (IRQ Handler: irq=33)
|
||||
notification (cap) 0x8000000000000023 (Notification: PD=serial_server (badge=0x2))
|
||||
0x001f Page Table - Map - 0x8000000000000013 (PageTable: PD=serial_server VADDR=0x0)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x002e CNode - Mint - 0x800000000000002f (CNode: PD=serial_server)
|
||||
dest_index 12
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000021 (Notification: PD=client)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 2
|
||||
0x002f CNode - Mint - 0x8000000000000030 (CNode: PD=client)
|
||||
dest_index 11
|
||||
dest_depth 9
|
||||
src_root (cap) 0x0000000000000060 (CNode: root)
|
||||
src_obj (cap) 0x8000000000000020 (Notification: PD=serial_server)
|
||||
src_depth 64
|
||||
rights 15
|
||||
badge 4
|
||||
0x0030 IRQ Handler - SetNotification - 0x8000000000000031 (IRQ Handler: irq=33)
|
||||
notification (cap) 0x8000000000000047 (Notification: PD=serial_server (badge=0x2))
|
||||
0x0031 Page Table - Map - 0x8000000000000024 (PageTable: PD=serial_server VADDR=0x0)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x0
|
||||
attr 3
|
||||
0x0020 Page Table - Map - 0x8000000000000014 (PageTable: PD=serial_server VADDR=0xffc0000000)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0032 Page Table - Map - 0x8000000000000025 (PageTable: PD=serial_server VADDR=0xffc0000000)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0xffc0000000
|
||||
attr 3
|
||||
0x0021 Page Table - Map - 0x8000000000000015 (PageTable: PD=serial_server VADDR=0x200000)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0033 Page Table - Map - 0x8000000000000026 (PageTable: PD=client VADDR=0x0)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x0
|
||||
attr 3
|
||||
0x0034 Page Table - Map - 0x8000000000000027 (PageTable: PD=client VADDR=0xffc0000000)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0xffc0000000
|
||||
attr 3
|
||||
0x0035 Page Table - Map - 0x8000000000000028 (PageTable: PD=serial_server VADDR=0x200000)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x200000
|
||||
attr 3
|
||||
0x0022 Page Table - Map - 0x8000000000000016 (PageTable: PD=serial_server VADDR=0x2000000)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0036 Page Table - Map - 0x8000000000000029 (PageTable: PD=serial_server VADDR=0x2000000)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x2000000
|
||||
attr 3
|
||||
0x0023 Page Table - Map - 0x8000000000000017 (PageTable: PD=serial_server VADDR=0xffffe00000)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0037 Page Table - Map - 0x800000000000002a (PageTable: PD=serial_server VADDR=0x4000000)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x4000000
|
||||
attr 3
|
||||
0x0038 Page Table - Map - 0x800000000000002b (PageTable: PD=serial_server VADDR=0xffffe00000)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0xffffe00000
|
||||
attr 3
|
||||
0x0024 Page - Map - 0x800000000000001a (Page(4 KiB): MR=uart @ 9000000 (derived))
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0039 Page Table - Map - 0x800000000000002c (PageTable: PD=client VADDR=0x200000)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x200000
|
||||
attr 3
|
||||
0x003a Page Table - Map - 0x800000000000002d (PageTable: PD=client VADDR=0x4000000)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x4000000
|
||||
attr 3
|
||||
0x003b Page Table - Map - 0x800000000000002e (PageTable: PD=client VADDR=0xffffe00000)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0xffffe00000
|
||||
attr 3
|
||||
0x003c Page - Map - 0x8000000000000032 (Page(4 KiB): MR=uart @ 9000000 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x2000000
|
||||
rights 3
|
||||
attr 6
|
||||
0x0025 Page - Map - 0x800000000000001b (Page(4 KiB): MR=ELF:serial_server-0 @ 60247000 (derived))
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x003d Page - Map - 0x8000000000000033 (Page(4 KiB): MR=serial_to_client #0 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x4000000
|
||||
rights 3
|
||||
attr 7
|
||||
0x003e Page - Map - 0x8000000000000034 (Page(4 KiB): MR=client_to_serial #0 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x4001000
|
||||
rights 2
|
||||
attr 7
|
||||
0x003f Page - Map - 0x8000000000000035 (Page(4 KiB): MR=ELF:serial_server-0 @ 60248000 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x200000
|
||||
rights 2
|
||||
attr 3
|
||||
REPEAT: count=6
|
||||
0x0026 Page - Map - 0x8000000000000021 (Page(4 KiB): MR=ELF:serial_server-1 @ 6024d000 (derived))
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0040 Page - Map - 0x800000000000003b (Page(4 KiB): MR=ELF:serial_server-1 @ 6024e000 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x206000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0027 Page - Map - 0x8000000000000022 (Page(4 KiB): MR=STACK:serial_server #0 (derived))
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0041 Page - Map - 0x800000000000003c (Page(4 KiB): MR=STACK:serial_server #0 (derived))
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0xfffffff000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0028 Page - Map - 0x8000000000000002 (Page(4 KiB): IPC Buffer PD=serial_server)
|
||||
vspace (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
0x0042 Page - Map - 0x800000000000003d (Page(4 KiB): MR=serial_to_client #0 (derived))
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x4000000
|
||||
rights 2
|
||||
attr 7
|
||||
0x0043 Page - Map - 0x800000000000003e (Page(4 KiB): MR=client_to_serial #0 (derived))
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x4001000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0044 Page - Map - 0x800000000000003f (Page(4 KiB): MR=ELF:client-0 @ 6024f000 (derived))
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x200000
|
||||
rights 2
|
||||
attr 3
|
||||
REPEAT: count=6
|
||||
0x0045 Page - Map - 0x8000000000000045 (Page(4 KiB): MR=ELF:client-1 @ 60255000 (derived))
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x206000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0046 Page - Map - 0x8000000000000046 (Page(4 KiB): MR=STACK:client #0 (derived))
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0xfffffff000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0047 Page - Map - 0x8000000000000003 (Page(4 KiB): IPC Buffer PD=serial_server)
|
||||
vspace (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vaddr 0x207000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0029 SchedControl - ConfigureFlags - 0x0000000000000012 (None)
|
||||
schedcontext (cap) 0x800000000000000d (SchedContext: PD=serial_server)
|
||||
0x0048 Page - Map - 0x8000000000000004 (Page(4 KiB): IPC Buffer PD=client)
|
||||
vspace (cap) 0x8000000000000023 (VSpace: PD=client)
|
||||
vaddr 0x207000
|
||||
rights 3
|
||||
attr 7
|
||||
0x0049 SchedControl - ConfigureFlags - 0x0000000000000012 (None)
|
||||
schedcontext (cap) 0x800000000000001a (SchedContext: PD=serial_server)
|
||||
budget 1000
|
||||
period 1000
|
||||
extra_refills 0
|
||||
badge 256
|
||||
flags 0
|
||||
0x002a TCB - SetSchedParams - 0x800000000000000c (TCB: PD=serial_server)
|
||||
0x004a SchedControl - ConfigureFlags - 0x0000000000000012 (None)
|
||||
schedcontext (cap) 0x800000000000001b (SchedContext: PD=client)
|
||||
budget 1000
|
||||
period 1000
|
||||
extra_refills 0
|
||||
badge 257
|
||||
flags 0
|
||||
0x004b TCB - SetSchedParams - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
authority (cap) 0x0000000000000001 (TCB: init)
|
||||
mcp 254
|
||||
priority 254
|
||||
sched_context (cap) 0x800000000000000d (SchedContext: PD=serial_server)
|
||||
fault_ep (cap) 0x8000000000000010 (EP: Monitor Fault)
|
||||
0x002b TCB - SetSpace - 0x800000000000000c (TCB: PD=serial_server)
|
||||
fault_ep (cap) 0x8000000000000024 (None)
|
||||
cspace_root (cap) 0x8000000000000018 (CNode: PD=serial_server)
|
||||
sched_context (cap) 0x800000000000001a (SchedContext: PD=serial_server)
|
||||
fault_ep (cap) 0x800000000000001f (EP: Monitor Fault)
|
||||
0x004c TCB - SetSchedParams - 0x8000000000000019 (TCB: PD=client)
|
||||
authority (cap) 0x0000000000000001 (TCB: init)
|
||||
mcp 253
|
||||
priority 253
|
||||
sched_context (cap) 0x800000000000001b (SchedContext: PD=client)
|
||||
fault_ep (cap) 0x800000000000001f (EP: Monitor Fault)
|
||||
0x004d TCB - SetSpace - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
fault_ep (cap) 0x8000000000000048 (None)
|
||||
cspace_root (cap) 0x800000000000002f (CNode: PD=serial_server)
|
||||
cspace_root_data 55
|
||||
vspace_root (cap) 0x8000000000000012 (VSpace: PD=serial_server)
|
||||
vspace_root (cap) 0x8000000000000022 (VSpace: PD=serial_server)
|
||||
vspace_root_data 0
|
||||
0x002c TCB - SetIPCBuffer - 0x800000000000000c (TCB: PD=serial_server)
|
||||
REPEAT: count=2
|
||||
0x004e TCB - SetIPCBuffer - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
buffer 0x207000
|
||||
buffer_frame (cap) 0x8000000000000002 (Page(4 KiB): IPC Buffer PD=serial_server)
|
||||
0x002d TCB - WriteRegisters - 0x800000000000000c (TCB: PD=serial_server)
|
||||
buffer_frame (cap) 0x8000000000000003 (Page(4 KiB): IPC Buffer PD=serial_server)
|
||||
0x004f TCB - SetIPCBuffer - 0x8000000000000019 (TCB: PD=client)
|
||||
buffer 0x207000
|
||||
buffer_frame (cap) 0x8000000000000004 (Page(4 KiB): IPC Buffer PD=client)
|
||||
0x0050 TCB - WriteRegisters - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
resume false
|
||||
arch_flags 0
|
||||
regs pc: 0x0000000000200000
|
||||
@ -465,7 +721,48 @@
|
||||
x28: 0x0000000000000000
|
||||
tpidr_el0: 0x0000000000000000
|
||||
tpidrro_el0: 0x0000000000000000
|
||||
0x002e TCB - BindNotification - 0x800000000000000c (TCB: PD=serial_server)
|
||||
notification (cap) 0x8000000000000011 (Notification: PD=serial_server)
|
||||
0x002f TCB - Resume - 0x800000000000000c (TCB: PD=serial_server)
|
||||
0x0051 TCB - WriteRegisters - 0x8000000000000019 (TCB: PD=client)
|
||||
resume false
|
||||
arch_flags 0
|
||||
regs pc: 0x0000000000200000
|
||||
sp: 0x0000010000000000
|
||||
spsr: 0x0000000000000000
|
||||
x0: 0x0000000000000000
|
||||
x1: 0x0000000000000000
|
||||
x2: 0x0000000000000000
|
||||
x3: 0x0000000000000000
|
||||
x4: 0x0000000000000000
|
||||
x5: 0x0000000000000000
|
||||
x6: 0x0000000000000000
|
||||
x7: 0x0000000000000000
|
||||
x8: 0x0000000000000000
|
||||
x16: 0x0000000000000000
|
||||
x17: 0x0000000000000000
|
||||
x18: 0x0000000000000000
|
||||
x29: 0x0000000000000000
|
||||
x30: 0x0000000000000000
|
||||
x9: 0x0000000000000000
|
||||
x10: 0x0000000000000000
|
||||
x11: 0x0000000000000000
|
||||
x12: 0x0000000000000000
|
||||
x13: 0x0000000000000000
|
||||
x14: 0x0000000000000000
|
||||
x15: 0x0000000000000000
|
||||
x19: 0x0000000000000000
|
||||
x20: 0x0000000000000000
|
||||
x21: 0x0000000000000000
|
||||
x22: 0x0000000000000000
|
||||
x23: 0x0000000000000000
|
||||
x24: 0x0000000000000000
|
||||
x25: 0x0000000000000000
|
||||
x26: 0x0000000000000000
|
||||
x27: 0x0000000000000000
|
||||
x28: 0x0000000000000000
|
||||
tpidr_el0: 0x0000000000000000
|
||||
tpidrro_el0: 0x0000000000000000
|
||||
0x0052 TCB - BindNotification - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
notification (cap) 0x8000000000000020 (Notification: PD=serial_server)
|
||||
REPEAT: count=2
|
||||
0x0053 TCB - Resume - 0x8000000000000018 (TCB: PD=serial_server)
|
||||
|
||||
REPEAT: count=2
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -4,8 +4,12 @@
|
||||
#include "printf.h"
|
||||
#include "wordle.h"
|
||||
|
||||
uintptr_t serial_to_client_vaddr;
|
||||
uintptr_t client_to_serial_vaddr;
|
||||
|
||||
#define MOVE_CURSOR_UP "\033[5A"
|
||||
#define CLEAR_TERMINAL_BELOW_CURSOR "\033[0J"
|
||||
#define SERIAL_SERVER_CHANNEL_ID 1
|
||||
|
||||
#define INVALID_CHAR (-1)
|
||||
|
||||
@ -30,6 +34,13 @@ void wordle_server_send() {
|
||||
|
||||
void serial_send(char *str) {
|
||||
// Implement this function to get the serial server to print the string.
|
||||
int i = 0;
|
||||
while (str[i] != '\0') {
|
||||
((char *)client_to_serial_vaddr)[i] = str[i];
|
||||
i++;
|
||||
}
|
||||
((char *)client_to_serial_vaddr)[i] = '\0';
|
||||
microkit_notify(SERIAL_SERVER_CHANNEL_ID);
|
||||
}
|
||||
|
||||
// This function prints a CLI Wordle using pretty colours for what characters
|
||||
@ -121,4 +132,13 @@ void init(void) {
|
||||
print_table(false);
|
||||
}
|
||||
|
||||
void notified(microkit_channel channel) {}
|
||||
void notified(microkit_channel channel) {
|
||||
switch (channel) {
|
||||
case SERIAL_SERVER_CHANNEL_ID:{
|
||||
char ch = ((char *)serial_to_client_vaddr)[0];
|
||||
add_char_to_table(ch);
|
||||
print_table(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
|
||||
// This variable will have the address of the UART device
|
||||
uintptr_t uart_base_vaddr;
|
||||
uintptr_t serial_to_client_vaddr;
|
||||
uintptr_t client_to_serial_vaddr;
|
||||
|
||||
#define RHR_MASK 0b111111111
|
||||
#define UARTDR 0x000
|
||||
@ -12,9 +14,13 @@ uintptr_t uart_base_vaddr;
|
||||
#define UARTICR 0x044
|
||||
#define PL011_UARTFR_TXFF (1 << 5)
|
||||
#define PL011_UARTFR_RXFE (1 << 4)
|
||||
#define CLIENT_CHANNEL_ID 2
|
||||
#define SERIAL_SERVER_CHANNEL_ID 1
|
||||
#define NEWLINE 0x0a
|
||||
|
||||
#define REG_PTR(base, offset) ((volatile uint32_t *)((base) + (offset)))
|
||||
|
||||
|
||||
void uart_init() {
|
||||
*REG_PTR(uart_base_vaddr, UARTIMSC) = 0x50;
|
||||
}
|
||||
@ -57,11 +63,22 @@ void init(void) {
|
||||
// After initialising the UART, print a message to the terminal
|
||||
// saying that the serial server has started.
|
||||
uart_put_str("SERIAL SERVER: starting\n");
|
||||
|
||||
//send a messageto teh receiver
|
||||
microkit_notify(CLIENT_CHANNEL_ID);
|
||||
}
|
||||
|
||||
void notified(microkit_channel channel) {
|
||||
int character = uart_get_char();
|
||||
uart_put_char(character);
|
||||
uart_handle_irq();
|
||||
microkit_irq_ack(1);
|
||||
switch (channel) {
|
||||
case SERIAL_SERVER_CHANNEL_ID: {
|
||||
((char *)serial_to_client_vaddr)[0] = uart_get_char();
|
||||
uart_handle_irq();
|
||||
microkit_irq_ack(channel);
|
||||
microkit_notify(CLIENT_CHANNEL_ID);
|
||||
break;
|
||||
}
|
||||
case CLIENT_CHANNEL_ID:
|
||||
uart_put_str((char *)client_to_serial_vaddr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<system>
|
||||
<memory_region name="uart" phys_addr="0x9_000_000" size="0x1000" />
|
||||
<memory_region name="serial_to_client" size="0x1000" />
|
||||
<memory_region name="client_to_serial" size="0x1000" />
|
||||
|
||||
<protection_domain name="serial_server" priority="254" >
|
||||
<program_image path="serial_server.elf" />
|
||||
<irq irq="33" id="1" />
|
||||
<map mr="uart" vaddr="0x2_000_000" perms="rw" cached="false" setvar_vaddr="uart_base_vaddr" />
|
||||
<map mr="serial_to_client" vaddr="0x4_000_000" perms="rw" setvar_vaddr="serial_to_client_vaddr" />
|
||||
<map mr="client_to_serial" vaddr="0x4_001_000" perms="r" setvar_vaddr="client_to_serial_vaddr" />
|
||||
</protection_domain>
|
||||
|
||||
<protection_domain name="client" priority="253">
|
||||
<program_image path="client.elf" />
|
||||
<map mr="serial_to_client" vaddr="0x4_000_000" perms="r" setvar_vaddr="serial_to_client_vaddr" />
|
||||
<map mr="client_to_serial" vaddr="0x4_001_000" perms="rw" setvar_vaddr="client_to_serial_vaddr" />
|
||||
</protection_domain>
|
||||
|
||||
<channel>
|
||||
<end pd="serial_server" id="2" />
|
||||
<end pd="client" id="1" />
|
||||
</channel>
|
||||
</system>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user