From: Li Qiang <liq3ea@gmail.com> To: "Philippe Mathieu-Daudé" <philmd@redhat.com> Cc: Li Qiang <liq3ea@163.com>, Jiri Slaby <jslaby@suse.cz>, Paolo Bonzini <pbonzini@redhat.com>, Qemu Developers <qemu-devel@nongnu.org> Subject: Re: [Qemu-devel] [PATCH v2 2/3] edu: mmio: allow mmio read dispatch accept 8 bytes Date: Mon, 22 Apr 2019 09:22:35 +0800 [thread overview] Message-ID: <CAKXe6SJLyUwLOQhmkoWENwLE-bFrVmUYxbRgh7pmYKtS5C9d8A@mail.gmail.com> (raw) In-Reply-To: <51d2ae28-267a-2710-8401-bad769e2d2c0@redhat.com> Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月21日周日 下午6:44写道: > Hi Li, > > On 4/20/19 6:14 PM, Li Qiang wrote: > > The edu spec said when address >= 0x80, the MMIO area can > > "says" > > > be accessed by 8 bytes. > > > > Signed-off-by: Li Qiang <liq3ea@163.com> > > --- > > hw/misc/edu.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/hw/misc/edu.c b/hw/misc/edu.c > > index 65fc32b928..4018dddcb8 100644 > > --- a/hw/misc/edu.c > > +++ b/hw/misc/edu.c > > @@ -189,6 +189,10 @@ static uint64_t edu_mmio_read(void *opaque, hwaddr > addr, unsigned size) > > Completing the diff ...: > > if (size != 4) { > > > return val; > > } > > > > + if (addr >= 0x80 && size != 4 && size != 8) { > > ... to show this code is unreachable for size == 8. > > Ohhh, yes > > + return val; > > + } > > + > > switch (addr) { > > case 0x00: > > val = 0x010000edu; > > > > I think the change you wanted is: > > -- >8 -- > @@ -185,7 +185,11 @@ static uint64_t edu_mmio_read(void *opaque, hwaddr > addr, unsigned size) > EduState *edu = opaque; > uint64_t val = ~0ULL; > > - if (size != 4) { > + if (addr < 0x80 && size != 4) { > + return val; > + } > + > + if (addr >= 0x80 && size != 4 && size != 8) { > return val; > } > > Yes, this is what I want. Thanks, will change to this in next revision. Thanks, Li Qiang > --- > > Another cleaner way to solve this is use 2 MemoryRegionOps, one for the > first 0x80 addresses and another for the rest. > > Regards, > > Phil. >
WARNING: multiple messages have this Message-ID (diff)
From: Li Qiang <liq3ea@gmail.com> To: "Philippe Mathieu-Daudé" <philmd@redhat.com> Cc: Jiri Slaby <jslaby@suse.cz>, Li Qiang <liq3ea@163.com>, Qemu Developers <qemu-devel@nongnu.org>, Paolo Bonzini <pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 2/3] edu: mmio: allow mmio read dispatch accept 8 bytes Date: Mon, 22 Apr 2019 09:22:35 +0800 [thread overview] Message-ID: <CAKXe6SJLyUwLOQhmkoWENwLE-bFrVmUYxbRgh7pmYKtS5C9d8A@mail.gmail.com> (raw) Message-ID: <20190422012235.2DFz9fJrcv6fgnqrWQqoWjVYRA2o6mlpzeXgacL6Ing@z> (raw) In-Reply-To: <51d2ae28-267a-2710-8401-bad769e2d2c0@redhat.com> Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月21日周日 下午6:44写道: > Hi Li, > > On 4/20/19 6:14 PM, Li Qiang wrote: > > The edu spec said when address >= 0x80, the MMIO area can > > "says" > > > be accessed by 8 bytes. > > > > Signed-off-by: Li Qiang <liq3ea@163.com> > > --- > > hw/misc/edu.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/hw/misc/edu.c b/hw/misc/edu.c > > index 65fc32b928..4018dddcb8 100644 > > --- a/hw/misc/edu.c > > +++ b/hw/misc/edu.c > > @@ -189,6 +189,10 @@ static uint64_t edu_mmio_read(void *opaque, hwaddr > addr, unsigned size) > > Completing the diff ...: > > if (size != 4) { > > > return val; > > } > > > > + if (addr >= 0x80 && size != 4 && size != 8) { > > ... to show this code is unreachable for size == 8. > > Ohhh, yes > > + return val; > > + } > > + > > switch (addr) { > > case 0x00: > > val = 0x010000edu; > > > > I think the change you wanted is: > > -- >8 -- > @@ -185,7 +185,11 @@ static uint64_t edu_mmio_read(void *opaque, hwaddr > addr, unsigned size) > EduState *edu = opaque; > uint64_t val = ~0ULL; > > - if (size != 4) { > + if (addr < 0x80 && size != 4) { > + return val; > + } > + > + if (addr >= 0x80 && size != 4 && size != 8) { > return val; > } > > Yes, this is what I want. Thanks, will change to this in next revision. Thanks, Li Qiang > --- > > Another cleaner way to solve this is use 2 MemoryRegionOps, one for the > first 0x80 addresses and another for the rest. > > Regards, > > Phil. >
next prev parent reply other threads:[~2019-04-22 1:23 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-20 16:14 [Qemu-devel] [PATCH v2 0/3] hw: edu: some fixes Li Qiang 2019-04-20 16:14 ` Li Qiang 2019-04-20 16:14 ` [Qemu-devel] [PATCH v2 1/3] edu: mmio: set 'max_access_size' to 8 Li Qiang 2019-04-20 16:14 ` Li Qiang 2019-04-21 10:28 ` Philippe Mathieu-Daudé 2019-04-22 1:17 ` Li Qiang 2019-04-22 1:17 ` Li Qiang 2019-04-22 16:27 ` Philippe Mathieu-Daudé 2019-04-22 16:27 ` Philippe Mathieu-Daudé 2019-04-23 3:50 ` Li Qiang 2019-04-23 3:50 ` Li Qiang 2019-04-20 16:14 ` [Qemu-devel] [PATCH v2 2/3] edu: mmio: allow mmio read dispatch accept 8 bytes Li Qiang 2019-04-20 16:14 ` Li Qiang 2019-04-21 10:44 ` Philippe Mathieu-Daudé 2019-04-22 1:22 ` Li Qiang [this message] 2019-04-22 1:22 ` Li Qiang 2019-04-20 16:14 ` [Qemu-devel] [PATCH v2 3/3] edu: uses uint64_t in dma operation Li Qiang 2019-04-20 16:14 ` Li Qiang 2019-04-21 10:32 ` Philippe Mathieu-Daudé 2019-04-22 1:21 ` Li Qiang 2019-04-22 1:21 ` Li Qiang 2019-04-22 16:29 ` Philippe Mathieu-Daudé 2019-04-22 16:29 ` Philippe Mathieu-Daudé
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAKXe6SJLyUwLOQhmkoWENwLE-bFrVmUYxbRgh7pmYKtS5C9d8A@mail.gmail.com \ --to=liq3ea@gmail.com \ --cc=jslaby@suse.cz \ --cc=liq3ea@163.com \ --cc=pbonzini@redhat.com \ --cc=philmd@redhat.com \ --cc=qemu-devel@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.