diff --git a/OMICRON_VERSION b/OMICRON_VERSION index 06ccb0f13..cfa445e51 100644 --- a/OMICRON_VERSION +++ b/OMICRON_VERSION @@ -1 +1 @@ -c007af2f407ddbee44a9c37a690e3208a0f848cc +13937a135d7777fea06e73bfdf2792e50450b5c8 diff --git a/app/api/__generated__/Api.ts b/app/api/__generated__/Api.ts index 94cddc263..4c14f9f3d 100644 --- a/app/api/__generated__/Api.ts +++ b/app/api/__generated__/Api.ts @@ -2474,14 +2474,21 @@ export type InstanceAutoRestartPolicy = * * If an instance does not specify a required CPU platform, then when it starts, the control plane selects a host for the instance and then supplies the guest with the "minimum" CPU platform supported by that host. This maximizes the number of hosts that can run the VM if it later needs to migrate to another host. * - * In all cases, the CPU features presented by a given CPU platform are a subset of what the corresponding hardware may actually support; features which cannot be used from a virtual environment or do not have full hypervisor support may be masked off. See RFD 314 for specific CPU features in a CPU platform. + * In all cases, the CPU features presented by a given CPU platform are a subset of what the corresponding hardware may actually support; features which cannot be used from a virtual environment or do not have full hypervisor support may be masked off. */ export type InstanceCpuPlatform = /** An AMD Milan-like CPU platform. */ | 'amd_milan' -/** An AMD Turin-like CPU platform. */ +/** An AMD Turin-like CPU platform. Prefer `amd_turin_v2` over this; this CPU platform is retained for instances that specifically requested it before `amd_turin_v2` was added. + +This initial version of the Turin CPU platform includes no cache or TLB information in CPUID leaf `8000_0006`. While this was intentional, Oxide later discovered some guest software interprets the zeroed leaves as reporting cache sizes of 0 bytes and behaves incorrectly and unpredictably as a result (see [Propolis#1152](https://github.com/oxidecomputer/propolis/issues/1152)). */ | 'amd_turin' +/** An AMD Turin-like CPU platform. + +This version of the Turin CPU platform includes cache and TLB information in CPUID leaf `8000_0006`, similar to the cache information included in the initial Milan-like CPU platform. */ +| 'amd_turin_v2' + /** * The number of CPUs in an Instance */ @@ -7537,7 +7544,7 @@ export class Api { * Pulled from info.version in the OpenAPI schema. Sent in the * `api-version` header on all requests. */ - apiVersion = '2026060500.0.0' + apiVersion = '2026060800.0.0' constructor({ host = '', baseParams = {}, token }: ApiConfig = {}) { this.host = host diff --git a/app/api/__generated__/OMICRON_VERSION b/app/api/__generated__/OMICRON_VERSION index 81bc04f7c..d89f662cd 100644 --- a/app/api/__generated__/OMICRON_VERSION +++ b/app/api/__generated__/OMICRON_VERSION @@ -1,2 +1,2 @@ # generated file. do not update manually. see docs/update-pinned-api.md -c007af2f407ddbee44a9c37a690e3208a0f848cc +13937a135d7777fea06e73bfdf2792e50450b5c8 diff --git a/app/api/__generated__/validate.ts b/app/api/__generated__/validate.ts index a977fb097..c18e4ff69 100644 --- a/app/api/__generated__/validate.ts +++ b/app/api/__generated__/validate.ts @@ -2324,11 +2324,11 @@ export const InstanceAutoRestartPolicy = z.preprocess( * * If an instance does not specify a required CPU platform, then when it starts, the control plane selects a host for the instance and then supplies the guest with the "minimum" CPU platform supported by that host. This maximizes the number of hosts that can run the VM if it later needs to migrate to another host. * - * In all cases, the CPU features presented by a given CPU platform are a subset of what the corresponding hardware may actually support; features which cannot be used from a virtual environment or do not have full hypervisor support may be masked off. See RFD 314 for specific CPU features in a CPU platform. + * In all cases, the CPU features presented by a given CPU platform are a subset of what the corresponding hardware may actually support; features which cannot be used from a virtual environment or do not have full hypervisor support may be masked off. */ export const InstanceCpuPlatform = z.preprocess( processResponseBody, - z.enum(['amd_milan', 'amd_turin']) + z.enum(['amd_milan', 'amd_turin', 'amd_turin_v2']) ) /**