sev

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type VmcbSaveArea

type VmcbSaveArea struct {
	Es           *VmcbSeg `protobuf:"bytes,1,opt,name=es,proto3" json:"es,omitempty"`
	Cs           *VmcbSeg `protobuf:"bytes,2,opt,name=cs,proto3" json:"cs,omitempty"`
	Ss           *VmcbSeg `protobuf:"bytes,3,opt,name=ss,proto3" json:"ss,omitempty"`
	Ds           *VmcbSeg `protobuf:"bytes,4,opt,name=ds,proto3" json:"ds,omitempty"`
	Fs           *VmcbSeg `protobuf:"bytes,5,opt,name=fs,proto3" json:"fs,omitempty"`
	Gs           *VmcbSeg `protobuf:"bytes,6,opt,name=gs,proto3" json:"gs,omitempty"`
	Gdtr         *VmcbSeg `protobuf:"bytes,7,opt,name=gdtr,proto3" json:"gdtr,omitempty"`
	Ldtr         *VmcbSeg `protobuf:"bytes,8,opt,name=ldtr,proto3" json:"ldtr,omitempty"`
	Idtr         *VmcbSeg `protobuf:"bytes,9,opt,name=idtr,proto3" json:"idtr,omitempty"`
	Tr           *VmcbSeg `protobuf:"bytes,10,opt,name=tr,proto3" json:"tr,omitempty"`
	Reserved_1   []byte   `protobuf:"bytes,11,opt,name=reserved_1,json=reserved1,proto3" json:"reserved_1,omitempty"` // 43 bytes
	Cpl          uint32   `protobuf:"varint,12,opt,name=cpl,proto3" json:"cpl,omitempty"`                             // uint8_t
	Reserved_2   []byte   `protobuf:"bytes,13,opt,name=reserved_2,json=reserved2,proto3" json:"reserved_2,omitempty"` // 4 bytes
	Efer         uint64   `protobuf:"varint,14,opt,name=efer,proto3" json:"efer,omitempty"`
	Reserved_3   []byte   `protobuf:"bytes,15,opt,name=reserved_3,json=reserved3,proto3" json:"reserved_3,omitempty"` // 104 bytes
	Xss          uint64   `protobuf:"varint,16,opt,name=xss,proto3" json:"xss,omitempty"`
	Cr4          uint64   `protobuf:"varint,17,opt,name=cr4,proto3" json:"cr4,omitempty"`
	Cr3          uint64   `protobuf:"varint,18,opt,name=cr3,proto3" json:"cr3,omitempty"`
	Cr0          uint64   `protobuf:"varint,19,opt,name=cr0,proto3" json:"cr0,omitempty"`
	Dr7          uint64   `protobuf:"varint,20,opt,name=dr7,proto3" json:"dr7,omitempty"`
	Dr6          uint64   `protobuf:"varint,21,opt,name=dr6,proto3" json:"dr6,omitempty"`
	Rflags       uint64   `protobuf:"varint,22,opt,name=rflags,proto3" json:"rflags,omitempty"`
	Rip          uint64   `protobuf:"varint,23,opt,name=rip,proto3" json:"rip,omitempty"`
	Reserved_4   []byte   `protobuf:"bytes,24,opt,name=reserved_4,json=reserved4,proto3" json:"reserved_4,omitempty"` // 88 bytes
	Rsp          uint64   `protobuf:"varint,25,opt,name=rsp,proto3" json:"rsp,omitempty"`
	Reserved_5   []byte   `protobuf:"bytes,26,opt,name=reserved_5,json=reserved5,proto3" json:"reserved_5,omitempty"` // 24 bytes
	Rax          uint64   `protobuf:"varint,27,opt,name=rax,proto3" json:"rax,omitempty"`
	Star         uint64   `protobuf:"varint,28,opt,name=star,proto3" json:"star,omitempty"`
	Lstar        uint64   `protobuf:"varint,29,opt,name=lstar,proto3" json:"lstar,omitempty"`
	Cstar        uint64   `protobuf:"varint,30,opt,name=cstar,proto3" json:"cstar,omitempty"`
	Sfmask       uint64   `protobuf:"varint,31,opt,name=sfmask,proto3" json:"sfmask,omitempty"`
	KernelGsBase uint64   `protobuf:"varint,32,opt,name=kernel_gs_base,json=kernelGsBase,proto3" json:"kernel_gs_base,omitempty"`
	SysenterCs   uint64   `protobuf:"varint,33,opt,name=sysenter_cs,json=sysenterCs,proto3" json:"sysenter_cs,omitempty"`
	SysenterEsp  uint64   `protobuf:"varint,34,opt,name=sysenter_esp,json=sysenterEsp,proto3" json:"sysenter_esp,omitempty"`
	SysenterEip  uint64   `protobuf:"varint,35,opt,name=sysenter_eip,json=sysenterEip,proto3" json:"sysenter_eip,omitempty"`
	Cr2          uint64   `protobuf:"varint,36,opt,name=cr2,proto3" json:"cr2,omitempty"`
	Reserved_6   []byte   `protobuf:"bytes,37,opt,name=reserved_6,json=reserved6,proto3" json:"reserved_6,omitempty"` // 32 bytes
	GPat         uint64   `protobuf:"varint,38,opt,name=g_pat,json=gPat,proto3" json:"g_pat,omitempty"`
	Dbgctl       uint64   `protobuf:"varint,39,opt,name=dbgctl,proto3" json:"dbgctl,omitempty"`
	BrFrom       uint64   `protobuf:"varint,40,opt,name=br_from,json=brFrom,proto3" json:"br_from,omitempty"`
	BrTo         uint64   `protobuf:"varint,41,opt,name=br_to,json=brTo,proto3" json:"br_to,omitempty"`
	LastExcpFrom uint64   `protobuf:"varint,42,opt,name=last_excp_from,json=lastExcpFrom,proto3" json:"last_excp_from,omitempty"`
	LastExcpTo   uint64   `protobuf:"varint,43,opt,name=last_excp_to,json=lastExcpTo,proto3" json:"last_excp_to,omitempty"`
	// SEV-ES fields.
	Reserved_7   []byte `protobuf:"bytes,44,opt,name=reserved_7,json=reserved7,proto3" json:"reserved_7,omitempty"` // 80 bytes
	Pkru         uint32 `protobuf:"varint,45,opt,name=pkru,proto3" json:"pkru,omitempty"`
	Reserved_7A  []byte `protobuf:"bytes,46,opt,name=reserved_7a,json=reserved7a,proto3" json:"reserved_7a,omitempty"` // 20 bytes
	Reserved_8   uint64 `protobuf:"varint,47,opt,name=reserved_8,json=reserved8,proto3" json:"reserved_8,omitempty"`
	Rcx          uint64 `protobuf:"varint,48,opt,name=rcx,proto3" json:"rcx,omitempty"`
	Rdx          uint64 `protobuf:"varint,49,opt,name=rdx,proto3" json:"rdx,omitempty"`
	Rbx          uint64 `protobuf:"varint,50,opt,name=rbx,proto3" json:"rbx,omitempty"`
	Reserved_9   uint64 `protobuf:"varint,51,opt,name=reserved_9,json=reserved9,proto3" json:"reserved_9,omitempty"`
	Rbp          uint64 `protobuf:"varint,52,opt,name=rbp,proto3" json:"rbp,omitempty"`
	Rsi          uint64 `protobuf:"varint,53,opt,name=rsi,proto3" json:"rsi,omitempty"`
	Rdi          uint64 `protobuf:"varint,54,opt,name=rdi,proto3" json:"rdi,omitempty"`
	R8           uint64 `protobuf:"varint,55,opt,name=r8,proto3" json:"r8,omitempty"`
	R9           uint64 `protobuf:"varint,56,opt,name=r9,proto3" json:"r9,omitempty"`
	R10          uint64 `protobuf:"varint,57,opt,name=r10,proto3" json:"r10,omitempty"`
	R11          uint64 `protobuf:"varint,58,opt,name=r11,proto3" json:"r11,omitempty"`
	R12          uint64 `protobuf:"varint,59,opt,name=r12,proto3" json:"r12,omitempty"`
	R13          uint64 `protobuf:"varint,60,opt,name=r13,proto3" json:"r13,omitempty"`
	R14          uint64 `protobuf:"varint,61,opt,name=r14,proto3" json:"r14,omitempty"`
	R15          uint64 `protobuf:"varint,62,opt,name=r15,proto3" json:"r15,omitempty"`
	Reserved_10  []byte `protobuf:"bytes,63,opt,name=reserved_10,json=reserved10,proto3" json:"reserved_10,omitempty"` // 16 bytes
	SwExitCode   uint64 `protobuf:"varint,64,opt,name=sw_exit_code,json=swExitCode,proto3" json:"sw_exit_code,omitempty"`
	SwExitInfo_1 uint64 `protobuf:"varint,65,opt,name=sw_exit_info_1,json=swExitInfo1,proto3" json:"sw_exit_info_1,omitempty"`
	SwExitInfo_2 uint64 `protobuf:"varint,66,opt,name=sw_exit_info_2,json=swExitInfo2,proto3" json:"sw_exit_info_2,omitempty"`
	SwScratch    uint64 `protobuf:"varint,67,opt,name=sw_scratch,json=swScratch,proto3" json:"sw_scratch,omitempty"`
	SevFeatures  uint64 `protobuf:"varint,68,opt,name=sev_features,json=sevFeatures,proto3" json:"sev_features,omitempty"`
	Reserved_11  []byte `protobuf:"bytes,69,opt,name=reserved_11,json=reserved11,proto3" json:"reserved_11,omitempty"` // 48 bytes
	Xcr0         uint64 `protobuf:"varint,70,opt,name=xcr0,proto3" json:"xcr0,omitempty"`
	ValidBitmap  []byte `protobuf:"bytes,71,opt,name=valid_bitmap,json=validBitmap,proto3" json:"valid_bitmap,omitempty"` // 16 bytes
	X87StateGpa  uint64 `protobuf:"varint,72,opt,name=x87_state_gpa,json=x87StateGpa,proto3" json:"x87_state_gpa,omitempty"`
	Reserved_12  []byte `protobuf:"bytes,73,opt,name=reserved_12,json=reserved12,proto3" json:"reserved_12,omitempty"` // 1016 bytes
	// contains filtered or unexported fields
}

VMCB Save Area (VMSA) used when SEV-ES is enabled. Mirrors struct vmcb_save_area in arch/x86/include/asm/svm.h.

func (*VmcbSaveArea) Descriptor deprecated

func (*VmcbSaveArea) Descriptor() ([]byte, []int)

Deprecated: Use VmcbSaveArea.ProtoReflect.Descriptor instead.

func (*VmcbSaveArea) GetBrFrom

func (x *VmcbSaveArea) GetBrFrom() uint64

func (*VmcbSaveArea) GetBrTo

func (x *VmcbSaveArea) GetBrTo() uint64

func (*VmcbSaveArea) GetCpl

func (x *VmcbSaveArea) GetCpl() uint32

func (*VmcbSaveArea) GetCr0

func (x *VmcbSaveArea) GetCr0() uint64

func (*VmcbSaveArea) GetCr2

func (x *VmcbSaveArea) GetCr2() uint64

func (*VmcbSaveArea) GetCr3

func (x *VmcbSaveArea) GetCr3() uint64

func (*VmcbSaveArea) GetCr4

func (x *VmcbSaveArea) GetCr4() uint64

func (*VmcbSaveArea) GetCs

func (x *VmcbSaveArea) GetCs() *VmcbSeg

func (*VmcbSaveArea) GetCstar

func (x *VmcbSaveArea) GetCstar() uint64

func (*VmcbSaveArea) GetDbgctl

func (x *VmcbSaveArea) GetDbgctl() uint64

func (*VmcbSaveArea) GetDr6

func (x *VmcbSaveArea) GetDr6() uint64

func (*VmcbSaveArea) GetDr7

func (x *VmcbSaveArea) GetDr7() uint64

func (*VmcbSaveArea) GetDs

func (x *VmcbSaveArea) GetDs() *VmcbSeg

func (*VmcbSaveArea) GetEfer

func (x *VmcbSaveArea) GetEfer() uint64

func (*VmcbSaveArea) GetEs

func (x *VmcbSaveArea) GetEs() *VmcbSeg

func (*VmcbSaveArea) GetFs

func (x *VmcbSaveArea) GetFs() *VmcbSeg

func (*VmcbSaveArea) GetGPat

func (x *VmcbSaveArea) GetGPat() uint64

func (*VmcbSaveArea) GetGdtr

func (x *VmcbSaveArea) GetGdtr() *VmcbSeg

func (*VmcbSaveArea) GetGs

func (x *VmcbSaveArea) GetGs() *VmcbSeg

func (*VmcbSaveArea) GetIdtr

func (x *VmcbSaveArea) GetIdtr() *VmcbSeg

func (*VmcbSaveArea) GetKernelGsBase

func (x *VmcbSaveArea) GetKernelGsBase() uint64

func (*VmcbSaveArea) GetLastExcpFrom

func (x *VmcbSaveArea) GetLastExcpFrom() uint64

func (*VmcbSaveArea) GetLastExcpTo

func (x *VmcbSaveArea) GetLastExcpTo() uint64

func (*VmcbSaveArea) GetLdtr

func (x *VmcbSaveArea) GetLdtr() *VmcbSeg

func (*VmcbSaveArea) GetLstar

func (x *VmcbSaveArea) GetLstar() uint64

func (*VmcbSaveArea) GetPkru

func (x *VmcbSaveArea) GetPkru() uint32

func (*VmcbSaveArea) GetR10

func (x *VmcbSaveArea) GetR10() uint64

func (*VmcbSaveArea) GetR11

func (x *VmcbSaveArea) GetR11() uint64

func (*VmcbSaveArea) GetR12

func (x *VmcbSaveArea) GetR12() uint64

func (*VmcbSaveArea) GetR13

func (x *VmcbSaveArea) GetR13() uint64

func (*VmcbSaveArea) GetR14

func (x *VmcbSaveArea) GetR14() uint64

func (*VmcbSaveArea) GetR15

func (x *VmcbSaveArea) GetR15() uint64

func (*VmcbSaveArea) GetR8

func (x *VmcbSaveArea) GetR8() uint64

func (*VmcbSaveArea) GetR9

func (x *VmcbSaveArea) GetR9() uint64

func (*VmcbSaveArea) GetRax

func (x *VmcbSaveArea) GetRax() uint64

func (*VmcbSaveArea) GetRbp

func (x *VmcbSaveArea) GetRbp() uint64

func (*VmcbSaveArea) GetRbx

func (x *VmcbSaveArea) GetRbx() uint64

func (*VmcbSaveArea) GetRcx

func (x *VmcbSaveArea) GetRcx() uint64

func (*VmcbSaveArea) GetRdi

func (x *VmcbSaveArea) GetRdi() uint64

func (*VmcbSaveArea) GetRdx

func (x *VmcbSaveArea) GetRdx() uint64

func (*VmcbSaveArea) GetReserved_1

func (x *VmcbSaveArea) GetReserved_1() []byte

func (*VmcbSaveArea) GetReserved_10

func (x *VmcbSaveArea) GetReserved_10() []byte

func (*VmcbSaveArea) GetReserved_11

func (x *VmcbSaveArea) GetReserved_11() []byte

func (*VmcbSaveArea) GetReserved_12

func (x *VmcbSaveArea) GetReserved_12() []byte

func (*VmcbSaveArea) GetReserved_2

func (x *VmcbSaveArea) GetReserved_2() []byte

func (*VmcbSaveArea) GetReserved_3

func (x *VmcbSaveArea) GetReserved_3() []byte

func (*VmcbSaveArea) GetReserved_4

func (x *VmcbSaveArea) GetReserved_4() []byte

func (*VmcbSaveArea) GetReserved_5

func (x *VmcbSaveArea) GetReserved_5() []byte

func (*VmcbSaveArea) GetReserved_6

func (x *VmcbSaveArea) GetReserved_6() []byte

func (*VmcbSaveArea) GetReserved_7

func (x *VmcbSaveArea) GetReserved_7() []byte

func (*VmcbSaveArea) GetReserved_7A

func (x *VmcbSaveArea) GetReserved_7A() []byte

func (*VmcbSaveArea) GetReserved_8

func (x *VmcbSaveArea) GetReserved_8() uint64

func (*VmcbSaveArea) GetReserved_9

func (x *VmcbSaveArea) GetReserved_9() uint64

func (*VmcbSaveArea) GetRflags

func (x *VmcbSaveArea) GetRflags() uint64

func (*VmcbSaveArea) GetRip

func (x *VmcbSaveArea) GetRip() uint64

func (*VmcbSaveArea) GetRsi

func (x *VmcbSaveArea) GetRsi() uint64

func (*VmcbSaveArea) GetRsp

func (x *VmcbSaveArea) GetRsp() uint64

func (*VmcbSaveArea) GetSevFeatures

func (x *VmcbSaveArea) GetSevFeatures() uint64

func (*VmcbSaveArea) GetSfmask

func (x *VmcbSaveArea) GetSfmask() uint64

func (*VmcbSaveArea) GetSs

func (x *VmcbSaveArea) GetSs() *VmcbSeg

func (*VmcbSaveArea) GetStar

func (x *VmcbSaveArea) GetStar() uint64

func (*VmcbSaveArea) GetSwExitCode

func (x *VmcbSaveArea) GetSwExitCode() uint64

func (*VmcbSaveArea) GetSwExitInfo_1

func (x *VmcbSaveArea) GetSwExitInfo_1() uint64

func (*VmcbSaveArea) GetSwExitInfo_2

func (x *VmcbSaveArea) GetSwExitInfo_2() uint64

func (*VmcbSaveArea) GetSwScratch

func (x *VmcbSaveArea) GetSwScratch() uint64

func (*VmcbSaveArea) GetSysenterCs

func (x *VmcbSaveArea) GetSysenterCs() uint64

func (*VmcbSaveArea) GetSysenterEip

func (x *VmcbSaveArea) GetSysenterEip() uint64

func (*VmcbSaveArea) GetSysenterEsp

func (x *VmcbSaveArea) GetSysenterEsp() uint64

func (*VmcbSaveArea) GetTr

func (x *VmcbSaveArea) GetTr() *VmcbSeg

func (*VmcbSaveArea) GetValidBitmap

func (x *VmcbSaveArea) GetValidBitmap() []byte

func (*VmcbSaveArea) GetX87StateGpa

func (x *VmcbSaveArea) GetX87StateGpa() uint64

func (*VmcbSaveArea) GetXcr0

func (x *VmcbSaveArea) GetXcr0() uint64

func (*VmcbSaveArea) GetXss

func (x *VmcbSaveArea) GetXss() uint64

func (*VmcbSaveArea) ProtoMessage

func (*VmcbSaveArea) ProtoMessage()

func (*VmcbSaveArea) ProtoReflect

func (x *VmcbSaveArea) ProtoReflect() protoreflect.Message

func (*VmcbSaveArea) Reset

func (x *VmcbSaveArea) Reset()

func (*VmcbSaveArea) String

func (x *VmcbSaveArea) String() string

type VmcbSeg

type VmcbSeg struct {
	Selector uint32 `protobuf:"varint,1,opt,name=selector,proto3" json:"selector,omitempty"` // uint16_t
	Attrib   uint32 `protobuf:"varint,2,opt,name=attrib,proto3" json:"attrib,omitempty"`     // uint16_t
	Limit    uint32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	Base     uint64 `protobuf:"varint,4,opt,name=base,proto3" json:"base,omitempty"`
	// contains filtered or unexported fields
}

Mirrors struct vmcb_seg in arch/x86/include/asm/svm.h.

func (*VmcbSeg) Descriptor deprecated

func (*VmcbSeg) Descriptor() ([]byte, []int)

Deprecated: Use VmcbSeg.ProtoReflect.Descriptor instead.

func (*VmcbSeg) GetAttrib

func (x *VmcbSeg) GetAttrib() uint32

func (*VmcbSeg) GetBase

func (x *VmcbSeg) GetBase() uint64

func (*VmcbSeg) GetLimit

func (x *VmcbSeg) GetLimit() uint32

func (*VmcbSeg) GetSelector

func (x *VmcbSeg) GetSelector() uint32

func (*VmcbSeg) ProtoMessage

func (*VmcbSeg) ProtoMessage()

func (*VmcbSeg) ProtoReflect

func (x *VmcbSeg) ProtoReflect() protoreflect.Message

func (*VmcbSeg) Reset

func (x *VmcbSeg) Reset()

func (*VmcbSeg) String

func (x *VmcbSeg) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL