Go to the source code of this file.
|
| int | dmop_create_ioreq_server (domid_t domid, uint8_t handle_bufioreq, ioservid_t *id) |
| | Create an I/O request server in the given Xen domain.
|
| int | dmop_destroy_ioreq_server (domid_t domid, ioservid_t id) |
| | Destroy a previously created I/O request server.
|
| int | dmop_map_io_range_to_ioreq_server (domid_t domid, ioservid_t id, uint32_t type, uint64_t start, uint64_t end) |
| | Map a specified I/O address range to an existing I/O request server.
|
| int | dmop_unmap_io_range_from_ioreq_server (domid_t domid, ioservid_t id, uint32_t type, uint64_t start, uint64_t end) |
| | Unmap an I/O address range from an I/O request server.
|
| int | dmop_set_ioreq_server_state (domid_t domid, ioservid_t id, uint8_t enabled) |
| | Enable or disable an existing I/O request server.
|
| int | dmop_nr_vcpus (domid_t domid) |
| | Query the number of virtual CPUs in a Xen domain.
|
| int | dmop_set_irq_level (domid_t domid, uint32_t irq, uint8_t level) |
| | Set the interrupt level for a specific IRQ in a Xen domain.
|
◆ dmop_create_ioreq_server()
Create an I/O request server in the given Xen domain.
This function issues the XEN_DMOP_create_ioreq_server hypercall to create a server that handles I/O requests on behalf of the guest domain.
- Parameters
-
| domid | Xen domain identifier where the server is created. |
| handle_bufioreq | Flag indicating whether buffered I/O requests should be handled. Set to non-zero to enable buffered handling. |
| id | Output pointer to receive the newly created server ID. |
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |
◆ dmop_destroy_ioreq_server()
Destroy a previously created I/O request server.
Issues the XEN_DMOP_destroy_ioreq_server hypercall to tear down the specified I/O request server.
- Parameters
-
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |
◆ dmop_map_io_range_to_ioreq_server()
Map a specified I/O address range to an existing I/O request server.
This function issues the XEN_DMOP_map_io_range_to_ioreq_server hypercall to grant access to the given I/O address range for the specified server.
- Parameters
-
| domid | Xen domain identifier where the mapping is applied. |
| id | I/O request server ID returned by dmop_create_ioreq_server(). |
| type | Type identifier for the I/O range (e.g., MMIO, port I/O). |
| start | Start physical address of the I/O range. |
| end | End physical address (inclusive) of the I/O range. |
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |
◆ dmop_nr_vcpus()
Query the number of virtual CPUs in a Xen domain.
This function issues the XEN_DMOP_nr_vcpus hypercall to retrieve the current vCPU count for the specified domain.
- Parameters
-
| domid | Xen domain identifier to query. |
- Return values
-
| num_vcpus | The number of vCPUs on success. |
| -errno | Negative errno code on failure. |
◆ dmop_set_ioreq_server_state()
Enable or disable an existing I/O request server.
This function issues the XEN_DMOP_set_ioreq_server_state hypercall to change the operational state of the specified I/O request server.
- Parameters
-
| domid | Xen domain identifier. |
| id | I/O request server ID to modify. |
| enabled | Non-zero to enable the server, zero to disable it. |
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |
◆ dmop_set_irq_level()
Set the interrupt level for a specific IRQ in a Xen domain.
This function issues the XEN_DMOP_set_irq_level hypercall to adjust the signal level (assert or deassert) for the given IRQ line.
- Parameters
-
| domid | Xen domain identifier. |
| irq | IRQ number whose level is to be set. |
| level | Non-zero to assert (raise) the IRQ, zero to deassert (lower) it. |
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |
◆ dmop_unmap_io_range_from_ioreq_server()
Unmap an I/O address range from an I/O request server.
Issues the XEN_DMOP_unmap_io_range_from_ioreq_server hypercall to revoke access to a previously mapped I/O address range.
- Parameters
-
| domid | Xen domain identifier where the unmapping is applied. |
| id | I/O request server ID returned by dmop_create_ioreq_server(). |
| type | Type identifier for the I/O range (e.g., MMIO, port I/O). |
| start | Start physical address of the I/O range. |
| end | End physical address (inclusive) of the I/O range. |
- Return values
-
| 0 | On success |
| -errno | Negative errno code on failure. |