Message ID | 20201001163429.1348-6-luoyonggang@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable plugin support on msys2/mingw | expand |
Yonggang Luo <luoyonggang@gmail.com> writes: > This is used for counting how much function are export to qemu plugin. > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> > --- > plugins/api.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/plugins/api.c b/plugins/api.c > index f16922ca8b..d325084385 100644 > --- a/plugins/api.c > +++ b/plugins/api.c > @@ -252,10 +252,12 @@ bool qemu_plugin_mem_is_store(qemu_plugin_meminfo_t info) > > #ifdef CONFIG_SOFTMMU > static __thread struct qemu_plugin_hwaddr hwaddr_info; > +#endif > > struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > uint64_t vaddr) > { > +#ifdef CONFIG_SOFTMMU > CPUState *cpu = current_cpu; > unsigned int mmu_idx = info >> TRACE_MEM_MMU_SHIFT; > hwaddr_info.is_store = info & TRACE_MEM_ST; > @@ -267,14 +269,10 @@ struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > } > > return &hwaddr_info; > -} > #else > -struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > - uint64_t vaddr) > -{ > return NULL; > -} > #endif > +} Hmm I'm not sure about this, surely you want the plugin system to complain early if your plugin is going to use a function that is incorrect for the mode you are running in? Although we do currently unconditionally export the syscall functions and arguably they should be CONFIG_USER only as well. > > bool qemu_plugin_hwaddr_is_io(const struct qemu_plugin_hwaddr *haddr) > {
On Mon, Oct 5, 2020 at 6:48 PM Alex Bennée <alex.bennee@linaro.org> wrote: > > > Yonggang Luo <luoyonggang@gmail.com> writes: > > > This is used for counting how much function are export to qemu plugin. > > > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> > > --- > > plugins/api.c | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > > > diff --git a/plugins/api.c b/plugins/api.c > > index f16922ca8b..d325084385 100644 > > --- a/plugins/api.c > > +++ b/plugins/api.c > > @@ -252,10 +252,12 @@ bool qemu_plugin_mem_is_store(qemu_plugin_meminfo_t info) > > > > #ifdef CONFIG_SOFTMMU > > static __thread struct qemu_plugin_hwaddr hwaddr_info; > > +#endif > > > > struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > > uint64_t vaddr) > > { > > +#ifdef CONFIG_SOFTMMU > > CPUState *cpu = current_cpu; > > unsigned int mmu_idx = info >> TRACE_MEM_MMU_SHIFT; > > hwaddr_info.is_store = info & TRACE_MEM_ST; > > @@ -267,14 +269,10 @@ struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > > } > > > > return &hwaddr_info; > > -} > > #else > > -struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, > > - uint64_t vaddr) > > -{ > > return NULL; > > -} > > #endif > > +} > > Hmm I'm not sure about this, surely you want the plugin system to > complain early if your plugin is going to use a function that is > incorrect for the mode you are running in? I merged these two function for couting how much function are exported, so getting the code easier to review, otherwise function qemu_plugin_get_hwaddr would be exported twice. > > Although we do currently unconditionally export the syscall functions > and arguably they should be CONFIG_USER only as well. > > > > > bool qemu_plugin_hwaddr_is_io(const struct qemu_plugin_hwaddr *haddr) > > { > > > -- > Alex Bennée -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo
罗勇刚(Yonggang Luo) <luoyonggang@gmail.com> writes: > On Mon, Oct 5, 2020 at 6:48 PM Alex Bennée <alex.bennee@linaro.org> wrote: >> >> >> Yonggang Luo <luoyonggang@gmail.com> writes: >> >> > This is used for counting how much function are export to qemu plugin. >> > >> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> >> > --- >> > plugins/api.c | 8 +++----- >> > 1 file changed, 3 insertions(+), 5 deletions(-) >> > >> > diff --git a/plugins/api.c b/plugins/api.c >> > index f16922ca8b..d325084385 100644 >> > --- a/plugins/api.c >> > +++ b/plugins/api.c >> > @@ -252,10 +252,12 @@ bool > qemu_plugin_mem_is_store(qemu_plugin_meminfo_t info) >> > >> > #ifdef CONFIG_SOFTMMU >> > static __thread struct qemu_plugin_hwaddr hwaddr_info; >> > +#endif >> > >> > struct qemu_plugin_hwaddr > *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, >> > uint64_t vaddr) >> > { >> > +#ifdef CONFIG_SOFTMMU >> > CPUState *cpu = current_cpu; >> > unsigned int mmu_idx = info >> TRACE_MEM_MMU_SHIFT; >> > hwaddr_info.is_store = info & TRACE_MEM_ST; >> > @@ -267,14 +269,10 @@ struct qemu_plugin_hwaddr > *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, >> > } >> > >> > return &hwaddr_info; >> > -} >> > #else >> > -struct qemu_plugin_hwaddr > *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, >> > - uint64_t vaddr) >> > -{ >> > return NULL; >> > -} >> > #endif >> > +} >> >> Hmm I'm not sure about this, surely you want the plugin system to >> complain early if your plugin is going to use a function that is >> incorrect for the mode you are running in? > I merged these two function for couting how much function are exported, so > getting the code easier to review, otherwise > function qemu_plugin_get_hwaddr would be exported twice. Ahh I see now.. Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/plugins/api.c b/plugins/api.c index f16922ca8b..d325084385 100644 --- a/plugins/api.c +++ b/plugins/api.c @@ -252,10 +252,12 @@ bool qemu_plugin_mem_is_store(qemu_plugin_meminfo_t info) #ifdef CONFIG_SOFTMMU static __thread struct qemu_plugin_hwaddr hwaddr_info; +#endif struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, uint64_t vaddr) { +#ifdef CONFIG_SOFTMMU CPUState *cpu = current_cpu; unsigned int mmu_idx = info >> TRACE_MEM_MMU_SHIFT; hwaddr_info.is_store = info & TRACE_MEM_ST; @@ -267,14 +269,10 @@ struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, } return &hwaddr_info; -} #else -struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info, - uint64_t vaddr) -{ return NULL; -} #endif +} bool qemu_plugin_hwaddr_is_io(const struct qemu_plugin_hwaddr *haddr) {
This is used for counting how much function are export to qemu plugin. Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> --- plugins/api.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)