...
1
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