lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADyBb7vNoE1PL3Ncy5s3Tg807ey9_FZ-p+DmEuA1_6=qT56SZQ@mail.gmail.com>
Date:   Mon, 21 Nov 2016 14:11:09 +0800
From:   Fu Wei <fu.wei@...aro.org>
To:     Mark Rutland <mark.rutland@....com>
Cc:     "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Len Brown <lenb@...nel.org>,
        Daniel Lezcano <daniel.lezcano@...aro.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Marc Zyngier <marc.zyngier@....com>,
        Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
        Sudeep Holla <sudeep.holla@....com>,
        Hanjun Guo <hanjun.guo@...aro.org>,
        linux-arm-kernel@...ts.infradead.org,
        Linaro ACPI Mailman List <linaro-acpi@...ts.linaro.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
        rruigrok@...eaurora.org, "Abdulhamid, Harb" <harba@...eaurora.org>,
        Christopher Covington <cov@...eaurora.org>,
        Timur Tabi <timur@...eaurora.org>,
        G Gregory <graeme.gregory@...aro.org>,
        Al Stone <al.stone@...aro.org>, Jon Masters <jcm@...hat.com>,
        Wei Huang <wei@...hat.com>, Arnd Bergmann <arnd@...db.de>,
        Catalin Marinas <catalin.marinas@....com>,
        Will Deacon <will.deacon@....com>,
        Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>,
        Leo Duran <leo.duran@....com>,
        Wim Van Sebroeck <wim@...ana.be>,
        Guenter Roeck <linux@...ck-us.net>,
        linux-watchdog@...r.kernel.org, Tomasz Nowicki <tn@...ihalf.com>,
        Christoffer Dall <christoffer.dall@...aro.org>,
        Julien Grall <julien.grall@....com>
Subject: Re: [PATCH v16 04/15] clocksource/drivers/arm_arch_timer: rename some
 enums and defines, and some cleanups.

Hi Mark,

On 19 November 2016 at 02:49, Mark Rutland <mark.rutland@....com> wrote:
> On Wed, Nov 16, 2016 at 09:48:57PM +0800, fu.wei@...aro.org wrote:
>> From: Fu Wei <fu.wei@...aro.org>
>>
>> Rename some enums and defines, to unify the format of enums and defines
>> in arm_arch_timer.h, also update all the users of these enums and defines:
>>     drivers/clocksource/arm_arch_timer.c
>>     virt/kvm/arm/hyp/timer-sr.c
>
> I'm happy with making definitions use a consistent ARCH_TIMER_ prefix,
> given they're exposed in headers...
>
>> And do some cleanups, according to the suggestion from checkpatch.pl:
>> (1) using BIT(nr) instead of (1 << nr)
>> (2) using 'unsigned int' instead of 'unsigned'
>
> ... but these changes are pointless churn. They make the patch larger,
> hardwer to review, and more painful to merge.
>
> Please leave these as they are unless there is a functional problem. If
> there will be a functional problem unless these are changed, describe
> that in the commit message.

OK, Mark.
I will take these out of patch, thanks :-)


>
> Thanks,
> Mark.
>
>>
>> No functional change.
>>
>> Signed-off-by: Fu Wei <fu.wei@...aro.org>
>> ---
>>  drivers/clocksource/arm_arch_timer.c | 111 ++++++++++++++++++-----------------
>>  include/clocksource/arm_arch_timer.h |  40 ++++++-------
>>  virt/kvm/arm/hyp/timer-sr.c          |   6 +-
>>  3 files changed, 81 insertions(+), 76 deletions(-)
>>
>> diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
>> index 15341cf..dd1040d 100644
>> --- a/drivers/clocksource/arm_arch_timer.c
>> +++ b/drivers/clocksource/arm_arch_timer.c
>> @@ -66,11 +66,11 @@ struct arch_timer {
>>  #define to_arch_timer(e) container_of(e, struct arch_timer, evt)
>>
>>  static u32 arch_timer_rate;
>> -static int arch_timer_ppi[MAX_TIMER_PPI];
>> +static int arch_timer_ppi[ARCH_TIMER_MAX_TIMER_PPI];
>>
>>  static struct clock_event_device __percpu *arch_timer_evt;
>>
>> -static enum arch_timer_ppi_nr arch_timer_uses_ppi = VIRT_PPI;
>> +static enum arch_timer_ppi_nr arch_timer_uses_ppi = ARCH_TIMER_VIRT_PPI;
>>  static bool arch_timer_c3stop;
>>  static bool arch_timer_mem_use_virtual;
>>
>> @@ -340,7 +340,7 @@ static void fsl_a008585_set_sne(struct clock_event_device *clk)
>>       if (!static_branch_unlikely(&arch_timer_read_ool_enabled))
>>               return;
>>
>> -     if (arch_timer_uses_ppi == VIRT_PPI)
>> +     if (arch_timer_uses_ppi == ARCH_TIMER_VIRT_PPI)
>>               clk->set_next_event = fsl_a008585_set_next_event_virt;
>>       else
>>               clk->set_next_event = fsl_a008585_set_next_event_phys;
>> @@ -352,7 +352,7 @@ static void __arch_timer_setup(unsigned type,
>>  {
>>       clk->features = CLOCK_EVT_FEAT_ONESHOT;
>>
>> -     if (type == ARCH_CP15_TIMER) {
>> +     if (type == ARCH_TIMER_TYPE_CP15) {
>>               if (arch_timer_c3stop)
>>                       clk->features |= CLOCK_EVT_FEAT_C3STOP;
>>               clk->name = "arch_sys_timer";
>> @@ -360,14 +360,14 @@ static void __arch_timer_setup(unsigned type,
>>               clk->cpumask = cpumask_of(smp_processor_id());
>>               clk->irq = arch_timer_ppi[arch_timer_uses_ppi];
>>               switch (arch_timer_uses_ppi) {
>> -             case VIRT_PPI:
>> +             case ARCH_TIMER_VIRT_PPI:
>>                       clk->set_state_shutdown = arch_timer_shutdown_virt;
>>                       clk->set_state_oneshot_stopped = arch_timer_shutdown_virt;
>>                       clk->set_next_event = arch_timer_set_next_event_virt;
>>                       break;
>> -             case PHYS_SECURE_PPI:
>> -             case PHYS_NONSECURE_PPI:
>> -             case HYP_PPI:
>> +             case ARCH_TIMER_PHYS_SECURE_PPI:
>> +             case ARCH_TIMER_PHYS_NONSECURE_PPI:
>> +             case ARCH_TIMER_HYP_PPI:
>>                       clk->set_state_shutdown = arch_timer_shutdown_phys;
>>                       clk->set_state_oneshot_stopped = arch_timer_shutdown_phys;
>>                       clk->set_next_event = arch_timer_set_next_event_phys;
>> @@ -447,8 +447,8 @@ static void arch_counter_set_user_access(void)
>>
>>  static bool arch_timer_has_nonsecure_ppi(void)
>>  {
>> -     return (arch_timer_uses_ppi == PHYS_SECURE_PPI &&
>> -             arch_timer_ppi[PHYS_NONSECURE_PPI]);
>> +     return (arch_timer_uses_ppi == ARCH_TIMER_PHYS_SECURE_PPI &&
>> +             arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]);
>>  }
>>
>>  static u32 check_ppi_trigger(int irq)
>> @@ -469,14 +469,15 @@ static int arch_timer_starting_cpu(unsigned int cpu)
>>       struct clock_event_device *clk = this_cpu_ptr(arch_timer_evt);
>>       u32 flags;
>>
>> -     __arch_timer_setup(ARCH_CP15_TIMER, clk);
>> +     __arch_timer_setup(ARCH_TIMER_TYPE_CP15, clk);
>>
>>       flags = check_ppi_trigger(arch_timer_ppi[arch_timer_uses_ppi]);
>>       enable_percpu_irq(arch_timer_ppi[arch_timer_uses_ppi], flags);
>>
>>       if (arch_timer_has_nonsecure_ppi()) {
>> -             flags = check_ppi_trigger(arch_timer_ppi[PHYS_NONSECURE_PPI]);
>> -             enable_percpu_irq(arch_timer_ppi[PHYS_NONSECURE_PPI], flags);
>> +             flags = check_ppi_trigger(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]);
>> +             enable_percpu_irq(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI],
>> +                               flags);
>>       }
>>
>>       arch_counter_set_user_access();
>> @@ -513,16 +514,17 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np)
>>  static void arch_timer_banner(unsigned type)
>>  {
>>       pr_info("%s%s%s timer(s) running at %lu.%02luMHz (%s%s%s).\n",
>> -             type & ARCH_CP15_TIMER ? "cp15" : "",
>> -             type == (ARCH_CP15_TIMER | ARCH_MEM_TIMER) ?  " and " : "",
>> -             type & ARCH_MEM_TIMER ? "mmio" : "",
>> +             type & ARCH_TIMER_TYPE_CP15 ? "cp15" : "",
>> +             type == (ARCH_TIMER_TYPE_CP15 | ARCH_TIMER_TYPE_MEM) ?
>> +                     " and " : "",
>> +             type & ARCH_TIMER_TYPE_MEM ? "mmio" : "",
>>               (unsigned long)arch_timer_rate / 1000000,
>>               (unsigned long)(arch_timer_rate / 10000) % 100,
>> -             type & ARCH_CP15_TIMER ?
>> -                     (arch_timer_uses_ppi == VIRT_PPI) ? "virt" : "phys" :
>> +             type & ARCH_TIMER_TYPE_CP15 ?
>> +                     (arch_timer_uses_ppi == ARCH_TIMER_VIRT_PPI) ? "virt" : "phys" :
>>                       "",
>> -             type == (ARCH_CP15_TIMER | ARCH_MEM_TIMER) ?  "/" : "",
>> -             type & ARCH_MEM_TIMER ?
>> +             type == (ARCH_TIMER_TYPE_CP15 | ARCH_TIMER_TYPE_MEM) ? "/" : "",
>> +             type & ARCH_TIMER_TYPE_MEM ?
>>                       arch_timer_mem_use_virtual ? "virt" : "phys" :
>>                       "");
>>  }
>> @@ -588,8 +590,9 @@ static void __init arch_counter_register(unsigned type)
>>       u64 start_count;
>>
>>       /* Register the CP15 based counter if we have one */
>> -     if (type & ARCH_CP15_TIMER) {
>> -             if (IS_ENABLED(CONFIG_ARM64) || arch_timer_uses_ppi == VIRT_PPI)
>> +     if (type & ARCH_TIMER_TYPE_CP15) {
>> +             if (IS_ENABLED(CONFIG_ARM64) ||
>> +                 arch_timer_uses_ppi == ARCH_TIMER_VIRT_PPI)
>>                       arch_timer_read_counter = arch_counter_get_cntvct;
>>               else
>>                       arch_timer_read_counter = arch_counter_get_cntpct;
>> @@ -625,7 +628,7 @@ static void arch_timer_stop(struct clock_event_device *clk)
>>
>>       disable_percpu_irq(arch_timer_ppi[arch_timer_uses_ppi]);
>>       if (arch_timer_has_nonsecure_ppi())
>> -             disable_percpu_irq(arch_timer_ppi[PHYS_NONSECURE_PPI]);
>> +             disable_percpu_irq(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]);
>>
>>       clk->set_state_shutdown(clk);
>>  }
>> @@ -688,24 +691,24 @@ static int __init arch_timer_register(void)
>>
>>       ppi = arch_timer_ppi[arch_timer_uses_ppi];
>>       switch (arch_timer_uses_ppi) {
>> -     case VIRT_PPI:
>> +     case ARCH_TIMER_VIRT_PPI:
>>               err = request_percpu_irq(ppi, arch_timer_handler_virt,
>>                                        "arch_timer", arch_timer_evt);
>>               break;
>> -     case PHYS_SECURE_PPI:
>> -     case PHYS_NONSECURE_PPI:
>> +     case ARCH_TIMER_PHYS_SECURE_PPI:
>> +     case ARCH_TIMER_PHYS_NONSECURE_PPI:
>>               err = request_percpu_irq(ppi, arch_timer_handler_phys,
>>                                        "arch_timer", arch_timer_evt);
>> -             if (!err && arch_timer_ppi[PHYS_NONSECURE_PPI]) {
>> -                     ppi = arch_timer_ppi[PHYS_NONSECURE_PPI];
>> +             if (!err && arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]) {
>> +                     ppi = arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI];
>>                       err = request_percpu_irq(ppi, arch_timer_handler_phys,
>>                                                "arch_timer", arch_timer_evt);
>>                       if (err)
>> -                             free_percpu_irq(arch_timer_ppi[PHYS_SECURE_PPI],
>> +                             free_percpu_irq(arch_timer_ppi[ARCH_TIMER_PHYS_SECURE_PPI],
>>                                               arch_timer_evt);
>>               }
>>               break;
>> -     case HYP_PPI:
>> +     case ARCH_TIMER_HYP_PPI:
>>               err = request_percpu_irq(ppi, arch_timer_handler_phys,
>>                                        "arch_timer", arch_timer_evt);
>>               break;
>> @@ -737,7 +740,7 @@ static int __init arch_timer_register(void)
>>  out_unreg_notify:
>>       free_percpu_irq(arch_timer_ppi[arch_timer_uses_ppi], arch_timer_evt);
>>       if (arch_timer_has_nonsecure_ppi())
>> -             free_percpu_irq(arch_timer_ppi[PHYS_NONSECURE_PPI],
>> +             free_percpu_irq(arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI],
>>                               arch_timer_evt);
>>
>>  out_free:
>> @@ -758,7 +761,7 @@ static int __init arch_timer_mem_register(void __iomem *base, unsigned int irq)
>>
>>       t->base = base;
>>       t->evt.irq = irq;
>> -     __arch_timer_setup(ARCH_MEM_TIMER, &t->evt);
>> +     __arch_timer_setup(ARCH_TIMER_TYPE_MEM, &t->evt);
>>
>>       if (arch_timer_mem_use_virtual)
>>               func = arch_timer_handler_virt_mem;
>> @@ -801,13 +804,15 @@ arch_timer_needs_probing(int type, const struct of_device_id *matches)
>>
>>  static int __init arch_timer_common_init(void)
>>  {
>> -     unsigned mask = ARCH_CP15_TIMER | ARCH_MEM_TIMER;
>> +     unsigned int mask = ARCH_TIMER_TYPE_CP15 | ARCH_TIMER_TYPE_MEM;
>>
>>       /* Wait until both nodes are probed if we have two timers */
>>       if ((arch_timers_present & mask) != mask) {
>> -             if (arch_timer_needs_probing(ARCH_MEM_TIMER, arch_timer_mem_of_match))
>> +             if (arch_timer_needs_probing(ARCH_TIMER_TYPE_MEM,
>> +                                          arch_timer_mem_of_match))
>>                       return 0;
>> -             if (arch_timer_needs_probing(ARCH_CP15_TIMER, arch_timer_of_match))
>> +             if (arch_timer_needs_probing(ARCH_TIMER_TYPE_CP15,
>> +                                          arch_timer_of_match))
>>                       return 0;
>>       }
>>
>> @@ -832,16 +837,16 @@ static int __init arch_timer_init(void)
>>        * their CNTHP_*_EL2 counterparts, and use a different PPI
>>        * number.
>>        */
>> -     if (is_hyp_mode_available() || !arch_timer_ppi[VIRT_PPI]) {
>> +     if (is_hyp_mode_available() || !arch_timer_ppi[ARCH_TIMER_VIRT_PPI]) {
>>               bool has_ppi;
>>
>>               if (is_kernel_in_hyp_mode()) {
>> -                     arch_timer_uses_ppi = HYP_PPI;
>> -                     has_ppi = !!arch_timer_ppi[HYP_PPI];
>> +                     arch_timer_uses_ppi = ARCH_TIMER_HYP_PPI;
>> +                     has_ppi = !!arch_timer_ppi[ARCH_TIMER_HYP_PPI];
>>               } else {
>> -                     arch_timer_uses_ppi = PHYS_SECURE_PPI;
>> -                     has_ppi = (!!arch_timer_ppi[PHYS_SECURE_PPI] ||
>> -                                !!arch_timer_ppi[PHYS_NONSECURE_PPI]);
>> +                     arch_timer_uses_ppi = ARCH_TIMER_PHYS_SECURE_PPI;
>> +                     has_ppi = (!!arch_timer_ppi[ARCH_TIMER_PHYS_SECURE_PPI] ||
>> +                                !!arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI]);
>>               }
>>
>>               if (!has_ppi) {
>> @@ -858,7 +863,7 @@ static int __init arch_timer_init(void)
>>       if (ret)
>>               return ret;
>>
>> -     arch_timer_kvm_info.virtual_irq = arch_timer_ppi[VIRT_PPI];
>> +     arch_timer_kvm_info.virtual_irq = arch_timer_ppi[ARCH_TIMER_VIRT_PPI];
>>
>>       return 0;
>>  }
>> @@ -867,13 +872,13 @@ static int __init arch_timer_of_init(struct device_node *np)
>>  {
>>       int i;
>>
>> -     if (arch_timers_present & ARCH_CP15_TIMER) {
>> +     if (arch_timers_present & ARCH_TIMER_TYPE_CP15) {
>>               pr_warn("multiple nodes in dt, skipping\n");
>>               return 0;
>>       }
>>
>> -     arch_timers_present |= ARCH_CP15_TIMER;
>> -     for (i = PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++)
>> +     arch_timers_present |= ARCH_TIMER_TYPE_CP15;
>> +     for (i = ARCH_TIMER_PHYS_SECURE_PPI; i < ARCH_TIMER_MAX_TIMER_PPI; i++)
>>               arch_timer_ppi[i] = irq_of_parse_and_map(np, i);
>>
>>       arch_timer_detect_rate(NULL, np);
>> @@ -895,7 +900,7 @@ static int __init arch_timer_of_init(struct device_node *np)
>>        */
>>       if (IS_ENABLED(CONFIG_ARM) &&
>>           of_property_read_bool(np, "arm,cpu-registers-not-fw-configured"))
>> -             arch_timer_uses_ppi = PHYS_SECURE_PPI;
>> +             arch_timer_uses_ppi = ARCH_TIMER_PHYS_SECURE_PPI;
>>
>>       return arch_timer_init();
>>  }
>> @@ -909,7 +914,7 @@ static int __init arch_timer_mem_init(struct device_node *np)
>>       unsigned int irq, ret = -EINVAL;
>>       u32 cnttidr;
>>
>> -     arch_timers_present |= ARCH_MEM_TIMER;
>> +     arch_timers_present |= ARCH_TIMER_TYPE_MEM;
>>       cntctlbase = of_iomap(np, 0);
>>       if (!cntctlbase) {
>>               pr_err("Can't find CNTCTLBase\n");
>> @@ -1008,28 +1013,28 @@ static int __init arch_timer_acpi_init(struct acpi_table_header *table)
>>  {
>>       struct acpi_table_gtdt *gtdt;
>>
>> -     if (arch_timers_present & ARCH_CP15_TIMER) {
>> +     if (arch_timers_present & ARCH_TIMER_TYPE_CP15) {
>>               pr_warn("already initialized, skipping\n");
>>               return -EINVAL;
>>       }
>>
>>       gtdt = container_of(table, struct acpi_table_gtdt, header);
>>
>> -     arch_timers_present |= ARCH_CP15_TIMER;
>> +     arch_timers_present |= ARCH_TIMER_TYPE_CP15;
>>
>> -     arch_timer_ppi[PHYS_SECURE_PPI] =
>> +     arch_timer_ppi[ARCH_TIMER_PHYS_SECURE_PPI] =
>>               map_generic_timer_interrupt(gtdt->secure_el1_interrupt,
>>               gtdt->secure_el1_flags);
>>
>> -     arch_timer_ppi[PHYS_NONSECURE_PPI] =
>> +     arch_timer_ppi[ARCH_TIMER_PHYS_NONSECURE_PPI] =
>>               map_generic_timer_interrupt(gtdt->non_secure_el1_interrupt,
>>               gtdt->non_secure_el1_flags);
>>
>> -     arch_timer_ppi[VIRT_PPI] =
>> +     arch_timer_ppi[ARCH_TIMER_VIRT_PPI] =
>>               map_generic_timer_interrupt(gtdt->virtual_timer_interrupt,
>>               gtdt->virtual_timer_flags);
>>
>> -     arch_timer_ppi[HYP_PPI] =
>> +     arch_timer_ppi[ARCH_TIMER_HYP_PPI] =
>>               map_generic_timer_interrupt(gtdt->non_secure_el2_interrupt,
>>               gtdt->non_secure_el2_flags);
>>
>> diff --git a/include/clocksource/arm_arch_timer.h b/include/clocksource/arm_arch_timer.h
>> index d23c381..2625ff1 100644
>> --- a/include/clocksource/arm_arch_timer.h
>> +++ b/include/clocksource/arm_arch_timer.h
>> @@ -20,18 +20,18 @@
>>  #include <linux/timecounter.h>
>>  #include <linux/types.h>
>>
>> -#define ARCH_CP15_TIMER                      BIT(0)
>> -#define ARCH_MEM_TIMER                       BIT(1)
>> +#define ARCH_TIMER_TYPE_CP15         BIT(0)
>> +#define ARCH_TIMER_TYPE_MEM          BIT(1)
>>
>> -#define ARCH_TIMER_CTRL_ENABLE               (1 << 0)
>> -#define ARCH_TIMER_CTRL_IT_MASK              (1 << 1)
>> -#define ARCH_TIMER_CTRL_IT_STAT              (1 << 2)
>> +#define ARCH_TIMER_CTRL_ENABLE               BIT(0)
>> +#define ARCH_TIMER_CTRL_IT_MASK              BIT(1)
>> +#define ARCH_TIMER_CTRL_IT_STAT              BIT(2)
>>
>> -#define CNTHCTL_EL1PCTEN             (1 << 0)
>> -#define CNTHCTL_EL1PCEN                      (1 << 1)
>> -#define CNTHCTL_EVNTEN                       (1 << 2)
>> -#define CNTHCTL_EVNTDIR                      (1 << 3)
>> -#define CNTHCTL_EVNTI                        (0xF << 4)
>> +#define ARCH_TIMER_CNTHCTL_EL1PCTEN  BIT(0)
>> +#define ARCH_TIMER_CNTHCTL_EL1PCEN   BIT(1)
>> +#define ARCH_TIMER_CNTHCTL_EVNTEN    BIT(2)
>> +#define ARCH_TIMER_CNTHCTL_EVNTDIR   BIT(3)
>> +#define ARCH_TIMER_CNTHCTL_EVNTI     (0xF << 4)
>>
>>  enum arch_timer_reg {
>>       ARCH_TIMER_REG_CTRL,
>> @@ -39,11 +39,11 @@ enum arch_timer_reg {
>>  };
>>
>>  enum arch_timer_ppi_nr {
>> -     PHYS_SECURE_PPI,
>> -     PHYS_NONSECURE_PPI,
>> -     VIRT_PPI,
>> -     HYP_PPI,
>> -     MAX_TIMER_PPI
>> +     ARCH_TIMER_PHYS_SECURE_PPI,
>> +     ARCH_TIMER_PHYS_NONSECURE_PPI,
>> +     ARCH_TIMER_VIRT_PPI,
>> +     ARCH_TIMER_HYP_PPI,
>> +     ARCH_TIMER_MAX_TIMER_PPI
>>  };
>>
>>  enum arch_timer_spi_nr {
>> @@ -57,13 +57,13 @@ enum arch_timer_spi_nr {
>>  #define ARCH_TIMER_MEM_PHYS_ACCESS   2
>>  #define ARCH_TIMER_MEM_VIRT_ACCESS   3
>>
>> -#define ARCH_TIMER_USR_PCT_ACCESS_EN (1 << 0) /* physical counter */
>> -#define ARCH_TIMER_USR_VCT_ACCESS_EN (1 << 1) /* virtual counter */
>> -#define ARCH_TIMER_VIRT_EVT_EN               (1 << 2)
>> +#define ARCH_TIMER_USR_PCT_ACCESS_EN BIT(0) /* physical counter */
>> +#define ARCH_TIMER_USR_VCT_ACCESS_EN BIT(1) /* virtual counter */
>> +#define ARCH_TIMER_VIRT_EVT_EN               BIT(2)
>>  #define ARCH_TIMER_EVT_TRIGGER_SHIFT (4)
>>  #define ARCH_TIMER_EVT_TRIGGER_MASK  (0xF << ARCH_TIMER_EVT_TRIGGER_SHIFT)
>> -#define ARCH_TIMER_USR_VT_ACCESS_EN  (1 << 8) /* virtual timer registers */
>> -#define ARCH_TIMER_USR_PT_ACCESS_EN  (1 << 9) /* physical timer registers */
>> +#define ARCH_TIMER_USR_VT_ACCESS_EN  BIT(8) /* virtual timer registers */
>> +#define ARCH_TIMER_USR_PT_ACCESS_EN  BIT(9) /* physical timer registers */
>>
>>  #define ARCH_TIMER_EVT_STREAM_FREQ   10000   /* 100us */
>>
>> diff --git a/virt/kvm/arm/hyp/timer-sr.c b/virt/kvm/arm/hyp/timer-sr.c
>> index 798866a..695b9d9 100644
>> --- a/virt/kvm/arm/hyp/timer-sr.c
>> +++ b/virt/kvm/arm/hyp/timer-sr.c
>> @@ -37,7 +37,7 @@ void __hyp_text __timer_save_state(struct kvm_vcpu *vcpu)
>>
>>       /* Allow physical timer/counter access for the host */
>>       val = read_sysreg(cnthctl_el2);
>> -     val |= CNTHCTL_EL1PCTEN | CNTHCTL_EL1PCEN;
>> +     val |= ARCH_TIMER_CNTHCTL_EL1PCTEN | ARCH_TIMER_CNTHCTL_EL1PCEN;
>>       write_sysreg(val, cnthctl_el2);
>>
>>       /* Clear cntvoff for the host */
>> @@ -55,8 +55,8 @@ void __hyp_text __timer_restore_state(struct kvm_vcpu *vcpu)
>>        * Physical counter access is allowed
>>        */
>>       val = read_sysreg(cnthctl_el2);
>> -     val &= ~CNTHCTL_EL1PCEN;
>> -     val |= CNTHCTL_EL1PCTEN;
>> +     val &= ~ARCH_TIMER_CNTHCTL_EL1PCEN;
>> +     val |= ARCH_TIMER_CNTHCTL_EL1PCTEN;
>>       write_sysreg(val, cnthctl_el2);
>>
>>       if (timer->enabled) {
>> --
>> 2.7.4
>>



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ