modus

The program frame

The frame service: the device service of one virtio network device (virtio 1.x over PCI, the "modern" interface). It serves the frame contract (contract/frame) to one client, through the frame ring that the root service gives to both.

It has one device and nothing else: the registers of the device, one message interrupt, memory for the queues, the machine with the right Physical only, and a copy of the configuration of the device. The root service found the device, enabled it and set its interrupt. The kernel has no code for this device (property 7); the code of virtio that the block service also uses is in support/virtio.

The device reads and writes the frame region of the client: the kernel is not on the path of the data (property 5). This service does not read a frame: the client builds and checks each one.

FactValue
Sourceprograms/frame
Boot imagein the boot image; the image is not built, so its size is not known
Importsnone
Imported bynone

Exports

ExportWhat it does
entry()

Read from the source of the module, as the build reads it to describe the exports (tools/kerneltool/describe.odin).

What the root service gives it

WhatValueAs the root service says
Grants{}Not named in grants_of: the grants of each other program.
Budget: pages, programs, threads{pages = 256, programs = 1, threads = 1}

Read from grants_of and things_of in programs/root/main.odin; budget_of in the same file adds the limits of processor time and of log records.