Skip to content

Commit

Permalink
MIDDLEWARE-491 Document vMMIO support
Browse files Browse the repository at this point in the history
  • Loading branch information
strazzere committed Jan 10, 2022
1 parent 7043e26 commit fd4b216
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,12 @@ Creates a new instance with the given options. The following options are support
- `options.bootOptions.additionalTags[]`: An array of addition features to utilize for the device, valid options include
- `kalloc`: Enable kalloc/kfree trace access via GDB (Enterprise only)
- `gpu`: Enable cloud GPU acceleration (Extra costs incurred, cloud only)
- `options.bootOptions.kernel` - Custom kernel to pass to the device on creation
- `options.bootOptions.kernel`: Custom kernel to pass to the device on creation
- `options.bootOptions.vmmio[]`: Paremeters to export a VM address space range (and IRQ & DMA functionality) over TCP to different models running on different machines or inside a different VM
- `start`: start address for beginning of vMMIO range
- `size`: size of the range to use for vMMIO
- `irq`: system IRQs, 1-16 ranges must be specified
- `port`: tcp port for vMMIO usage

Example:

Expand Down
10 changes: 10 additions & 0 deletions src/project.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,15 @@ class Project {
return new Instance(this, info);
}

/**
* @typedef {Object} vmmio - paremeters to export a VM address space range (and IRQ & DMA functionality)
* over TCP to different models running on different machines or inside a different VM
* @property {string} start - start address for beginning of vMMIO range
* @property {string} size - size of the range to use for vMMIO
* @property {string} irq - system IRQs, 1-16 ranges must be specified
* @property {string} port - tcp port for vMMIO usage
*/

/**
* Creates an instance and returns the {@link Instance} object. The options
* are passed directly to the API.
Expand All @@ -106,6 +115,7 @@ class Project {
* `kalloc` : Enable kalloc/kfree trace access via GDB (Enterprise only)<br>
* `gpu` : Enable cloud GPU acceleration (Extra costs incurred, cloud only)
* @param {KernelImage} [options.bootOptions.kernel] - Custom kernel to pass to the device on creation.
* @param {vmmio[]} [vmmio] - VMMIO options for external MMIO support
* @returns {Promise<Instance>}
*
* @example <caption>Creating an instance and waiting for it to start its first boot</caption>
Expand Down

0 comments on commit fd4b216

Please sign in to comment.