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