...

Source file src/github.com/Microsoft/hcsshim/internal/vm/hcs/pci.go

Documentation: github.com/Microsoft/hcsshim/internal/vm/hcs

     1  //go:build windows
     2  
     3  package hcs
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  
     9  	"github.com/Microsoft/hcsshim/internal/hcs/resourcepaths"
    10  	hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2"
    11  	"github.com/Microsoft/hcsshim/internal/protocol/guestrequest"
    12  )
    13  
    14  func (uvm *utilityVM) AddDevice(ctx context.Context, instanceID, vmbusGUID string) error {
    15  	request := &hcsschema.ModifySettingRequest{
    16  		ResourcePath: fmt.Sprintf(resourcepaths.VirtualPCIResourceFormat, vmbusGUID),
    17  		RequestType:  guestrequest.RequestTypeAdd,
    18  		Settings: hcsschema.VirtualPciDevice{
    19  			Functions: []hcsschema.VirtualPciFunction{
    20  				{
    21  					DeviceInstancePath: instanceID,
    22  				},
    23  			},
    24  		},
    25  	}
    26  	return uvm.cs.Modify(ctx, request)
    27  }
    28  
    29  func (uvm *utilityVM) RemoveDevice(ctx context.Context, instanceID, vmbusGUID string) error {
    30  	request := &hcsschema.ModifySettingRequest{
    31  		ResourcePath: fmt.Sprintf(resourcepaths.VirtualPCIResourceFormat, vmbusGUID),
    32  		RequestType:  guestrequest.RequestTypeRemove,
    33  	}
    34  	return uvm.cs.Modify(ctx, request)
    35  }
    36  

View as plain text