On Tue, Sep 01, 2020 at 03:37:17PM +0800, Li Qiang wrote:
> Gerd Hoffmann 于2020年9月1日周二 下午3:16写道:
> >
> > Hi,
> >
> > > +/* wraparound */
> > > +memory_region_set_dirty(&s->vga.vram, off_cur,
> > > s->cirrus_addr_mask - off_cur);
> >
> > > So the len is 's->cirrus_addr_mas
Gerd Hoffmann 于2020年9月1日周二 下午3:16写道:
>
> Hi,
>
> > +/* wraparound */
> > +memory_region_set_dirty(&s->vga.vram, off_cur,
> > s->cirrus_addr_mask - off_cur);
>
> > So the len is 's->cirrus_addr_mask->off_cur+1'.
>
> Correct.
So do you agree me the first set size should be
Hi,
> +/* wraparound */
> +memory_region_set_dirty(&s->vga.vram, off_cur,
> s->cirrus_addr_mask - off_cur);
> So the len is 's->cirrus_addr_mask->off_cur+1'.
Correct.
> +memory_region_set_dirty(&s->vga.vram, 0, off_cur_end);
>
> For the 'off_cur_end' here,
Gerd Hoffmann 于2020年9月1日周二 下午1:15写道:
>
> Hi,
>
> > > > > off_cur_end = ((off_cur + bytesperline - 1) &
> > > > > s->cirrus_addr_mask) + 1;
> [ ... ]
> > > > > +memory_region_set_dirty(&s->vga.vram, 0, off_cur_end);
> > > >
> > > > And here be 'off_cur_end -1'
> > >
> > > --
Hi,
> > > > off_cur_end = ((off_cur + bytesperline - 1) &
> > > > s->cirrus_addr_mask) + 1;
[ ... ]
> > > > +memory_region_set_dirty(&s->vga.vram, 0, off_cur_end);
> > >
> > > And here be 'off_cur_end -1'
> >
> > --verbose please. I think this one is correct.
>
> Here the
Gerd Hoffmann 于2020年8月31日周一 下午7:23写道:
>
> > > for (y = 0; y < lines; y++) {
> > > -off_cur = off_begin;
> > > +off_cur = off_begin & s->cirrus_addr_mask;
> > > off_cur_end = ((off_cur + bytesperline - 1) &
> > > s->cirrus_addr_mask) + 1;
> > > -assert(off_cur
> > for (y = 0; y < lines; y++) {
> > -off_cur = off_begin;
> > +off_cur = off_begin & s->cirrus_addr_mask;
> > off_cur_end = ((off_cur + bytesperline - 1) & s->cirrus_addr_mask)
> > + 1;
> > -assert(off_cur_end >= off_cur);
> > -memory_region_set_dirt
On 200821 1251, Philippe Mathieu-Daudé wrote:
> On 8/21/20 10:26 AM, Gerd Hoffmann wrote:
> > Code simply asserts that there is no wraparound instead of handling
> > it properly. The assert() can be triggered by the guest (must be
> > privilidged inside the guest though). Fix it.
>
> Thanks for
On 8/21/20 10:26 AM, Gerd Hoffmann wrote:
> Code simply asserts that there is no wraparound instead of handling
> it properly. The assert() can be triggered by the guest (must be
> privilidged inside the guest though). Fix it.
Thanks for fixing this!
> Buglink: https://bugs.launchpad.net/qemu/+
Gerd Hoffmann 于2020年8月21日周五 下午4:27写道:
>
> Code simply asserts that there is no wraparound instead of handling
> it properly. The assert() can be triggered by the guest (must be
> privilidged inside the guest though). Fix it.
>
> Buglink: https://bugs.launchpad.net/qemu/+bug/1880189
> Cc: Li Qian
10 matches
Mail list logo