...

Source file src/github.com/Microsoft/hcsshim/internal/vm/remotevm/memory.go

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

     1  //go:build windows
     2  
     3  package remotevm
     4  
     5  import (
     6  	"github.com/Microsoft/hcsshim/internal/vm"
     7  	"github.com/Microsoft/hcsshim/internal/vmservice"
     8  )
     9  
    10  func (uvmb *utilityVMBuilder) SetMemoryLimit(memoryMB uint64) error {
    11  	if uvmb.config.MemoryConfig == nil {
    12  		uvmb.config.MemoryConfig = &vmservice.MemoryConfig{}
    13  	}
    14  	uvmb.config.MemoryConfig.MemoryMb = memoryMB
    15  	return nil
    16  }
    17  
    18  func (uvmb *utilityVMBuilder) SetMemoryConfig(config *vm.MemoryConfig) error {
    19  	if uvmb.config.MemoryConfig == nil {
    20  		uvmb.config.MemoryConfig = &vmservice.MemoryConfig{}
    21  	}
    22  	uvmb.config.MemoryConfig.AllowOvercommit = config.BackingType == vm.MemoryBackingTypeVirtual
    23  	uvmb.config.MemoryConfig.ColdHint = config.ColdHint
    24  	uvmb.config.MemoryConfig.ColdDiscardHint = config.ColdDiscardHint
    25  	uvmb.config.MemoryConfig.DeferredCommit = config.DeferredCommit
    26  	uvmb.config.MemoryConfig.HotHint = config.HotHint
    27  	return vm.ErrNotSupported
    28  }
    29  
    30  func (uvmb *utilityVMBuilder) SetMMIOConfig(lowGapMB uint64, highBaseMB uint64, highGapMB uint64) error {
    31  	if uvmb.config.MemoryConfig == nil {
    32  		uvmb.config.MemoryConfig = &vmservice.MemoryConfig{}
    33  	}
    34  	uvmb.config.MemoryConfig.HighMmioBaseInMb = highBaseMB
    35  	uvmb.config.MemoryConfig.LowMmioGapInMb = lowGapMB
    36  	uvmb.config.MemoryConfig.HighMmioGapInMb = highGapMB
    37  	return nil
    38  }
    39  

View as plain text