hv_addr = Param.Addr(0, "Address for hv control")
pio_delay = Param.Latency('10ns', "Delay for PIO r/w")
# The number of list registers is not currently configurable at runtime.
- ppint = Param.UInt32("HV maintenance interrupt number")
+ maint_int = Param.UInt32("HV maintenance interrupt number")
# gicv_iidr same as gicc_idr
gicv_iidr = Param.UInt32(Self.gic.gicc_iidr,
node.append(FdtPropertyWords("reg", regs))
node.append(FdtPropertyWords("interrupts",
- [1, int(self.ppint)-16, 0xf04]))
+ [1, int(self.maint_int)-16, 0xf04]))
node.appendPhandle(gic)
### On-chip devices ###
gic = Gic400(dist_addr=0x2C001000, cpu_addr=0x2C002000)
- vgic = VGic(vcpu_addr=0x2c006000, hv_addr=0x2c004000, ppint=25)
+ vgic = VGic(vcpu_addr=0x2c006000, hv_addr=0x2c004000, maint_int=25)
local_cpu_timer = CpuLocalTimer(int_timer=ArmPPI(num=29),
int_watchdog=ArmPPI(num=30),
class VExpress_GEM5_V1_Base(VExpress_GEM5_Base):
gic = kvm_gicv2_class(dist_addr=0x2c001000, cpu_addr=0x2c002000,
it_lines=512)
- vgic = VGic(vcpu_addr=0x2c006000, hv_addr=0x2c004000, ppint=25)
+ vgic = VGic(vcpu_addr=0x2c006000, hv_addr=0x2c004000, maint_int=25)
gicv2m = Gicv2m()
gicv2m.frames = [
Gicv2mFrame(spi_base=256, spi_len=64, addr=0x2c1c0000),
VGic::VGic(const Params *p)
: PioDevice(p), gicvIIDR(p->gicv_iidr), platform(p->platform),
gic(p->gic), vcpuAddr(p->vcpu_addr), hvAddr(p->hv_addr),
- pioDelay(p->pio_delay), maintInt(p->ppint)
+ pioDelay(p->pio_delay), maintInt(p->maint_int)
{
for (int x = 0; x < VGIC_CPU_MAX; x++) {
postVIntEvent[x] = new EventFunctionWrapper(