diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES index 22dad792f..ed5dc5764 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES @@ -25,6 +25,7 @@ docs/NetConfig.md docs/NumaConfig.md docs/NumaDistance.md docs/PciDeviceInfo.md +docs/PlatformConfig.md docs/PmemConfig.md docs/RateLimiterConfig.md docs/ReceiveMigrationData.md @@ -32,6 +33,7 @@ docs/RestoreConfig.md docs/RngConfig.md docs/SendMigrationData.md docs/SgxEpcConfig.md +docs/TdxConfig.md docs/TokenBucket.md docs/VmAddDevice.md docs/VmConfig.md @@ -63,6 +65,7 @@ model_net_config.go model_numa_config.go model_numa_distance.go model_pci_device_info.go +model_platform_config.go model_pmem_config.go model_rate_limiter_config.go model_receive_migration_data.go @@ -70,6 +73,7 @@ model_restore_config.go model_rng_config.go model_send_migration_data.go model_sgx_epc_config.go +model_tdx_config.go model_token_bucket.go model_vm_add_device.go model_vm_config.go diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md index b9829e33e..3b7967c4b 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md @@ -125,6 +125,7 @@ Class | Method | HTTP request | Description - [NumaConfig](docs/NumaConfig.md) - [NumaDistance](docs/NumaDistance.md) - [PciDeviceInfo](docs/PciDeviceInfo.md) + - [PlatformConfig](docs/PlatformConfig.md) - [PmemConfig](docs/PmemConfig.md) - [RateLimiterConfig](docs/RateLimiterConfig.md) - [ReceiveMigrationData](docs/ReceiveMigrationData.md) @@ -132,6 +133,7 @@ Class | Method | HTTP request | Description - [RngConfig](docs/RngConfig.md) - [SendMigrationData](docs/SendMigrationData.md) - [SgxEpcConfig](docs/SgxEpcConfig.md) + - [TdxConfig](docs/TdxConfig.md) - [TokenBucket](docs/TokenBucket.md) - [VmAddDevice](docs/VmAddDevice.md) - [VmConfig](docs/VmConfig.md) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml index a00924ac5..b820e01cc 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml @@ -374,7 +374,7 @@ components: VmInfo: description: Virtual Machine information example: - memory_actual_size: 7 + memory_actual_size: 3 state: Created config: console: @@ -382,8 +382,9 @@ components: file: file iommu: false balloon: - size: 1 + size: 6 deflate_on_oom: false + free_page_reporting: false memory: hugepages: false shared: false @@ -489,80 +490,87 @@ components: path: path numa: - distances: - - distance: 8 - destination: 4 - - distance: 8 - destination: 4 + - distance: 4 + destination: 0 + - distance: 4 + destination: 0 cpus: - - 0 - - 0 + - 6 + - 6 sgx_epc_sections: - sgx_epc_sections - sgx_epc_sections memory_zones: - memory_zones - memory_zones - guest_numa_id: 6 + guest_numa_id: 7 - distances: - - distance: 8 - destination: 4 - - distance: 8 - destination: 4 + - distance: 4 + destination: 0 + - distance: 4 + destination: 0 cpus: - - 0 - - 0 + - 6 + - 6 sgx_epc_sections: - sgx_epc_sections - sgx_epc_sections memory_zones: - memory_zones - memory_zones - guest_numa_id: 6 + guest_numa_id: 7 + tdx: + firmware: firmware rng: iommu: false src: /dev/urandom sgx_epc: - prefault: false - size: 7 + size: 0 id: id - prefault: false - size: 7 + size: 0 id: id fs: - - pci_segment: 5 - num_queues: 2 - queue_size: 6 + - pci_segment: 6 + num_queues: 1 + queue_size: 2 cache_size: 6 dax: true tag: tag socket: socket id: id - - pci_segment: 5 - num_queues: 2 - queue_size: 6 + - pci_segment: 6 + num_queues: 1 + queue_size: 2 cache_size: 6 dax: true tag: tag socket: socket id: id vsock: - pci_segment: 0 + pci_segment: 7 iommu: false socket: socket id: id cid: 3 + platform: + iommu_segments: + - 7 + - 7 + num_pci_segments: 8 pmem: - - pci_segment: 3 + - pci_segment: 6 mergeable: false file: file - size: 6 + size: 5 iommu: false id: id discard_writes: false - - pci_segment: 3 + - pci_segment: 6 mergeable: false file: file - size: 6 + size: 5 iommu: false id: id discard_writes: false @@ -591,12 +599,9 @@ components: one_time_burst: 0 refill_time: 0 mac: mac - pci_segment: 6 + pci_segment: 3 vhost_mode: Client iommu: false - fds: - - 3 - - 3 vhost_socket: vhost_socket vhost_user: false id: id @@ -615,12 +620,9 @@ components: one_time_burst: 0 refill_time: 0 mac: mac - pci_segment: 6 + pci_segment: 3 vhost_mode: Client iommu: false - fds: - - 3 - - 3 vhost_socket: vhost_socket vhost_user: false id: id @@ -710,8 +712,9 @@ components: file: file iommu: false balloon: - size: 1 + size: 6 deflate_on_oom: false + free_page_reporting: false memory: hugepages: false shared: false @@ -817,80 +820,87 @@ components: path: path numa: - distances: - - distance: 8 - destination: 4 - - distance: 8 - destination: 4 + - distance: 4 + destination: 0 + - distance: 4 + destination: 0 cpus: - - 0 - - 0 + - 6 + - 6 sgx_epc_sections: - sgx_epc_sections - sgx_epc_sections memory_zones: - memory_zones - memory_zones - guest_numa_id: 6 + guest_numa_id: 7 - distances: - - distance: 8 - destination: 4 - - distance: 8 - destination: 4 + - distance: 4 + destination: 0 + - distance: 4 + destination: 0 cpus: - - 0 - - 0 + - 6 + - 6 sgx_epc_sections: - sgx_epc_sections - sgx_epc_sections memory_zones: - memory_zones - memory_zones - guest_numa_id: 6 + guest_numa_id: 7 + tdx: + firmware: firmware rng: iommu: false src: /dev/urandom sgx_epc: - prefault: false - size: 7 + size: 0 id: id - prefault: false - size: 7 + size: 0 id: id fs: - - pci_segment: 5 - num_queues: 2 - queue_size: 6 + - pci_segment: 6 + num_queues: 1 + queue_size: 2 cache_size: 6 dax: true tag: tag socket: socket id: id - - pci_segment: 5 - num_queues: 2 - queue_size: 6 + - pci_segment: 6 + num_queues: 1 + queue_size: 2 cache_size: 6 dax: true tag: tag socket: socket id: id vsock: - pci_segment: 0 + pci_segment: 7 iommu: false socket: socket id: id cid: 3 + platform: + iommu_segments: + - 7 + - 7 + num_pci_segments: 8 pmem: - - pci_segment: 3 + - pci_segment: 6 mergeable: false file: file - size: 6 + size: 5 iommu: false id: id discard_writes: false - - pci_segment: 3 + - pci_segment: 6 mergeable: false file: file - size: 6 + size: 5 iommu: false id: id discard_writes: false @@ -919,12 +929,9 @@ components: one_time_burst: 0 refill_time: 0 mac: mac - pci_segment: 6 + pci_segment: 3 vhost_mode: Client iommu: false - fds: - - 3 - - 3 vhost_socket: vhost_socket vhost_user: false id: id @@ -943,12 +950,9 @@ components: one_time_burst: 0 refill_time: 0 mac: mac - pci_segment: 6 + pci_segment: 3 vhost_mode: Client iommu: false - fds: - - 3 - - 3 vhost_socket: vhost_socket vhost_user: false id: id @@ -998,6 +1002,8 @@ components: items: $ref: '#/components/schemas/SgxEpcConfig' type: array + tdx: + $ref: '#/components/schemas/TdxConfig' numa: items: $ref: '#/components/schemas/NumaConfig' @@ -1008,6 +1014,8 @@ components: watchdog: default: false type: boolean + platform: + $ref: '#/components/schemas/PlatformConfig' required: - kernel type: object @@ -1081,6 +1089,22 @@ components: - boot_vcpus - max_vcpus type: object + PlatformConfig: + example: + iommu_segments: + - 7 + - 7 + num_pci_segments: 8 + properties: + num_pci_segments: + format: int16 + type: integer + iommu_segments: + items: + format: int16 + type: integer + type: array + type: object MemoryZoneConfig: example: hugepages: false @@ -1353,12 +1377,9 @@ components: one_time_burst: 0 refill_time: 0 mac: mac - pci_segment: 6 + pci_segment: 3 vhost_mode: Client iommu: false - fds: - - 3 - - 3 vhost_socket: vhost_socket vhost_user: false id: id @@ -1393,11 +1414,6 @@ components: type: string id: type: string - fds: - items: - format: int32 - type: integer - type: array pci_segment: format: int16 type: integer @@ -1420,25 +1436,29 @@ components: type: object BalloonConfig: example: - size: 1 + size: 6 deflate_on_oom: false + free_page_reporting: false properties: size: format: int64 type: integer deflate_on_oom: default: false - description: Whether the balloon should deflate when the guest is under - memory pressure. + description: Deflate balloon when the guest is under memory pressure. + type: boolean + free_page_reporting: + default: false + description: Enable guest to report free pages. type: boolean required: - size type: object FsConfig: example: - pci_segment: 5 - num_queues: 2 - queue_size: 6 + pci_segment: 6 + num_queues: 1 + queue_size: 2 cache_size: 6 dax: true tag: tag @@ -1476,10 +1496,10 @@ components: type: object PmemConfig: example: - pci_segment: 3 + pci_segment: 6 mergeable: false file: file - size: 6 + size: 5 iommu: false id: id discard_writes: false @@ -1550,7 +1570,7 @@ components: type: object VsockConfig: example: - pci_segment: 0 + pci_segment: 7 iommu: false socket: socket id: id @@ -1579,7 +1599,7 @@ components: SgxEpcConfig: example: prefault: false - size: 7 + size: 0 id: id properties: id: @@ -1594,10 +1614,21 @@ components: - id - size type: object + TdxConfig: + example: + firmware: firmware + properties: + firmware: + description: Path to the firmware that will be used to boot the TDx guest + up. + type: string + required: + - firmware + type: object NumaDistance: example: - distance: 8 - destination: 4 + distance: 4 + destination: 0 properties: destination: format: int32 @@ -1612,20 +1643,20 @@ components: NumaConfig: example: distances: - - distance: 8 - destination: 4 - - distance: 8 - destination: 4 + - distance: 4 + destination: 0 + - distance: 4 + destination: 0 cpus: - - 0 - - 0 + - 6 + - 6 sgx_epc_sections: - sgx_epc_sections - sgx_epc_sections memory_zones: - memory_zones - memory_zones - guest_numa_id: 6 + guest_numa_id: 7 properties: guest_numa_id: format: int32 diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/BalloonConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/BalloonConfig.md index e6f222847..196e9c1da 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/BalloonConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/BalloonConfig.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Size** | **int64** | | -**DeflateOnOom** | Pointer to **bool** | Whether the balloon should deflate when the guest is under memory pressure. | [optional] [default to false] +**DeflateOnOom** | Pointer to **bool** | Deflate balloon when the guest is under memory pressure. | [optional] [default to false] +**FreePageReporting** | Pointer to **bool** | Enable guest to report free pages. | [optional] [default to false] ## Methods @@ -71,6 +72,31 @@ SetDeflateOnOom sets DeflateOnOom field to given value. HasDeflateOnOom returns a boolean if a field has been set. +### GetFreePageReporting + +`func (o *BalloonConfig) GetFreePageReporting() bool` + +GetFreePageReporting returns the FreePageReporting field if non-nil, zero value otherwise. + +### GetFreePageReportingOk + +`func (o *BalloonConfig) GetFreePageReportingOk() (*bool, bool)` + +GetFreePageReportingOk returns a tuple with the FreePageReporting field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetFreePageReporting + +`func (o *BalloonConfig) SetFreePageReporting(v bool)` + +SetFreePageReporting sets FreePageReporting field to given value. + +### HasFreePageReporting + +`func (o *BalloonConfig) HasFreePageReporting() bool` + +HasFreePageReporting returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/NetConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/NetConfig.md index ff4f2dcfb..073401d19 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/NetConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/NetConfig.md @@ -15,7 +15,6 @@ Name | Type | Description | Notes **VhostSocket** | Pointer to **string** | | [optional] **VhostMode** | Pointer to **string** | | [optional] [default to "Client"] **Id** | Pointer to **string** | | [optional] -**Fds** | Pointer to **[]int32** | | [optional] **PciSegment** | Pointer to **int32** | | [optional] **RateLimiterConfig** | Pointer to [**RateLimiterConfig**](RateLimiterConfig.md) | | [optional] @@ -313,31 +312,6 @@ SetId sets Id field to given value. HasId returns a boolean if a field has been set. -### GetFds - -`func (o *NetConfig) GetFds() []int32` - -GetFds returns the Fds field if non-nil, zero value otherwise. - -### GetFdsOk - -`func (o *NetConfig) GetFdsOk() (*[]int32, bool)` - -GetFdsOk returns a tuple with the Fds field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetFds - -`func (o *NetConfig) SetFds(v []int32)` - -SetFds sets Fds field to given value. - -### HasFds - -`func (o *NetConfig) HasFds() bool` - -HasFds returns a boolean if a field has been set. - ### GetPciSegment `func (o *NetConfig) GetPciSegment() int32` diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md new file mode 100644 index 000000000..91adf0d99 --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md @@ -0,0 +1,82 @@ +# PlatformConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**NumPciSegments** | Pointer to **int32** | | [optional] +**IommuSegments** | Pointer to **[]int32** | | [optional] + +## Methods + +### NewPlatformConfig + +`func NewPlatformConfig() *PlatformConfig` + +NewPlatformConfig instantiates a new PlatformConfig object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewPlatformConfigWithDefaults + +`func NewPlatformConfigWithDefaults() *PlatformConfig` + +NewPlatformConfigWithDefaults instantiates a new PlatformConfig object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetNumPciSegments + +`func (o *PlatformConfig) GetNumPciSegments() int32` + +GetNumPciSegments returns the NumPciSegments field if non-nil, zero value otherwise. + +### GetNumPciSegmentsOk + +`func (o *PlatformConfig) GetNumPciSegmentsOk() (*int32, bool)` + +GetNumPciSegmentsOk returns a tuple with the NumPciSegments field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetNumPciSegments + +`func (o *PlatformConfig) SetNumPciSegments(v int32)` + +SetNumPciSegments sets NumPciSegments field to given value. + +### HasNumPciSegments + +`func (o *PlatformConfig) HasNumPciSegments() bool` + +HasNumPciSegments returns a boolean if a field has been set. + +### GetIommuSegments + +`func (o *PlatformConfig) GetIommuSegments() []int32` + +GetIommuSegments returns the IommuSegments field if non-nil, zero value otherwise. + +### GetIommuSegmentsOk + +`func (o *PlatformConfig) GetIommuSegmentsOk() (*[]int32, bool)` + +GetIommuSegmentsOk returns a tuple with the IommuSegments field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetIommuSegments + +`func (o *PlatformConfig) SetIommuSegments(v []int32)` + +SetIommuSegments sets IommuSegments field to given value. + +### HasIommuSegments + +`func (o *PlatformConfig) HasIommuSegments() bool` + +HasIommuSegments returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/TdxConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/TdxConfig.md new file mode 100644 index 000000000..8577bcf5b --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/TdxConfig.md @@ -0,0 +1,51 @@ +# TdxConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Firmware** | **string** | Path to the firmware that will be used to boot the TDx guest up. | + +## Methods + +### NewTdxConfig + +`func NewTdxConfig(firmware string, ) *TdxConfig` + +NewTdxConfig instantiates a new TdxConfig object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewTdxConfigWithDefaults + +`func NewTdxConfigWithDefaults() *TdxConfig` + +NewTdxConfigWithDefaults instantiates a new TdxConfig object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetFirmware + +`func (o *TdxConfig) GetFirmware() string` + +GetFirmware returns the Firmware field if non-nil, zero value otherwise. + +### GetFirmwareOk + +`func (o *TdxConfig) GetFirmwareOk() (*string, bool)` + +GetFirmwareOk returns a tuple with the Firmware field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetFirmware + +`func (o *TdxConfig) SetFirmware(v string)` + +SetFirmware sets Firmware field to given value. + + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md index b65a194b2..b01b81db5 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md @@ -20,9 +20,11 @@ Name | Type | Description | Notes **Devices** | Pointer to [**[]DeviceConfig**](DeviceConfig.md) | | [optional] **Vsock** | Pointer to [**VsockConfig**](VsockConfig.md) | | [optional] **SgxEpc** | Pointer to [**[]SgxEpcConfig**](SgxEpcConfig.md) | | [optional] +**Tdx** | Pointer to [**TdxConfig**](TdxConfig.md) | | [optional] **Numa** | Pointer to [**[]NumaConfig**](NumaConfig.md) | | [optional] **Iommu** | Pointer to **bool** | | [optional] [default to false] **Watchdog** | Pointer to **bool** | | [optional] [default to false] +**Platform** | Pointer to [**PlatformConfig**](PlatformConfig.md) | | [optional] ## Methods @@ -448,6 +450,31 @@ SetSgxEpc sets SgxEpc field to given value. HasSgxEpc returns a boolean if a field has been set. +### GetTdx + +`func (o *VmConfig) GetTdx() TdxConfig` + +GetTdx returns the Tdx field if non-nil, zero value otherwise. + +### GetTdxOk + +`func (o *VmConfig) GetTdxOk() (*TdxConfig, bool)` + +GetTdxOk returns a tuple with the Tdx field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTdx + +`func (o *VmConfig) SetTdx(v TdxConfig)` + +SetTdx sets Tdx field to given value. + +### HasTdx + +`func (o *VmConfig) HasTdx() bool` + +HasTdx returns a boolean if a field has been set. + ### GetNuma `func (o *VmConfig) GetNuma() []NumaConfig` @@ -523,6 +550,31 @@ SetWatchdog sets Watchdog field to given value. HasWatchdog returns a boolean if a field has been set. +### GetPlatform + +`func (o *VmConfig) GetPlatform() PlatformConfig` + +GetPlatform returns the Platform field if non-nil, zero value otherwise. + +### GetPlatformOk + +`func (o *VmConfig) GetPlatformOk() (*PlatformConfig, bool)` + +GetPlatformOk returns a tuple with the Platform field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPlatform + +`func (o *VmConfig) SetPlatform(v PlatformConfig)` + +SetPlatform sets Platform field to given value. + +### HasPlatform + +`func (o *VmConfig) HasPlatform() bool` + +HasPlatform returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_balloon_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_balloon_config.go index 704bb5b8d..765da2a8a 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_balloon_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_balloon_config.go @@ -17,8 +17,10 @@ import ( // BalloonConfig struct for BalloonConfig type BalloonConfig struct { Size int64 `json:"size"` - // Whether the balloon should deflate when the guest is under memory pressure. + // Deflate balloon when the guest is under memory pressure. DeflateOnOom *bool `json:"deflate_on_oom,omitempty"` + // Enable guest to report free pages. + FreePageReporting *bool `json:"free_page_reporting,omitempty"` } // NewBalloonConfig instantiates a new BalloonConfig object @@ -30,6 +32,8 @@ func NewBalloonConfig(size int64) *BalloonConfig { this.Size = size var deflateOnOom bool = false this.DeflateOnOom = &deflateOnOom + var freePageReporting bool = false + this.FreePageReporting = &freePageReporting return &this } @@ -40,6 +44,8 @@ func NewBalloonConfigWithDefaults() *BalloonConfig { this := BalloonConfig{} var deflateOnOom bool = false this.DeflateOnOom = &deflateOnOom + var freePageReporting bool = false + this.FreePageReporting = &freePageReporting return &this } @@ -99,6 +105,38 @@ func (o *BalloonConfig) SetDeflateOnOom(v bool) { o.DeflateOnOom = &v } +// GetFreePageReporting returns the FreePageReporting field value if set, zero value otherwise. +func (o *BalloonConfig) GetFreePageReporting() bool { + if o == nil || o.FreePageReporting == nil { + var ret bool + return ret + } + return *o.FreePageReporting +} + +// GetFreePageReportingOk returns a tuple with the FreePageReporting field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *BalloonConfig) GetFreePageReportingOk() (*bool, bool) { + if o == nil || o.FreePageReporting == nil { + return nil, false + } + return o.FreePageReporting, true +} + +// HasFreePageReporting returns a boolean if a field has been set. +func (o *BalloonConfig) HasFreePageReporting() bool { + if o != nil && o.FreePageReporting != nil { + return true + } + + return false +} + +// SetFreePageReporting gets a reference to the given bool and assigns it to the FreePageReporting field. +func (o *BalloonConfig) SetFreePageReporting(v bool) { + o.FreePageReporting = &v +} + func (o BalloonConfig) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if true { @@ -107,6 +145,9 @@ func (o BalloonConfig) MarshalJSON() ([]byte, error) { if o.DeflateOnOom != nil { toSerialize["deflate_on_oom"] = o.DeflateOnOom } + if o.FreePageReporting != nil { + toSerialize["free_page_reporting"] = o.FreePageReporting + } return json.Marshal(toSerialize) } diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_net_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_net_config.go index 72bdb5422..976d8cd33 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_net_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_net_config.go @@ -27,7 +27,6 @@ type NetConfig struct { VhostSocket *string `json:"vhost_socket,omitempty"` VhostMode *string `json:"vhost_mode,omitempty"` Id *string `json:"id,omitempty"` - Fds *[]int32 `json:"fds,omitempty"` PciSegment *int32 `json:"pci_segment,omitempty"` RateLimiterConfig *RateLimiterConfig `json:"rate_limiter_config,omitempty"` } @@ -429,38 +428,6 @@ func (o *NetConfig) SetId(v string) { o.Id = &v } -// GetFds returns the Fds field value if set, zero value otherwise. -func (o *NetConfig) GetFds() []int32 { - if o == nil || o.Fds == nil { - var ret []int32 - return ret - } - return *o.Fds -} - -// GetFdsOk returns a tuple with the Fds field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *NetConfig) GetFdsOk() (*[]int32, bool) { - if o == nil || o.Fds == nil { - return nil, false - } - return o.Fds, true -} - -// HasFds returns a boolean if a field has been set. -func (o *NetConfig) HasFds() bool { - if o != nil && o.Fds != nil { - return true - } - - return false -} - -// SetFds gets a reference to the given []int32 and assigns it to the Fds field. -func (o *NetConfig) SetFds(v []int32) { - o.Fds = &v -} - // GetPciSegment returns the PciSegment field value if set, zero value otherwise. func (o *NetConfig) GetPciSegment() int32 { if o == nil || o.PciSegment == nil { @@ -560,9 +527,6 @@ func (o NetConfig) MarshalJSON() ([]byte, error) { if o.Id != nil { toSerialize["id"] = o.Id } - if o.Fds != nil { - toSerialize["fds"] = o.Fds - } if o.PciSegment != nil { toSerialize["pci_segment"] = o.PciSegment } diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go new file mode 100644 index 000000000..e480c8a91 --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go @@ -0,0 +1,149 @@ +/* +Cloud Hypervisor API + +Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. + +API version: 0.3.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "encoding/json" +) + +// PlatformConfig struct for PlatformConfig +type PlatformConfig struct { + NumPciSegments *int32 `json:"num_pci_segments,omitempty"` + IommuSegments *[]int32 `json:"iommu_segments,omitempty"` +} + +// NewPlatformConfig instantiates a new PlatformConfig object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewPlatformConfig() *PlatformConfig { + this := PlatformConfig{} + return &this +} + +// NewPlatformConfigWithDefaults instantiates a new PlatformConfig object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewPlatformConfigWithDefaults() *PlatformConfig { + this := PlatformConfig{} + return &this +} + +// GetNumPciSegments returns the NumPciSegments field value if set, zero value otherwise. +func (o *PlatformConfig) GetNumPciSegments() int32 { + if o == nil || o.NumPciSegments == nil { + var ret int32 + return ret + } + return *o.NumPciSegments +} + +// GetNumPciSegmentsOk returns a tuple with the NumPciSegments field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PlatformConfig) GetNumPciSegmentsOk() (*int32, bool) { + if o == nil || o.NumPciSegments == nil { + return nil, false + } + return o.NumPciSegments, true +} + +// HasNumPciSegments returns a boolean if a field has been set. +func (o *PlatformConfig) HasNumPciSegments() bool { + if o != nil && o.NumPciSegments != nil { + return true + } + + return false +} + +// SetNumPciSegments gets a reference to the given int32 and assigns it to the NumPciSegments field. +func (o *PlatformConfig) SetNumPciSegments(v int32) { + o.NumPciSegments = &v +} + +// GetIommuSegments returns the IommuSegments field value if set, zero value otherwise. +func (o *PlatformConfig) GetIommuSegments() []int32 { + if o == nil || o.IommuSegments == nil { + var ret []int32 + return ret + } + return *o.IommuSegments +} + +// GetIommuSegmentsOk returns a tuple with the IommuSegments field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PlatformConfig) GetIommuSegmentsOk() (*[]int32, bool) { + if o == nil || o.IommuSegments == nil { + return nil, false + } + return o.IommuSegments, true +} + +// HasIommuSegments returns a boolean if a field has been set. +func (o *PlatformConfig) HasIommuSegments() bool { + if o != nil && o.IommuSegments != nil { + return true + } + + return false +} + +// SetIommuSegments gets a reference to the given []int32 and assigns it to the IommuSegments field. +func (o *PlatformConfig) SetIommuSegments(v []int32) { + o.IommuSegments = &v +} + +func (o PlatformConfig) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.NumPciSegments != nil { + toSerialize["num_pci_segments"] = o.NumPciSegments + } + if o.IommuSegments != nil { + toSerialize["iommu_segments"] = o.IommuSegments + } + return json.Marshal(toSerialize) +} + +type NullablePlatformConfig struct { + value *PlatformConfig + isSet bool +} + +func (v NullablePlatformConfig) Get() *PlatformConfig { + return v.value +} + +func (v *NullablePlatformConfig) Set(val *PlatformConfig) { + v.value = val + v.isSet = true +} + +func (v NullablePlatformConfig) IsSet() bool { + return v.isSet +} + +func (v *NullablePlatformConfig) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullablePlatformConfig(val *PlatformConfig) *NullablePlatformConfig { + return &NullablePlatformConfig{value: val, isSet: true} +} + +func (v NullablePlatformConfig) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullablePlatformConfig) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_tdx_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_tdx_config.go new file mode 100644 index 000000000..3fe9057da --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_tdx_config.go @@ -0,0 +1,107 @@ +/* +Cloud Hypervisor API + +Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. + +API version: 0.3.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "encoding/json" +) + +// TdxConfig struct for TdxConfig +type TdxConfig struct { + // Path to the firmware that will be used to boot the TDx guest up. + Firmware string `json:"firmware"` +} + +// NewTdxConfig instantiates a new TdxConfig object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewTdxConfig(firmware string) *TdxConfig { + this := TdxConfig{} + this.Firmware = firmware + return &this +} + +// NewTdxConfigWithDefaults instantiates a new TdxConfig object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewTdxConfigWithDefaults() *TdxConfig { + this := TdxConfig{} + return &this +} + +// GetFirmware returns the Firmware field value +func (o *TdxConfig) GetFirmware() string { + if o == nil { + var ret string + return ret + } + + return o.Firmware +} + +// GetFirmwareOk returns a tuple with the Firmware field value +// and a boolean to check if the value has been set. +func (o *TdxConfig) GetFirmwareOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Firmware, true +} + +// SetFirmware sets field value +func (o *TdxConfig) SetFirmware(v string) { + o.Firmware = v +} + +func (o TdxConfig) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if true { + toSerialize["firmware"] = o.Firmware + } + return json.Marshal(toSerialize) +} + +type NullableTdxConfig struct { + value *TdxConfig + isSet bool +} + +func (v NullableTdxConfig) Get() *TdxConfig { + return v.value +} + +func (v *NullableTdxConfig) Set(val *TdxConfig) { + v.value = val + v.isSet = true +} + +func (v NullableTdxConfig) IsSet() bool { + return v.isSet +} + +func (v *NullableTdxConfig) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableTdxConfig(val *TdxConfig) *NullableTdxConfig { + return &NullableTdxConfig{value: val, isSet: true} +} + +func (v NullableTdxConfig) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableTdxConfig) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go index cf4e7e0d5..24c2e6289 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go @@ -32,9 +32,11 @@ type VmConfig struct { Devices *[]DeviceConfig `json:"devices,omitempty"` Vsock *VsockConfig `json:"vsock,omitempty"` SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"` + Tdx *TdxConfig `json:"tdx,omitempty"` Numa *[]NumaConfig `json:"numa,omitempty"` Iommu *bool `json:"iommu,omitempty"` Watchdog *bool `json:"watchdog,omitempty"` + Platform *PlatformConfig `json:"platform,omitempty"` } // NewVmConfig instantiates a new VmConfig object @@ -578,6 +580,38 @@ func (o *VmConfig) SetSgxEpc(v []SgxEpcConfig) { o.SgxEpc = &v } +// GetTdx returns the Tdx field value if set, zero value otherwise. +func (o *VmConfig) GetTdx() TdxConfig { + if o == nil || o.Tdx == nil { + var ret TdxConfig + return ret + } + return *o.Tdx +} + +// GetTdxOk returns a tuple with the Tdx field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *VmConfig) GetTdxOk() (*TdxConfig, bool) { + if o == nil || o.Tdx == nil { + return nil, false + } + return o.Tdx, true +} + +// HasTdx returns a boolean if a field has been set. +func (o *VmConfig) HasTdx() bool { + if o != nil && o.Tdx != nil { + return true + } + + return false +} + +// SetTdx gets a reference to the given TdxConfig and assigns it to the Tdx field. +func (o *VmConfig) SetTdx(v TdxConfig) { + o.Tdx = &v +} + // GetNuma returns the Numa field value if set, zero value otherwise. func (o *VmConfig) GetNuma() []NumaConfig { if o == nil || o.Numa == nil { @@ -674,6 +708,38 @@ func (o *VmConfig) SetWatchdog(v bool) { o.Watchdog = &v } +// GetPlatform returns the Platform field value if set, zero value otherwise. +func (o *VmConfig) GetPlatform() PlatformConfig { + if o == nil || o.Platform == nil { + var ret PlatformConfig + return ret + } + return *o.Platform +} + +// GetPlatformOk returns a tuple with the Platform field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *VmConfig) GetPlatformOk() (*PlatformConfig, bool) { + if o == nil || o.Platform == nil { + return nil, false + } + return o.Platform, true +} + +// HasPlatform returns a boolean if a field has been set. +func (o *VmConfig) HasPlatform() bool { + if o != nil && o.Platform != nil { + return true + } + + return false +} + +// SetPlatform gets a reference to the given PlatformConfig and assigns it to the Platform field. +func (o *VmConfig) SetPlatform(v PlatformConfig) { + o.Platform = &v +} + func (o VmConfig) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if o.Cpus != nil { @@ -724,6 +790,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) { if o.SgxEpc != nil { toSerialize["sgx_epc"] = o.SgxEpc } + if o.Tdx != nil { + toSerialize["tdx"] = o.Tdx + } if o.Numa != nil { toSerialize["numa"] = o.Numa } @@ -733,6 +802,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) { if o.Watchdog != nil { toSerialize["watchdog"] = o.Watchdog } + if o.Platform != nil { + toSerialize["platform"] = o.Platform + } return json.Marshal(toSerialize) } diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml b/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml index 476c179fe..c4dcae04c 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml @@ -500,6 +500,8 @@ components: type: array items: $ref: '#/components/schemas/SgxEpcConfig' + tdx: + $ref: '#/components/schemas/TdxConfig' numa: type: array items: @@ -510,6 +512,8 @@ components: watchdog: type: boolean default: false + platform: + $ref: '#/components/schemas/PlatformConfig' description: Virtual machine configuration CpuAffinity: @@ -557,6 +561,18 @@ components: items: $ref: '#/components/schemas/CpuAffinity' + PlatformConfig: + type: object + properties: + num_pci_segments: + type: integer + format: int16 + iommu_segments: + type: array + items: + type: integer + format: int16 + MemoryZoneConfig: required: - id @@ -771,11 +787,6 @@ components: default: "Client" id: type: string - fds: - type: array - items: - type: integer - format: int32 pci_segment: type: integer format: int16 @@ -805,7 +816,11 @@ components: deflate_on_oom: type: boolean default: false - description: Whether the balloon should deflate when the guest is under memory pressure. + description: Deflate balloon when the guest is under memory pressure. + free_page_reporting: + type: boolean + default: false + description: Enable guest to report free pages. FsConfig: required: @@ -933,6 +948,15 @@ components: type: boolean default: false + TdxConfig: + required: + - firmware + type: object + properties: + firmware: + type: string + description: Path to the firmware that will be used to boot the TDx guest up. + NumaDistance: required: - destination diff --git a/versions.yaml b/versions.yaml index fea9e1961..f8154866c 100644 --- a/versions.yaml +++ b/versions.yaml @@ -75,7 +75,7 @@ assets: url: "https://github.com/cloud-hypervisor/cloud-hypervisor" uscan-url: >- https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz - version: "v21.0" + version: "55479a64d237d4c757dba19a696abefd27ec74fd" firecracker: description: "Firecracker micro-VMM"