Message ID | 20220804172939.325306-1-huqi@loongson.cn |
---|---|
State | New |
Headers | show |
Series | disas: Add LoongArch support | expand |
On Thu, 4 Aug 2022 at 18:32, Qi Hu <huqi@loongson.cn> wrote:
>
More specifically, this is adding support for disassembling
on LoongArch hosts. The handling of disassembling LoongArch
guests is already connected up.
thanks
-- PMM
On 8/4/22 10:29, Qi Hu wrote: > Signed-off-by: Qi Hu <huqi@loongson.cn> > --- > disas.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/disas.c b/disas.c > index e31438f349..d44feeee46 100644 > --- a/disas.c > +++ b/disas.c > @@ -176,6 +176,8 @@ static void initialize_debug_host(CPUDebug *s) > #else > #error unsupported RISC-V ABI > #endif > +#elif defined(__loongarch__) > + s->info.print_insn = print_insn_loongarch; This is very much insufficient. Try --target-list=i386-softmmu and watch it fail to link. You need to modify the build rules to make certain that the loongarch disassembler is built for loongarch host. r~
On 2022/8/5 02:23, Richard Henderson wrote: > On 8/4/22 10:29, Qi Hu wrote: >> Signed-off-by: Qi Hu <huqi@loongson.cn> >> --- >> disas.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/disas.c b/disas.c >> index e31438f349..d44feeee46 100644 >> --- a/disas.c >> +++ b/disas.c >> @@ -176,6 +176,8 @@ static void initialize_debug_host(CPUDebug *s) >> #else >> #error unsupported RISC-V ABI >> #endif >> +#elif defined(__loongarch__) >> + s->info.print_insn = print_insn_loongarch; > > This is very much insufficient. Try --target-list=i386-softmmu and > watch it fail to link. > You need to modify the build rules to make certain that the loongarch > disassembler is built for loongarch host. > > > r~ I realized that "target/loongarch/disas.c" is only used for loongarch target . When the target is not "loongarch", the function "print_insn_loongarch" will not be compiled. Next I will add loongarch support to "disams/*". Thanks. Qi
diff --git a/disas.c b/disas.c index e31438f349..d44feeee46 100644 --- a/disas.c +++ b/disas.c @@ -176,6 +176,8 @@ static void initialize_debug_host(CPUDebug *s) #else #error unsupported RISC-V ABI #endif +#elif defined(__loongarch__) + s->info.print_insn = print_insn_loongarch; #elif defined(__aarch64__) s->info.cap_arch = CS_ARCH_ARM64; #elif defined(__alpha__)
Signed-off-by: Qi Hu <huqi@loongson.cn> --- disas.c | 2 ++ 1 file changed, 2 insertions(+)