HVL path of uvm_reg for reg.write construction in function

Hi Dave
The issue is that the argument as you pointed out the XYZ is an argument in a function
The argument is not evaluated before it goes to the macro
Let’s call the function and the reg_name le’ts make it uvm_reg type)
uvm_reg csr;

csr=find_ral_path_reg(BBS,DVSEC_FBRANGE1HIGH);

I should get as csr the following

m_tb_env.m_Ral2.ial_tc_bbs.DVSEC_FBRANGE1HIGH where the DVSEC_FBRANGE1HIGH

If I call the functions passing a different register name i.e

csr=find_ral_path_reg(BBS,DVSEC_FBRANGE1HIGH5); I should get as csr

m_tb_env.m_Ral2.ial_tc_bbs.DVSEC_FBRANGE1HIGH5

but I am not getting that
I am always getting
m_tb_env.m_Ral2.ial_tc_bbs.reg

I am getting the name I use as an argument to the macro
Is there a way the macro argument to be evaluated to whatever is being passed in the function?

Thanks