[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v4 3/3] hw/cxl: Multi-Region CXL Type-3 Devices (Volatile and P
From: |
Gregory Price |
Subject: |
Re: [RFC v4 3/3] hw/cxl: Multi-Region CXL Type-3 Devices (Volatile and Persistent) |
Date: |
Thu, 8 Dec 2022 18:06:30 -0500 |
On Thu, Dec 08, 2022 at 10:55:58PM +0000, Fan Ni wrote:
> On Mon, Nov 28, 2022 at 10:01:57AM -0500, Gregory Price wrote:
> >
> > - if (cxl_dstate->pmem_size < CXL_CAPACITY_MULTIPLIER) {
> > + if ((cxl_dstate->vmem_size < CXL_CAPACITY_MULTIPLIER) ||
> > + (cxl_dstate->pmem_size < CXL_CAPACITY_MULTIPLIER)) {
> > return CXL_MBOX_INTERNAL_ERROR;
> > }
> For a cxl configuration with only pmem or vmem, vmem_size or pmem_size
> can be 0 and fail the check?
>
While nonsensical, i believe it's technically supported. The prior
implementation likewise enabled pmem_size to be 0 in these checks.
> >
> > +error_cleanup:
> > + int i;
> > + for (i = 0; i < cur_ent; i++) {
> > + g_free(table[i]);
> > + }
> > + return rc;
> > }
>
> I hit an error when compiling with gcc version 9.4.0
> (Ubuntu 9.4.0-1ubuntu1~20.04.1), maybe moving the declaration of `i` to
> the following loop.
>
>
> ../hw/mem/cxl_type3.c:211:5: error: a label can only be part of a statement
> and a declaration is not a statement
> 211 | int i;
> | ^~~
Moved the declaration to the top fo the function with the rest of the
declarations. Good catch.