MCPcopy Create free account
hub / github.com/F-Stack/f-stack / domain_set_agaw

Function domain_set_agaw

freebsd/x86/iommu/intel_utils.c:122–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122int
123domain_set_agaw(struct dmar_domain *domain, int mgaw)
124{
125 int sagaw, i;
126
127 domain->mgaw = mgaw;
128 sagaw = DMAR_CAP_SAGAW(domain->dmar->hw_cap);
129 for (i = 0; i < nitems(sagaw_bits); i++) {
130 if (sagaw_bits[i].agaw >= mgaw) {
131 domain->agaw = sagaw_bits[i].agaw;
132 domain->pglvl = sagaw_bits[i].pglvl;
133 domain->awlvl = sagaw_bits[i].awlvl;
134 return (0);
135 }
136 }
137 device_printf(domain->dmar->dev,
138 "context request mgaw %d: no agaw found, sagaw %x\n",
139 mgaw, sagaw);
140 return (EINVAL);
141}
142
143/*
144 * Find a best fit mgaw for the given maxaddr:

Callers 1

dmar_domain_allocFunction · 0.85

Calls 1

device_printfFunction · 0.85

Tested by

no test coverage detected