mirror of
https://github.com/qemu/qemu.git
synced 2026-04-06 06:11:08 +00:00
Nitro Enclaves are a confidential compute technology which allows a parent instance to carve out resources from itself and spawn a confidential sibling VM next to itself. Similar to other confidential compute solutions, this sibling is controlled by an underlying vmm, but still has a higher level vmm (QEMU) to implement some of its I/O functionality and lifecycle. Add an accelerator to drive this interface. In combination with follow-on patches to enhance the Nitro Enclaves machine model, this will allow users to run a Nitro Enclave using QEMU. Signed-off-by: Alexander Graf <graf@amazon.com> Link: https://lore.kernel.org/r/20260225220807.33092-5-graf@amazon.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
26 lines
520 B
C
26 lines
520 B
C
/*
|
|
* Nitro Enclaves accelerator - public interface
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef SYSTEM_NITRO_ACCEL_H
|
|
#define SYSTEM_NITRO_ACCEL_H
|
|
|
|
#include "qemu/accel.h"
|
|
|
|
extern bool nitro_allowed;
|
|
|
|
static inline bool nitro_enabled(void)
|
|
{
|
|
return nitro_allowed;
|
|
}
|
|
|
|
#define TYPE_NITRO_ACCEL ACCEL_CLASS_NAME("nitro")
|
|
|
|
typedef struct NitroAccelState NitroAccelState;
|
|
DECLARE_INSTANCE_CHECKER(NitroAccelState, NITRO_ACCEL,
|
|
TYPE_NITRO_ACCEL)
|
|
|
|
#endif /* SYSTEM_NITRO_ACCEL_H */
|