On Wed, Mar 9, 2022 at 8:50 AM Quentin Perret <qperret@xxxxxxxxxx> wrote: > > On Tuesday 08 Mar 2022 at 15:09:18 (-0800), Kalesh Singh wrote: > > On Tue, Mar 8, 2022 at 12:21 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > > It looks odd to use an error pointer casted to unsigned long to return > > > from an address allocation function. Why not pass a pointer for base > > > like the function was written before and return an int from this > > > function with 0 for success and negative error value?Otherwise some > > > sort of define should made like DMA_MAPPING_ERROR and that can be used > > > to indicate to the caller that the allocation failed, or a simple zero > > > may work? > > > > I wanted to keep consistent between the pkvm and traditional nvhe > > code. I will refactor both *alloc_private_va_range() functions to take > > a pointer and return an int error if that's preferred. There would > > still be a case of this kind of cast in > > __pkvm_create_private_mapping() which does return an unsigned long > > address or ERR_PTR(...). It looks like it was made to return the > > address to facilitate use as a hypercall (@Quentin CMIW). > > Yep, passing everything by value was much easier to cross the EL1/EL2 > boundary as that avoids having the hypervisor map kernel memory and all > that fun. But Stephen's point is fair, so no objection from to keep this > little dance confined to the hypercall wrapper and make the function > signature nicer and easier to use for the rest of the code. Thanks for clarifying Quentin. That sounds good to me. - Kalesh > > Cheers, > Quentin _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm