blob: dc71235a6bc56901359a68e49fb749face1ed025 [file]
/*
* Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
arch ia32
objects {
rm_ut = ut {
rm_tcb = tcb
name2 = ut (8 bits) {
rm_cn = cnode (10 bits)
}
rm_pd = pd
rm_ap = asid_pool (asid_high: 0x0)
linux_pd = pd
rm_ut_small[50] = ut (12 bits)
rm_ut_big[100] = ut (20 bits)
frame_nic1[64] = frame (4k)
nic1 = io_device (domainID: 0, 0:0.0)
frame_nic2[64] = frame (4k)
nic2 = io_device (domainID: 0, 0:0.0)
frame_nic3[4] = frame (4k)
nic3 = io_device (0xf:10.3, domainID: 50)
timer = notification
control = ep
io_pt1 = io_pt (level: 1)
io_pt2 = io_pt (level: 2)
io_pt3 = io_pt (level: 3)
}
some_pt = pt
frame_name = frame (4k)
io_ports = io_ports (ports:[0x1000..45894])
irq_handler[3] = irq
nic1_notification = notification
iospace = io_device (0xf:10.3, domainID: 50)
cnode_booter = cnode (8 bits)
name = ut (8 bits) { y, z }
name_b = ut (10 bits)
name/name3/x = tcb
name/a = tcb
name/b = tcb
y = ep
z = ep
} caps {
rm_cn {
001: rm_tcb
002: rm_cn ( guard: 0, guard_size: 0)
003: rm_pd
006: rm_ap
007: io_ports
0x00b: linux_pd;
0x00c: rm_ut_small[3..5];
0x00f: rm_ut_small[7..20, 23, 27..];
0x03e: rm_ut_big[];
0x0a3: irq_handler[0];
0x0a4: name[] = frame_nic1[];
0x0e4: iospace;
0x0e5: irq_handler[1];
0x0e6: frame_nic2[];
-- 126: iospace
0x127: irq_handler[2];
0x128: frame_nic3[];
-- 12c: iospace
0x12d: timer (G)
0x12e: control (badge: 10)
0x140: io_space_master
0x145: nic2
0x147: io_pt1
0x148: io_ports
0x210: x
0x12f: name2[] = <name[0]> (masked: R);
}
rm_tcb {
vspace: rm_pd
cspace: rm_cn
}
cap_name = (rm_tcb, cspace)
cap_name2 = (irq_table, 0)
cnode_booter {
001: rm_ut
}
-- some pd and pt mappings:
linux_pd {
10: frame_name
0xFF: some_pt
0x100: frame_nic1[..030]
0x130: frame_nic1[31..]
0x160: frame_nic2[10]
0x180: frame_nic2[11..17, ..2, 10, 10..]
}
some_pt {
37: frame_nic3[..2]
}
nic1 { 0: io_pt1 }
io_pt1 { 0: io_pt2 }
io_pt2 { 0: io_pt3 }
io_pt3 { 0: frame_nic3[0] }
} irq maps {
irq_handler[]
}
/* not supported yet
CDT: {
rm_ut parent_of timer
}
*/