| /* |
| * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) |
| * |
| * SPDX-License-Identifier: BSD-2-Clause |
| */ |
| |
| arch ia32 |
| |
| objects |
| |
| -- following 2 could be implicit |
| ioport = ioport |
| irqtable = cnode (8 bits) |
| |
| rm_ut = ut { |
| rm_tcb = tcb |
| name2 = ut { |
| rm_cn = cnode (10 bits) |
| } |
| rm_pd = page_directory [ 10 -> frame_name_x, .. ] |
| rm_ap = asid_pool (asid_high: 0x0) |
| |
| linux_pd = page_directory |
| |
| rm_ut_small[50] = untyped (12 bits) |
| rm_ut_big[101] = untyped (20 bits) |
| |
| frame_nic1[64] = frame (4k) |
| -- io space?? |
| |
| frame_nic2[64] = frame (4k) |
| -- io space?? |
| |
| frame_nic3[4] = frame (4k) |
| -- io space?? |
| |
| timer = notification |
| control = ep |
| } |
| |
| name: ut { x, y, z } |
| |
| name: ut |
| name/name2/name3/x = tcb .. |
| name/y = |
| name/z = |
| |
| caps |
| |
| name { |
| opt num: obj_name parameters |
| } |
| |
| rm_cn { |
| 001: rm_tcb; |
| 002: rm_cn (0, 0, mask: R, rights: W); |
| 003: rm_pd; |
| 006: rm_ap; |
| 007: ioport; |
| 00b: linux_pd; |
| 00c: rm_ut_small[3..7]; |
| 00x: rm_ut_small[7..200, 232, 237..]; |
| 03e: rm_ut_big[]; |
| |
| 0a3: IRQHandler nic1; |
| 0a4: name = frame_nic1[]; |
| 0e4: iospace; |
| |
| 0e5: IRQHandler nic2 |
| 0e6: frame_nic2[] |
| 126: iospace |
| |
| 127: IRQHandler nic3 |
| 128: frame_nic3[] |
| 12c: iospace |
| |
| 12d: timer |
| 12e: control |
| 12f: name2 = name (masked: R) |
| } |
| |
| rm_tcb { |
| vspace: rm_pd |
| cspace: rm_cn |
| } |
| |
| cap_name = (rm_tcb, cspace) |
| cap_name2 = (irqtable, 0) |
| |
| irqtable { 0: notification_cap nic1 } |
| |
| cnode_booter { |
| 001: rm_ut |
| } |
| |
| CDT: { |
| rm_ut parent_of timer |
| } |