From: Nguyen A. Q. <aq...@gm...> - 2019-08-09 04:07:17
|
On Fri, Aug 9, 2019, 04:16 Derrick McKee <der...@gm...> wrote: > It was taking too long to write all this, so I went a different route. The > good news is that I have generated the PPC and Mips instruction operand > mapping. However, I am kind of confused as to where I should be calling > the set_mem_access function in the respective InstWriter.c files (and > associated GenInstWrite.inc files). Any intuition as to where they should > be placed would be appreciated. Thanks! > That function is to set memory access property for related operand. You can take some examples having memory operand, and see how your new code works. If you are still unsure, no worry, i can help with that after i see your code. Cheers. > On Wed, Jul 31, 2019 at 8:29 AM Derrick McKee <der...@gm...> > wrote: > >> The idea is to make the generation of the needed inc file less of a black >> box, and ensure that it is properly ordered. >> >> On Wed, Jul 31, 2019, 06:42 Nguyen Anh Quynh <aq...@gm...> wrote: >> >>> >>> >>> On Tue, Jul 30, 2019, 23:07 Derrick McKee <der...@gm...> >>> wrote: >>> >>>> So, looking closer at the existing MappingInsnOp.inc files, it looks >>>> like my proposed YAML format is not suitable. So instead I propose the >>>> following: >>>> >>>> output: "MipMappingInsnOp.inc" >>>> Insns: >>>> - enum: MIPS_INS_ABSQ_S >>>> subtypes: >>>> - examples: { >>>> Mips_ABSQ_S_PH: "ABSQ_S.PH rd, rt", >>>> Mips_ABSQ_S_QB: "ABSQ_S.QB rd, rt", >>>> Mips_ABSQ_S_W: "ABSQ_S.W rd, rt" >>>> } >>>> operands: >>>> - read: No >>>> write: Yes >>>> - read: Yes >>>> write: No >>>> >>> >>> Yes sounds good. >>> >>> But how does this make it better than current .inc format? A bit more >>> readability, but not too much to me. >>> >>> >>> >>>> >>>> On Tue, Jul 30, 2019 at 8:45 AM Derrick McKee <der...@gm...> >>>> wrote: >>>> >>>>> I think I am mostly done with the C implementation, and have updated >>>>> the bindings. I just need to generate the {Mips,PPC}MappingInsnOp.inc >>>>> files. The existing files for ARM and x86 seem to contain the read/write >>>>> information for every instruction, sorted by enum name. They also say that >>>>> they were autogenerated, but I guess that isn't quite correct. I am >>>>> thinking that I can write a Python script that reads in a YAML file, and >>>>> outputs the properly sorted inc file containing all the information >>>>> (including comments) currently in existing InsnOp.inc files. The YAML file >>>>> will have a structure like the following: >>>>> >>>>> output: "MipsMappingInsnOp.inc" >>>>> Insns: >>>>> - enum: MIPS_INS_ADD >>>>> example: "add $d, $t, $s" >>>>> operands: >>>>> - read: No >>>>> write: Yes >>>>> - read: Yes >>>>> write: No >>>>> - read: Yes >>>>> write: No >>>>> >>>>> Thoughts? >>>>> >>>>> On Tue, Jul 30, 2019 at 1:24 AM Nguyen Anh Quynh <aq...@gm...> >>>>> wrote: >>>>> >>>>>> Those .inc files involved a lot of manual work, that is why it takes >>>>>> time. >>>>>> >>>>>> What is your progress? >>>>>> >>>>>> Cheers. >>>>>> >>>>>> On Mon, Jul 29, 2019, 23:47 Derrick McKee <der...@gm...> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I am beginning to add support for regs_access for MIPS and PPC. >>>>>>> Currently, I am following what has been done for ARM and x86, which as far >>>>>>> as I can tell for PPC involves adding a new access member to the >>>>>>> cs_ppc_op struct, writing a new PPC_regs_access function, and >>>>>>> setting the regs_access function pointer in cs_struct in >>>>>>> PPC_global_init. My question is how is the access member set? For >>>>>>> both ARM and x86, there is a MappingInsnOp.inc file that appears to be >>>>>>> autogenerated, which contains the access information. How was this file >>>>>>> generated? >>>>>>> >>>>>>> -- >>>>>>> Derrick McKee >>>>>>> Phone: (703) 957-9362 >>>>>>> Email: der...@gm... >>>>>>> _______________________________________________ >>>>>>> Capstone-users mailing list >>>>>>> Cap...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/capstone-users >>>>>>> >>>>>> _______________________________________________ >>>>>> Capstone-users mailing list >>>>>> Cap...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/capstone-users >>>>>> >>>>> >>>>> >>>>> -- >>>>> Derrick McKee >>>>> Phone: (703) 957-9362 >>>>> Email: der...@gm... >>>>> >>>> >>>> >>>> -- >>>> Derrick McKee >>>> Phone: (703) 957-9362 >>>> Email: der...@gm... >>>> _______________________________________________ >>>> Capstone-users mailing list >>>> Cap...@li... >>>> https://lists.sourceforge.net/lists/listinfo/capstone-users >>>> >>> _______________________________________________ >>> Capstone-users mailing list >>> Cap...@li... >>> https://lists.sourceforge.net/lists/listinfo/capstone-users >>> >> > > -- > Derrick McKee > Phone: (703) 957-9362 > Email: der...@gm... > _______________________________________________ > Capstone-users mailing list > Cap...@li... > https://lists.sourceforge.net/lists/listinfo/capstone-users > |