qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/3] ipmi: Don't set the timestamp on add events


From: Cédric Le Goater
Subject: Re: [Qemu-devel] [PATCH 2/3] ipmi: Don't set the timestamp on add events that don't have it
Date: Sun, 20 Aug 2017 09:51:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 08/19/2017 11:40 PM, address@hidden wrote:
> From: Corey Minyard <address@hidden>
> 
> According to the spec, event types from 0x0e to 0xff do not have a
> timestamp.  

>From section "32.3 OEM SEL Record - Type E0h-FFh"

> So don't set it when adding those types.  This required
> putting the timestamp in a temporary buffer, since it's still required
> to set the last addition time.
> 
> Signed-off-by: Corey Minyard <address@hidden>

Reviewed-by: Cédric Le Goater <address@hidden>

> ---
>  hw/ipmi/ipmi_bmc_sim.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
> index 1c732aa..0f191e8 100644
> --- a/hw/ipmi/ipmi_bmc_sim.c
> +++ b/hw/ipmi/ipmi_bmc_sim.c
> @@ -443,16 +443,20 @@ static void sel_inc_reservation(IPMISel *sel)
>  /* Returns 1 if the SEL is full and can't hold the event. */
>  static int sel_add_event(IPMIBmcSim *ibs, uint8_t *event)
>  {
> +    uint8_t ts[4];
> +
>      event[0] = 0xff;
>      event[1] = 0xff;
> -    set_timestamp(ibs, event + 3);
> +    set_timestamp(ibs, ts);
> +    if (event[2] < 0xe0) /* Don't set timestamps for these, per the spec. */
> +        memcpy(event + 3, ts, 4);
>      if (ibs->sel.next_free == MAX_SEL_SIZE) {
>          ibs->sel.overflow = 1;
>          return 1;
>      }
>      event[0] = ibs->sel.next_free & 0xff;
>      event[1] = (ibs->sel.next_free >> 8) & 0xff;
> -    memcpy(ibs->sel.last_addition, event + 3, 4);
> +    memcpy(ibs->sel.last_addition, ts, 4);
>      memcpy(ibs->sel.sel[ibs->sel.next_free], event, 16);
>      ibs->sel.next_free++;
>      sel_inc_reservation(&ibs->sel);
> 




reply via email to

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