HV:vtd:fix all integer related violations

Fix vtd.h and vtd.c all integer violations.

Signed-off-by: Huihuang Shi <huihuang.shi@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
Huihuang Shi 2018-07-19 14:05:52 +08:00 committed by lijinxia
parent 4c941ed47b
commit c0b55cdf1b
2 changed files with 36 additions and 36 deletions

View File

@ -14,13 +14,13 @@
#define ACRN_DBG_IOMMU LOG_INFO
#define DMAR_FAULT_LOOP_MAX 10
#else
#define ACRN_DBG_IOMMU 6
#define ACRN_DBG_IOMMU 6U
#endif
/* set an appropriate bus limitation when iommu init,
* to reduce memory & time cost
*/
#define IOMMU_INIT_BUS_LIMIT (0xf)
#define IOMMU_INIT_BUS_LIMIT (0xfU)
#define PAGE_MASK (0xFFFUL)
#define LEVEL_WIDTH 9U
@ -124,7 +124,7 @@ struct dmar_drhd_rt {
uint64_t cap;
uint64_t ecap;
uint64_t gcmd; /* sw cache value of global cmd register */
uint32_t gcmd; /* sw cache value of global cmd register */
uint32_t irq;
struct dev_handler_node *dmar_irq_node;
@ -166,7 +166,7 @@ static uint32_t dmar_hdrh_unit_count;
* domain id 0 is reserved,
* bit0 --> domain id 0, ..., bit63 --> domain id 63
*/
static uint32_t max_domain_id = 63;
static uint32_t max_domain_id = 63U;
static uint64_t domain_bitmap;
static spinlock_t domain_lock;
static struct iommu_domain *host_domain;
@ -182,7 +182,7 @@ static void register_hrhd_units(void)
uint32_t i;
for (i = 0U; i < info->drhd_count; i++) {
drhd_rt = calloc(1, sizeof(struct dmar_drhd_rt));
drhd_rt = calloc(1U, sizeof(struct dmar_drhd_rt));
ASSERT(drhd_rt != NULL, "");
drhd_rt->drhd = &info->drhd_units[i];
dmar_register_hrhd(drhd_rt);
@ -198,8 +198,8 @@ static uint64_t iommu_read64(struct dmar_drhd_rt *dmar_uint, uint32_t offset)
{
uint64_t value;
value = mmio_read_long(HPA2HVA(dmar_uint->drhd->reg_base_addr + offset + 4));
value = value << 32;
value = mmio_read_long(HPA2HVA(dmar_uint->drhd->reg_base_addr + offset + 4U));
value = value << 32U;
value = value | mmio_read_long(HPA2HVA(dmar_uint->drhd->reg_base_addr +
offset));
@ -217,11 +217,11 @@ static void iommu_write64(struct dmar_drhd_rt *dmar_uint, uint32_t offset,
{
uint32_t temp;
temp = value;
temp = (uint32_t)value;
mmio_write_long(temp, HPA2HVA(dmar_uint->drhd->reg_base_addr + offset));
temp = value >> 32;
mmio_write_long(temp, HPA2HVA(dmar_uint->drhd->reg_base_addr + offset + 4));
temp = (uint32_t)(value >> 32U);
mmio_write_long(temp, HPA2HVA(dmar_uint->drhd->reg_base_addr + offset + 4U));
}
/* flush cache when root table, context table updated */
@ -313,7 +313,7 @@ static void dmar_uint_show_capability(struct dmar_drhd_rt *dmar_uint)
static inline uint8_t width_to_level(uint32_t width)
{
return ((width - 12U) + (LEVEL_WIDTH)-1U) / (LEVEL_WIDTH);
return (uint8_t)(((width - 12U) + (LEVEL_WIDTH)-1U) / (LEVEL_WIDTH));
}
static inline uint8_t width_to_agaw(uint32_t width)
@ -387,7 +387,7 @@ static void dmar_register_hrhd(struct dmar_drhd_rt *dmar_uint)
dmar_uint->cap = iommu_read64(dmar_uint, DMAR_CAP_REG);
dmar_uint->ecap = iommu_read64(dmar_uint, DMAR_ECAP_REG);
dmar_uint->gcmd = iommu_read64(dmar_uint, DMAR_GCMD_REG);
dmar_uint->gcmd = iommu_read32(dmar_uint, DMAR_GCMD_REG);
dmar_uint->cap_msagaw = dmar_uint_get_msagw(dmar_uint);
@ -395,7 +395,7 @@ static void dmar_register_hrhd(struct dmar_drhd_rt *dmar_uint)
iommu_cap_num_fault_regs(dmar_uint->cap);
dmar_uint->cap_fault_reg_offset =
iommu_cap_fault_reg_offset(dmar_uint->cap);
dmar_uint->ecap_iotlb_offset = iommu_ecap_iro(dmar_uint->ecap) * 16;
dmar_uint->ecap_iotlb_offset = iommu_ecap_iro(dmar_uint->ecap) * 16U;
#if DBG_IOMMU
pr_info("version:0x%x, cap:0x%llx, ecap:0x%llx",
@ -411,11 +411,11 @@ static void dmar_register_hrhd(struct dmar_drhd_rt *dmar_uint)
#endif
/* check capability */
if ((iommu_cap_super_page_val(dmar_uint->cap) & 0x1UL) == 0) {
if ((iommu_cap_super_page_val(dmar_uint->cap) & 0x1U) == 0U) {
dev_dbg(ACRN_DBG_IOMMU, "dmar uint doesn't support 2MB page!");
}
if ((iommu_cap_super_page_val(dmar_uint->cap) & 0x2UL) == 0) {
if ((iommu_cap_super_page_val(dmar_uint->cap) & 0x2U) == 0U) {
dev_dbg(ACRN_DBG_IOMMU, "dmar uint doesn't support 1GB page!");
}
@ -450,7 +450,7 @@ static void dmar_register_hrhd(struct dmar_drhd_rt *dmar_uint)
dmar_hdrh_unit_count++;
if ((dmar_uint->gcmd & DMA_GCMD_TE) != 0) {
if ((dmar_uint->gcmd & DMA_GCMD_TE) != 0U) {
dmar_disable_translation(dmar_uint);
}
}
@ -498,7 +498,7 @@ static uint8_t alloc_domain_id(void)
*/
for (i = 1U; i < 64U; i++) {
mask = (1UL << i);
if ((domain_bitmap & mask) == 0) {
if ((domain_bitmap & mask) == 0UL) {
domain_bitmap |= mask;
break;
}
@ -518,7 +518,7 @@ static void free_domain_id(uint16_t dom_id)
static struct iommu_domain *create_host_domain(void)
{
struct iommu_domain *domain = calloc(1, sizeof(struct iommu_domain));
struct iommu_domain *domain = calloc(1U, sizeof(struct iommu_domain));
ASSERT(domain != NULL, "");
domain->is_host = true;
@ -539,7 +539,7 @@ static void dmar_write_buffer_flush(struct dmar_drhd_rt *dmar_uint)
}
IOMMU_LOCK(dmar_uint);
iommu_write64(dmar_uint, DMAR_GCMD_REG,
iommu_write32(dmar_uint, DMAR_GCMD_REG,
dmar_uint->gcmd | DMA_GCMD_WBF);
/* read lower 32 bits to check */
@ -589,7 +589,7 @@ static void dmar_invalid_context_cache(struct dmar_drhd_rt *dmar_uint,
static void dmar_invalid_context_cache_global(struct dmar_drhd_rt *dmar_uint)
{
dmar_invalid_context_cache(dmar_uint, 0, 0, 0, DMAR_CIRG_GLOBAL);
dmar_invalid_context_cache(dmar_uint, 0U, 0U, 0U, DMAR_CIRG_GLOBAL);
}
static void dmar_invalid_iotlb(struct dmar_drhd_rt *dmar_uint,
@ -600,7 +600,7 @@ static void dmar_invalid_iotlb(struct dmar_drhd_rt *dmar_uint,
* if hardware doesn't support it, will be ignored by hardware
*/
uint64_t cmd = DMA_IOTLB_IVT | DMA_IOTLB_DR | DMA_IOTLB_DW;
uint64_t addr = 0;
uint64_t addr = 0UL;
uint32_t status;
switch (iirg) {
@ -626,9 +626,9 @@ static void dmar_invalid_iotlb(struct dmar_drhd_rt *dmar_uint,
iommu_write64(dmar_uint, dmar_uint->ecap_iotlb_offset, addr);
}
iommu_write64(dmar_uint, dmar_uint->ecap_iotlb_offset + 8, cmd);
iommu_write64(dmar_uint, dmar_uint->ecap_iotlb_offset + 8U, cmd);
/* read upper 32bits to check */
DMAR_WAIT_COMPLETION(dmar_uint->ecap_iotlb_offset + 12,
DMAR_WAIT_COMPLETION(dmar_uint->ecap_iotlb_offset + 12U,
(status & DMA_IOTLB_IVT_32) == 0U, status);
IOMMU_UNLOCK(dmar_uint);
@ -645,7 +645,7 @@ static void dmar_invalid_iotlb(struct dmar_drhd_rt *dmar_uint,
*/
static void dmar_invalid_iotlb_global(struct dmar_drhd_rt *dmar_uint)
{
dmar_invalid_iotlb(dmar_uint, 0, 0, 0, 0, DMAR_IIRG_GLOBAL);
dmar_invalid_iotlb(dmar_uint, 0U, 0UL, 0U, false, DMAR_IIRG_GLOBAL);
}
static void dmar_set_root_table(struct dmar_drhd_rt *dmar_uint)
@ -678,12 +678,12 @@ static void dmar_fault_event_mask(struct dmar_drhd_rt *dmar_uint)
static void dmar_fault_event_unmask(struct dmar_drhd_rt *dmar_uint)
{
IOMMU_LOCK(dmar_uint);
iommu_write32(dmar_uint, DMAR_FECTL_REG, 0);
iommu_write32(dmar_uint, DMAR_FECTL_REG, 0U);
IOMMU_UNLOCK(dmar_uint);
}
static void dmar_fault_msi_write(struct dmar_drhd_rt *dmar_uint,
uint8_t vector)
uint32_t vector)
{
uint32_t data;
uint32_t addr_low;
@ -780,8 +780,8 @@ static int dmar_fault_handler(int irq, void *data)
while (dma_fsts_ppf(fsr)) {
loop++;
index = dma_fsts_fri(fsr);
record_reg_offset = dmar_uint->cap_fault_reg_offset
+ index * 16;
record_reg_offset = (uint32_t)dmar_uint->cap_fault_reg_offset
+ index * 16U;
if (index >= dmar_uint->cap_num_fault_regs) {
dev_dbg(ACRN_DBG_IOMMU, "%s: invalid FR Index",
__func__);
@ -790,7 +790,7 @@ static int dmar_fault_handler(int irq, void *data)
/* read 128-bit fault recording register */
record[0] = iommu_read64(dmar_uint, record_reg_offset);
record[1] = iommu_read64(dmar_uint, record_reg_offset + 8);
record[1] = iommu_read64(dmar_uint, record_reg_offset + 8U);
dev_dbg(ACRN_DBG_IOMMU, "%s: record[%d] @0x%x: 0x%llx, 0x%llx",
__func__, index, record_reg_offset,
@ -800,7 +800,7 @@ static int dmar_fault_handler(int irq, void *data)
/* write to clear */
iommu_write64(dmar_uint, record_reg_offset, record[0]);
iommu_write64(dmar_uint, record_reg_offset + 8, record[1]);
iommu_write64(dmar_uint, record_reg_offset + 8U, record[1]);
#ifdef DMAR_FAULT_LOOP_MAX
if (loop > DMAR_FAULT_LOOP_MAX) {
@ -1147,8 +1147,8 @@ int assign_iommu_device(struct iommu_domain *domain, uint8_t bus,
/* TODO: check if the device assigned */
remove_iommu_device(host_domain, 0, bus, devfun);
add_iommu_device(domain, 0, bus, devfun);
remove_iommu_device(host_domain, 0U, bus, devfun);
add_iommu_device(domain, 0U, bus, devfun);
return 0;
}
@ -1161,8 +1161,8 @@ int unassign_iommu_device(struct iommu_domain *domain, uint8_t bus,
/* TODO: check if the device assigned */
remove_iommu_device(domain, 0, bus, devfun);
add_iommu_device(host_domain, 0, bus, devfun);
remove_iommu_device(domain, 0U, bus, devfun);
add_iommu_device(host_domain, 0U, bus, devfun);
return 0;
}
@ -1295,7 +1295,7 @@ void init_iommu(void)
for (bus = 0U; bus <= IOMMU_INIT_BUS_LIMIT; bus++) {
for (devfun = 0U; devfun <= 255U; devfun++) {
add_iommu_device(host_domain, 0,
add_iommu_device(host_domain, 0U,
(uint8_t)bus, (uint8_t)devfun);
}
}

View File

@ -137,7 +137,7 @@
#include <cpu.h>
/* Define cache line size (in bytes) */
#define CACHE_LINE_SIZE 64
#define CACHE_LINE_SIZE 64U
/* Size of all page structures for IA-32e */
#define IA32E_STRUCT_SIZE MEM_4K