Message ID | 20230413071424.3273490-15-jens.wiklander@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Xen FF-A mediator | expand |
Hi Jens, > -----Original Message----- > Subject: [XEN PATCH v8 14/22] xen/arm: move regpair_to_uint64() and > uint64_to_regpair() to regs.h > > Moves the two helper functions regpair_to_uint64() and > uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm > specific regs.h. This enables reuse of these functions in the FF-A > mediator in a subsequent patch. > > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> > Reviewed-by: Michal Orzel <michal.orzel@amd.com> > Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Reviewed-by: Henry Wang <Henry.Wang@arm.com> Kind regards, Henry
Hi Henry, On Thu, Apr 13, 2023 at 1:31 PM Henry Wang <Henry.Wang@arm.com> wrote: > > Hi Jens, > > > -----Original Message----- > > Subject: [XEN PATCH v8 14/22] xen/arm: move regpair_to_uint64() and > > uint64_to_regpair() to regs.h > > > > Moves the two helper functions regpair_to_uint64() and > > uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm > > specific regs.h. This enables reuse of these functions in the FF-A > > mediator in a subsequent patch. > > > > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> > > Reviewed-by: Michal Orzel <michal.orzel@amd.com> > > Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> > > Reviewed-by: Henry Wang <Henry.Wang@arm.com> I'll add it. Thanks, Jens > > Kind regards, > Henry
diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h index 0693a681315f..aa39e83ee5f4 100644 --- a/xen/arch/arm/include/asm/regs.h +++ b/xen/arch/arm/include/asm/regs.h @@ -60,6 +60,18 @@ static inline bool guest_mode(const struct cpu_user_regs *r) register_t get_user_reg(struct cpu_user_regs *regs, int reg); void set_user_reg(struct cpu_user_regs *regs, int reg, register_t val); +static inline uint64_t regpair_to_uint64(register_t reg0, register_t reg1) +{ + return ((uint64_t)reg0 << 32) | (uint32_t)reg1; +} + +static inline void uint64_to_regpair(register_t *reg0, register_t *reg1, + uint64_t val) +{ + *reg0 = val >> 32; + *reg1 = (uint32_t)val; +} + #endif #endif /* __ARM_REGS_H__ */ diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c index 9cb9f16d43cb..47027ecef47c 100644 --- a/xen/arch/arm/tee/optee.c +++ b/xen/arch/arm/tee/optee.c @@ -268,17 +268,6 @@ static int optee_domain_init(struct domain *d) return 0; } -static uint64_t regpair_to_uint64(register_t reg0, register_t reg1) -{ - return ((uint64_t)reg0 << 32) | (uint32_t)reg1; -} - -static void uint64_to_regpair(register_t *reg0, register_t *reg1, uint64_t val) -{ - *reg0 = val >> 32; - *reg1 = (uint32_t)val; -} - static struct page_info *get_domain_ram_page(gfn_t gfn) { struct page_info *page;