diff mbox

linux-user/syscall.c: Fix typo issue for using target_vec[i].iov_len instead of target_vec[i].iov_base

Message ID 54C21D76.8050808@sunrus.com.cn
State New
Headers show

Commit Message

Chen Gang Jan. 23, 2015, 10:07 a.m. UTC
It is only a typo issue, need use tswapal(target_vec[i].iov_len) for the
len.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 linux-user/syscall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Jan. 23, 2015, 10:08 a.m. UTC | #1
On 23 January 2015 at 10:07, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
> It is only a typo issue, need use tswapal(target_vec[i].iov_len) for the
> len.
>
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---
>  linux-user/syscall.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index a66c2ae..8260ed7 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1896,7 +1896,7 @@ static void unlock_iovec(struct iovec *vec, abi_ulong target_addr,
>      if (target_vec) {
>          for (i = 0; i < count; i++) {
>              abi_ulong base = tswapal(target_vec[i].iov_base);
> -            abi_long len = tswapal(target_vec[i].iov_base);
> +            abi_long len = tswapal(target_vec[i].iov_len);
>              if (len < 0) {
>                  break;
>              }
> --
> 1.9.3 (Apple Git-50)

Nice catch.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
Chen Gang Jan. 23, 2015, 10:57 a.m. UTC | #2
Thank you for all of your work.

I plan to let qemu support tile architecture: "can let gcc run testsuite
with qemu for tile". It is really hard to me, but I should try, it is my
duty (I met it, and it's within my boarder, although no one pay for me).
:-)

At present, I am just preparing:

 - Reading architecture related documents (thank tile kernel member, who
   let me know about all tile architecture related documents).

 - Reading qemu architecture related code for understanding how to add
   tile code for qemu.

 - After preparing, I should provide a schedule for it (the steps, and
   the time point, and the risks which I may face to). Hope I can finish
   preparing within this month.

Welcome any ideas, suggestions and completions by any members, e.g.

 - Share any related documents or knowledge for architecture.

 - Is there any original code for tile? Maybe originally, someone tried
   qemu for tile, but the related code was not merged into main line.

 - Suggestions about the schedule: the common steps, the time resources
   may need, and which risks have to face to.


Thanks.

On 1/23/15 18:08, Peter Maydell wrote:
> On 23 January 2015 at 10:07, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
>> It is only a typo issue, need use tswapal(target_vec[i].iov_len) for the
>> len.
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
>>  linux-user/syscall.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>> index a66c2ae..8260ed7 100644
>> --- a/linux-user/syscall.c
>> +++ b/linux-user/syscall.c
>> @@ -1896,7 +1896,7 @@ static void unlock_iovec(struct iovec *vec, abi_ulong target_addr,
>>      if (target_vec) {
>>          for (i = 0; i < count; i++) {
>>              abi_ulong base = tswapal(target_vec[i].iov_base);
>> -            abi_long len = tswapal(target_vec[i].iov_base);
>> +            abi_long len = tswapal(target_vec[i].iov_len);
>>              if (len < 0) {
>>                  break;
>>              }
>> --
>> 1.9.3 (Apple Git-50)
> 
> Nice catch.
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> 
> thanks
> -- PMM
>
Peter Maydell Jan. 23, 2015, 11:21 a.m. UTC | #3
On 23 January 2015 at 10:57, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
>
> Thank you for all of your work.
>
> I plan to let qemu support tile architecture: "can let gcc run testsuite
> with qemu for tile". It is really hard to me, but I should try, it is my
> duty (I met it, and it's within my boarder, although no one pay for me).
> :-)

> Welcome any ideas, suggestions and completions by any members

My single biggest suggestion is to make sure you split the work
up so that you can post parts of it as you go along. Typically
for a target-*/ new port that looks something like
 * initial framework, but no instruction decode (so all instructions
   just throw an illegal instruction exception)
 * support for one or a few simple classes of instruction
 * gradually fill in the gaps of missing instructions

This way you get the benefit of code review on your early patches,
so you can write the later ones in line with the comments you
get on the first patches. We also get to review the code in
smaller and more manageable chunks.

I think the last target code to go in was target-tricore; you
could look back in the git history and the archives to get an
idea of how to structure the patchset and the kinds of review
comment that patchseries received.

thanks
-- PMM
Peter Maydell Jan. 23, 2015, 1:55 p.m. UTC | #4
On 23 January 2015 at 14:01, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
> What I shall do for tile qemu should obey the related license of qemu
> (all the related code should belong to qemu upstream). If necessary to
> follow some copyright working flow, please let me know, I shall follow.

We don't have a copyright assignment process. I recommend
reading http://wiki.qemu.org/Contribute/SubmitAPatch if you haven't
already.

thanks
-- PMM
Chen Gang Jan. 23, 2015, 2:01 p.m. UTC | #5
On 1/23/15 19:21, Peter Maydell wrote:
> On 23 January 2015 at 10:57, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
>>
>> Thank you for all of your work.
>>
>> I plan to let qemu support tile architecture: "can let gcc run testsuite
>> with qemu for tile". It is really hard to me, but I should try, it is my
>> duty (I met it, and it's within my boarder, although no one pay for me).
>> :-)
> 
>> Welcome any ideas, suggestions and completions by any members
> 
> My single biggest suggestion is to make sure you split the work
> up so that you can post parts of it as you go along. Typically
> for a target-*/ new port that looks something like
>  * initial framework, but no instruction decode (so all instructions
>    just throw an illegal instruction exception)
>  * support for one or a few simple classes of instruction
>  * gradually fill in the gaps of missing instructions
> 
> This way you get the benefit of code review on your early patches,
> so you can write the later ones in line with the comments you
> get on the first patches. We also get to review the code in
> smaller and more manageable chunks.
> 
> I think the last target code to go in was target-tricore; you
> could look back in the git history and the archives to get an
> idea of how to structure the patchset and the kinds of review
> comment that patchseries received.
> 

That sounds a good idea to me. In this way, I will bother qemu upstream
frequently (which also means will get much help from qemu upstream for
tile, frequently).

If can get much help from qemu upstream frequently (in above way), I
guess, it is possible to me to finish it: "let gcc run testsuit with
tile qemu". :-)

What I shall do for tile qemu should obey the related license of qemu
(all the related code should belong to qemu upstream). If necessary to
follow some copyright working flow, please let me know, I shall follow.


Thanks.
Chen Gang Jan. 23, 2015, 9:10 p.m. UTC | #6
On 1/23/15 21:55, Peter Maydell wrote:
> On 23 January 2015 at 14:01, Chen Gang S <gang.chen@sunrus.com.cn> wrote:
>> What I shall do for tile qemu should obey the related license of qemu
>> (all the related code should belong to qemu upstream). If necessary to
>> follow some copyright working flow, please let me know, I shall follow.
> 
> We don't have a copyright assignment process. I recommend
> reading http://wiki.qemu.org/Contribute/SubmitAPatch if you haven't
> already.
> 

OK, thank. I assume (or declare):

 - The code what I write for qemu are all provided by myself (personal),
   not by any companies or any organizations (no one pay for it).

 - The documents which I have get are all free (e.g. tile architecture
   related pdf files), I can reference them freely for development.

 - If the related code what I have provided are integrated into qemu
   upstream, qemu upstream have the full right for it (follow with qemu
   upstream own copyright).

I send the mail from my company email address, the reason is gmail is
broken in China, my gmail can not be used, so I have to use my another
email address in these days (but my gmail is still for Signed-of-by).

Welcome any suggestions and completions by any members or organizations.

Thanks.
Michael Tokarev Jan. 27, 2015, 3:39 p.m. UTC | #7
23.01.2015 13:07, Chen Gang S wrote:
> It is only a typo issue, need use tswapal(target_vec[i].iov_len) for the
> len.

My suggestion:

Subject: linux-user/syscall.c: unlock_iovec: fix typo misuse of iov_base instead of iov_len

without further explanation in the message body.

Applied as-is to trivial, thank you!

/mjt

> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---
>  linux-user/syscall.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index a66c2ae..8260ed7 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1896,7 +1896,7 @@ static void unlock_iovec(struct iovec *vec, abi_ulong target_addr,
>      if (target_vec) {
>          for (i = 0; i < count; i++) {
>              abi_ulong base = tswapal(target_vec[i].iov_base);
> -            abi_long len = tswapal(target_vec[i].iov_base);
> +            abi_long len = tswapal(target_vec[i].iov_len);
>              if (len < 0) {
>                  break;
>              }
>
diff mbox

Patch

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index a66c2ae..8260ed7 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1896,7 +1896,7 @@  static void unlock_iovec(struct iovec *vec, abi_ulong target_addr,
     if (target_vec) {
         for (i = 0; i < count; i++) {
             abi_ulong base = tswapal(target_vec[i].iov_base);
-            abi_long len = tswapal(target_vec[i].iov_base);
+            abi_long len = tswapal(target_vec[i].iov_len);
             if (len < 0) {
                 break;
             }