Some length properties are signed, other unsigned:
  hw/mips/cps.c:183:    DEFINE_PROP_UINT32("num-vp", MIPSCPSState, num_vp, 1),
  hw/mips/cps.c:184:    DEFINE_PROP_UINT32("num-irq", MIPSCPSState, num_irq, 256),
  hw/misc/mips_cmgcr.c:215:    DEFINE_PROP_INT32("num-vp", MIPSGCRState, num_vps, 1),
  hw/misc/mips_cpc.c:167:    DEFINE_PROP_UINT32("num-vp", MIPSCPCState, num_vp, 0x1),
  hw/misc/mips_itu.c:552:    DEFINE_PROP_INT32("num-fifo", MIPSITUState, num_fifo,
  hw/misc/mips_itu.c:554:    DEFINE_PROP_INT32("num-semaphores", MIPSITUState,
Since negative values are not used (the minimum is '0'),
unify by declaring all properties as unsigned.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230203113650.78146-9-philmd@linaro.org>
		
	
			
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file "COPYING" in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 *
 | 
						|
 * Copyright (C) 2015 Imagination Technologies
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef MIPS_CMGCR_H
 | 
						|
#define MIPS_CMGCR_H
 | 
						|
 | 
						|
#include "hw/sysbus.h"
 | 
						|
#include "qom/object.h"
 | 
						|
 | 
						|
#define TYPE_MIPS_GCR "mips-gcr"
 | 
						|
OBJECT_DECLARE_SIMPLE_TYPE(MIPSGCRState, MIPS_GCR)
 | 
						|
 | 
						|
#define GCR_BASE_ADDR           0x1fbf8000ULL
 | 
						|
#define GCR_ADDRSPACE_SZ        0x8000
 | 
						|
 | 
						|
/* Offsets to register blocks */
 | 
						|
#define MIPS_GCB_OFS        0x0000 /* Global Control Block */
 | 
						|
#define MIPS_CLCB_OFS       0x2000 /* Core Local Control Block */
 | 
						|
#define MIPS_COCB_OFS       0x4000 /* Core Other Control Block */
 | 
						|
#define MIPS_GDB_OFS        0x6000 /* Global Debug Block */
 | 
						|
 | 
						|
/* Global Control Block Register Map */
 | 
						|
#define GCR_CONFIG_OFS      0x0000
 | 
						|
#define GCR_BASE_OFS        0x0008
 | 
						|
#define GCR_REV_OFS         0x0030
 | 
						|
#define GCR_GIC_BASE_OFS    0x0080
 | 
						|
#define GCR_CPC_BASE_OFS    0x0088
 | 
						|
#define GCR_GIC_STATUS_OFS  0x00D0
 | 
						|
#define GCR_CPC_STATUS_OFS  0x00F0
 | 
						|
#define GCR_L2_CONFIG_OFS   0x0130
 | 
						|
 | 
						|
/* Core Local and Core Other Block Register Map */
 | 
						|
#define GCR_CL_CONFIG_OFS   0x0010
 | 
						|
#define GCR_CL_OTHER_OFS    0x0018
 | 
						|
#define GCR_CL_RESETBASE_OFS 0x0020
 | 
						|
 | 
						|
/* GCR_L2_CONFIG register fields */
 | 
						|
#define GCR_L2_CONFIG_BYPASS_SHF    20
 | 
						|
#define GCR_L2_CONFIG_BYPASS_MSK    ((0x1ULL) << GCR_L2_CONFIG_BYPASS_SHF)
 | 
						|
 | 
						|
/* GCR_BASE register fields */
 | 
						|
#define GCR_BASE_GCRBASE_MSK     0xffffffff8000ULL
 | 
						|
 | 
						|
/* GCR_GIC_BASE register fields */
 | 
						|
#define GCR_GIC_BASE_GICEN_MSK   1
 | 
						|
#define GCR_GIC_BASE_GICBASE_MSK 0xFFFFFFFE0000ULL
 | 
						|
#define GCR_GIC_BASE_MSK (GCR_GIC_BASE_GICEN_MSK | GCR_GIC_BASE_GICBASE_MSK)
 | 
						|
 | 
						|
/* GCR_CPC_BASE register fields */
 | 
						|
#define GCR_CPC_BASE_CPCEN_MSK   1
 | 
						|
#define GCR_CPC_BASE_CPCBASE_MSK 0xFFFFFFFF8000ULL
 | 
						|
#define GCR_CPC_BASE_MSK (GCR_CPC_BASE_CPCEN_MSK | GCR_CPC_BASE_CPCBASE_MSK)
 | 
						|
 | 
						|
/* GCR_CL_OTHER_OFS register fields */
 | 
						|
#define GCR_CL_OTHER_VPOTHER_MSK 0x7
 | 
						|
#define GCR_CL_OTHER_MSK GCR_CL_OTHER_VPOTHER_MSK
 | 
						|
 | 
						|
/* GCR_CL_RESETBASE_OFS register fields */
 | 
						|
#define GCR_CL_RESET_BASE_RESETBASE_MSK 0xFFFFF000U
 | 
						|
#define GCR_CL_RESET_BASE_MSK GCR_CL_RESET_BASE_RESETBASE_MSK
 | 
						|
 | 
						|
typedef struct MIPSGCRVPState MIPSGCRVPState;
 | 
						|
struct MIPSGCRVPState {
 | 
						|
    uint32_t other;
 | 
						|
    uint64_t reset_base;
 | 
						|
};
 | 
						|
 | 
						|
struct MIPSGCRState {
 | 
						|
    SysBusDevice parent_obj;
 | 
						|
 | 
						|
    int32_t gcr_rev;
 | 
						|
    uint32_t num_vps;
 | 
						|
    hwaddr gcr_base;
 | 
						|
    MemoryRegion iomem;
 | 
						|
    MemoryRegion *cpc_mr;
 | 
						|
    MemoryRegion *gic_mr;
 | 
						|
 | 
						|
    uint64_t cpc_base;
 | 
						|
    uint64_t gic_base;
 | 
						|
 | 
						|
    /* VP Local/Other Registers */
 | 
						|
    MIPSGCRVPState *vps;
 | 
						|
};
 | 
						|
 | 
						|
#endif /* MIPS_CMGCR_H */
 |