Peter Xu <pet...@redhat.com> writes:

> Hi, all,
>
> I met one problem when trying to add a new public function in dump.h
> named "dump_state_get_global" and using it in hmp.c. What I got is
> something like:
>
> In file included from /root/git/qemu/hmp.c:35:0:
> /root/git/qemu/include/sysemu/dump.h:26:34: error: attempt to use
> poisoned "TARGET_PAGE_BITS"
>      (((unsigned long long)(X) >> TARGET_PAGE_BITS) - ARCH_PFN_OFFSET)
>
> I did a quick look on the poison.h file, seeing that it should be
> used to avoid using arch-depentent macros in arch-independent
> codes. That's cool. However, that's also problem to me.
>
> The problem is: First of all, dump itself is arch
> dependent. Meanwhile, hmp.c is not. Also, what I am trying to add is
> arch indepentent too (just like hmp.c). Now if I include "dump.h" in
> hmp.c to use that function, I may encounter the error message.
>
> I got one idea, which is to split dump.h into two header files:
> dump.h and dump-arch-indep.h (the latter name could be of course
> shorter). So that I can move arch independent declarations into that
> new header file and use it in hmp.h. Not sure whether this is the
> good one to go.
>
> Does anyone have suggestion on what I should do?

What would the contents of an arch-independent dump.h be?  If it's
interesting, keeping it in its own header probably makes sense.  If not,
perhaps we can find an existing header to use.  Can't say more than that
without seeing the actual contents.

Reply via email to