qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 05/15] openpic: make register names correspond b


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 05/15] openpic: make register names correspond better with hw docs
Date: Thu, 3 Jan 2013 19:18:45 +0100

On 22.12.2012, at 03:15, Scott Wood wrote:

> The base openpic specification doesn't provide abbreviated register
> names, so it's somewhat understandable that the QEMU code made up
> its own, except that most of the names that QEMU used didn't correspond
> to the terminology used by any implementation I could find.
> 
> In some cases, like PCTP, the phrase "processor current task priority"
> could be found in the openpic spec when describing the concept, but
> the register itself was labelled "current task priority register"
> and every implementation seems to use either CTPR or the full phrase.
> 
> In other cases, individual implementations disagree on what to call
> the register.  The implementations I have documentation for are
> Freescale, Raven (MCP750), and IBM.  The Raven docs tend to not use
> abbreviations at all.  The IBM MPIC isn't implemented in QEMU.  Thus,
> where there's disagreement I chose to use the Freescale abbreviations.
> 
> Signed-off-by: Scott Wood <address@hidden>

Thanks, applied and fixed up to apply to the current state of ppc-next. Please 
rebase 3/15 against ppc-next when you redo it.


Alex

> ---
> BTW, I'm still not sure where the first "P" in QEMU's "IPVP" came from.
> ---
> hw/openpic.c |  362 +++++++++++++++++++++++++++++-----------------------------
> 1 file changed, 181 insertions(+), 181 deletions(-)
> 
> diff --git a/hw/openpic.c b/hw/openpic.c
> index 34449a7..7647368 100644
> --- a/hw/openpic.c
> +++ b/hw/openpic.c
> @@ -61,7 +61,7 @@
> #define VID         0x03 /* MPIC version ID */
> 
> /* OpenPIC capability flags */
> -#define OPENPIC_FLAG_IDE_CRIT     (1 << 0)
> +#define OPENPIC_FLAG_IDR_CRIT     (1 << 0)
> 
> /* OpenPIC address map */
> #define OPENPIC_GLB_REG_START        0x0
> @@ -118,19 +118,19 @@
> #define FSL_BRR1_IPMJ (0x00 << 8) /* 8 bit IP major number */
> #define FSL_BRR1_IPMN 0x00 /* 8 bit IP minor number */
> 
> -#define FREP_NIRQ_SHIFT   16
> -#define FREP_NCPU_SHIFT    8
> -#define FREP_VID_SHIFT     0
> +#define FRR_NIRQ_SHIFT    16
> +#define FRR_NCPU_SHIFT     8
> +#define FRR_VID_SHIFT      0
> 
> #define VID_REVISION_1_2   2
> #define VID_REVISION_1_3   3
> 
> -#define VENI_GENERIC      0x00000000 /* Generic Vendor ID */
> +#define VIR_GENERIC      0x00000000 /* Generic Vendor ID */
> 
> -#define GLBC_RESET        0x80000000
> +#define GCR_RESET        0x80000000
> 
> -#define TIBC_CI           0x80000000 /* count inhibit */
> -#define TICC_TOG          0x80000000 /* toggles when decrement to zero */
> +#define TBCR_CI           0x80000000 /* count inhibit */
> +#define TCCR_TOG          0x80000000 /* toggles when decrement to zero */
> 
> #define IDR_EP_SHIFT      31
> #define IDR_EP_MASK       (1 << IDR_EP_SHIFT)
> @@ -185,8 +185,8 @@ typedef struct IRQ_queue_t {
> } IRQ_queue_t;
> 
> typedef struct IRQ_src_t {
> -    uint32_t ipvp;  /* IRQ vector/priority register */
> -    uint32_t ide;   /* IRQ destination register */
> +    uint32_t ivpr;  /* IRQ vector/priority register */
> +    uint32_t idr;   /* IRQ destination register */
>     int last_cpu;
>     int pending;    /* TRUE if IRQ is pending */
>     bool level;     /* level-triggered */
> @@ -194,27 +194,27 @@ typedef struct IRQ_src_t {
>     bool fslspecial; /* FSL timer/IPI interrupt, edge, no polarity */
> } IRQ_src_t;
> 
> -#define IPVP_MASK_SHIFT       31
> -#define IPVP_MASK_MASK        (1 << IPVP_MASK_SHIFT)
> -#define IPVP_ACTIVITY_SHIFT   30
> -#define IPVP_ACTIVITY_MASK    (1 << IPVP_ACTIVITY_SHIFT)
> -#define IPVP_MODE_SHIFT       29
> -#define IPVP_MODE_MASK        (1 << IPVP_MODE_SHIFT)
> -#define IPVP_POLARITY_SHIFT   23
> -#define IPVP_POLARITY_MASK    (1 << IPVP_POLARITY_SHIFT)
> -#define IPVP_SENSE_SHIFT      22
> -#define IPVP_SENSE_MASK       (1 << IPVP_SENSE_SHIFT)
> -
> -#define IPVP_PRIORITY_MASK     (0xF << 16)
> -#define IPVP_PRIORITY(_ipvpr_) ((int)(((_ipvpr_) & IPVP_PRIORITY_MASK) >> 
> 16))
> -#define IPVP_VECTOR(opp, _ipvpr_) ((_ipvpr_) & (opp)->vector_mask)
> +#define IVPR_MASK_SHIFT       31
> +#define IVPR_MASK_MASK        (1 << IVPR_MASK_SHIFT)
> +#define IVPR_ACTIVITY_SHIFT   30
> +#define IVPR_ACTIVITY_MASK    (1 << IVPR_ACTIVITY_SHIFT)
> +#define IVPR_MODE_SHIFT       29
> +#define IVPR_MODE_MASK        (1 << IVPR_MODE_SHIFT)
> +#define IVPR_POLARITY_SHIFT   23
> +#define IVPR_POLARITY_MASK    (1 << IVPR_POLARITY_SHIFT)
> +#define IVPR_SENSE_SHIFT      22
> +#define IVPR_SENSE_MASK       (1 << IVPR_SENSE_SHIFT)
> +
> +#define IVPR_PRIORITY_MASK     (0xF << 16)
> +#define IVPR_PRIORITY(_ivprr_) ((int)(((_ivprr_) & IVPR_PRIORITY_MASK) >> 
> 16))
> +#define IVPR_VECTOR(opp, _ivprr_) ((_ivprr_) & (opp)->vector_mask)
> 
> /* IDE[EP/CI] are only for FSL MPIC prior to v4.0 */
> -#define IDE_EP      0x80000000  /* external pin */
> -#define IDE_CI      0x40000000  /* critical interrupt */
> +#define IDR_EP      0x80000000  /* external pin */
> +#define IDR_CI      0x40000000  /* critical interrupt */
> 
> typedef struct IRQ_dst_t {
> -    uint32_t pctp; /* CPU current task priority */
> +    uint32_t ctpr; /* CPU current task priority */
>     IRQ_queue_t raised;
>     IRQ_queue_t servicing;
>     qemu_irq *irqs;
> @@ -229,22 +229,22 @@ typedef struct OpenPICState {
>     uint32_t flags;
>     uint32_t nb_irqs;
>     uint32_t vid;
> -    uint32_t veni; /* Vendor identification register */
> +    uint32_t vir; /* Vendor identification register */
>     uint32_t vector_mask;
> -    uint32_t tifr_reset;
> -    uint32_t ipvp_reset;
> -    uint32_t ide_reset;
> +    uint32_t tfrr_reset;
> +    uint32_t ivpr_reset;
> +    uint32_t idr_reset;
>     uint32_t brr1;
> 
>     /* Sub-regions */
>     MemoryRegion sub_io_mem[5];
> 
>     /* Global registers */
> -    uint32_t frep; /* Feature reporting register */
> -    uint32_t glbc; /* Global configuration register  */
> -    uint32_t pint; /* Processor initialization register */
> +    uint32_t frr; /* Feature reporting register */
> +    uint32_t gcr; /* Global configuration register  */
> +    uint32_t pir; /* Processor initialization register */
>     uint32_t spve; /* Spurious vector register */
> -    uint32_t tifr; /* Timer frequency reporting register */
> +    uint32_t tfrr; /* Timer frequency reporting register */
>     /* Source registers */
>     IRQ_src_t src[MAX_IRQ];
>     /* Local registers per output pin */
> @@ -252,8 +252,8 @@ typedef struct OpenPICState {
>     uint32_t nb_cpus;
>     /* Timer registers */
>     struct {
> -        uint32_t ticc;  /* Global timer current count register */
> -        uint32_t tibc;  /* Global timer base count register */
> +        uint32_t tccr;  /* Global timer current count register */
> +        uint32_t tbcr;  /* Global timer base count register */
>     } timers[MAX_TMR];
>     /* Shared MSI registers */
>     struct {
> @@ -299,11 +299,11 @@ static void IRQ_check(OpenPICState *opp, IRQ_queue_t *q)
> 
>     for (i = 0; i < opp->max_irq; i++) {
>         if (IRQ_testbit(q, i)) {
> -            DPRINTF("IRQ_check: irq %d set ipvp_pr=%d pr=%d\n",
> -                    i, IPVP_PRIORITY(opp->src[i].ipvp), priority);
> -            if (IPVP_PRIORITY(opp->src[i].ipvp) > priority) {
> +            DPRINTF("IRQ_check: irq %d set ivpr_pr=%d pr=%d\n",
> +                    i, IVPR_PRIORITY(opp->src[i].ivpr), priority);
> +            if (IVPR_PRIORITY(opp->src[i].ivpr) > priority) {
>                 next = i;
> -                priority = IPVP_PRIORITY(opp->src[i].ipvp);
> +                priority = IVPR_PRIORITY(opp->src[i].ivpr);
>             }
>         }
>     }
> @@ -331,8 +331,8 @@ static void IRQ_local_pipe(OpenPICState *opp, int n_CPU, 
> int n_IRQ)
> 
>     dst = &opp->dst[n_CPU];
>     src = &opp->src[n_IRQ];
> -    priority = IPVP_PRIORITY(src->ipvp);
> -    if (priority <= dst->pctp) {
> +    priority = IVPR_PRIORITY(src->ivpr);
> +    if (priority <= dst->ctpr) {
>         /* Too low priority */
>         DPRINTF("%s: IRQ %d has too low priority on CPU %d\n",
>                 __func__, n_IRQ, n_CPU);
> @@ -344,7 +344,7 @@ static void IRQ_local_pipe(OpenPICState *opp, int n_CPU, 
> int n_IRQ)
>                 __func__, n_IRQ, n_CPU);
>         return;
>     }
> -    src->ipvp |= IPVP_ACTIVITY_MASK;
> +    src->ivpr |= IVPR_ACTIVITY_MASK;
>     IRQ_setbit(&dst->raised, n_IRQ);
>     if (priority < dst->raised.priority) {
>         /* An higher priority IRQ is already raised */
> @@ -377,34 +377,34 @@ static void openpic_update_irq(OpenPICState *opp, int 
> n_IRQ)
>         DPRINTF("%s: IRQ %d is not pending\n", __func__, n_IRQ);
>         return;
>     }
> -    if (src->ipvp & IPVP_MASK_MASK) {
> +    if (src->ivpr & IVPR_MASK_MASK) {
>         /* Interrupt source is disabled */
>         DPRINTF("%s: IRQ %d is disabled\n", __func__, n_IRQ);
>         return;
>     }
> -    if (IPVP_PRIORITY(src->ipvp) == 0) {
> +    if (IVPR_PRIORITY(src->ivpr) == 0) {
>         /* Priority set to zero */
>         DPRINTF("%s: IRQ %d has 0 priority\n", __func__, n_IRQ);
>         return;
>     }
> -    if (src->ipvp & IPVP_ACTIVITY_MASK) {
> +    if (src->ivpr & IVPR_ACTIVITY_MASK) {
>         /* IRQ already active */
>         DPRINTF("%s: IRQ %d is already active\n", __func__, n_IRQ);
>         return;
>     }
> -    if (src->ide == 0) {
> +    if (src->idr == 0) {
>         /* No target */
>         DPRINTF("%s: IRQ %d has no target\n", __func__, n_IRQ);
>         return;
>     }
> 
> -    if (src->ide == (1 << src->last_cpu)) {
> +    if (src->idr == (1 << src->last_cpu)) {
>         /* Only one CPU is allowed to receive this IRQ */
>         IRQ_local_pipe(opp, src->last_cpu, n_IRQ);
> -    } else if (!(src->ipvp & IPVP_MODE_MASK)) {
> +    } else if (!(src->ivpr & IVPR_MODE_MASK)) {
>         /* Directed delivery mode */
>         for (i = 0; i < opp->nb_cpus; i++) {
> -            if (src->ide & (1 << i)) {
> +            if (src->idr & (1 << i)) {
>                 IRQ_local_pipe(opp, i, n_IRQ);
>             }
>         }
> @@ -413,7 +413,7 @@ static void openpic_update_irq(OpenPICState *opp, int 
> n_IRQ)
>         for (i = src->last_cpu + 1; i != src->last_cpu; i++) {
>             if (i == opp->nb_cpus)
>                 i = 0;
> -            if (src->ide & (1 << i)) {
> +            if (src->idr & (1 << i)) {
>                 IRQ_local_pipe(opp, i, n_IRQ);
>                 src->last_cpu = i;
>                 break;
> @@ -428,13 +428,13 @@ static void openpic_set_irq(void *opaque, int n_IRQ, 
> int level)
>     IRQ_src_t *src;
> 
>     src = &opp->src[n_IRQ];
> -    DPRINTF("openpic: set irq %d = %d ipvp=0x%08x\n",
> -            n_IRQ, level, src->ipvp);
> +    DPRINTF("openpic: set irq %d = %d ivpr=0x%08x\n",
> +            n_IRQ, level, src->ivpr);
>     if (src->level) {
>         /* level-sensitive irq */
>         src->pending = level;
>         if (!level) {
> -            src->ipvp &= ~IPVP_ACTIVITY_MASK;
> +            src->ivpr &= ~IVPR_ACTIVITY_MASK;
>         }
>     } else {
>         /* edge-sensitive irq */
> @@ -449,31 +449,31 @@ static void openpic_reset(DeviceState *d)
>     OpenPICState *opp = FROM_SYSBUS(typeof (*opp), sysbus_from_qdev(d));
>     int i;
> 
> -    opp->glbc = GLBC_RESET;
> +    opp->gcr = GCR_RESET;
>     /* Initialise controller registers */
> -    opp->frep = ((opp->nb_irqs - 1) << FREP_NIRQ_SHIFT) |
> -                ((opp->nb_cpus - 1) << FREP_NCPU_SHIFT) |
> -                (opp->vid << FREP_VID_SHIFT);
> +    opp->frr = ((opp->nb_irqs - 1) << FRR_NIRQ_SHIFT) |
> +                ((opp->nb_cpus - 1) << FRR_NCPU_SHIFT) |
> +                (opp->vid << FRR_VID_SHIFT);
> 
> -    opp->pint = 0;
> +    opp->pir = 0;
>     opp->spve = -1 & opp->vector_mask;
> -    opp->tifr = opp->tifr_reset;
> +    opp->tfrr = opp->tfrr_reset;
>     /* Initialise IRQ sources */
>     for (i = 0; i < opp->max_irq; i++) {
> -        opp->src[i].ipvp = opp->ipvp_reset;
> -        opp->src[i].ide  = opp->ide_reset;
> +        opp->src[i].ivpr = opp->ivpr_reset;
> +        opp->src[i].idr  = opp->idr_reset;
> 
>         if (opp->src[i].fslint) {
> -            opp->src[i].ipvp |= IPVP_POLARITY_MASK;
> +            opp->src[i].ivpr |= IVPR_POLARITY_MASK;
>         }
> 
>         if (!opp->src[i].fslint && !opp->src[i].fslspecial) {
> -            opp->src[i].level = !!(opp->ipvp_reset & IPVP_SENSE_MASK);
> +            opp->src[i].level = !!(opp->ivpr_reset & IVPR_SENSE_MASK);
>         }
>     }
>     /* Initialise IRQ destinations */
>     for (i = 0; i < MAX_CPU; i++) {
> -        opp->dst[i].pctp      = 15;
> +        opp->dst[i].ctpr      = 15;
>         memset(&opp->dst[i].raised, 0, sizeof(IRQ_queue_t));
>         opp->dst[i].raised.next = -1;
>         memset(&opp->dst[i].servicing, 0, sizeof(IRQ_queue_t));
> @@ -481,62 +481,62 @@ static void openpic_reset(DeviceState *d)
>     }
>     /* Initialise timers */
>     for (i = 0; i < MAX_TMR; i++) {
> -        opp->timers[i].ticc = 0;
> -        opp->timers[i].tibc = TIBC_CI;
> +        opp->timers[i].tccr = 0;
> +        opp->timers[i].tbcr = TBCR_CI;
>     }
>     /* Go out of RESET state */
> -    opp->glbc = 0;
> +    opp->gcr = 0;
> }
> 
> -static inline uint32_t read_IRQreg_ide(OpenPICState *opp, int n_IRQ)
> +static inline uint32_t read_IRQreg_idr(OpenPICState *opp, int n_IRQ)
> {
> -    return opp->src[n_IRQ].ide;
> +    return opp->src[n_IRQ].idr;
> }
> 
> -static inline uint32_t read_IRQreg_ipvp(OpenPICState *opp, int n_IRQ)
> +static inline uint32_t read_IRQreg_ivpr(OpenPICState *opp, int n_IRQ)
> {
> -    return opp->src[n_IRQ].ipvp;
> +    return opp->src[n_IRQ].ivpr;
> }
> 
> -static inline void write_IRQreg_ide(OpenPICState *opp, int n_IRQ, uint32_t 
> val)
> +static inline void write_IRQreg_idr(OpenPICState *opp, int n_IRQ, uint32_t 
> val)
> {
>     uint32_t tmp;
> 
> -    tmp = val & (IDE_EP | IDE_CI);
> +    tmp = val & (IDR_EP | IDR_CI);
>     tmp |= val & ((1ULL << MAX_CPU) - 1);
> -    opp->src[n_IRQ].ide = tmp;
> -    DPRINTF("Set IDE %d to 0x%08x\n", n_IRQ, opp->src[n_IRQ].ide);
> +    opp->src[n_IRQ].idr = tmp;
> +    DPRINTF("Set IDE %d to 0x%08x\n", n_IRQ, opp->src[n_IRQ].idr);
> }
> 
> -static inline void write_IRQreg_ipvp(OpenPICState *opp, int n_IRQ, uint32_t 
> val)
> +static inline void write_IRQreg_ivpr(OpenPICState *opp, int n_IRQ, uint32_t 
> val)
> {
>     uint32_t mask;
> 
>     /* NOTE when implementing newer FSL MPIC models: starting with v4.0,
>      * the polarity bit is read-only on internal interrupts.
>      */
> -    mask = IPVP_MASK_MASK | IPVP_PRIORITY_MASK | IPVP_SENSE_MASK |
> -           IPVP_POLARITY_MASK | opp->vector_mask;
> +    mask = IVPR_MASK_MASK | IVPR_PRIORITY_MASK | IVPR_SENSE_MASK |
> +           IVPR_POLARITY_MASK | opp->vector_mask;
> 
>     /* ACTIVITY bit is read-only */
> -    opp->src[n_IRQ].ipvp =
> -        (opp->src[n_IRQ].ipvp & IPVP_ACTIVITY_MASK) | (val & mask);
> +    opp->src[n_IRQ].ivpr =
> +        (opp->src[n_IRQ].ivpr & IVPR_ACTIVITY_MASK) | (val & mask);
> 
>     /* For FSL internal interrupts, The sense bit is reserved and zero,
>      * and the interrupt is always level-triggered.  Timers and IPIs
>      * have no sense or polarity bits, and are edge-triggered.
>      */
>     if (opp->src[n_IRQ].fslint) {
> -        opp->src[n_IRQ].ipvp &= ~IPVP_SENSE_MASK;
> +        opp->src[n_IRQ].ivpr &= ~IVPR_SENSE_MASK;
>     } else if (opp->src[n_IRQ].fslspecial) {
> -        opp->src[n_IRQ].ipvp &= ~(IPVP_POLARITY_MASK | IPVP_SENSE_MASK);
> +        opp->src[n_IRQ].ivpr &= ~(IVPR_POLARITY_MASK | IVPR_SENSE_MASK);
>     } else {
> -        opp->src[n_IRQ].level = !!(opp->src[n_IRQ].ipvp & IPVP_SENSE_MASK);
> +        opp->src[n_IRQ].level = !!(opp->src[n_IRQ].ivpr & IVPR_SENSE_MASK);
>     }
> 
>     openpic_update_irq(opp, n_IRQ);
> -    DPRINTF("Set IPVP %d to 0x%08x -> 0x%08x\n", n_IRQ, val,
> -            opp->src[n_IRQ].ipvp);
> +    DPRINTF("Set IVPR %d to 0x%08x -> 0x%08x\n", n_IRQ, val,
> +            opp->src[n_IRQ].ivpr);
> }
> 
> static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
> @@ -563,37 +563,37 @@ static void openpic_gbl_write(void *opaque, hwaddr 
> addr, uint64_t val,
>     case 0xB0:
>         openpic_cpu_write_internal(opp, addr, val, get_current_cpu());
>         break;
> -    case 0x1000: /* FREP */
> +    case 0x1000: /* FRR */
>         break;
> -    case 0x1020: /* GLBC */
> -        if (val & GLBC_RESET) {
> +    case 0x1020: /* GCR */
> +        if (val & GCR_RESET) {
>             openpic_reset(&opp->busdev.qdev);
>         }
>         break;
> -    case 0x1080: /* VENI */
> +    case 0x1080: /* VIR */
>         break;
> -    case 0x1090: /* PINT */
> +    case 0x1090: /* PIR */
>         for (idx = 0; idx < opp->nb_cpus; idx++) {
> -            if ((val & (1 << idx)) && !(opp->pint & (1 << idx))) {
> +            if ((val & (1 << idx)) && !(opp->pir & (1 << idx))) {
>                 DPRINTF("Raise OpenPIC RESET output for CPU %d\n", idx);
>                 dst = &opp->dst[idx];
>                 qemu_irq_raise(dst->irqs[OPENPIC_OUTPUT_RESET]);
> -            } else if (!(val & (1 << idx)) && (opp->pint & (1 << idx))) {
> +            } else if (!(val & (1 << idx)) && (opp->pir & (1 << idx))) {
>                 DPRINTF("Lower OpenPIC RESET output for CPU %d\n", idx);
>                 dst = &opp->dst[idx];
>                 qemu_irq_lower(dst->irqs[OPENPIC_OUTPUT_RESET]);
>             }
>         }
> -        opp->pint = val;
> +        opp->pir = val;
>         break;
> -    case 0x10A0: /* IPI_IPVP */
> +    case 0x10A0: /* IPI_IVPR */
>     case 0x10B0:
>     case 0x10C0:
>     case 0x10D0:
>         {
>             int idx;
>             idx = (addr - 0x10A0) >> 4;
> -            write_IRQreg_ipvp(opp, opp->irq_ipi0 + idx, val);
> +            write_IRQreg_ivpr(opp, opp->irq_ipi0 + idx, val);
>         }
>         break;
>     case 0x10E0: /* SPVE */
> @@ -614,16 +614,16 @@ static uint64_t openpic_gbl_read(void *opaque, hwaddr 
> addr, unsigned len)
>     if (addr & 0xF)
>         return retval;
>     switch (addr) {
> -    case 0x1000: /* FREP */
> -        retval = opp->frep;
> +    case 0x1000: /* FRR */
> +        retval = opp->frr;
>         break;
> -    case 0x1020: /* GLBC */
> -        retval = opp->glbc;
> +    case 0x1020: /* GCR */
> +        retval = opp->gcr;
>         break;
> -    case 0x1080: /* VENI */
> -        retval = opp->veni;
> +    case 0x1080: /* VIR */
> +        retval = opp->vir;
>         break;
> -    case 0x1090: /* PINT */
> +    case 0x1090: /* PIR */
>         retval = 0x00000000;
>         break;
>     case 0x00: /* Block Revision Register1 (BRR1) */
> @@ -639,14 +639,14 @@ static uint64_t openpic_gbl_read(void *opaque, hwaddr 
> addr, unsigned len)
>     case 0xB0:
>         retval = openpic_cpu_read_internal(opp, addr, get_current_cpu());
>         break;
> -    case 0x10A0: /* IPI_IPVP */
> +    case 0x10A0: /* IPI_IVPR */
>     case 0x10B0:
>     case 0x10C0:
>     case 0x10D0:
>         {
>             int idx;
>             idx = (addr - 0x10A0) >> 4;
> -            retval = read_IRQreg_ipvp(opp, opp->irq_ipi0 + idx);
> +            retval = read_IRQreg_ivpr(opp, opp->irq_ipi0 + idx);
>         }
>         break;
>     case 0x10E0: /* SPVE */
> @@ -674,26 +674,26 @@ static void openpic_tmr_write(void *opaque, hwaddr 
> addr, uint64_t val,
>     addr = addr & 0x30;
> 
>     if (addr == 0x0) {
> -        /* TIFR (TFRR) */
> -        opp->tifr = val;
> +        /* TFRR */
> +        opp->tfrr = val;
>         return;
>     }
>     switch (addr & 0x30) {
> -    case 0x00: /* TICC (GTCCR) */
> +    case 0x00: /* TCCR */
>         break;
> -    case 0x10: /* TIBC (GTBCR) */
> -        if ((opp->timers[idx].ticc & TICC_TOG) != 0 &&
> -            (val & TIBC_CI) == 0 &&
> -            (opp->timers[idx].tibc & TIBC_CI) != 0) {
> -            opp->timers[idx].ticc &= ~TICC_TOG;
> +    case 0x10: /* TBCR */
> +        if ((opp->timers[idx].tccr & TCCR_TOG) != 0 &&
> +            (val & TBCR_CI) == 0 &&
> +            (opp->timers[idx].tbcr & TBCR_CI) != 0) {
> +            opp->timers[idx].tccr &= ~TCCR_TOG;
>         }
> -        opp->timers[idx].tibc = val;
> +        opp->timers[idx].tbcr = val;
>         break;
> -    case 0x20: /* TIVP (GTIVPR) */
> -        write_IRQreg_ipvp(opp, opp->irq_tim0 + idx, val);
> +    case 0x20: /* TVPR */
> +        write_IRQreg_ivpr(opp, opp->irq_tim0 + idx, val);
>         break;
> -    case 0x30: /* TIDE (GTIDR) */
> -        write_IRQreg_ide(opp, opp->irq_tim0 + idx, val);
> +    case 0x30: /* TDR */
> +        write_IRQreg_idr(opp, opp->irq_tim0 + idx, val);
>         break;
>     }
> }
> @@ -710,22 +710,22 @@ static uint64_t openpic_tmr_read(void *opaque, hwaddr 
> addr, unsigned len)
>     }
>     idx = (addr >> 6) & 0x3;
>     if (addr == 0x0) {
> -        /* TIFR (TFRR) */
> -        retval = opp->tifr;
> +        /* TFRR */
> +        retval = opp->tfrr;
>         goto out;
>     }
>     switch (addr & 0x30) {
> -    case 0x00: /* TICC (GTCCR) */
> -        retval = opp->timers[idx].ticc;
> +    case 0x00: /* TCCR */
> +        retval = opp->timers[idx].tccr;
>         break;
> -    case 0x10: /* TIBC (GTBCR) */
> -        retval = opp->timers[idx].tibc;
> +    case 0x10: /* TBCR */
> +        retval = opp->timers[idx].tbcr;
>         break;
> -    case 0x20: /* TIPV (TIPV) */
> -        retval = read_IRQreg_ipvp(opp, opp->irq_tim0 + idx);
> +    case 0x20: /* TIPV */
> +        retval = read_IRQreg_ivpr(opp, opp->irq_tim0 + idx);
>         break;
>     case 0x30: /* TIDE (TIDR) */
> -        retval = read_IRQreg_ide(opp, opp->irq_tim0 + idx);
> +        retval = read_IRQreg_idr(opp, opp->irq_tim0 + idx);
>         break;
>     }
> 
> @@ -749,10 +749,10 @@ static void openpic_src_write(void *opaque, hwaddr 
> addr, uint64_t val,
>     idx = addr >> 5;
>     if (addr & 0x10) {
>         /* EXDE / IFEDE / IEEDE */
> -        write_IRQreg_ide(opp, idx, val);
> +        write_IRQreg_idr(opp, idx, val);
>     } else {
>         /* EXVP / IFEVP / IEEVP */
> -        write_IRQreg_ipvp(opp, idx, val);
> +        write_IRQreg_ivpr(opp, idx, val);
>     }
> }
> 
> @@ -770,10 +770,10 @@ static uint64_t openpic_src_read(void *opaque, uint64_t 
> addr, unsigned len)
>     idx = addr >> 5;
>     if (addr & 0x10) {
>         /* EXDE / IFEDE / IEEDE */
> -        retval = read_IRQreg_ide(opp, idx);
> +        retval = read_IRQreg_idr(opp, idx);
>     } else {
>         /* EXVP / IFEVP / IEEVP */
> -        retval = read_IRQreg_ipvp(opp, idx);
> +        retval = read_IRQreg_ivpr(opp, idx);
>     }
>     DPRINTF("%s: => 0x%08x\n", __func__, retval);
> 
> @@ -870,22 +870,22 @@ static void openpic_cpu_write_internal(void *opaque, 
> hwaddr addr,
>     case 0x70:
>         idx = (addr - 0x40) >> 4;
>         /* we use IDE as mask which CPUs to deliver the IPI to still. */
> -        write_IRQreg_ide(opp, opp->irq_ipi0 + idx,
> -                         opp->src[opp->irq_ipi0 + idx].ide | val);
> +        write_IRQreg_idr(opp, opp->irq_ipi0 + idx,
> +                         opp->src[opp->irq_ipi0 + idx].idr | val);
>         openpic_set_irq(opp, opp->irq_ipi0 + idx, 1);
>         openpic_set_irq(opp, opp->irq_ipi0 + idx, 0);
>         break;
> -    case 0x80: /* PCTP */
> -        dst->pctp = val & 0x0000000F;
> +    case 0x80: /* CTPR */
> +        dst->ctpr = val & 0x0000000F;
>         break;
>     case 0x90: /* WHOAMI */
>         /* Read-only register */
>         break;
> -    case 0xA0: /* PIAC */
> +    case 0xA0: /* IACK */
>         /* Read-only register */
>         break;
> -    case 0xB0: /* PEOI */
> -        DPRINTF("PEOI\n");
> +    case 0xB0: /* EOI */
> +        DPRINTF("EOI\n");
>         s_IRQ = IRQ_get_next(opp, &dst->servicing);
>         IRQ_resetbit(&dst->servicing, s_IRQ);
>         dst->servicing.next = -1;
> @@ -896,7 +896,7 @@ static void openpic_cpu_write_internal(void *opaque, 
> hwaddr addr,
>         src = &opp->src[n_IRQ];
>         if (n_IRQ != -1 &&
>             (s_IRQ == -1 ||
> -             IPVP_PRIORITY(src->ipvp) > dst->servicing.priority)) {
> +             IVPR_PRIORITY(src->ivpr) > dst->servicing.priority)) {
>             DPRINTF("Raise OpenPIC INT output cpu %d irq %d\n",
>                     idx, n_IRQ);
>             openpic_irq_raise(opp, idx, src);
> @@ -934,56 +934,56 @@ static uint32_t openpic_cpu_read_internal(void *opaque, 
> hwaddr addr,
>     dst = &opp->dst[idx];
>     addr &= 0xFF0;
>     switch (addr) {
> -    case 0x80: /* PCTP */
> -        retval = dst->pctp;
> +    case 0x80: /* CTPR */
> +        retval = dst->ctpr;
>         break;
>     case 0x90: /* WHOAMI */
>         retval = idx;
>         break;
> -    case 0xA0: /* PIAC */
> +    case 0xA0: /* IACK */
>         DPRINTF("Lower OpenPIC INT output\n");
>         qemu_irq_lower(dst->irqs[OPENPIC_OUTPUT_INT]);
>         n_IRQ = IRQ_get_next(opp, &dst->raised);
> -        DPRINTF("PIAC: irq=%d\n", n_IRQ);
> +        DPRINTF("IACK: irq=%d\n", n_IRQ);
>         if (n_IRQ == -1) {
>             /* No more interrupt pending */
>             retval = opp->spve;
>         } else {
>             src = &opp->src[n_IRQ];
> -            if (!(src->ipvp & IPVP_ACTIVITY_MASK) ||
> -                !(IPVP_PRIORITY(src->ipvp) > dst->pctp)) {
> +            if (!(src->ivpr & IVPR_ACTIVITY_MASK) ||
> +                !(IVPR_PRIORITY(src->ivpr) > dst->ctpr)) {
>                 /* - Spurious level-sensitive IRQ
>                  * - Priorities has been changed
>                  *   and the pending IRQ isn't allowed anymore
>                  */
> -                src->ipvp &= ~IPVP_ACTIVITY_MASK;
> +                src->ivpr &= ~IVPR_ACTIVITY_MASK;
>                 retval = opp->spve;
>             } else {
>                 /* IRQ enter servicing state */
>                 IRQ_setbit(&dst->servicing, n_IRQ);
> -                retval = IPVP_VECTOR(opp, src->ipvp);
> +                retval = IVPR_VECTOR(opp, src->ivpr);
>             }
>             IRQ_resetbit(&dst->raised, n_IRQ);
>             dst->raised.next = -1;
>             if (!src->level) {
>                 /* edge-sensitive IRQ */
> -                src->ipvp &= ~IPVP_ACTIVITY_MASK;
> +                src->ivpr &= ~IVPR_ACTIVITY_MASK;
>                 src->pending = 0;
>             }
> 
>             if ((n_IRQ >= opp->irq_ipi0) &&  (n_IRQ < (opp->irq_ipi0 + 
> MAX_IPI))) {
> -                src->ide &= ~(1 << idx);
> -                if (src->ide && !src->level) {
> +                src->idr &= ~(1 << idx);
> +                if (src->idr && !src->level) {
>                     /* trigger on CPUs that didn't know about it yet */
>                     openpic_set_irq(opp, n_IRQ, 1);
>                     openpic_set_irq(opp, n_IRQ, 0);
>                     /* if all CPUs knew about it, set active bit again */
> -                    src->ipvp |= IPVP_ACTIVITY_MASK;
> +                    src->ivpr |= IVPR_ACTIVITY_MASK;
>                 }
>             }
>         }
>         break;
> -    case 0xB0: /* PEOI */
> +    case 0xB0: /* EOI */
>         retval = 0;
>         break;
>     default:
> @@ -1115,15 +1115,15 @@ static void openpic_save(QEMUFile* f, void *opaque)
>     OpenPICState *opp = (OpenPICState *)opaque;
>     unsigned int i;
> 
> -    qemu_put_be32s(f, &opp->glbc);
> -    qemu_put_be32s(f, &opp->veni);
> -    qemu_put_be32s(f, &opp->pint);
> +    qemu_put_be32s(f, &opp->gcr);
> +    qemu_put_be32s(f, &opp->vir);
> +    qemu_put_be32s(f, &opp->pir);
>     qemu_put_be32s(f, &opp->spve);
> -    qemu_put_be32s(f, &opp->tifr);
> +    qemu_put_be32s(f, &opp->tfrr);
> 
>     for (i = 0; i < opp->max_irq; i++) {
> -        qemu_put_be32s(f, &opp->src[i].ipvp);
> -        qemu_put_be32s(f, &opp->src[i].ide);
> +        qemu_put_be32s(f, &opp->src[i].ivpr);
> +        qemu_put_be32s(f, &opp->src[i].idr);
>         qemu_put_sbe32s(f, &opp->src[i].last_cpu);
>         qemu_put_sbe32s(f, &opp->src[i].pending);
>     }
> @@ -1131,14 +1131,14 @@ static void openpic_save(QEMUFile* f, void *opaque)
>     qemu_put_be32s(f, &opp->nb_cpus);
> 
>     for (i = 0; i < opp->nb_cpus; i++) {
> -        qemu_put_be32s(f, &opp->dst[i].pctp);
> +        qemu_put_be32s(f, &opp->dst[i].ctpr);
>         openpic_save_IRQ_queue(f, &opp->dst[i].raised);
>         openpic_save_IRQ_queue(f, &opp->dst[i].servicing);
>     }
> 
>     for (i = 0; i < MAX_TMR; i++) {
> -        qemu_put_be32s(f, &opp->timers[i].ticc);
> -        qemu_put_be32s(f, &opp->timers[i].tibc);
> +        qemu_put_be32s(f, &opp->timers[i].tccr);
> +        qemu_put_be32s(f, &opp->timers[i].tbcr);
>     }
> }
> 
> @@ -1161,15 +1161,15 @@ static int openpic_load(QEMUFile* f, void *opaque, 
> int version_id)
>     if (version_id != 1)
>         return -EINVAL;
> 
> -    qemu_get_be32s(f, &opp->glbc);
> -    qemu_get_be32s(f, &opp->veni);
> -    qemu_get_be32s(f, &opp->pint);
> +    qemu_get_be32s(f, &opp->gcr);
> +    qemu_get_be32s(f, &opp->vir);
> +    qemu_get_be32s(f, &opp->pir);
>     qemu_get_be32s(f, &opp->spve);
> -    qemu_get_be32s(f, &opp->tifr);
> +    qemu_get_be32s(f, &opp->tfrr);
> 
>     for (i = 0; i < opp->max_irq; i++) {
> -        qemu_get_be32s(f, &opp->src[i].ipvp);
> -        qemu_get_be32s(f, &opp->src[i].ide);
> +        qemu_get_be32s(f, &opp->src[i].ivpr);
> +        qemu_get_be32s(f, &opp->src[i].idr);
>         qemu_get_sbe32s(f, &opp->src[i].last_cpu);
>         qemu_get_sbe32s(f, &opp->src[i].pending);
>     }
> @@ -1177,14 +1177,14 @@ static int openpic_load(QEMUFile* f, void *opaque, 
> int version_id)
>     qemu_get_be32s(f, &opp->nb_cpus);
> 
>     for (i = 0; i < opp->nb_cpus; i++) {
> -        qemu_get_be32s(f, &opp->dst[i].pctp);
> +        qemu_get_be32s(f, &opp->dst[i].ctpr);
>         openpic_load_IRQ_queue(f, &opp->dst[i].raised);
>         openpic_load_IRQ_queue(f, &opp->dst[i].servicing);
>     }
> 
>     for (i = 0; i < MAX_TMR; i++) {
> -        qemu_get_be32s(f, &opp->timers[i].ticc);
> -        qemu_get_be32s(f, &opp->timers[i].tibc);
> +        qemu_get_be32s(f, &opp->timers[i].tccr);
> +        qemu_get_be32s(f, &opp->timers[i].tbcr);
>     }
> 
>     return 0;
> @@ -1194,7 +1194,7 @@ static void openpic_irq_raise(OpenPICState *opp, int 
> n_CPU, IRQ_src_t *src)
> {
>     int n_ci = IDR_CI0_SHIFT - n_CPU;
> 
> -    if ((opp->flags & OPENPIC_FLAG_IDE_CRIT) && (src->ide & (1 << n_ci))) {
> +    if ((opp->flags & OPENPIC_FLAG_IDR_CRIT) && (src->idr & (1 << n_ci))) {
>         qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_CINT]);
>     } else {
>         qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]);
> @@ -1242,14 +1242,14 @@ static int openpic_init(SysBusDevice *dev)
>     switch (opp->model) {
>     case OPENPIC_MODEL_FSL_MPIC_20:
>     default:
> -        opp->flags |= OPENPIC_FLAG_IDE_CRIT;
> +        opp->flags |= OPENPIC_FLAG_IDR_CRIT;
>         opp->nb_irqs = 80;
>         opp->vid = VID_REVISION_1_2;
> -        opp->veni = VENI_GENERIC;
> +        opp->vir = VIR_GENERIC;
>         opp->vector_mask = 0xFFFF;
> -        opp->tifr_reset = 0;
> -        opp->ipvp_reset = IPVP_MASK_MASK;
> -        opp->ide_reset = 1 << 0;
> +        opp->tfrr_reset = 0;
> +        opp->ivpr_reset = IVPR_MASK_MASK;
> +        opp->idr_reset = 1 << 0;
>         opp->max_irq = FSL_MPIC_20_MAX_IRQ;
>         opp->irq_ipi0 = FSL_MPIC_20_IPI_IRQ;
>         opp->irq_tim0 = FSL_MPIC_20_TMR_IRQ;
> @@ -1279,11 +1279,11 @@ static int openpic_init(SysBusDevice *dev)
>     case OPENPIC_MODEL_RAVEN:
>         opp->nb_irqs = RAVEN_MAX_EXT;
>         opp->vid = VID_REVISION_1_3;
> -        opp->veni = VENI_GENERIC;
> +        opp->vir = VIR_GENERIC;
>         opp->vector_mask = 0xFF;
> -        opp->tifr_reset = 4160000;
> -        opp->ipvp_reset = IPVP_MASK_MASK | IPVP_MODE_MASK;
> -        opp->ide_reset = 0;
> +        opp->tfrr_reset = 4160000;
> +        opp->ivpr_reset = IVPR_MASK_MASK | IVPR_MODE_MASK;
> +        opp->idr_reset = 0;
>         opp->max_irq = RAVEN_MAX_IRQ;
>         opp->irq_ipi0 = RAVEN_IPI_IRQ;
>         opp->irq_tim0 = RAVEN_TMR_IRQ;
> -- 
> 1.7.9.5
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]