Ping! If this or orphaned, I'd like to send the PULL on the H-freeze.
Regards, Peter On Tue, Jun 23, 2015 at 8:57 PM, Peter Crosthwaite <crosthwaitepe...@gmail.com> wrote: > These two functions are mostly trying to do the same thing, which is > disassemble a target instruction (sequence) for printfing. The > architecture specific setup is largely duped between the two functions. > > The approach is to add a single QOM hook on the CPU level to setup the > disassembler (P1&2). The two stage flags system is removed. That is, > the old scheme, is for the translate/montitor code to pass in flags > that disas.c then interprets. Instead the entire job of setting up arch > specifics is outsourced to target-specific code (via the new QOM hook) > removing the need for the flags system. Both monitor_disas and > target_disas then calls this singly defined hook if it is available. > > Three architectures (microblaze, cris and ARM) are patched > to use the new QOMification and at the same time, make the > monitor_disas consistent with target_disas. The #if defined TARGET_FOO > for each is removed from disas.c (bringing us closer to the exciting > goal of no #ifdef TARGET_FOO in system mode code). > > Microblaze is trivial, the target_disas setup is directly applicable > to monitor_disas to bring in microblaze monitor disas support (P5). > > Cris had a small hiccup, a patch is needed to handle monitor_disas's > 0 buffer length (P6). Then cris is patched to enable monitor disas > in same way as microblaze (P7). > > ARM is the harder. The vixl A64 disas was hardcoded to fprintf with > a statically inited output stream (matching target_disas). The vixl > printfery is patched to be runtime variable (P3). P4 brings > ARM monitor disassembly online (via using the target_disas > implementation as the QOMified implementation). > > Changed since v3: > Minor commit message tweaks. > Fix CPP contructor argument order. > > Changed since v2 (RTH/PMM review): > Rebased on monitor+disas ENV_GET_CPU removal > Fixed minor comments (see indiv patches). > > Changed since v1 (RTH review): > Use QOMified approach. > Remove flags system. > Limit scope to only the 3 converted arches > Addressed comments on CPP constructor changes > > Peter Crosthwaite (7): > disas: Add print_insn to disassemble info > disas: QOMify target specific setup > disas: arm-a64: Make printfer and stream variable > disas: arm: QOMify target specific disas setup > disas: microblaze: QOMify target specific disas setup > disas: cris: Fix 0 buffer length case > disas: cris: QOMify target specific disas setup > > disas.c | 119 > ++++++++++++++++++------------------------------ > disas/arm-a64.cc | 22 +++++++-- > disas/cris.c | 6 +-- > include/disas/bfd.h | 6 +++ > include/qom/cpu.h | 4 ++ > target-arm/cpu.c | 35 ++++++++++++++ > target-cris/cpu.c | 16 +++++++ > target-microblaze/cpu.c | 8 ++++ > 8 files changed, 133 insertions(+), 83 deletions(-) > > -- > 1.9.1 > >